Free software license

From Wikipedia, the free encyclopedia
Jump to: navigation, search
The free software licensing spectrum and some examples of programs under those licenses

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 licence is free software as conferred by the copyright holder. Free software licenses are applied to software in source code as also binary object code form, as the copyright law recognizes both forms.[1]

Some free software licenses include "copyleft" provisions which require all future versions to also be distributed with these freedoms. Other, "permissive", free software licenses are usually just a few lines containing the grant of rights and a disclaimer of warranty, thus also allowing distributors to add restrictions for further recipients.

While historically the most widely used FOSS license has been the GNU General Public License v2, in 2015 according to Black Duck Software[2] as also GitHub statistics,[3] the permissive MIT license dethroned the GPLv2 to the second place while the permissive Apache license follows already at third place.


Free software licenses before the 1980s were generally informal notices written by the developers themselves. At that time, sharing of software was common in certain developer communities and there were even questions about whether copyright law applied to software, so licenses weren't written with a view to having to be defended in court. Copyleft not yet having been invented, these early licenses were of the "permissive" kind.

In the mid-1980s, the GNU project produced individual 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,[4] with subsequent revisions in 1986, 1987 and 1988 taking the name of "GNU Emacs General Public License".[5] Likewise, the similar GCC General Public License was applied to the GNU Compiler Collection, which was initially published in 1987.[6][7] The original BSD license is also one of the first free software licenses, dating to 1988. In 1989, version 1 of the GNU General Public License (GPL) was published. Version 2 of the GPL, released in 1991, went on to become the most widely used free software license.[8] Starting in the mid-90s and until the mid-00s, a trend began where companies and new projects wrote their own licenses, or adapting others' licenses to insert their own name. This license proliferation led to problems of complexity and license compatibility.[9] One free software license, the GNU GPL version 2, has been brought to court, first in Germany 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.[10] 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.[11]


OSI-approved "open source" licenses[edit]

Main article: Open-source license

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[edit]

The Free Software Foundation, the group that maintains the Free Software Definition, maintains a non-exhaustive list of Free Software licences.[12]The Free Software Foundation (FSF) is a nonprofit with a worldwide mission to promote computer user freedom and to defend the rights of all free software users.[1] Free software developers guarantee everyone equal rights to their programs; any user can study the source code, modify it, and share the program. By contrast, most software carries fine print that denies users these basic rights, leaving them susceptible to the whims of its owners and vulnerable to surveillance.

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.

Restrictions in "free software licenses"[edit]

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" like licenses are restriction free, for instance the WTFPL or 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.


Main article: copyleft

The free software sharealike 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 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 (i.e. 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[13] that "no license can guarantee future software availability" and that the disadvantages of GPL outweigh[14] 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 get publicly published, whereas a copyleft license does grant that freedom.

Patent retaliation[edit]

Further information: 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 version 3 of the GNU GPL in 2006.[15] 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, which the Tivo device is an example of. 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.[16] 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.

Hardware restrictions[edit]

Main article: Hardware restrictions

Version 3 of the GNU GPL includes specific language prohibiting additional restrictions being enforced by hardware restrictions and digital rights management (DRM), a practice FSF calls Tivoization.

Attribution, disclaimers and notices[edit]

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 version 2 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[edit]

License compatibility[edit]

License compatibility between common FOSS software licenses according to David A. Wheeler (2007): the vector arrows denote an one directional compatibility, therefore better compatibility on the left side ("permissive licenses") than on the right side ("copyleft licenses").[17]
Main article: 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.[18] License compatibility between a copyleft license and another license is often only a one-way compatibility.[19] 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.[20] Non-copyleft licenses as the FOSS permissive licenses have a less complicated license interaction and have most often a in general better license compatibility.[21][22] 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 simultaneously fulfilled. 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.[23][24]

Purpose of use[edit]

Restrictions on use of a software ("use restrictions") are generally unacceptable according the FSF, OSI, Debian, or the BSD-based distributions. Examples include prohibiting the software to be used private only, for military purposes, for comparison or benchmarking, for good use, for ethically questionable means,[25] or in commercial organisations.[26]

Definition conflicts[edit]

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[edit]

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.[27] 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, the IP stack in Microsoft Windows NT 3.1 and Mac OS X are derived from BSD-licensed software.[citation needed]

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.[28] As a result, they consider the BSD license less free than the GPL, and freedom a distinct concept from the lack of any restrictions. Since the BSD license restricts the right of developers to have changes recontributed to the community,[dubious ] 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 (e.g. GPL'd) 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 (unless such consent has been obtained) the combination as a whole must be distributed under the terms of the GPL, not the permissive license.

Existing free software BSDs 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 FreeBSD 10.0 release GCC was replaced to the Clang/LLVM compiler, perhaps primarily for this reason. 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.


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[edit]

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,[29] which is incompatible with the GPL,[30] was considered "non-free" by the Debian project around 2006[31] and Nathanael Nerode.[32] The FSF argues that documentation is qualitatively different from software and is subject to different requirements. Debian accepted in a later resolution the GNU FDL to comply with the Debian Free Software Guidelines, while calling the license "still not free of trouble", when the controversial "invariant section" is removed,.[33] 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.[34]

See also[edit]


  1. ^ Hancock, Terry (2008-08-29). "What if copyright didn't apply to binary executables?". Free Software Magazine. Retrieved 2016-01-25. 
  2. ^ "Top 20 licenses". Black Duck Software. 19 November 2015. Retrieved 19 November 2015. 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% 
  3. ^ Balter, Ben (2015-03-09). "Open source license usage on". Retrieved 2015-11-21. "1 MIT 44.69%, 2 Other 15.68%, 3 GPLv2 12.96%, 4 Apache 11.19%, 5 GPLv3 8.88%, 6 BSD 3-clause 4.53%, 7 Unlicense 1.87%, 8 BSD 2-clause 1.70%, 9 LGPLv3 1.30%, 10 AGPLv3 1.05% 
  4. ^ "GNU Emacs Copying Permission Notice (1985)". Retrieved 2015-11-08. 
  5. ^ "Free Software - GPL Enforcement". Tech Insider. Retrieved 2015-11-08. 
  6. ^ "GCC Releases". Retrieved 19 March 2015. 
  7. ^ "GPLv3 - Transcript of Richard Stallman from the second international GPLv3 conference, Porto Alegre, Brazil; 2006-04-21". Retrieved 19 March 2015. 
  8. ^ Top 20 Most Commonly Used Licenses in Open Source Projects, Black Duck Software.
  9. ^ Report of License Proliferation Committee and draft FAQ, Open Source Initiative 2007-12-12.
  10. ^ "Groklaw - The German GPL Order - Translated". Retrieved 19 March 2015. 
  11. ^ See Progress Software Corporation v. MySQL AB, 195 F. Supp. 2d 328 (D. Mass. 2002), on defendant's motion for preliminary injunction.
  12. ^ "Various Licenses and Comments about Them - GNU Project - Free Software Foundation". Retrieved 19 March 2015. 
  13. ^ "Why you should use a BSD style license for your Open Source Project". Retrieved 19 March 2015. 
  14. ^ "Why you should use a BSD style license for your Open Source Project". Retrieved 19 March 2015. 
  15. ^ "GPLv3 - Transcript of Richard Stallman from the fifth international GPLv3 conference, Tokyo, Japan; 2006-11-21". Retrieved 19 March 2015. 
  16. ^ "Richard Stallman discusses changes in GPLv3". a new method of trying to deprive the users of freedom. In broad terms we refer to this as tivoisation. 
  17. ^ The Free-Libre / Open Source Software (FLOSS) License Slide by David A. Wheeler on September 27, 2007
  18. ^ "How GPLv3 tackles license proliferation". 
  19. ^ 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 
  20. ^ 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. 
  21. ^ 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. 
  22. ^ "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”). 
  23. ^ "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. 
  24. ^ Landley, Rob. "CELF 2013 Toybox talk". Retrieved 2013-08-21. GPLv3 broke "the" GPL into incompatible forks that can't share code. 
  25. ^ "The HESSLA's Problems - GNU Project - Free Software Foundation". Retrieved 19 March 2015. 
  26. ^ "GPLv3 - Transcript of Richard Stallman from the third international GPLv3 conference, Barcelona; 2006-06-22". Retrieved 19 March 2015. 
  27. ^ "OpenBSD Copyright Policy". 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 
  28. ^ "Freedom or Power? by Bradley Kuhn and Richard Stallman". 
  29. ^ GNU project: Frequently Asked Questions about the GNU Licenses: Why don't you use the GPL for manuals? Retrieved 20 June 2009.
  30. ^ Richard Braakman on Debian-legal about GFDL/GPL incompatibility
  31. ^ Srivastava, Manoj (2006). "Draft Debian Position Statement about the GNU Free Documentation License (GFDL)". Retrieved 2007-09-25. 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. 
  32. ^ Nerode, Nathanael (2003-09-24). "Why You Shouldn't Use the GNU FDL". Archived from the original on 2003-10-09. Retrieved 2011-11-07. 
  33. ^ Debian Project: Resolution: Why the GNU Free Documentation License is not suitable for Debian. Voted February–March 2006. (Accessed June 20, 2009)
  34. ^ FLOSS Manuals Foundation (6 June 2007). "License Change". FLOSS Manuals Blog. FLOSS Manuals Foundation. Archived from the original on 28 February 2008. Retrieved 20 June 2009. 


External links[edit]