Software relicensing

Software relicensing is applied in open-source software development when software licenses of software modules are incompatible and are required to be compatible for a greater combined work. Licenses applied to software as copyrightable works, in source code as binary form,[1] can contain contradictory clauses. These requirements can make it impossible to combine source code or content of several software works to create a new combined one.[2][3]

Motivation and description

Sometimes open-source software projects get stuck in a license incompatibility situation. Often the only feasible way to resolve this situation is re-licensing of all participating software parts. For successful relicensing the agreement of all involved copyright holders, typically the developers, to a changed license is required. While in the free and open-source domain achieving 100% coverage of all authors is often impossible due to the many contributors involved, often it is assumed that a great majority is sufficient. For instance, Mozilla assumed an author coverage of 95% to be sufficient.[4] Others in the free and open-source software (FOSS) domain, such as Eric S. Raymond, came to different conclusions regarding the requirements for relicensing of a whole code base.[5]

Cases

An early example of an open-source project that did successfully re-license for license compatibility reasons is the Mozilla project and their Firefox browser. The source code of Netscape's Communicator 4.0 browser was originally released in 1998 under the Netscape Public License/Mozilla Public License[6] but was criticised by the FSF and OSI for being incompatible.[7][8] Around 2001 Time Warner, exercising its rights under the Netscape Public License, and at the request of the Mozilla Foundation, relicensed[9] all code in Mozilla that was under the Netscape Public License (including code by other contributors) to an MPL 1.1/GPL 2.0/LGPL 2.1 tri-license, thus achieving GPL-compatibility.[10]

The Vorbis library was originally licensed as LGPL, but in 2001 the license was changed to the BSD license with endorsement of Richard Stallman to encourage adoption.[11][12]

The VLC project also has a complicated license history due to license compatibility: in 2007 it decided for license compatibility reasons to not upgrade to the just released GPLv3.[13] After VLC was removed from Apple App Store at the beginning of 2011, in October 2011 the VLC project re-licensed the VLC library part from the GPLv2 to the LGPLv2 to achieve better compatibility.[14][15] In July 2013 the VLC application could then be resubmitted to the iOS App Store relicensed under the Mozilla Public License.[16]

7-Zip's LZMA SDK, originally dual-licensed under both the GNU LGPL and Common Public License,[17] with an additional special exception for linked binaries, was placed by Igor Pavlov in the public domain on December 2, 2008.[18]

The GNU TLS project adopted the LGPLv3 license in 2011 but in 2013 relicensed their code back to LGPLv2.1 due to serious license compatibility problems.[19][20][21]

The GNU Free Documentation License in version 1.2 is not compatible with the widely used Creative Commons Attribution-ShareAlike license, which was a problem, for instance, for the Wikipedia.[22] Therefore, at the request of the Wikimedia Foundation, the FSF added, with version 1.3 of the GFDL, a time-limited section allowing specific types of websites using the GFDL to additionally offer their work under the CC BY-SA license.[23] Following in June 2009, the Wikimedia Foundation migrated their projects (Wikipedia, etc.) by dual licensing to the Creative Commons Attribution-ShareAlike as main license, additional to the previously used GFDL.[24] An improved license compatibility with the greater free content ecosystem was given as reason for the license change.[25][26]

In 2010 the OGRE project changed their license from the LGPL to the MIT License; a simpler license text was given as reason.[27][28][29]

Another case was the relicensing of GPLv2 licensed Linux kernel header files to the BSD license by Google for their Android library Bionic. To get rid of the GPL, Google claimed that the header files were cleaned from any copyright-able work, reducing them to non-copyrightable "facts".[30][31] This interpretation was challenged for instance by Raymond Nimmer, a law professor at the University of Houston Law Center.[32]

In November 2013 POV-Ray was relicensed under the Affero General Public License version 3 (or later),[33] after being distributed since 1991 under a FOSS-incompatible, non-commercial source available custom POV-Ray license.[34][35] POV-Ray was developed before FOSS licenses became widely used, therefore the developers wrote their own license which became later a problem due to license incompatibility with the FOSS ecosystem.

In 2014 the FreeCAD project changed their license from GPL to LGPLv2 due to GPLv3/GPLv2 incompatibilities.[36][37]

In 2014 Gang Garrison 2 relicensed from GPLv3 to MPL for improved library compatibility.[38][39]

In May 2015 the Dolphin project changed its license from "GPLv2 only" to "GPLv2 or any later" for better compatibility.[40]

In June 2015 mpv started the relicensation process of the project's GPL licensed source code for improved license compatibility under LGPLv2 by getting consent from the majority (95%+) of the contributing developers.[41] In August 2016 approx. 90% of the authors could be reached and consented. In October 2017 the switch was finalized.[42]

In July 2015 Seafile switched for improved license compatibility, especially with Git, from the GPLv3 to the GPLv2.[43][44]

In 2015 Natron was relicensed from MPL to the GPLv2 to allow better commercialization.[45]

In 2016 MAME achieved a relicensing of the code base to BSD/GPL[46] after struggling for years with an own written custom license, with non-commercial license terms.[47][48][49][50]

In August 2016 the MariaDB Corporation relicensed the database proxy server MaxScale from GPL to the non-FOSS but source-available and time-limited Business source license (BSL)[51] which defaults back after three years to GPL.[52][53] In 2017 followed version 1.1, revised with feedback also from Bruce Perens.[54][55]

For a long time D back-end source code was available but under a non-open source conform license,[56] because it was partially developed at Symantec and couldn't be relicensed as open source.[57] On April 9, 2017, also the back-end part could be relicensed to the open-source Boost Software License.[58][59][60]

On July 27, 2017 Microsoft Research changed the license of space combat simulator Allegiance from the MSR shared source license,[61] under which the game was opened in 2004,[62] to the MIT license.[63][64]

See also

References