License compatibility is a legal framework that allows for pieces of software with different
software license
A software license is a legal instrument (usually by way of contract law, with or without printed material) governing the use or redistribution of software. Under United States copyright law, all software is copyright protected, in both sour ...
s to be distributed together. The need for such a framework arises because the different licenses can contain contradictory requirements, rendering it impossible to legally combine
source code
In computing, source code, or simply code, is any collection of code, with or without comment (computer programming), comments, written using a human-readable programming language, usually as plain text. The source code of a Computer program, p ...
from separately-licensed software in order to create and publish a new program. Proprietary licenses are generally program-specific and incompatible; authors must negotiate to combine code. Copyleft licenses are commonly deliberately incompatible with proprietary licenses, in order to prevent copyleft software from being re-licensed under a proprietary license, turning it into
proprietary software
Proprietary software is computer software, software that is deemed within the free and open-source software to be non-free because its creator, publisher, or other rightsholder or rightsholder partner exercises a legal monopoly afforded by modern ...
. Many copyleft licenses explicitly allow relicensing under some other copyleft licenses. Permissive licenses are (with minor exceptions) compatible with everything, including proprietary licenses; there is thus no guarantee that all derived works will remain under a permissive license.
Definitions
License compatibility can be defined around the concepts of "collective/combined/aggregated work" and "
derivative work
In copyright law, a derivative work is an expressive creation that includes major copyrightable elements of an original, previously created first work (the underlying work). The derivative work becomes a second, separate work independent in fo ...
". The first "
collective work
A collective work is a work that contains the works of several authors assembled and published under the direction of one natural or legal person who owns the copyright in the work as a whole.
Definitions vary considerably from one country to an ...
" license compatibility definition allows the usage of variously-licensed works in a combined context:
A stronger definition includes the capability to change the license. The most prominent example is the
copyleft license's demand that the "derived work" combined from code under various licenses as whole is applied to the copyleft license.
Kinds of combined works
A ''combined work'' consists of multiple differently-licensed parts (avoiding
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 s ...
). To achieve a combined work including copyleft licensed components (which have a
viral
Viral means "relating to viruses" (small infectious agents).
Viral may also refer to:
Viral behavior, or virality
Memetic behavior likened that of a virus, for example:
* Viral marketing, the use of existing social networks to spread a marke ...
property leading potentially to a ''derived work''), proper isolation/separation needs to be maintained.
With individually licensed
source code
In computing, source code, or simply code, is any collection of code, with or without comment (computer programming), comments, written using a human-readable programming language, usually as plain text. The source code of a Computer program, p ...
files, multiple non-reciprocal licenses (such as permissive licenses or own proprietary code) can be separated, while the combined compiled program could be re-licensed (but that is not required). Such source-code file separation is too weak for copyleft/reciprocal licenses (such as the GPL), as they then require the complete work to be re-licensed under the reciprocal license as being derivative.
A slightly stronger approach is to have separation at the
linking stage with binary
object code (
static linking), where all the components of the resulting program are part of the same
process and
address space
In computing, an address space defines a range of discrete addresses, each of which may correspond to a network host, peripheral device, disk sector, a memory cell or other logical or physical entity.
For software programs to save and retrieve ...
. This satisfies "weak copyleft/standard reciprocal" combined works (such as LGPL licensed ones), but not "strong copyleft/strong reciprocal" combined works. While it is commonly accepted that linking (
static and even
dynamic linking) constitutes a derivative of a strong copyleft'd work,
there are alternate interpretations.
For combined works with "strong copyleft" modules, a stronger isolation is required. This can be achieved by separating the programs by an own
process and allowing communication only via binary
ABIs or other indirect means.
Examples are
Android
Android may refer to:
Science and technology
* Android (robot), a humanoid robot or synthetic organism designed to imitate a human
* Android (operating system), Google's mobile operating system
** Bugdroid, a Google mascot sometimes referred to ...
's
kernel space-to-
user space separation via
Bionic, or
Linux distros which have proprietary
binary blobs included despite having a strong copyleft
kernel
Kernel may refer to:
Computing
* Kernel (operating system), the central component of most operating systems
* Kernel (image processing), a matrix used for image convolution
* Compute kernel, in GPGPU programming
* Kernel method, in machine lea ...
.
While for some domains agreement exists if an isolation is suitable, there are domains in dispute and up to now untested in court. For instance, in 2015 the
SFC sued
VMware in an ongoing dispute whether
loadable kernel module
In computing, a loadable kernel module (LKM) is an object file that contains code to extend the running kernel, or so-called ''base kernel'', of an operating system. LKMs are typically used to add support for new hardware (as device drivers) and ...
s (LKM's) are derivative works of the GPL'd
Linux kernel
The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ...
or not.
Compatibility of FOSS licenses
Licenses common to
free and open-source software (FOSS) are not necessarily compatible with each other, and this can make it legally impossible to mix (or
link)
open-source code if the components have 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
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end user
In product development, an end user (sometimes end-user) is a person who ultimately uses or is intended to ulti ...
(GPL) could not be distributed without violating one of the terms of the licenses; this despite both licenses being approved by both the
Open Source Initiative
The Open Source Initiative (OSI) is the steward of the Open Source Definition, the set of rules that define open source software. It is a California public-benefit nonprofit corporation, with 501(c)(3) tax-exempt status.
The organization w ...
and the
Free Software Foundation.
License compatibility between a
copyleft license and another license is often only a one-way compatibility, making the copyleft license (GPL, and most other copyleft licenses) incompatible with proprietary commercial licenses, as well as with many non-proprietary licenses.
This "one-way compatibility" characteristic has been criticized by the
Apache Foundation
The Apache Software Foundation (ASF) is an American nonprofit corporation (classified as a 501(c)(3) organization in the United States) to support a number of open source software projects. The ASF was formed from a group of developers of the Ap ...
, which licenses under the more
permissive Apache license, such non-copyleft licenses being often less complicated and making for better license compatibility.
An example of a license that has excellent compatibility with other FOSS licenses is the
Artistic License
Artistic license (alongside more contextually-specific derivative terms such as poetic license, historical license, dramatic license, and narrative license) refers to deviation from fact or form for artistic purposes. It can include the alterat ...
2.0, due to its
re-licensing clause which allows redistribution of the source code under any other FOSS license.
The
Common Development and Distribution License (CDDL)—a weak
copyleft
Copyleft is the legal technique of granting certain freedoms over copies of copyrighted works with the requirement that the same rights be preserved in derivative works. In this sense, ''freedoms'' refers to the use of the work for any purpose, ...
license in-between the
GPL license and
BSD/
MIT permissive licenses—tries to address license compatibility problems by permitting, without re-licensing, the mixing of CDDL-licensed source-code files with source-code files under other licenses by providing that the resulting binary can be licensed and sold under a different license as long as the source code is still available under CDDL.
GPL compatibility
To minimize
license proliferation and license incompatibilities in the
FOSS ecosystem, some organizations (the Free Software Foundation, for instance) and individuals (David A. Wheeler), argue that
compatibility
Compatibility may refer to:
Computing
* Backward compatibility, in which newer devices can understand data generated by older devices
* Compatibility card, an expansion card for hardware emulation of another device
* Compatibility layer, compon ...
with the widely used GPL is an important feature of software licenses. Many of the most common free-software licenses, especially the
permissive licenses, such as the original
MIT/X license,
BSD licenses
BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD li ...
(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 (but the other license would not so apply).
Copyleft licenses and GPL
Copyleft
Copyleft is the legal technique of granting certain freedoms over copies of copyrighted works with the requirement that the same rights be preserved in derivative works. In this sense, ''freedoms'' refers to the use of the work for any purpose, ...
software licenses are not inherently GPL-compatible; even the GPLv2 license by itself is not compatible with GPLv3 or LGPLv3.
If you tried to combine code released under either of the later GPL licenses with GPLv2 code, you would violate section 6 of GPLv2, the source of the incompatibility. However, code under the later licenses can be combined with code licensed under GPL version 2 or later.
Most software released under GPLv2 allow you to use the terms of later versions of the GPL as well, and some have exception clauses that allow combining them with software that is under different licenses or license versions. The
Linux kernel
The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ...
is a notable exception that is distributed exclusively under the terms of GPLv2.
GFDL and GPL
The Free Software Foundation-recommended GNU Free Documentation License
is incompatible with the GPL license, and text licensed under the GFDL cannot be incorporated into GPL software. Therefore, the
Debian
Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of De ...
project decided, in a 2006 resolution, to license documentation under the GPL. The
FLOSS Manuals foundation followed Debian in 2007. In 2009, the Wikimedia Foundation switched from the GFDL to a
Creative Commons
Creative Commons (CC) is an American non-profit organization and international network devoted to educational access and expanding the range of creative works available for others to build upon legally and to share. The organization has releas ...
CC-BY-SA license as the main license for their projects.
CDDL and GPL
Another case where GPL compatibility is problematic is the
CDDL licensed
ZFS file system with the GPLv2 licensed
Linux kernel
The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ...
. Despite that both are free software under a copyleft license, ZFS is not distributed with most
linux distros like
Debian
Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of De ...
(but is distributed with
FreeBSD) as the CDDL is considered incompatible with the GPL'ed Linux kernel, by the Free Software Foundation and some parties with relations with the FSF.
The legal interpretation—of if and when this combination constitutes a combined work or derivative work of the GPLed kernel—is
ambiguous and controversial. In 2015, the CDDL to GPL compatibility question reemerged when the
linux distribution Ubuntu announced that it would include
OpenZFS by default. In 2016, Ubuntu announced that a legal review resulted in the conclusion that it is legally safe to use ZFS as a binary
kernel module in Linux. Others accepted Ubuntu's conclusion; for instance lawyer James E.J. Bottomley argued "a convincing theory of harm" cannot be developed, making it impossible to bring the case to court.
Eben Moglen, co-author of the
GPLv3
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general u ...
and founder of the
SFLC
The Software Freedom Law Center (SFLC) is an organization that provides ''pro bono'' legal representation and related services to not-for-profit developers of free software/ open source software. It was launched in February 2005 with Eben Moglen ...
, argued that while the letters of the GPL might be violated the spirit of both licenses is adhered to, which would be the relevant issue in court. On the other hand,
Bradley M. Kuhn
Bradley M. Kuhn (born 1973) is a free software activist from the United States.
Kuhn is currently Policy Fellow and Hacker-in-Residence of the Software Freedom Conservancy, having previously been executive director. Until 2010 he was the FLOSS C ...
and
Karen M. Sandler
Karen Sandler is the executive director of the Software Freedom Conservancy, former executive director of the GNOME Foundation, an attorney, and former general counsel of the Software Freedom Law Center.
Work in Free Software
As of March 2014, Sa ...
, from the
Software Freedom Conservancy, argued that Ubuntu would violate both licenses, as a binary ZFS module would be a derivative work of the Linux kernel, and announced their intent to achieve clarity in this question, even by going to court.
CC BY-SA and GPLv3
On October 8, 2015, Creative Commons concluded that the
CC BY-SA 4.0 is inbound compatible with the GPLv3.
Creative Commons license compatibility
The
Creative Commons License
A Creative Commons (CC) license is one of several public copyright licenses that enable the free distribution of an otherwise copyrighted "work".A "work" is any creative material made by a person. A painting, a graphic, a book, a song/lyric ...
s are widely used for content, but not all combinations of the seven recommended and supported licenses are compatible with each other. Additionally, this is often only a one-way directional compatibility, requiring a complete work to be licensed under the most restrictive license of the parent works.
JSON license
JSON
JSON (JavaScript Object Notation, pronounced ; also ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other s ...
developer
Douglas Crockford, inspired by the words of then President Bush, formulated the "evil-doers" JSON license ("The Software shall be used for Good, not Evil.") This subjective and moral license clause led to
license incompatibility
License compatibility is a legal framework that allows for pieces of software with different software licenses to be distributed together. The need for such a framework arises because the different licenses can contain contradictory requirement ...
problems with other
open source licenses, and resulted in the JSON license not being a free and open-source license.
Re-licensing for compatibility
Sometimes projects wind up with incompatible licenses, and the only feasible way to solve it is the re-licensing of the incompatible parts. Re-licensing is achieved by contacting all involved developers and other parties and getting their agreement for the changed license. While in the
free and open-source domain achieving 100% agreement is often impossible, due to the many contributors involved, the
Mozilla
Mozilla (stylized as moz://a) is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, spreads and supports Mozilla products, thereby promoting exclusively free software and open standards, w ...
re-licensing project assumes that achieving 95% is enough for the re-licensing of the complete code base. Others in the FOSS domain, such as
Eric S. Raymond, came to different conclusions regarding the requirements for re-licensing of an entire code base.
Re-licensing examples
An early example of a project that successfully re-licensed for license incompatibility reasons is the
Mozilla
Mozilla (stylized as moz://a) is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, spreads and supports Mozilla products, thereby promoting exclusively free software and open standards, w ...
project and their
Firefox browser. The
source code
In computing, source code, or simply code, is any collection of code, with or without comment (computer programming), comments, written using a human-readable programming language, usually as plain text. The source code of a Computer program, p ...
of
Netscape's
Communicator 4.0 browser was originally released in 1998 under the
Netscape Public License/
Mozilla Public License but was criticised by the Free Software Foundation (FSF) and
OSI for being incompatible with the GNU General Public License (GPL).
Around 2001
Time Warner
Warner Media, LLC ( traded as WarnerMedia) was an American multinational mass media and entertainment conglomerate. It was headquartered at the 30 Hudson Yards complex in New York City, United States.
It was originally established in 1972 by ...
, exercising its rights under the Netscape Public License, and at the request of the Mozilla Foundation, re-licensed 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
Multi-licensing is the practice of distributing software under two or more different sets of terms and conditions. This may mean multiple different software licenses or sets of licenses. Prefixes may be used to indicate the number of licens ...
, thus achieving GPL-compatibility.
The
Vorbis
Vorbis is a free and open-source software project headed by the Xiph.Org Foundation. The project produces an audio coding format and software reference encoder/decoder (codec) for lossy audio compression. Vorbis is most commonly used in con ...
library was originally licensed as
LGPL, but in 2001, with the endorsement of
Richard Stallman
Richard Matthew Stallman (; born March 16, 1953), also known by his initials, rms, is an American free software movement activist and programmer. He campaigns for software to be distributed in such a manner that its users have the freedom to u ...
, the license was changed to the less restrictive
BSD license
BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD li ...
, to accelerate the library's adoption.
The
VLC project has a complicated license history due to license incompatibility, and in 2007 the project decided, for license compatibility, to not upgrade to the just released
GPLv3
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general u ...
. In October 2011, after the VLC had been removed from the
Apple App Store at the start of 2011, the VLC project re-licensed the VLC library, from the GPLv2 to the LGPLv2, to achieve better compatibility. In July 2013, the software re-licensed under the
Mozilla Public License, the VLC application would then be resubmitted to the
iOS App Store.
The Free Software Foundation's
GNU Free Documentation License version 1.2 is not compatible with the widely used
Creative Commons
Creative Commons (CC) is an American non-profit organization and international network devoted to educational access and expanding the range of creative works available for others to build upon legally and to share. The organization has releas ...
Attribution-ShareAlike license, which was a problem for
Wikipedia
Wikipedia is a multilingual free online encyclopedia written and maintained by a community of volunteers, known as Wikipedians, through open collaboration and using a wiki-based editing system. Wikipedia is the largest and most-read ref ...
, for instance. Therefore, at the request of the
Wikimedia Foundation
The Wikimedia Foundation, Inc., or Wikimedia for short and abbreviated as WMF, is an American 501(c)(3) nonprofit organization headquartered in San Francisco, California and registered as a charitable foundation under local laws. Best kno ...
, the FSF added a time-limited section, to version 1.3 of the GFDL, that allowed specific types of websites using the GFDL to additionally offer their work under the CC BY-SA license.
Following this, in June 2009, the
Wikimedia Foundation
The Wikimedia Foundation, Inc., or Wikimedia for short and abbreviated as WMF, is an American 501(c)(3) nonprofit organization headquartered in San Francisco, California and registered as a charitable foundation under local laws. Best kno ...
migrated their projects (
Wikipedia
Wikipedia is a multilingual free online encyclopedia written and maintained by a community of volunteers, known as Wikipedians, through open collaboration and using a wiki-based editing system. Wikipedia is the largest and most-read ref ...
, etc.) by
dual licensing to the
Creative Commons Attribution-ShareAlike as its main license, in addition to the previously used
GFDL,
so as to have improved license compatibility with the greater
free content ecosystem.
Another interesting case was
Google
Google LLC () is an American Multinational corporation, multinational technology company focusing on Search Engine, search engine technology, online advertising, cloud computing, software, computer software, quantum computing, e-commerce, ar ...
's re-licensing of GPLv2-licensed
Linux kernel
The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ...
header files to the
BSD license
BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD li ...
for their
Android
Android may refer to:
Science and technology
* Android (robot), a humanoid robot or synthetic organism designed to imitate a human
* Android (operating system), Google's mobile operating system
** Bugdroid, a Google mascot sometimes referred to ...
library
Bionic. Google claimed that the header files were clean of any copyright-able work, reducing them to non-copyrightable "facts", and thus not covered by the GPL. This interpretation was challenged by Raymond Nimmer, a law professor at the
University of Houston Law Center. Apps and drivers of Android, which provide an increasing amount of Android's functionality, have been gradually relicensed from permissive to proprietary licenses.
In 2014, the
FreeCAD project changed their license from GPL to LGPLv2, due to GPLv3/GPLv2 incompatibilities. Also in 2014,
Gang Garrison 2 was re-licensed from GPLv3 to
MPL for improved library compatibility.
The
KaiOS
KaiOS is a mobile Linux distribution for keypad feature phones based on the Firefox OS open-source project. It is developed by KaiOS Technologies (Hong Kong) Limited; a company based in Hong Kong, whose largest shareholder is Chinese multin ...
mobile operating system was derived from the
Firefox OS/Boot to Gecko operating system, which was released under the permissive
MPL 2.0. It does not redistribute itself under the same license, so it is now presumably relicensed, and proprietary (but still mostly open-source). KaiOS also uses the
GPL Linux kernel also used in Android.
See also
*
License proliferation
*
Comparison of free and open-source software licenses
This comparison only covers software licenses which have a linked Wikipedia article for details and which are approved by at least one of the following expert groups: the Free Software Foundation, the Open Source Initiative, the Debian Project an ...
(also license compatibility)
*
Backward compatibility
*
Forward compatibility
Forward compatibility or upward compatibility is a design characteristic that allows a system to accept input intended for a later version of itself. The concept can be applied to entire systems, electrical interfaces, telecommunication signal ...
References
{{Reflist, 30em
Copyright licenses
Terms of service