Skip to content

GeoServer Provenance Review

jodygarnett edited this page Sep 25, 2014 · 4 revisions

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.

Manual Review

Source Code

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

Core

  • ✅~~ Karin / JG
  • ✅~~ JG
  • ✅~~ a lot of missing headers here

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

Documentation is expected to be under a license such as Creative Commons by Attribution:

Data

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

Minimal

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:

Automated

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$’

Automated Shortlist -------------------

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

wps

  • ✅ extension/wps/wps-core/src/main/java/org/geoserver/wps/ppio/JAIToolsRangeConverterFactory.java
  • ✅ 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
  • ✅ 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
  • ✅ wms/src/main/java/org/geoserver/wms/map/quantize/ColorIndexerDescriptor.java
Clone this wiki locally