Requests for Comments-12: Changing licence to Apache v2.0
- Not submitted yet
What changes will be made and why they will make a better Orfeo ToolBox
The goal is to change of license for OTB to adopt the Apache v2.0 license. The rational for this change is as follows :
Copyleft is a very good protection for open-source software in general, as it ensures that it will remain open. But in the current context where OTB can be useful, copyleft may also restrict the use of the library. With hindsight, we observed that OTB was considered by many institutions and companies as part of their project, and the choice of its integration in their solutions could sometimes not succeed because they ( or their clients or partners) wanted to distribute their solutions, integrating OTB under different terms.
With a growing number of contributions, it has been now mandatory to improve the management of contributor. For example in the case of a change made necessary by a license update it. We would need to seek permission from each contributor (thing still possible at this stage but would quickly become impossible if one of them simply disappears).
Two options were open to us regarding the improvement of contributions management:
- Request an assignment of copyright, in which case the project owner will own the economic rights of authors and will be able to take further action on the distribution of the contribution, or
- Ask a wide license on the contribution while leaving the copyright to the contributor.
We prefer the second option because there is no reason that contributors resign their copyrights.
A better contribution management for OTB will be of course better for contributors but also for potential users as it will reassures that the software contains no infringing code.
This licensing change will also allow be part of the initiative to make the project governance more open to any potential contributors following the establishment of the OTB steering committee in March 2015.
Note that moving to the Apache license will not impact OTB users which contributes code as remote modules which will not have to relicense or follow the new OTB license. Indeed the modular architecture of OTB would continue allow to integrate external modules not necessarily with the same license as OTB core (GPL for instance). Note that it is already the case for the OTB standalone binary package which include the FFTW module in ITK which is licensed in GPL, as a consequence the OTB binary package license is GPL and not CeCILL V2.
- What has been done?
- Check compatibility of OTB projects third party
We've checked that all third party library are compatible. We've taken the opportunity of the license modification to clarify some third parties integration:
- OSSIM plugins contributions from OTB will be moved to MIT license (following recent changes of OSSIM license from LGPL to MIT)
- We add a special notice regarding the integration the 6S library and we've udpated the related terms.
- SIFTFast is released under LGPL and we still be integrated in OTB (not compiled by default).
- Contributors agreement
To allow to change the license from CeCILL v2 to Apache v2, we have contacted contributors to the library and we asked them the permission to change the license of their contributions. Practically, we have make them signed a software grant which was adapted from the Apache Software Grant. All contacted contributors answered positively to the request (thank you all) apart from the contributor of the image driver for MegaWave format in OTB who was unresponsive to our message. We decided to remove the contribution (which was only related to the MegaWave driver) from the source as part of the migration (it only concerns the MWIO module). Note that it will be totally feasible to re-implement this driver if it's needed by some OTB users in the future.
OTB will have to adopt this type of Contributor License Agreement and provide some guidelines for future contributors.
- Apply changes to OTB source code
Modifications to the source code will be done in a feature branch with a script to automate the procedure (https://git.orfeo-toolbox.org/otb-devutils.git/tree/HEAD:/LicenseMigration).
- Update documentation
- Add CCLA/ICLA on OTB website
- Update info about otb license on: otb website, sourceforge, openhub
We suggest that if the license modification is approved by the PSC then it should lead to a new major version of OTB (version 6.0)
When will those changes be available (target release or date)
Discussion about changing the license was initiated in 2015 on the OTB blog (https://www.orfeo-toolbox.org/wind-of-changes/). We plan to submit an RFC in the first quarter of 2017.