License compatibility

From Wikipedia, the free encyclopedia
Jump to: navigation, search

License compatibility is an issue that arises when licenses applied to copyrighted works, particularly licenses of software packages, can contain contradictory requirements, rendering it impossible to combine source code or content from such works in order to create new ones.[1]


Suppose a software package has a license that says, "modified versions must mention the developers in any advertising materials," and another package's license says "modified versions cannot contain additional attribution requirements." Without direct permission from the copyright holder(s) for at least one of the two packages, it would be impossible to legally distribute a combination of the two because these specific license requirements cannot be simultaneously fulfilled. Thus, these two packages would be license-incompatible.


License compatibility can be defined differently with varying strength around the concepts of "combined work" and "derived work". The first "combined work" license compatibility definition allows the usage of various licensed code in a combined context.

"License compatibility: The characteristic of two (or more) licenses according to which the codes distributed under these licenses may be put together in order to create a bigger distributable software."

—Philippe Laurent, European Open source Lawyers Event 2008, [2]

A stronger definition, also used by the FSF,[3] includes the capability to change the license. As most prominent example, the copyleft licenses demand that the "derived work" combined from code under various licenses as whole is applied under the copyleft license.

"License compatibility: The characteristic of a license according to which the code distributed under this license may be integrated in a bigger software that will be distributed under another license."

—Philippe Laurent, European Open source Lawyers Event 2008, [4]

Compatibility of FOSS licenses[edit]

Open-source licenses are not necessarily compatible, which can make it legally impossible to mix (or link) even open-source code if the components are released under different licenses. For example, software that combined code released under version 1.1 of the Mozilla Public License (MPL) with code under the GNU General Public License (GPL) could not be distributed without violating one of the licenses' terms by default.[5] This is despite both licenses being approved by the Open Source Initiative[6] and Free Software Foundation.[7] License compatibility between a copyleft license and another license is often only a one-way compatibility[8] a characteristic criticized for instance by the Apache Foundation in context their Apache license.[9] Non-copyleft licenses as the FOSS permissive licenses have a less complicated license interaction and have most often a in general better license compatibility.[10][11]

GPL compatibility[edit]

David A. Wheeler has argued that GPL compatibility is an important feature of software licenses for the Free and open-source ecosystem.[12] Many of the most common free software licenses, especially the permissive licenses, such as the original MIT/X license, BSD licenses (in the three-clause and two-clause forms, though not the original four-clause form), MPL 2.0, and LGPL, are "GPL-compatible". That is, their code can be combined with a program under the GPL without conflict and the new combination would have the GPL applied to the whole (not the other license). When it comes to copyleft software licenses, they are not inherently GPL-compatible, even the GPLv2 is, by itself, not compatible with GPLv3.[13][14] However, most software released under GPLv2 allows you to use the terms of later versions of the GPL as well but some have exception clauses that allow combining them with software that is under different licenses or license versions.[15]

Re-licensing for compatibility[edit]

Sometimes projects gets stuck in a license incompatibility situation and the only feasible way to solve it is the re-licensing of the incompatible parts. Relicensing is achieved by contacting all involved developers and parties and getting their agreement for the changed license. While in the free and open-source domain achieving 100% coverage is often impossible, due to the many contributors involved, the Mozilla relicensing project assumes achieving 95% is enough for the relicensing of the complete code base,[16] while others in the FOSS domain come to different conclusions regarding the requirements for relicensing of a code base.[17] Examples of projects who did successful relicensing are FreeCAD who changed their license in 2014 from GPL to LGPLv2[18][19] and the Dolphin project who changed their license from "GPLv2 only" to "GPLv2 or any later" in 2015.[20]

See also[edit]


  1. ^ "How GPLv3 tackles license proliferation". Archived from the original on 2007-12-18. 
  2. ^ LAURENT, Philippe (2008-09-24). "The GPLv3 and compatibility issues" (PDF). European Open source Lawyers Event 2008. University of Namur – Belgium. p. 3. Retrieved 2015-05-30. The characteristic of two (or more) licenses according to which the codes distributed under these licenses may be put together in order to create a bigger distributable software. 
  3. ^ "Stallman explains license compatibility while discussing GPLv3". 
  4. ^ LAURENT, Philippe (2008-09-24). "The GPLv3 and compatibility issues" (PDF). European Open source Lawyers Event 2008. University of Namur – Belgium. p. 4. Retrieved 2015-05-30. The characteristic of a licence according to which the code distributed under this license may be integrated in a bigger software that will be distributed under another license 
  5. ^ "MPL 1.1 FAQ - Historical Use Only". Mozilla Foundation. 1 February 2012. Retrieved 26 February 2012. 
  6. ^ "Mozilla Public License 1.1: Licensing". Open Source Initiative. Retrieved 26 February 2012. 
  7. ^ "GPL-Incompatible Free Software Licenses". Free Software Foundation. 22 February 2012. Retrieved 26 February 2012. 
  8. ^ LAURENT, Philippe (2008-09-24). "The GPLv3 and compatibility issues" (PDF). European Open source Lawyers Event 2008. University of Namur – Belgium. p. 7. Retrieved 2015-05-30. Copyleft is the main source of compatibility problems 
  9. ^ Apache foundation (2015-05-30). "GPL compatibility". Retrieved 2015-05-30. Apache 2 software can therefore be included in GPLv3 projects, because the GPLv3 license accepts our software into GPLv3 works. However, GPLv3 software cannot be included in Apache projects. The licenses are incompatible in one direction only, and it is a result of ASF's licensing philosophy and the GPLv3 authors' interpretation of copyright law. 
  10. ^ Hanwell, Marcus D. (28 Jan 2014). "Should I use a permissive license? Copyleft? Or something in the middle?". Retrieved 2015-05-30. Permissive licensing simplifies things One reason the business world, and more and more developers [...], favor permissive licenses is in the simplicity of reuse. The license usually only pertains to the source code that is licensed and makes no attempt to infer any conditions upon any other component, and because of this there is no need to define what constitutes a derived work. I have also never seen a license compatibility chart for permissive licenses; it seems that they are all compatible. 
  11. ^ "Licence Compatibility and Interoperability". Open-Source Software - Develop, share, and reuse open source software for public administrations. Retrieved 2015-05-30. The licences for distributing free or open source software (FOSS) are divided in two families: permissive and copyleft. Permissive licences (BSD, MIT, X11, Apache, Zope) are generally compatible and interoperable with most other licences, tolerating to merge, combine or improve the covered code and to re-distribute it under many licences (including non-free or “proprietary”). 
  12. ^
  13. ^ "Frequently Asked Questions about the GNU Licenses – Is GPLv3 compatible with GPLv2?". Retrieved 2014-06-03. No. Some of the requirements in GPLv3, such as the requirement to provide Installation Information, do not exist in GPLv2. As a result, the licenses are not compatible: if you tried to combine code released under both these licenses, you would violate section 6 of GPLv2. However, if code is released under GPL “version 2 or later,” that is compatible with GPLv3 because GPLv3 is one of the options it permits. 
  14. ^ Landley, Rob. "CELF 2013 Toybox talk -". Retrieved 2013-08-21. GPLv3 broke "the" GPL into incompatible forks that can't share code. 
  15. ^ "GPL-Compatible Free Software Licenses". 2014-11-20. Retrieved 2014-12-29. 
  16. ^ O’Riordan, Ciaran (2006-10-06). "(About GPLv3) Can the Linux Kernel Relicense?". Retrieved 2015-05-28. Someone who works with many lawyers on free software copyright issues later told me that it is not necessary to get permission from 100% of the copyright holders. It would suffice if there was permission from the copyright holders of 95% of the source code and no objections from the holders of the other 5%. This, I’m told, is how Mozilla was able to relicense to the GPL in 2003 despite years of community contributions. 
  17. ^ Licensing HOWTO by Eric Steven Raymond&Catherine Olanich Raymond "Changing an existing license [...]You can change the license on a piece of code under any of the following conditions: If you are the sole copyright holder[...]If you are the sole registered copyright holder[...]If you obtain the consent of all other copyright holders[...]If no other copyright holder could be harmed by the change"
  18. ^ Prokoudine, Alexandre (2012-12-27). "LibreDWG drama: the end or the new beginning?". Retrieved 2013-08-23. [...]the unfortunate situation with support for DWG files in free CAD software via LibreDWG. We feel, by now it ought to be closed. We have the final answer from FSF. [...] "We are not going to change the license." 
  19. ^ "license". 2014. Retrieved 2015-03-25. Licences used in FreeCAD - FreeCAD uses two different licenses, one for the application itself, and one for the documentation: Lesser General Public Licence, version 2 or superior (LGPL2+) […] Open Publication Licence 
  20. ^ Relicensing Dolphin: The long road to GPLv2+ Written by JMC47, MaJoR on May 25, 2015

External links[edit]