Short description: License allowing software modification and redistribution
The free-software-licensing spectrum and some examples of programs under those licenses[1]
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 (usually the author) 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 (or free and open-source 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.[2]
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 (CONTU) decided in 1974 that "computer programs, to the extent that they embody an author's original creation, are proper subject matter of copyright",[3][4] 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 (the "GNU Emacs Copying Permission Notice") was used for GNU Emacs in 1985,[5] which was revised into the "GNU Emacs General Public License" in late 1985, and clarified in March 1987 and February 1988.[6][7][8] Likewise, the similar GCC General Public License was applied to the GNU Compiler Collection, which was initially published in 1987.[9][10] 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 (GPL) was published. Version2 of the GPL, released in 1991, went on to become the most widely used free-software license.[11][12][13]
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.[14] In the Dot-com bubble time, Netscape Communications' step to release its webbrowser under a FOSS license in 1998,[15][16] inspired many other companies to adapt to the FOSS ecosystem.[17] In this trend companies and new projects (Mozilla, Apache foundation, and Sun, see also this list) 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.[18] 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 US. 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.[19] The US case (MySQL vs Progress) 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.[20]
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,[21] a position which faced opposition by Daniel J. Bernstein and others.[22] 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.[23]
In 2007, after years of draft discussion, the GPLv3 as major update of the GPLv2 was released. The release was controversial[24] due to the significant extended scope of the license, which made it incompatible with the GPLv2.[25] Several major FOSS projects (Linux kernel,[26][27]MySQL,[28]BusyBox,[29][30]Blender,[31]VLC media player[32]) 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.[33]
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.[27][34] 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.[35][36]
In 2015 according to Black Duck Software[37] and GitHub statistics,[38] 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.[39]
Definitions
OSI-approved open-source licenses
The group Open Source Initiative (OSI) 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.[citation needed][clarification needed] 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.[40]
The Free Software Foundation prefers copyleft (share-alike) 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".[citation needed]
Only "public-domain software" and software under a public-domain-like license is restriction-free.[citation needed] 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 (especially on the distribution/distributor) 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 (that is, when the code or the project is not sold or otherwise shared) 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[41] that "no license can guarantee future software availability" and that the disadvantages of GPL outweigh[42] 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.[43] 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.[44]
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 (such as to redistribution), 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.
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
License compatibility between common FOSS software licenses according to David A. Wheeler (2007): the vector arrows denote a one directional compatibility, therefore better compatibility on the left side ("permissive licenses") than on the right side ("copyleft licenses").[45]
Licenses of software packages containing contradictory requirements render it impossible to combine source code from such packages in order to create new software packages.[46] License compatibility between a copyleft license and another license is often only a one-way compatibility.[47] 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.[48] Non-copyleft licenses, such as the FOSS permissive licenses, have a less complicated license interaction and normally exhibit better license compatibility.[49][50] 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.[25][51]
Purpose of use
Restrictions on use of a software ("use restrictions") 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,[clarification needed] for ethically questionable means,[52] or in commercial organizations.[53]
While some restrictions on user freedom, e.g. concerning nuclear war, seem to enjoy moral support among most free software developers,[54] it is generally believed that such agendas should not be served through software licenses; among other things because of practical aspects such as resulting legal uncertainties and problems with enforceability of vague, broad and/or subjective criteria or because tool makers are generally not held responsible for other people’s use of their tools. Nevertheless some projects include legally non-binding pleas to the user, prominently SQLite.[55] Among the repeated attempts[56][57][58] by developers to regulate user behavior through the license that sparked wider debate are Douglas Crockford’s (joking) “no evil” clause, which affected the release process of the Debian distribution in 2012[59] and got the JSMin-PHP project expelled from Google Code,[60] the addition of a pacifist condition based on Asimov’s First Law of Robotics to the GPL for the distributed computing software GPU in 2005,[61] as well as several software projects trying to exclude use by big cloud providers.[62][63]
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
This section may be unbalanced towards certain viewpoints. Please improve the article by adding information on neglected viewpoints, or discuss the issue on the talk page.(July 2020)
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 (GPL), are undesirably complicated and/or restrictive.[64] 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.[65] 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 proprietaryMATLAB software, for instance with the FOSS GNU Octave software.[66][67][68]
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. The approach has led to BSD code being used in widely used proprietary software. Proponents of the GPL point out that once code becomes proprietary, users are denied the freedoms that define free software.[69] 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,[dubious – discuss] neither it nor the GPL is "free" in the sense of "lacking any restrictions."
Debian
The Debian project uses the criteria laid out in its Debian Free Software Guidelines (DFSG). The only notable cases where Debian and Free Software Foundation disagree are over the Artistic License and the GNU Free Documentation License (GFDL). 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,[70] which is incompatible with the GPL,[71] was considered "non-free" by the Debian project around 2006,[72] Nathanael Nerode,[73] and Bruce Perens.[74] 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".[75] 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.[76]
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.[77]
Market share
While historically the most widely used FOSS license has been the GPLv2, in 2015, according to Black Duck Software[37] 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.[78] 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.[79]
A GitHub study in 2015 on their statistical data found that the MIT license was the most prominent FOSS license on that platform.[38]
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 (for Perl packages), LPPL (for texlive packages), and ASL. The GNU GPLv2+ was the single most popular license[39]
↑Kelty, Christpher M. (2008). "The Cultural Significance of free Software - Two Bits". Duke University press - durham and london. pp. 99. http://twobits.net/pub/Kelty-TwoBits.pdf. "Prior to 1998, Free Software referred either to the Free Software Foundation (and the watchful, micromanaging eye of Stallman) or to one of thousands of different commercial, avocational, or university-research projects, processes, licenses, and ideologies that had a variety of names: sourceware, freeware, shareware, open software, public domain software, and so on. The term Open Source, by contrast, sought to encompass them all in one movement."
↑Kelty, Christpher M. (2008). "The Cultural Significance of free Software - Two Bits". Duke University press - durham and london. pp. 100. http://twobits.net/pub/Kelty-TwoBits.pdf. "The term Open Source, by contrast, sought to encompass them all in one movement. The event that precipitated this attempted semantic coup d’état was the release of the source code for Netscape’s Communicator Web browser. It’s tough to overestimate the importance of Netscape to the fortunes of Free Software. […] But Netscape is far more famous among geeks for giving away something else, in 1998: the source code to Netscape Communicator (née Navigator)."
↑Bernstein, Daniel J. (2004). "Placing documents into the public domain". https://cr.yp.to/publicdomain.html. "Most rights can be voluntarily abandoned ("waived") by the owner of the rights. Legislators can go to extra effort to create rights that can't be abandoned, but usually they don't do this. In particular, you can voluntarily abandon your United States copyrights: "It is well settled that rights gained under the Copyright Act may be abandoned. But abandonment of a right must be manifested by some overt act indicating an intention to abandon that right. See Hampton v. Paramount Pictures Corp., 279 F.2d 100, 104 (9th Cir. 1960).""
↑Lawrence Rosen (2012-03-08). "(License-review) (License-discuss) CC0 incompliant with OSD on patents, (was: MXM compared to CC0)". opensource.org. https://lists.opensource.org/pipermail/license-review/2012-March/001679.html. "The case you referenced in your email, Hampton v. Paramount Pictures, 279 F.2d 100 (9th Cir. Cal. 1960), stands for the proposition that, at least in the Ninth Circuit, a person can indeed abandon his copyrights (counter to what I wrote in my article) -- but it takes the equivalent of a manifest license to do so. :-) ... For the record, I have already voted +1 to approve the CC0 public domain dedication and fallback license as OSD compliant. I admit that I have argued for years against the "public domain" as an open source license, but in retrospect, considering the minimal risk to developers and users relying on such software and the evident popularity of that "license", I changed my mind. One can't stand in the way of a fire hose of free public domain software, even if it doesn't come with a better FOSS license that I trust more."
↑Kerner, Sean Michael (2008-01-08). "Torvalds Still Keen On GPLv2". internetnews.com. http://www.internetnews.com/dev-news/article.php/3720371/Torvalds+Still+Keen+On+GPLv2.htm. "In some ways, Linux was the project that really made the split clear between what the FSF is pushing which is very different from what open source and Linux has always been about, which is more of a technical superiority instead of a -- this religious belief in freedom," Torvalds told Zemlin. So, the GPL Version3 reflects the FSF's goals and the GPL Version2 pretty closely matches what I think a license should do and so right now, Version2 is where the kernel is."
↑corbet (2006-10-01). "Busy busy busybox". lwn.net. https://lwn.net/Articles/202106/. "Since BusyBox can be found in so many embedded systems, it finds itself at the core of the GPLv3 anti-DRM debate. […] The real outcomes, however, are this: BusyBox will be GPLv2 only starting with the next release. It is generally accepted that stripping out the "or any later version" is legally defensible, and that the merging of other GPLv2-only code will force that issue in any case."
↑Landley, Rob (2006-09-09). "Re: Move GPLv2 vs v3 fun...". lwn.net. https://lwn.net/Articles/202110/. "Don't invent a straw man argument please. I consider licensing BusyBox under GPLv3 to be useless, unnecessary, overcomplicated, and confusing, and in addition to that it has actual downsides. 1) Useless: We're never dropping GPLv2."
↑Denis-Courmont, Rémi. "VLC media player to remain under GNU GPL version2". videolan.org. http://www.videolan.org/press/2007-1.html. "In 2001, VLC was released under the OSI-approved GNU General Public version2, with the commonly-offered option to use 'any later version' thereof (though there was not any such later version at the time). Following the release by the Free Software Foundation (FSF) of the new version3 of its GNU General Public License (GPL) on the 29th of June 2007, contributors to the VLC media player, and other software projects hosted at videolan.org, debated the possibility of updating the licensing terms for future version of the VLC media player and other hosted projects, to version3 of the GPL. ... There is strong concern that these new additional requirements might not match the industrial and economic reality of our time, especially in the market of consumer electronics. It is our belief that changing our licensing terms to GPL version3 would currently not be in the best interest of our community as a whole. Consequently, we plan to keep distributing future versions of VLC media player under the terms of the GPL version2."
↑ 37.037.1"Top 20 licenses". Black Duck Software. 19 November 2015. http://www.blackducksoftware.com/resources/data/top-20-licenses. "1. MIT license 24%, 2. GNU General Public License (GPL) 2.0 23%, 3. Apache License 16%, 4. GNU General Public License (GPL) 3.0 9%, 5. BSD License 2.0 (3-clause, New or Revised) License 6%, 6. GNU Lesser General Public License (LGPL) 2.1 5%, 7. Artistic License (Perl) 4%, 8. GNU Lesser General Public License (LGPL) 3.0 2%, 9. Microsoft Public License 2%, 10. Eclipse Public License (EPL) 2%"
↑Apache foundation (2015-05-30). "GPL compatibility". https://www.apache.org/licenses/GPL-compatibility.html. "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."
↑Hanwell, Marcus D. (28 Jan 2014). "Should I use a permissive license? Copyleft? Or something in the middle?". opensource.com. http://opensource.com/business/14/1/what-license-should-i-use-open-source-project. "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."
↑"Licence Compatibility and Interoperability". Open-Source Software - Develop, share, and reuse open source software for public administrations. joinup.ec.europa.eu. https://joinup.ec.europa.eu/software/page/licence_compatibility_and_interoperability. "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')."
↑"OpenBSD Copyright Policy". http://www.openbsd.org/policy.html. "the restriction that source code must be distributed or made available for all works that are derivatives […] As a consequence, software bound by the GPL terms cannot be included in the kernel or "runtime" of OpenBSD"
↑Srivastava, Manoj (2006). "Draft Debian Position Statement about the GNU Free Documentation License (nerGFDL)". http://people.debian.org/~srivasta/Position_Statement.xhtml. "It is not possible to borrow text from a GFDL'd manual and incorporate it in any free software program whatsoever. This is not a mere license incompatibility. It's not just that the GFDL is incompatible with this or that free software license: it's that it is fundamentally incompatible with any free software license whatsoever. So if you write a new program, and you have no commitments at all about what license you want to use, saving only that it be a free license, you cannot include GFDL'd text. The GNU FDL, as it stands today, does not meet the Debian Free Software Guidelines. There are significant problems with the license, as detailed above; and, as such, we cannot accept works licensed under the GNU FDL into our distribution."
↑Bruce Perens (2 Sep 2003). "stepping in between Debian and FSF". lists.debian.org/debian-legal. https://lists.debian.org/debian-legal/2003/09/msg00091.html. "FSF, a Free Software organization, isn't being entirely true to the Free Software ethos while it is promoting a license that allows invariant sections to be applied to anything but the license text and attribution. FSF is not Creative Commons:the documentation that FSF handles is an essential component of FSF's Free Software, and should be treated as such. In that light, the GFDL isn't consistent with the ethos that FSF has promoted for 19 years."