We have a received the following request on the geotools-devel email list.
I'm Martin Desruisseaux, a former GeoTools 2 contributor and now a developer of the Geotoolkit.org project (http://www.geotoolkit.org).
In our search for a community, we had a recent discussion with members of the Apache Spatial Information System project (http://incubator.apache.org/sis/), which is in incubation. A small email exchange gave me the feeling that our design goals could be in phase. We would like to offer them the Geotoolkit.org code. In order to make that possible, we need OSGeo permission to re-license Geotoolkit.org from its current LGPL 2.1 license to the more permissive Apache license. The proposal is not to transfer the totality of Geotoolkit.org to Apache SIS, but to allow them to review the code and pick-up whatever they wish on a case-by-case basis. The transition to Apache SIS would probably be slow and very progressive.
Geotoolkit.org is a fork of GeoTools 2.6 followed by 4 years of developments. The project contains two parts: "core" and "pending". Our proposal is to begin with the "core" part, which include material derived from the following GeoTools 2.6 modules:
* core of coverage (excluding I/O)
* many (but not all) Swing widgets
In 2008 those modules were written (according SVN history) at 95% by myself, Geomatys or IRD institute. The remaining 5% were written by other GeoTools contributors. To my knowledge, everyone signed the copyright assignment on http://download.osgeo.org/osgeo/legal/ which grants copyright to OSGeo. However because the GeoTools community may have vested interest in this re-licensing decision, I wish to ask on this mailing list.
I would like to emphases that this is not a demand for relicensing current GeoTools, but only relicensing of the GeoTools 2.6 code from which "Geotidy" (the Geotoolkit.org precursor) is derived, which is 4 years old. If the community accepts to grant us the permission to relicense 100% of Geotoolkit.org "core", that would be truly appreciated. But in case of bjection, we are willing to rewrite the 5% of "core" code which was not written by myself, Geomatys or IRD.
It the community accepts re-licensing, this would allows Apache SIS to gain services they are currently missing, allows Geotoolkit.org code base to gain a community, and possibly allows the GeoTools project to gain a metadata and referencing library maintained by a trusted foundation, which could complete or replace the current referencing module as GeoTools wish. The Geotk referencing module got 4 years of extensive development since our departure, and has capabilities which are - to my knowledge - unique in the open source world.
The code contribution agreement, cited below, clearly allows contributors to continue to reuse and repurpose their own work. As such this proposal is strictly focused on establishing a working relationship with the Apache foundation to facilitate making a subset of the codebase available under a dual license.
The GeoTools project makes use of several apache projects, and is familiar with the requested Apache License.
To meet the above request:
- Letter of understanding between the OSGeo board and the Apache Foundation on the acceptance of the above project into incubation
- Cover the relicense of select contributions under Apache License 2.0
- The request is for a case-by-case selection of files - as such our existing procedure for migrating code between projects will suffice
- Email sent to geotools-devel notifying of the requested file, followed by approval from any PMC member
- Ensure headers carefully track and credit contributors
- To save time short list contributors who are confident their work can be relicensed outside stewardship of the GeoTools PMC. Apache Foundation may have some input on how word this.
- Martin Desruisseaux
- IRD institute
- Jody Garnett (for personal contributions)
This proposal is a good balance between helping the apache incubation process proceed; while respecting those who contributed to the GeoTools project with the understanding their work was placed under community control.
Discussion on this topic has taken place on several email lists:
And the next board meeting:
Related discussion about migrating code between projects and carefully across license changes:
Alternatives shortlisted in email discussion:
- Dual-License (ie this proposal). The OSGeo Foundation has a mandate to promote the development of spatial software, under any OSI approved license. The GeoTools PMC entrusted with stwerdship of the codebase including the ability to approve a dual license. As such a dual license approach is feasible under foundation by-laws, and is within the mandate of the PMC.
This proposal offers guidance on how quickly isolate candidate code (using a whitelist of contributors) and how to dual license remaining code of interest (via email request).
- Relicense GeoTools. While this is an option, and would facilitate the above request, we would prefer to consider any relicense with due care.
- Case-by-case. Minimal license change approach, asking apache to review files on a case-by-case basis and contact us relicense the final set. The GeoTools PMC could provide an initial letter of understanding to the OSGeo board, and when the final list is obtained it can form the heart of a new change proposal transferring the code.
This proposal is in DRAFT, review welcome.
Voting has not started yet:
- Martin Desruisseaux
- add your name here
- Determine what assurances the Apache Foundation needs in order to proceed
- Compose a letter of understanding, allowing the apache foundation to relicense a subset of the codebase
- Assemble a whitelist of contributors who's work can be dual-licensed without further consultation
- For code falling outside of the above whitelist our existing framework to relicense code should be sufficient.
- An email sent to geotools-devel notifying of the requested file, followed by approval from any PMC member
Apache 2.0 License
AFTER (using wording of current apache license):
Code Contribution Reference Material
This initial request is within the limits of the GeoTools code contribution agreement: GeotoolsAssignmentToOSGeo.pdf as detailed in the following sections:
Section II Assignment of Copyright
II. Assignment of Copyright
The Contributor hereby assigns and transfers to the Foundation, to the extent permissible by law, all of Contributor’s right, title, and interest, under copyright law, worldwide and in perpetuity for all material included in any Submission, including without limitation the right to register copyrights for the Submission in the name of the Foundation and to enforce against third parties any copyright interest in the Submission. To the extent that the Contributor is deemed unable to transfer any of these rights in the Submission to the Foundation, the author hereby grants to the Foundation a nonexclusive, perpetual, irrevocable, worldwide, royaltyfree, license to use, copy, prepare derivative works of, publicly display or perform, distribute or license under any terms for any purpose the material.
Section V. Obligations of the Foundation
V. Obligations of the Foundation
The Foundation hereby grants the Contributor the nonexclusive, perpetual, irrevocable, worldwide, royaltyfree, license to use, copy, prepare derivative works of, publicly display or perform, and distribute the Submission.
In the event the Foundation makes the Submission available to third parties, it shall do so only in accordance with the requirements of the bylaws of the Foundation, currently hosted at http://www.osgeo.org/content/foundation/incorporation/bylaws.html. In particular, the portions of the Submission integrated to the core library will be licensed to the third party under a license approved as an open source license by the Open Source Initiative, or any substantially similar license that meets the Open Source Definition or Free Software Definition. The specific license used will be chosen in suitable consultation with the group governing the Project. The portions of the Submission integrated to the Geotools documentation, web site, or other ancillary portions of the Geotools project may be licensed to the third party under any license with suitable terms for such material, including without limitation the GNU Free Documentation License or the Berkeley Software Distribution license. The portions of the Submission integrated into the code tutorials may be licensed to the third party under terms with fewer restrictions including without limitation placing the tutorial code into the public domain.
The Contributor understands that the decision to include the Submission in the Project is entirely that of the Foundation, and the Foundation will not be obligated to make the Submission available as part of the Project. The Foundation acknowledges that, except as explicitly described in this Agreement, the Submission is provided on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
The relative section of the above bylaws of the foundation mentioned above is:
ARTICLE VI Project Steering Committees
Section 6.1. Establishment. The Board of Directors may, by resolution carried with the necessary vote, establish one or more Project Steering Committees consisting of at least one officer or one director of the corporation, who shall be designated the chairperson of such committee, and may include one or more other individuals who may be members of the corporation or other persons who shall be selected by the Board of Directors or the chairperson of the committee based on their individual merit and contributions to the relevant project. Unless elected or appointed as an officer or admitted as a member in accordance with these Bylaws, a member of a Project Steering Committee shall not be deemed an officer or a member of the corporation. The Board of Directors of the corporation may, by resolution carried with the necessary vote, terminate a Project Management Committee at any time. A Project Steering Committee shall not be considered a committee of the Board of Directors. A Project Steering Committee may not have and may not exercise any of the power and authority of the Board of Directors.
Section 6.2. Responsibilities. Each Project Steering Committee shall be responsible for the active management of one or more projects identified by resolution of the Board of Directors which may include, without limitation, the creation or maintenance of open-source software projects. Subject to the direction of the Board of Directors, the chairman of each Project Steering Committee shall be primarily responsible for project(s) managed by such committee, and he or she shall establish rules and procedures for the day to day management of project(s) for which the committee is responsible. In discharging its responsibilities, a Project Steering Committee shall adhere to the policies, procedures and standards approved by the Board of Directors.
Section 6.3. Election and Term. The members of each existing Project Steering Committee shall be appointed by the Board of Directors or appointed by the chairperson of the Project Steering Committee as authorized by the Board of Directors. Each member of a Project Steering Committee shall serve on such committee until his or her successor is elected and qualified or until his or her earlier resignation or removal.
Section VII. Assignment of Agreement
VII. Assignment of Agreement
In the event the Foundation assigns to a third party any of the rights in or to the Submissions that were assigned to the Foundation by Contributor hereunder, Foundation shall also assign the obligations of this Agreement with respect to such Submissions.