GeoServer Provenance Review - bencaradocdavies/geoserver GitHub Wiki
GeoServer code providence review, covering issues raised for each module in GeoServer. The goal here is to check the headers (fill them in if needed) and confirm that the information is correct. We can also list JIRA issues against any inconsistencies discovered.
| Key | Definition |
|---|---|
| β | not checked yet |
| β | check in progress |
| β β | check is stuck, header or license requires developer attention |
| β βοΈ | checked, all clear |
| β β | checked, warning (missing information) |
| β
|
checked, fix me! requires developer attention |
Review [Expectations and Examples](Expectations and Examples) to understand what a GeoServer header is expected to look like, and examples of how we can fix common mistakes.
We are carefully checking java source file headers here, and exploring git (or even svn) history to double check where files came from.
We are less concerned with test cases, and test-data (as these are not distributed to end-users).
Extensions
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/extension/app-schema] (GEOS-5407) - NGC
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/extension/arcsde] (GEOS-5408) - NGC
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/extension/charts] (GEOS-5409) - NGC
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/extension/control-flow] (GEOS-5410) - Karin
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/extension/db2] (GEOS-5406) - JG
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/extension/excel] (GEOS-5411) - Adam
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/extension/feature-pregeneralized] (GEOS-5412) - Adam
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/extension/gdal] (GEOS-5413) - Adam
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/extension/geosearch] (GEOS-5414) - Adam
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/extension/h2] (GEOS-5415) - Karin
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/extension/imagemap] (GEOS-5416) - Karin
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/extension/imagemosaic-jdbc] (GEOS-5417) - Adam
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/extension/jp2k] (GEOS-5418) - Adam
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/extension/mysql] (GEOS-5419) - Adam
- β β [https://github.com/geoserver/geoserver/tree/master/src/extension/ogr] (GEOS-5420) - Adam
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/extension/oracle] (GEOS-5421) - Adam
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/extension/querylayer] (GEOS-5422) - Adam
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/extension/sqlserver] (GEOS-5424) - Adam
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/extension/teradata] (GEOS-5425) - Adam
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/extension/validation] (GEOS-5426) - Adam
- β
β
[https://github.com/geoserver/geoserver/tree/master/src/extension/wps]
(GEOS-5427) - Karin
- β GEOSβ5469 WPS JAIToolsRangeConverterFactory uses GeoTools LGPL header
Core
-
β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/gwc] (GEOS-5428) - Karin
-
β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/main] (GEOS-5429) - Karin
- β GEOS-5470 SetCharacterEncodingFilter provided under Apache License 2.0 *** GZIPResponseStream freely use commercially and non-commercially *** Mercator1SPGoogle assumed to be an LGPL file from GeoTools *~~ Karin
- β [https://jira.codehaus.org/browse/GEOS-5453] Use of Apache License Version 1.1, need Apache license in jar and docs
- β [https://jira.codehaus.org/browse/GEOS-5454] File borrowed from Xerces, needs header
-
β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/platform] (GEOS-5432) - Karin
-
β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/release] (GEOS-5433) - Karin
- β GEOS-5456 The file Browser.java was provided by Andrea with an unusual header
- β ~~ Karin / JG
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/restconfig] (GEOS-5435) - JG
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/security/jdbc] (GEOS-5438) - JG
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/security/ldap] (GEOS-5440) - JG
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/wcs] (GEOS-5443) - JG
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/wcs1_0] (GEOS-5447) - JG
- β
βοΈ
[https://github.com/geoserver/geoserver/tree/master/src/wcs1_1]
(GEOS-5451) - JG
- β GEOS-5459 TimePeriodTypeBinding and TimeSequenceTypeBinding from GeoTools LGPL
- β ~~ JG
-
β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/web/core] (GEOS-5439) - JG
- β Large number of missing headers
-
β β [https://github.com/geoserver/geoserver/tree/master/src/web/demo] (GEOS-5441) - JG
- β GEOS-5458 demo cities and TMWORLDBORDERS sample data needs license check
- β
- β ~~ a lot of missing headers here
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/web/wcs] (GEOS-5445)
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/web/wfs] (GEOS-5446)
- β βοΈ [https://github.com/geoserver/geoserver/tree/master/src/web/wms] (GEOS-5448) - JG
- β
βοΈ
[https://github.com/geoserver/geoserver/tree/master/src/wfs]
(GEOS-5449) - JG
- β GEOS-5455 XMLSchemaTranslator and others generated by Refractions *~~ LM
- β GEOSβ5468 WMS module contains some GeoTools LGPL headers
Community (EXCLUDED)
This review is limited to modules we are distributing for download to end-users. Community modules are considered a work in progress and will reviewed when they ready to be added to the project.
In a similar fashion build support modules and test plugins are not reviewed.
- community
Build (EXCLUDED)
Build files also do not end up in the final distribution are excluded from this review:
- maven/archetype
- maven/config
- maven/findbugs
Documentation is expected to be under a license such as Creative Commons by Attribution:
-
https://github.com/geoserver/geoserver/tree/master/doc
- β GEOSβ5461 Docs copyright is incorrect. Main docs are fixed up, the scripts docs still indicate David Winslow as author
-
Documentation License not provided: License so as it stands the GeoServer docs can be quoted, cited, but are not provided under a license for reuse/repurpose.
- β βhttp://jira.codehaus.org/browse/GEOS-5543 Creative Commons by Attribution (As this is a policy change this change is subject toβGSIP 89":http://geoserver.org/display/GEOS/GSIP+89+Creative+Commons+with+Attribution ).
This is the data we distribute, we want to ensure we have obtained permission
Data
The priority is the data bundled with our application:
-
https://github.com/geoserver/geoserver/tree/master/data/release
- β "GEOS-5466β:http://jira.codehaus.org/browse/GEOS-5466 Check release data license *** ARC Sample "Data provided by GeoSolutions with distribution permissions" *** β IMG SampleβData provided by GeoSolutions with distribution permissions" *** MOASIC Sample βData provided by GeoSolutions with distribution permissionsβ *** New York City βData provided by Open Planning Project with distribution permissionsβ *** Data provided by GRASS *** States~~ Comes from GeoTools sample data, and was simplified to reduce space usage. GeoTools copy came from Census data, though the original download file cannot be found at present.
- β Tasmania - Cameron indicates data derived from Digital Chart of the World
- β Update README.rst with details
With other data bundles as a second priority:
App-Schema
-
https://github.com/geoserver/geoserver/tree/master/data/app-schema-tutorial
- β GEOSβ5477 Check app-schema tutorial data license
- β contains a number of property files that are served up. Ben do you know where this comes from?
Minimal
-
https://github.com/geoserver/geoserver/tree/master/data/minimal
- β does not contain any data
We are not very worried about the test data included as part of the application build, it is not something end users run with.
CITE
Assume these have been provided by the OGC, we should have a LICENSE.TXT or something crediting the OGC.
*** https://github.com/geoserver/geoserver/tree/master/data/citecsw-2.0.2
*** https://github.com/geoserver/geoserver/tree/master/data/citewcs-1.0 (OGC does not provided data) *** https://github.com/geoserver/geoserver/tree/master/data/citewcs-1.1
*** https://github.com/geoserver/geoserver/tree/master/data/citewfs-1.0 *** https://github.com/geoserver/geoserver/tree/master/data/citewfs-1.1-h2 *** https://github.com/geoserver/geoserver/tree/master/data/citewfs-1.1 *** https://github.com/geoserver/geoserver/tree/master/data/citewms-1.1 *** https://github.com/geoserver/geoserver/tree/master/data/citewms-1.3
Research shows:
- No explicit instructions provided by CITE TEAM Engine
- So by default the legal page points us to: http://www.opengeospatial.org/ogc/software
- β GEOSβ5465 OGC CITE sample data requires official software notice
- Resulting readme file is visible here: https://github.com/geoserver/geoserver/blob/master/data/release/README.rst
The manual review was backed up with an automated QA check.
Searches Used
Find files that do not have standard header:
find . -name "*.java" | xargs egrep -L -i -H '(.+)Copyright(.+)TOPP(.+)' {}
Files that do not have any header:
{noformat} (?m)package
List the .java files that DONβT include the text βTOPPβ:
<pre>
greprL βTOPPβ * | grep β\.java$β
The following files have headers, but they are not the normal TOPP header - thus we know these are worth more attention ( β good, β missing headers, β fix me):
validation
- β extension/validation/src/main/java/org/vfny/geoserver/config/validation/ArgumentConfig.java (GEOS-5426)
- β extension/validation/src/main/java/org/vfny/geoserver/config/validation/ValidationConfig.java (GEOS-5426)
- β extension/validation/src/main/java/org/vfny/geoserver/global/GeoValidator.java (GEOS-5426)
imagemap
- β extension/imagemap/src/main/java/org/vfny/geoserver/wms/responses/map/htmlimagemap/Decimator.java
- modified from GeoTools LGPL (GEOS-5416)
wps
- β extension/wps/wps-core/src/main/java/org/geoserver/wps/ppio/JAIToolsRangeConverterFactory.java
- GeoTools LGPL Header (GEOS-5469)
- β extension/wps/wps-core/src/main/java/org/geoserver/wps/resource/CoverageResource.java
- missing header
- β extension/wps/wps-core/src/main/java/org/geoserver/wps/resource/GridCoverageResource.java
- missing header
gwc
- β gwc/src/main/java/org/geoserver/gwc/dispatch/package-info.java - missing header
main
- β main/test/org/vfny/geoserver/config/ValidationTest.java - GEOS-5455
main/src/main/java/org/vfny/geoserver/global/xml/NameSpaceElement.java~~ GEOS-5455 * main/src/main/java/org/vfny/geoserver/global/xml/GMLSchemaTranslator.java~~ GEOS-5455 * main/src/main/java/org/vfny/geoserver/global/xml/XMLSchemaTranslator.java~~ GEOS-5455 * main/src/main/java/org/vfny/geoserver/global/xml/NameSpaceTranslatorFactory.java~~ GEOS-5455 * main/src/main/java/org/vfny/geoserver/global/xml/NameSpaceTranslator.java~~ GEOS-5455 * main/src/main/java/org/vfny/geoserver/filters/SetCharacterEncodingFilter.java~~ Apache License Version 2.0 (GEOS-5470)
- β main/src/main/java/org/geoserver/jai/JAIInfo.java - seems fine?
- β main/src/main/java/org/geoserver/filters/GZIPFilter.java GEOSβ5460
- β main/src/main/java/org/geoserver/filters/GZIPResponseWrapper.java GEOSβ5460
- β main/src/main/java/org/geoserver/filters/GZIPResponseStream.java GEOSβ5460
ows
- β ows/src/main/java/org/geoserver/ows/util/RewindableInputStream.java GEOSβ5454
- β ows/src/main/java/org/geoserver/ows/util/UCSReader.java GEOSβ5453
release
- β release/installer/mac/console/src/main/java/org/geoserver/console/Browser.java GEOSβ5456
rest
- β rest/src/test/java/org/geoserver/rest/FormatTest.java.patch - um that looks like an accident (removed file)
wcs
- β wcs/src/main/java/org/geoserver/wcs/CoverageCleanerCallback.java
- missing header
wcs1_1
-
β wcs1_1/src/main/java/org/geoserver/wcs/xml/v1_1_1/bindings/TimeSequenceTypeBinding.java
-
β wcs1_1/src/main/java/org/geoserver/wcs/xml/v1_1_1/bindings/TimePeriodTypeBinding.java GEOSβ5459
web core
- β web/core/src/test/java/org/geoserver/web/ComponentBuilder.java - empty header
wfs
- β wfs/src/main/java/org/geoserver/wfs/xml/NameSpaceElement.java (GEOS-5455)
- β wfs/src/main/java/org/geoserver/wfs/xml/GMLSchemaTranslator.java (GEOS-5455)
- β wfs/src/main/java/org/geoserver/wfs/xml/XMLSchemaTranslator.java (GEOS-5455)
- β wfs/src/main/java/org/geoserver/wfs/xml/NameSpaceTranslatorFactory.java (GEOS-5455)
- β wfs/src/main/java/org/geoserver/wfs/xml/NameSpaceTranslator.java (GEOS-5455)
- β wfs/src/main/java/org/geoserver/wfs/JoinExtractingVisitor.java - missing header
wms
- β wms/src/test/java/org/geoserver/wms/WMSFilterMosaicTestSupport.java - missing header
- β wms/src/test/java/org/geoserver/wms/decoration/ScaleRatioDecorationTest.java
- GeoTools LGPL header (GEOS-5468)
- β wms/src/test/java/org/geoserver/wms/map/quantize/ColorIndexerTest.java - GeoTools LGPL header (GEOS-5468)
- β wms/src/test/java/org/geoserver/wms/wms11_1/LayerGroupWorkspaceTest.java
- missing header
- β wms/src/main/java/org/geoserver/wms/map/quantize/ColorIndexerCRIF.java - GeoTools LGPL header (GEOS-5468)
- β wms/src/main/java/org/geoserver/wms/map/quantize/ColorIndexerOpImage.java
- GeoTools LGPL header (GEOS-5468)
- β wms/src/main/java/org/geoserver/wms/map/quantize/ColorIndexerDescriptor.java
- GeoTools LGPL (GEOS-5468)