Free-software license
Public domain & equivalents | Permissive license | Copyleft | Noncommercial license | Proprietary license | Trade secret | |
Description | Grants all rights | Grants use rights, including right to relicense | Grants use rights, forbids proprietization | Grants rights for noncommercial use only. May be combined with copyleft. | Traditional use of copyright; no rights need be granted | No information made public |
Software | PD, CC0 | MIT, Apache, MPL | GPL, AGPL | JRL, AFPL | proprietary software, no public license | private, internal software |
Other creative works | PD, CC0 | CC-BY | CC-BY-SA | CC-BY-NC | Copyright, no public license | unpublished |
A free-software license is a notice that grants the recipient of a piece of software extensive rights to modify and redistribute that software. These actions are usually prohibited by copyright law, but the rights-holder of a piece of software can remove these restrictions by accompanying the software with a software license which grants the recipient these rights. Software using such a license is free software as conferred by the copyright holder. Free-software licenses are applied to software in source code and also binary object-code form, as the copyright law recognizes both forms.
Comparison
Free-software licenses provide risk mitigation against different legal threats or behaviors that are seen as potentially harmful by developers:AGPLv3 | GPLv3 | GPLv2.1 | LGPLv3 | LGPLv2.1 | MPL-2 | BSD | |
SaaS/cloud | |||||||
Tivoization | |||||||
Patent trolling | |||||||
Proprietization | |||||||
Granularity / reach | Project | Project | Project | Library | Library | File | |
Trademark grant |
History
Pre-1980s
In the early times of software, sharing of software and source code was common in certain communities, for instance academic institutions.Before the US Commission on New Technological Uses of Copyrighted Works decided in 1974 that "computer programs, to the extent that they embody an author's original creation, are proper subject matter of copyright", software was not considered copyrightable. Therefore, software had no licenses attached and was shared as public-domain software. The CONTU decision plus court decisions such as Apple v. Franklin in 1983 for object code, clarified that the Copyright Act gave computer programs the copyright status of literary works and started the licensing of software.
Free-software licenses before the late 1980s were generally informal notices written by the developers themselves. These early licenses were of the "permissive" kind.
1980s
In the mid-1980s, the GNU project produced copyleft free-software licenses for each of its software packages. An early such license was used for GNU Emacs in 1985, with subsequent revisions in 1986, 1987 and 1988 taking the name of "GNU Emacs General Public License". Likewise, the similar GCC General Public License was applied to the GNU Compiler Collection, which was initially published in 1987. The original BSD license is also one of the first free-software licenses, dating to 1988. In 1989, version1 of the GNU General Public License was published. Version2 of the GPL, released in 1991, went on to become the most widely used free-software license.1990s to 2000s
Starting in the mid-1990s and until the mid-2000s, the open-source movement pushed and focused the free-software idea forward in the wider public and business perception. In the Dot-com bubble time, Netscape Communications' step to release its webbrowser under a FOSS license in 1998, inspired many other companies to adapt to the FOSS ecosystem. In this trend companies and new projects wrote their own FOSS licenses, or adapted existing licenses. This License proliferation was later recognized as problem for the Free and open-source ecosystem due to the increased complexity of license compatibility considerations. While the creation of new licenses slowed down later, license proliferation and its impact are considered an ongoing serious challenge for the free and open-source ecosystem.From the free-software licenses, the GNU GPL version2 has been tested in to court, first in Germany in 2004 and later in the USA. In the German case the judge did not explicitly discuss the validity of the GPL's clauses but accepted that the GPL had to be adhered to: "If the GPL were not agreed upon by the parties, defendant would notwithstanding lack the necessary rights to copy, distribute, and make the software 'netfilter/iptables' publicly available." Because the defendant did not comply with the GPL, it had to cease use of the software. The US case was settled before a verdict was arrived at, but at an initial hearing, Judge Saris "saw no reason" that the GPL would not be enforceable.
Around 2004 lawyer Lawrence Rosen argued in the essay Why the public domain isn't a license software could not truly be waived into public domain and can't be interpreted as very permissive FOSS license, a position which faced opposition by Daniel J. Bernstein and others. In 2012 the dispute was finally resolved when Rosen accepted the CC0 as open source license, while admitting that contrary to his previous claims copyright can be waived away, backed by Ninth circuit decisions.
In 2007, after years of draft discussion, the GPLv3 as major update of the GPLv2 was released. The release was controversial due to the significant extended scope of the license, which made it incompatible with the GPLv2. Several major FOSS projects decided against adopting the GPLv3.
On the other hand, in 2009, two years after the release of the GPLv3, Google open-source programs office manager Chris DiBona reported that the number of open-source projects licensed software that had moved to GPLv3 from GPLv2 was 50%, counting the projects hosted at Google Code.
2010s
In 2011, four years after the release of the GPLv3, 6.5% of all open-source licensed projects were GPLv3 while 42.5% were still GPLv2 according to Black Duck Software data. Following in 2011 451 Group analyst Matthew Aslett argued in a blog post that copyleft licenses went into decline and permissive licenses increased, based on statistics from Black Duck Software.In 2015 according to Black Duck Software and GitHub statistics, the permissive MIT license dethroned the GPLv2 as most popular free-software license to the second place while the permissive Apache license follows already at third place. In June 2016 an analysis of Fedora Project's packages revealed as most used licenses the GPL, MIT, BSD, and the LGPL.
Definitions
OSI-approved open-source licenses
The group Open Source Initiative defines and maintains a list of approved open-source licenses. OSI agrees with FSF on all widely used free-software licenses, but differ from FSF's list, as it approves against the Open Source Definition rather than the Free Software Definition. It considers Free Software Permissive license group to be a reference implementation of a Free Software license. Thus its requirements for approving licenses are different.FSF-approved free-software licenses
The Free Software Foundation, the group that maintains the Free Software Definition, maintains a non-exhaustive list of free-software licences.The Free Software Foundation prefers copyleft free-software licensing rather than permissive free-software licensing for most purposes. Its list distinguishes between free-software licenses that are compatible or incompatible with the FSF's copyleft GNU General Public License.
Conditions in free-software licenses
There exists an ongoing debate within the free-software community regarding the fine line between what restrictions can be applied and still be called "free".Only "public-domain software" and software under a public-domain-like license is restriction-free. Examples of public-domain-like licenses are, for instance, the WTFPL and the CC0 license. Permissive licenses might carry small obligations like attribution of the author but allow practically all code use cases. Certain licenses, namely the copyleft licenses, include intentionally stronger restrictions in order to force derived projects to guarantee specific rights which can't be taken away.
Copyleft
The free-software share-alike licenses written by Richard Stallman in the mid-1980s pioneered a concept known as "copyleft". Ensuing copyleft provisions stated that when modified versions of free software are distributed, they must be distributed under the same terms as the original software. Hence they are referred to as "share and share alike" or "quid pro quo". This results in the new software being open source as well. Since copyleft ensures that later generations of the software grant the freedom to modify the code, this is "free software". Non-copyleft licenses do not ensure that later generations of the software will remain free.Developers who use GPL code in their product must make the source code available to anyone when they share or sell the object code. In this case, the source code must also contain any changes the developers may have made. If GPL code is used but not shared or sold, the code is not required to be made available and any changes may remain private. This permits developers and organizations to use and modify GPL code for private purposes without being required to make their changes available to the public.
Supporters of GPL claim that by mandating that derivative works remain under the GPL, it fosters the growth of free software and requires equal participation by all users. Opponents of GPL claim that "no license can guarantee future software availability" and that the disadvantages of GPL outweigh its advantages. Some also argue that restricting distribution makes the license less free. Whereas proponents would argue that not preserving freedom during distribution would make it less free. For example, a non-copyleft license does not grant the author the freedom to see modified versions of his or her work if it gets publicly published, whereas a copyleft license does grant that freedom.
Patent retaliation
During the 1990s, free-software licenses began including clauses, such as patent retaliation, in order to protect against software patent litigation cases – a problem which had not previously existed. This new threat was one of the reasons for writing version3 of the GNU GPL in 2006. In recent years, a term coined tivoization describes a process where hardware restrictions are used to prevent users from running modified versions of the software on that hardware, in which the TiVo device is an example. It is viewed by the FSF as a way to turn free software to effectively non-free, and is why they have chosen to prohibit it in GPLv3.Most newly written free-software licenses since the late 1990s include some form of patent retaliation clauses. These measures stipulate that one's rights under the license, may be terminated if one attempts to enforce patents relating to the licensed software, under certain circumstances. As an example, the Apple Public Source License may terminate a user's rights if said user embarks on litigation proceedings against them due to patent litigation. Patent retaliation emerged in response to proliferation and abuse of software patents.
Hardware restrictions
Version3 of the GNU GPL includes specific language prohibiting additional restrictions being enforced by hardware restrictions and digital rights management, a practice FSF calls tivoization after Tivo used GPL’d software on devices that disallowed user modification of that software.Attribution, disclaimers and notices
The majority of free-software licenses require that modified software not claim to be unmodified. Some licenses also require that copyright holders be credited. One such example is version2 of the GNU GPL, which requires that interactive programs that print warranty or license information, may not have these notices removed from modified versions intended for distribution.Practical problems with licenses
License compatibility
Licenses of software packages containing contradictory requirements render it impossible to combine source code from such packages in order to create new software packages. License compatibility between a copyleft license and another license is often only a one-way compatibility. This "one-way compatibility" characteristic is, for instanced, criticized by the Apache Foundation, who provides the more permissive Apache license which doesn't have this characteristic. Non-copyleft licenses, such as the FOSS permissive licenses, have a less complicated license interaction and normally exhibit better license compatibility. For example, if one license says "modified versions must mention the developers in any advertising materials", and another license says "modified versions cannot contain additional attribution requirements", then, if someone combined a software package which uses one license with a software package which uses the other, it would be impossible to distribute the combination because these contradictory requirements cannot be fulfilled simultaneously. Thus, these two packages would be license-incompatible. When it comes to copyleft software licenses, they are not inherently compatible with other copyleft licenses, even the GPLv2 is, by itself, not compatible with the GPLv3.Purpose of use
Restrictions on use of a software are generally unacceptable according to the FSF, OSI, Debian, or the BSD-based distributions. Examples include prohibiting that the software be used for non-private applications, for military purposes, for comparison or benchmarking, for good use, for ethically questionable means, or in commercial organisations.Definition conflicts
As there are several defining organizations and groups who publish definitions and guidelines about FOSS licenses, notably the FSF, the OSI, the Debian project, and the BSDs, there are sometimes conflicting opinions and interpretations.Permissive versus copyleft opinions
Many users and developers of BSD-based operating systems have a different position on licensing. The main difference is the belief that the copyleft licenses, particularly the GNU General Public License, are undesirably complicated and/or restrictive. The GPL requires any derivative work to also be released according to the GPL while the BSD license does not. Essentially, the BSD license's only requirement is to acknowledge the original authors, and poses no restrictions on how the source code may be used.As a result, BSD code can be used in proprietary software that only acknowledges the authors. For instance, Microsoft Windows NT 3.1 and macOS have proprietary IP stacks which are derived from BSD-licensed software. In extreme cases, the sub- or re-licensing possibilities with BSD or other permissive licenses might prevent further use in the open-source ecosystem. For instance, MathWorks' FileExchange repository offers the BSD license for user contributions but prevents with additional terms of use any usage beside their own proprietary MATLAB software, for instance with the FOSS GNU Octave software.
On the positive side, as BSD-like permissive licenses have very limited restrictions, they also have excellent license compatibility, even with copyleft licenses.
Supporters of the BSD license argue that it is more free than the GPL because it grants the right to do anything with the source code, provided that the attribution is preserved. For example, users might incorporate the BSD-licensed code into proprietary products. The approach has led to BSD code being used in common, widely used proprietary software. In response, proponents of the GPL point out that once code becomes proprietary, users lack the freedoms that define free software. As a result, they consider the BSD license less free than the GPL, and that freedom is more than a lack of restriction. Since the BSD license restricts the right of developers to have changes recontributed to the community, neither it nor the GPL is "free" in the sense of "lacking any restrictions."
Code licensed under a permissive free software licence, such as the BSD license, can be incorporated into copylefted projects. Such code is thus "GPL-compatible". There is no need to secure the consent of the original authors. In contrast, code under the GPL cannot be relicensed under the BSD license without securing the consent of all copyright holders. Thus the two licenses are compatible, but the combination as a whole must be distributed under the terms of the GPL and not the permissive license.
Existing free-software BSD-licensed projects tend to avoid including software licensed under the GPL in the core operating system, or the base system, except as a last resort when alternatives are non-existent or vastly less capable, such as with GCC. For example, starting with FreeBSD10.0, the GCC was replaced by the Clang/LLVM compiler, The OpenBSD project has acted to remove GPL-licensed tools in favor of BSD-licensed alternatives, some newly written and some adapted from older code.
Debian
The Debian project uses the criteria laid out in its Debian Free Software Guidelines. The only notable cases where Debian and Free Software Foundation disagree are over the Artistic License and the GNU Free Documentation License. Debian accepts the original Artistic License as being a free software license, but FSF disagrees. This has very little impact however since the Artistic License is almost always used in a dual-license setup, along with the GNU General Public License.Controversial borderline cases
The vast majority of free software uses undisputed free-software licenses; however, there have been many debates over whether or not certain other licenses qualify for the definition.Examples of licenses that provoked debate were the 1.x series of the Apple Public Source License, which were accepted by the Open Source Initiative but not by the Free Software Foundation or Debian and the RealNetworks Public Source License, which was accepted by Open Source Initiative and Free Software Foundation but not by Debian.
Also, the FSF recommended GNU Free Documentation License, which is incompatible with the GPL, was considered "non-free" by the Debian project around 2006, Nathanael Nerode, and Bruce Perens. The FSF argues that documentation is qualitatively different from software and is subject to different requirements. Debian accepted, in a later resolution, that the GNU FDL complied with the Debian Free Software Guidelines when the controversial "invariant section" is removed, but considers it "still not free of trouble". Notwithstanding, most GNU documentation includes "invariant sections". Similarly, the FLOSS Manuals foundation, an organization devoted to creating manuals for free software, decided to eschew the GFDL in favor of the GPL for its texts in 2007, citing the incompatibility between the two, difficulties in implementing the GFDL, and the fact that the GFDL "does not allow for easy duplication and modification", especially for digital documentation.
SLUC is a software license published in Spain in December 2006 to allow all but military use. The writers of the license maintain it is free software, but the Free Software Foundation says it is not free because it infringes the so-called "zero freedom" of the GPL, that is, the freedom to use the software for any purpose.
Market share
While historically the most widely used FOSS license has been the GPLv2, in 2015, according to Black Duck Software the permissive MIT license dethroned the GPLv2 to the second place while the permissive Apache license follows at third place.A study from 2012, which used publicly available data, criticized Black Duck Software for not publishing their methodology used in collecting statistics. Daniel German, professor in the Department of Computer Science at the University of Victoria in Canada, presented a talk in 2013 about the methodological challenges in determining which are the most widely used free-software licenses, and showed how he could not replicate the result from Black Duck Software.
A GitHub study in 2015 on their statistical data found that the MIT license was the most prominent FOSS license on that platform.
In June 2016 an analysis of the Fedora Project's packages showed as most used licenses the GPL family, followed by MIT, BSD, the LGP family, Artistic, LPPL, and ASL. The GNU GPLv2+ was the single most popular license