-
Notifications
You must be signed in to change notification settings - Fork 1
GeoServer Provenance Review
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
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)
©2020 Open Source Geospatial Foundation