Skip to content

GSIP 186

Andrea Aime edited this page Jan 22, 2020 · 10 revisions

GSIP 186 - Allow for community/extension modules contributed without CLA

Overview

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.

Proposed By

Andrea Aime

Assigned to Release

This proposal is for GeoServer 2.15-beta.

State

  • Under Discussion
  • In Progress
  • Completed
  • Rejected
  • Deferred

Motivation

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 ownership 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 contributions the project can accept, and there are 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, under some restrictive conditions that still make it possible for the PSC to retain control of core modules.

Proposal

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 GPL, 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.

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.

Backwards Compatibility

No backwards compatibility issues have been identified.

Feedback

Voting

Project Steering Committee:

  • Alessio Fabiani:
  • Andrea Aime:
  • Ian Turton:
  • Jody Garnett:
  • Jukka Rahkonen:
  • Kevin Smith:
  • Simone Giannecchini:
  • Torben Barsballe:
  • Nuno Oliveira:

Links

Clone this wiki locally