Difference between revisions of "Requests for Comments-12: Changing licence to Apache v2.0"

From OTBWiki
Jump to: navigation, search
(Roadmap)
 
(20 intermediate revisions by 3 users not shown)
Line 6: Line 6:
  
  
The goal is to change of licence for OTB, Monteverdi, Monteverdi2 and ice to adopt the Apache v2.0 licence. The rational for this change is as follows :
+
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, since it ensures that it will remain open, but in our remote sensing world it can also lesser the dissemination of our software. Many time we heard of situations were OTB was considered by institutions or private companies for their projects and has been wiped off the table because they (or their clients or partners) wanted to distribute the resulting software under different terms. Sometimes, costly ad-hoc technical designs are used so as to include OTB in the project while distributing it under those required terms. We could argue that this is a matter of convincing everyone that copyleft is not harmful and that OTB is worth the price, but in the mean time OTB get less audience than deserved ... From a practical point of view it could do no harm to simply change the licence to a more permissive one. This might help to develop OTB usage and eventually get more people involved in contributions.
+
For some time now, the OTB community is considering a licensing change for OTB to move from CeCILL v2 to the Apache v2 license.
 +
 
 +
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.  
 +
 
 +
This has sometimes caused individual and expensive schemes to include OTB in projects and still respect the license requirements. We've tried to convince our partners that copyleft is not "dangerous", but we note with regret that these arguments do not work and that the OTB thus not meet the public that it deserves. So we, from a practical standpoint, think that a more permissive license could only increase interest in the OTB and help its development and also the development of the community of contributors.
 +
 +
This licensing change also means better management of contributors with the implementation of specific documents to respect the rights of the latter.
 +
 
 +
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, 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 is also 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 has no impact on users which contributes code as remote modules : they will not have to relicense or follow the new OTB license. Indeed the modular architecture of OTB allows to integrate external modules with different (open-source) licenses as OTB core (GPL for instance). Also note that it is already the case for the OTB standalone binary package distributed on www.orfeo-toolbox.org, since it includes the GPL FFTW module in ITK : as a consequence the full OTB standalone binary package license is GPL and not CeCILL V2.
  
 
====== Roadmap ======
 
====== Roadmap ======
 +
 +
''What has been already done before changing the license?''
  
 
* Check compatibility of OTB projects third party
 
* Check compatibility of OTB projects third party
  
We've checked that all third party library are compatible  
+
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:
  
We've taken the opportunity to :
+
# OSSIM plugins contributions from OTB have been moved to MIT license (following recent changes of OSSIM license from LGPL to MIT)
 
+
# We added a special notice regarding the integration the 6S library and we've udpated the related terms.
** OSSIM plugins contributions from OTB will be moved to MIT license (following recent changes of OSSIM license from LGPL to MIT)
+
# SIFTFast is released under LGPL and will still be integrated in OTB (not compiled by default).   
** We would like to add a special notice regarding the integration og
+
** SIFTFast is released under LGPL and we still be integrated in OTB (not compiled by default).   
+
  
 
* Contributors agreement
 
* Contributors agreement
  
Signed agreement of contributors for license modification (adaptated from Apache Software Grant)
+
To allow to change the license from CeCILL v2 to Apache v2, we contacted contributors to the library and asked them for the permission to change the license of their contributions. Practically, we have make them sign 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 [http://megawave.cmla.ens-cachan.fr/index.fr.php 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.
  
* Apply changes to OTB source code
+
''What should be done after changing the license?''
  
Modifications to the source code will be done in a feature branch with a script (https://git.orfeo-toolbox.org/otb-devutils.git/tree/HEAD:/LicenseMigration).
+
Modifications are related to OTB source code (NOTICE, license...) and also OTB documentation and website to describe Contributor License Agreement mechanism and provide some guidelines for future contributors.
  
** Update documentation  
+
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 info about otb license on: otb website, sourceforge, openhub,...
+
 
 +
# 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) =====
 
=====  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.

Latest revision as of 08:33, 8 February 2017

Status

  • Not submitted yet

Content

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 :

For some time now, the OTB community is considering a licensing change for OTB to move from CeCILL v2 to the Apache v2 license.

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.

This has sometimes caused individual and expensive schemes to include OTB in projects and still respect the license requirements. We've tried to convince our partners that copyleft is not "dangerous", but we note with regret that these arguments do not work and that the OTB thus not meet the public that it deserves. So we, from a practical standpoint, think that a more permissive license could only increase interest in the OTB and help its development and also the development of the community of contributors.

This licensing change also means better management of contributors with the implementation of specific documents to respect the rights of the latter.

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, 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 is also 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 has no impact on users which contributes code as remote modules : they will not have to relicense or follow the new OTB license. Indeed the modular architecture of OTB allows to integrate external modules with different (open-source) licenses as OTB core (GPL for instance). Also note that it is already the case for the OTB standalone binary package distributed on www.orfeo-toolbox.org, since it includes the GPL FFTW module in ITK : as a consequence the full OTB standalone binary package license is GPL and not CeCILL V2.

Roadmap

What has been already done before changing the license?

  • 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:

  1. OSSIM plugins contributions from OTB have been moved to MIT license (following recent changes of OSSIM license from LGPL to MIT)
  2. We added a special notice regarding the integration the 6S library and we've udpated the related terms.
  3. SIFTFast is released under LGPL and will still be integrated in OTB (not compiled by default).
  • Contributors agreement

To allow to change the license from CeCILL v2 to Apache v2, we contacted contributors to the library and asked them for the permission to change the license of their contributions. Practically, we have make them sign 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.

What should be done after changing the license?

Modifications are related to OTB source code (NOTICE, license...) and also OTB documentation and website to describe Contributor License Agreement mechanism and provide some guidelines for future contributors.

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).

  1. Update documentation
  2. Add CCLA/ICLA on OTB website
  3. 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.