GSIP 186 - Allow for community/extension modules contributed without CLA
Allow third party to contribute code without signing a CLA, as long as the code is clearly identified and contained in its own module/extension.
Assigned to Release
This proposal is for GeoServer 2.17-beta.
- Under Discussion
- In Progress
GeoServer demands a Contributor Licence Agreement to be signed whenever any non trivial change is contributed to the code. This practice allows to centralize code control on OSGeo, and as a result, on the GeoServer PSC. This in turns makes it possible for GeoServer developers to donate code back to GeoTools, as the operation requires as change of license (from GPL to LGPL).
At the same time, this sometimes limits code we can include in our project, if the author is unavailable, or unwilling, to grant OSGeo additional permissions. Searching on the internet it's possible to find growing opinions against the concept of CLA itself, see for example Why CLAs aren't good for open source.
This proposal aims at relaxing the CLA requirements so that code can be contributed without signing a CLA. The community or extension README will clearly indicate that use of GeoServer LICENSE (GPL w/ EPL library use), and the headers of the files affected will be maintained.
We propose to allow contributors to donate code to GeoServer that is not covered by a CLA under the following conditions:
- The code is fully contained inside its own module, which can be either a community module, or an extension.
- The licence is compatible with the GeoServer licence, and clearly identified both in the source code, in the documentation of the module, and in the module release zip package. The licence documentation becomes mandatory for these modules, to make sure users are aware of what they are downloading.
- The module explicitly includes the GeoServer LICENSE.md file
- The headers from the original files are maintained, and not updated to indicate (c) OSGeo Foundation.
- Classes written post-donation can include OSGeo header if all authors have signed CLA
While anyone will be allowed to contribute code to these modules, extraction of code for use in other modules subject to CLA won't be allowed by default. Sole exception will be, if all identified authors of the code in question have signed the CLA (e.g., it could happen the class was written post-donation by a developer that has indeed signed the CLA).
This will influence also pull request review, reviewers will have to verify that code coming from extensions and community modules can indeed be moved, and otherwise reject the request.
The relaxed CLA does not apply to any code contribution hitting existing core or extension modules that already have full OSGeo copyright. It will apply only to entirely new modules that don't need changes in core or extensions, and to PRs against modules that have been previously contributed under relaxed CLA requirements.
No backwards compatibility issues have been identified.
Project Steering Committee:
- Alessio Fabiani:+1
- Andrea Aime: +1
- Ian Turton: +1
- Jody Garnett: +1
- Jukka Rahkonen: +1
- Kevin Smith:
- Simone Giannecchini: +1
- Torben Barsballe: +1
- Nuno Oliveira: +1