Recent from talks
Contribute something
Nothing was collected or created yet.
GNU General Public License
View on WikipediaThis article may be too long to read and navigate comfortably. (December 2024) |
| Author | Richard Stallman |
|---|---|
| Latest version | 3 |
| Publisher | Free Software Foundation |
| Published | 25 February 1989 |
| SPDX identifier |
|
| Debian FSG compatible | Yes[1] |
| FSF approved | Yes[2] |
| OSI approved | Yes (applies to GPLv3-only and GPLv2-only)[3] |
| Copyleft | Yes[2][4][5] |
| Linking from code with a different licence | Software licensed under GPL-compatible licenses only, with the exception of the LGPL, which allows all programs.[6] |
| Website | www |
The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or copyleft licenses, that guarantee end users the freedom to run, study, share, or modify the software.[7] The GPL was the first copyleft license available for general use. It was originally written by Richard Stallman, the founder of the Free Software Foundation (FSF), for the GNU Project. The license grants the recipients of a computer program the rights of the Free Software Definition.[8] The licenses in the GPL series are all copyleft licenses, which means that any derivative work must be distributed under the same or equivalent license terms. The GPL states more obligations on redistribution than the GNU Lesser General Public License and differs significantly from widely used permissive software licenses such as BSD, MIT, and Apache.
Historically, the GPL license family has been one of the most popular software licenses in the free and open-source software (FOSS) domain.[7][9][10][11][12] Prominent free software programs licensed under the GPL include the Linux operating system kernel and the GNU Compiler Collection (GCC). David A. Wheeler argues that the copyleft provided by the GPL was crucial to the success of Linux-based systems, giving the contributing programmers some assurance that their work would benefit the world and remain free, rather than being potentially exploited by software companies who would not be required to contribute to the community.[13]
In 2007, the third version of the license (GPLv3) was released to address perceived shortcomings in the second version (GPLv2) that had become apparent through long-term use.
To keep the license current, the GPL includes an optional "any later version" clause, which allows users to choose between two options—the original terms or the terms in new versions as updated by the FSF. Software projects licensed with the optional "or later" clause include the GNU Project, while projects such as the Linux kernel are licensed under GPLv2 only. The "or any later version" clause is sometimes known as a lifeboat clause, since it allows combinations of different versions of GPL-licensed software to maintain compatibility.
Usage of the GPL has steadily declined since the 2010s, particularly because of the complexities mentioned above, as well as a perception that the license restrains the modern open source domain from growth and commercialization.[14][15]
History
[edit]The original GPL was written by Richard Stallman in 1989 for use with programs released as part of the GNU Project. The license was based on unifying similar licenses used for early versions of the GNU Emacs text editor, the GNU Debugger, and the GNU C Compiler.[16][17] These licenses contained provisions similar to the modern GPL, but they were specific to each program, which rendered them incompatible despite being the same license.[18] Stallman's goal was to produce a single license that could be used for any project, thereby enabling many projects to share code.
The second version of the license, GPLv2, was released in 1991. During the subsequent 15 years, members of the free software community became concerned about specific problems in the GPLv2 license, which could allow a person to exploit GPL-licensed software in ways contrary to the license's intent.[19] These problems included the following:
- tivoization—the inclusion of GPL-licensed software in hardware that prevents users from running modified versions of the software (on that hardware)
- compatibility issues similar to those of the AGPL (v1)
- patent deals between Microsoft and distributors of free and open-source software, which some people viewed as an attempt to use patents as a weapon against the free software community
Version 3 of the GPL was developed as an attempt to address the concerns mentioned above; it was officially released on 29 June 2007.[20]
Version 1
[edit]| Published | 25 February 1989 |
|---|---|
| Website | www |
| Deprecated | Yes |
Version 1 of the GNU GPL, released on 25 February 1989, was written to protect against the two main methods by which software distributors restricted the freedoms that define free software.[21][22]
The first method is publishing binary files that are only executable, but not readable or modifiable by humans. To prevent this restriction, the GPLv1 states that copying and distributing copies of any portion of the program must also make the human-readable source code available under the same licensing terms.[a]
The second method is adding restrictions, either directly to the license or by combining the software with other software having different restrictions on distribution. The union of two such sets of restrictions would apply to the combined work, thereby adding unacceptable constrictions. To prevent this situation, the GPLv1 states that modified versions, as a whole, must be distributed under the terms of GPLv1.[b] As a result, software distributed under the terms of the GPLv1 could be combined with software distributed under more permissive terms, since this combination would not change the terms under which the whole could be distributed. However, software distributed under GPLv1 could not be combined with software distributed under a more restrictive license, since this combination would conflict with the requirement that the whole be distributable under the terms of GPLv1.[citation needed]
Version 2
[edit]| Published | June 1991 |
|---|---|
| Website | www |
According to Richard Stallman, the major change in version 2 of the GPL was the "Liberty or Death" clause—Section 7.[18] The section states that licensees may distribute a GPL-covered work only if they can satisfy all of the license's obligations, despite any other legal obligations they might have. In other words, the obligations of the license may not be severed due to conflicting obligations. This provision is intended to discourage any party from using a patent infringement claim or other litigation to impair users' freedom under the license.[18]
By 1990, it became apparent that a less restrictive license would be strategically useful for two kinds of libraries: the C standard library and software libraries that handled the same tasks as existing proprietary libraries.[23] When the GPLv2 was released in June 1991, a second license was introduced at the same time; this was the GNU Library General Public License (LGPL), numbered as version 2 to show that the two licenses were complementary.[24] The version numbers diverged in 1999 when version 2.1 of the LGPL was released, renamed as the GNU Lesser General Public License to reflect its role in the philosophy. The GPLv2 was updated to refer to the new name of the LGPL, but the GPL's version number remained the same. As a result, the original GPLv2 was not recognized by the Software Package Data Exchange (SPDX).[25][failed verification]
The GPL includes instructions to specify "version 2 of the License, or (at your option) any later version", to allow the flexible use of either version 2 or 3, but some developers change these instructions to specify "version 2" only.
Version 3
[edit]| Published | 29 June 2007 |
|---|---|
| Website | www |
In late 2005, the Free Software Foundation (FSF) announced work on version 3 of the GPL. On 16 January 2006, the first "discussion draft" of GPLv3 was published, and public consultation began. The official GPLv3 was released by the FSF on 29 June 2007. GPLv3 was written by Richard Stallman, with legal counsel from Eben Moglen and Richard Fontana from the Software Freedom Law Center.[26][27]
According to Stallman, the most important changes involved software patents, free software license compatibility, the definition of "source code", and hardware restrictions on software modifications (such as tivoization).[26][28] Other changes involved internationalization, the handling of license violations, and the granting of additional permissions by the copyright holder. The term software propagation was explicitly defined as the copying and duplicating of software.[citation needed]
The public consultation process was coordinated by the Free Software Foundation with assistance from Software Freedom Law Center, Free Software Foundation Europe, and other free software groups.[29] Comments were collected from the public via the gplv3.fsf.org web portal,[30] using purpose-written software called stet. By the end of the comment period, a total of 2,636 comments had been submitted.[31]
The third draft of GPLv3 was released on 28 March 2007.[32] This draft included language intended to prevent patent-related agreements such as the controversial Microsoft-Novell agreement; the draft also restricted the anti-tivoization clauses to legal definitions of "user" and "consumer product". The draft also explicitly removed the section on "Geographical Limitations", the likely removal of this section having been announced at the launch of the public consultation.

The fourth and final discussion draft was released on 31 May 2007.[33] It introduced compatibility with Apache License version 2.0 (since prior versions are incompatible); clarified the role of external contractors; and made an exception to avoid perceived problems with an agreement in the Microsoft–Novell style, stating in Section 11, paragraph 6, as follows:
You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license ...
This exception aimed to make such future deals ineffective. The license was also intended to cause Microsoft to take action—to extend the patent licenses it granted to Novell customers for the use of GPLv3 software to all users of that GPLv3 software; this extension was possible only if Microsoft was legally a "conveyor" of the GPLv3 software.[34]
Early drafts of GPLv3 also let licensors add a requirement similar to the AGPL that would have resolved a loophole in the GPL pertaining to application service providers.[35][36] The freedom to run, study, and share the source code, as well as guarantee copyleft protections, is somewhat ambiguous in the context of web services. However, concerns were raised about the administrative costs of checking code for the additional requirements proposed in early GPLv3 drafts; it was ultimately decided to keep the GPL and the AGPL separated.[37]
Other respondents—notably high-profile Linux kernel developers such as Linus Torvalds, Greg Kroah-Hartman, and Andrew Morton—used media comments and public statements to object to portions of the GPLv3 drafts.[38] The kernel developers disapproved of clauses about DRM (and tivoization), patents, and "additional restrictions"; in addition, they warned of a "Balkanisation" of the "Open Source Universe".[38][39] Linus Torvalds, who chose not to adopt the GPLv3 for the Linux kernel,[40] reiterated his criticism several years later.[41][42]
GPLv3 improved compatibility with several free software licenses, such as the Apache License (version 2.0) and the GNU Affero General Public License (which GPLv2 could not be combined with).[43] However, GPLv3 software could be combined with and share code with GPLv2 software only if two conditions were met: the GPLv2 license that was used contained the optional "or later" clause, and the software was upgraded to GPLv3. While the "GPLv2 or any later version" clause is considered by FSF to be the most common form of licensing GPLv2 software,[44] Toybox developer Rob Landley described it as a lifeboat clause.[c] Software projects licensed with the optional "or later" clause include Joomla[47] and the GNU Project,[48] while a prominent example without this clause is the Linux kernel.[40][49]
The final version of the license text for GPLv3 was published on 29 June 2007.[50]
Terms and conditions
[edit]The terms and conditions of the GPL must be made available to any person receiving a copy of a work that has a GPL license applied to it ("the licensee"). Any licensee who adheres to the terms and conditions is given permission to modify the work, as well as to copy and redistribute the work or any derivative version. The licensee is allowed to charge a fee for this service or perform this service free of charge. This latter point distinguishes the GPL from software licenses that prohibit commercial redistribution. The FSF asserts that free software should not place restrictions on commercial use, and the GPL explicitly states that GPL works may be sold at any price.[51]
The GPL additionally states that a distributor may not impose "further restrictions on the rights granted by the GPL". This statement forbids activities such as distributing the software under a non-disclosure agreement or contract.[citation needed]
The fourth section of the GPLv2 and the seventh section of the GPLv3 require that programs distributed as pre-compiled binaries be accompanied by one of several things: a copy of the source code; a written offer to distribute the source code via the same mechanism as the pre-compiled binary file; or a written offer to obtain the source code that the user got when they received the pre-compiled binary file under the GPL. The second section of the GPLv2 and the fifth section of the GPLv3 also require distributing the license along with the program. The GPLv3 allows making the source code available in additional ways to satisfy its seventh section. These ways include downloading source code from an adjacent network server and peer-to-peer transmission, provided that the compiled code was available the same way and there are "clear directions" on where to find the source code.[citation needed]
The FSF does not hold the copyright for a work released under the GPL unless an author explicitly assigns copyrights to the FSF; this seldom happens, except for programs that are part of the GNU Project. Only the individual copyright holders have the authority to sue when a license violation is suspected.[citation needed]

Use of licensed software
[edit]Software under the GPL may be used for any purposes, including commercial ones, and even as a tool for creating proprietary software, such as when using GPL-licensed compilers.[52] Users or companies who distribute GPL-licensed works (e.g., software), may charge a fee for copies or provide them free of charge. This distinguishes the GPL from two other kinds of license: shareware software licenses that allow copying for personal use but prohibit commercial distribution, and proprietary licenses where copying is prohibited by copyright law. The FSF asserts that freedom-respecting free software should not restrict commercial use and distribution (including redistribution):[51][53]
In purely private (or internal) use—with no sales and no distribution—the software code may be modified and parts reused without requiring the source code to be released. For sales or distribution, the entire source code needs to be made available to end users, including any code changes and additions—in that case, copyleft is applied to ensure that end users retain the freedoms defined above.
However, software running as an application program under a GPL-licensed operating system (such as Linux) is not required to be licensed under GPL or to be distributed with source-code availability; the licensing depends only on the used libraries and software components, but not on the underlying platform.[54] For example, if a program consists only of original source code, or it is combined with source code from other software components,[d] then the custom software components need not be licensed under GPL and need not make their source code available; even if the underlying operating system used is licensed under the GPL, applications running on the system are not considered derivative works.[54] Only if GPL-licensed parts are used in a program (and the program is distributed) must all other source code of the program be made available under the same license terms. The GNU Lesser General Public License (LGPL) was designed to have a weaker copyleft than the GPL, in that the LGPL does not require custom-developed source code (as distinct from the LGPL-licensed parts) to be made available under the same license terms.[citation needed]
The fifth section of the GPLv3 states that no GPL-licensed code shall be considered an effective "technical protection measure" as defined by Article 11 of the WIPO Copyright Treaty, and that those who convey the work waive all legal power to prohibit circumvention of the technical protection measure "to the extent such circumvention is effected by exercising rights under this License with respect to the covered work". This statement means that users cannot be held liable for circumventing DRM implemented using GPLv3-licensed code under laws such as the US Digital Millennium Copyright Act (DMCA).[55]
Copyleft
[edit]The distribution rights granted by the GPL for modified versions of a work are not unconditional. When a person distributes a GPL-licensed work plus their own modifications, the requirements for distributing the whole work cannot be any greater than the requirements in the GPL. This requirement is known as copyleft. It gains its legal power from the use of copyright on software programs.[citation needed]
Because a GPL work is copyrighted, a licensee has no right to redistribute it, not even in modified form (barring fair use), except under the terms of the license. A person is only required to adhere to the terms of the GPL if they wish to exercise rights normally restricted by copyright law, such as redistribution. Conversely, if a person distributes copies of the work without abiding by the terms of the GPL (for instance, by keeping the source code secret), they can be sued by the original author under copyright law.[citation needed]
Copyright law has historically been used to prevent distribution of work by parties not authorized by the creator. Copyleft uses the same copyright laws to accomplish a very different goal. Copyleft grants distribution rights to all parties insofar as they provide the same rights to subsequent parties, and these parties to the next parties, and so on. In this way, the GPL and other copyleft licenses attempt to enforce libre access to the work and all derivatives.[56]
Many distributors of GPL-licensed programs bundle the source code with the executables. An alternative way to satisfy the copyleft is giving a written offer to provide the source code on a physical medium (such as a CD) upon request. In practice, many GPL-licensed programs are distributed over the Internet, and the source code is made available via the FTP or HTTP protocol. For Internet distribution, this approach complies with the license.[citation needed]
Copyleft applies only when a person seeks to redistribute the program. Developers may create private modified versions with no obligation to divulge the modifications, as long as they do not distribute the modified software to any other person. Copyleft applies only to the software, but not to its output (unless that output is itself a derivative work of the program).[e] For example, a public web portal running a modified derivative of a GPL-licensed content management system is not required to distribute its changes to the underlying software; this follows because the modified web portal is not being redistributed but rather hosted, and also because the web portal output is not a derivative work of the GPL-licensed content management system.
Some people have debated whether it is a violation of the GPLv1 to release source code in obfuscated form, for example, in cases where the author is less willing to make the source code available. The debate's consensus found such release unethical, but not a violation of the license. The issue was clarified when the GPL was altered in version 2 to require that the "preferred" version of the source code be made available.[58]
License versus contract
[edit]The GPL was designed as a license, rather than a contract.[59] In some common law jurisdictions, the legal distinction between a license and a contract is important: contracts are enforceable by contract law, whereas licenses are enforced under copyright law. However, this distinction is not useful in the many jurisdictions without differences between contracts and licenses, such as civil law systems.[60]
People who decline the GPL's terms and conditions do not have permission, under copyright law, to copy or distribute GPL-licensed software or derivative works. However, if these people do not redistribute the GPL-licensed program, they may still use the software within their organization as they wish, and works (including programs) constructed by using the program need not be covered by this license.[citation needed]
In 2007, software developer Allison Randal argued that the GPLv3 (as a license) is unnecessarily confusing for non-specialist readers, and it could be simplified while retaining the same conditions and legal force.[61]
In April 2017, a US federal court ruled that an open-source license is an enforceable contract.[62]
In October 2021, the Software Freedom Conservancy (as an end user) sued the company Vizio (as a copyright holder) over breach of contract; the goal of the suit was to obtain the source code for Vizio's televisions. A federal judge has ruled in the interim that the GPL is a contract enforceable by end users, as well as a license for copyright holders.[63]
Derivations
[edit]The text of the GPL is copyrighted, and the copyright is held by the Free Software Foundation.
The FSF permits people to create new licenses based on the GPL, as long as the derived licenses do not use the GPL preamble without permission. This use is discouraged, however, since such a license might be incompatible with the GPL[64] and causes a perceived license proliferation.
Other licenses created by the GNU Project include the GNU Lesser General Public License, GNU Free Documentation License, and GNU Affero General Public License.
The text of the GPL is not covered by the GPL. The license's copyright disallows modification of the license itself. Copying and distributing the license are allowed, since the GPL requires recipients to receive "a copy of this License along with the Program."[65] According to the GPL FAQ, any person can create a new license using a modified version of the GPL, as long as they meet three conditions: they use a different name for the license; they do not mention "GNU"; and they remove the preamble. However, the preamble can be used in a modified license if permission is obtained from the Free Software Foundation (FSF).[66]
Linking and derived works
[edit]This section is written like a personal reflection, personal essay, or argumentative essay that states a Wikipedia editor's personal feelings or presents an original argument about a topic. (November 2023) |
Libraries
[edit]According to the FSF, "The GPL does not require you to release your modified version or any part of it. You are free to make modifications and use them privately, without ever releasing them."[67] However, if a person releases a GPL-licensed entity to the public, there is a question about linking—namely, whether a proprietary program that uses a GPL library is in violation of the GPL.[citation needed]
This key issue is whether non-GPL software can statically link or dynamically link to GPL libraries in a legal way. There are different opinions on this issue. The GPL is clear in requiring that all derivative works of code under the GPL must themselves be under the GPL. Ambiguity arises with regard to using GPL libraries and bundling GPL software into a larger package (perhaps mixed into a binary file via static linking). [citation needed]
Point of view: dynamic and static linking violate GPL
[edit]The Free Software Foundation holds the copyright of several notable GPL-licensed software products and of the license text itself. The foundation asserts that an executable that uses a dynamically linked library is indeed a derivative work. This assertion does not, however, apply to separate programs communicating with one another.[68]
The Free Software Foundation also created the LGPL, which is nearly identical to the GPL, but with additional permissions to allow linking for the purposes of "using the library".
Richard Stallman and the FSF specifically encourage library writers to license under the GPL, so that proprietary programs cannot use the libraries, in an effort to protect the free software world by giving it more tools than the proprietary world.[69]
Point of view: static linking violates GPL, but unclear about dynamic linking
[edit]Some people believe that while static linking produces derivative works, it is unclear whether an executable that dynamically links to GPL code should be considered a derivative work (see weak copyleft). Linux author Linus Torvalds agrees that dynamic linking can create derived works, but he disagrees about the circumstances.[70]
A Novell lawyer has written that dynamic linking not being derivative "makes sense" but is not "clear-cut", and that evidence for well-intentioned dynamic linking can be seen in the existence of proprietary Linux kernel drivers.[71]
In the case Galoob v. Nintendo, the United States Ninth Circuit Court of Appeals defined a derivative work as having "'form' or permanence" and noted that "the infringing work must incorporate a portion of the copyrighted work in some form". Nevertheless, no clear court decisions have resolved this particular issue to date.[72]
Point of view: linking is irrelevant
[edit]This section may benefit from being shortened by the use of summary style. |
According to an article in the Linux Journal, Lawrence Rosen (a one-time general counsel for the Open Source Initiative) argues that the method of linking is mostly irrelevant to the question of whether a piece of software is a derivative work; more important is the question of whether the software was intended to interface with client software or libraries.[73] Rosen states, "The primary indication of whether a new program is a derivative work is whether the source code of the original program was used [in a copy-paste sense], modified, translated or otherwise changed in any way to create the new program. If not, then I would argue that it is not a derivative work;"he lists numerous other points about intent, bundling, and linkage mechanism.[73] He further argues on his firm's website that such "market-based" factors are more important than the linking technique.[74]
There is also the specific issue of whether a plugin or module (such as the kernel modules for the NVidia or ATI graphics card ) must also be GPL if it could reasonably be considered to be its own work. This point of view suggests that reasonably separate plugins, or plugins for software designed to use plugins, could be licensed under an arbitrary license if the work is GPLv2. Of particular interest is the GPLv2 paragraph:
You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: ...
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. ... These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
The GPLv3 has a different clause:
You may convey a work based on the Program or the modifications to produce it from the Program, in the form of source code under the terms of Section 4, provided that you also meet all of these conditions: ...
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable Section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. ... A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
As a case study, some supposedly proprietary plugins and themes (or skins) for a GPLv2 content management system (CMS) have come under fire, with both sides of the debate represented. Examples of these systems include Drupal and WordPress.[75]
The FSF makes a distinction as to how a plugin is invoked. If the plugin is invoked through dynamic linkage, and it makes function calls to a GPL program, then the plugin is most likely a derivative work.[76]
Communicating and bundling with non-GPL programs
[edit]This section may benefit from being shortened by the use of summary style. |
The mere act of communicating with other programs does not, by itself, require all software to be GPL; nor does distributing GPL software with non-GPL software. However, minor conditions must be followed that ensure the rights of GPL software are not restricted. The following is a quotation from the GPL FAQ (at gnu.org), which describes the extent to which software is allowed to communicate with and be bundled with GPL programs:[77]
What is the difference between an "aggregate" and other kinds of "modified versions"?
An "aggregate" consists of a number of separate programs, distributed together on the same CD-ROM or other media. The GPL permits you to create and distribute an aggregate, even when the licenses of the other software are non-free or GPL-incompatible. The only condition is that you cannot release the aggregate under a license that prohibits users from exercising rights that each program's individual license would grant them.
Where's the line between two separate programs, and one program with two parts? This is a legal question, which ultimately judges will decide. We believe that a proper criterion depends both on the mechanism of communication (exec, pipes, rpc, function calls within a shared address space, etc.) and the semantics of the communication (what kinds of information are interchanged).
If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program.
By contrast, pipes, sockets, and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program.
The FSF thus draws a line between "library" and "other program" via two aspects of the situation: the "complexity" and "intimacy" of information exchange, and the mechanism (rather than the semantics). But the foundation concedes that the question is not clear-cut, and case law will determine the outcome in complex situations.
Legal status
[edit]The first known violation of the GPL occurred in 1989, when the company NeXT extended the GCC compiler to support Objective-C, but did not publicly release the changes.[78] After an inquiry, the company created a public patch utility. No lawsuit was filed over this violation.[79]
In 2002, MySQL AB sued the company Progress NuSphere for copyright and trademark infringement in US federal court. NuSphere had allegedly violated MySQL's copyright by linking MySQL's GPL-licensed code with the NuSphere Gemini table without complying with the license. After a preliminary hearing on 27 February 2002, the parties entered settlement talks and eventually settled.[f] After the hearing, FSF commented that the judge "made clear that she sees the GNU GPL to be an enforceable and binding license."[80]
In August 2003, the SCO Group stated that they believed the GPL to have no legal validity, and that they intended to pursue lawsuits over sections of code supposedly copied from SCO Unix into the Linux kernel. This was a problematic stand for SCO, as they had distributed Linux and other GPL-licensed code in their Caldera OpenLinux distribution, and there is little evidence that they had any legal right to do so except under the terms of the GPL.[citation needed] In February 2018, after a federal circuit court judgment, appeal, and partial remanding to the circuit court, the parties restated their remaining claims and provided a plan to move toward final judgement.[81] The remaining claims revolved around Project Monterey, and they were settled in November 2021 by IBM paying $14.25 million to the TSG (previously SCO) bankruptcy trustee.[82]
In April 2004, the netfilter/iptables project was granted a preliminary injunction against Sitecom Germany by Munich District Court, after Sitecom refused to desist from distributing Netfilter's GPL-licensed software in violation of the terms of the GPL. Harald Welte of Netfilter was represented by Till Jaeger, co-founder of the Institut für Rechtsfragen der Freien und Open Source Software (ifrOSS, or "Institute for legal issues regarding free and open source software" in English). In July 2004, the German court confirmed this injunction as a final ruling against Sitecom.[83] The court's justification was that:
- Defendant has infringed on the copyright of the plaintiff by offering the software 'netfilter/iptables' for download and by advertising its distribution, without adhering to the license conditions of the GPL. Said actions would only be permissible if the defendant had a license grant. ... This is independent of the questions whether the licensing conditions of the GPL have been effectively agreed upon between plaintiff and defendant or not. 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.
This ruling mirrored the predictions given previously by the FSF's Eben Moglen. The ruling was important for two reasons: it was the first confirmation by a court that violating terms of the GPL could be a copyright violation, and it established jurisprudence as to the enforceability of the GPLv2 under German law.[84]
In May 2005, Daniel Wallace filed suit against the Free Software Foundation in the Southern District of Indiana, contending that the GPL is an illegal attempt to fix prices (at zero). The suit was dismissed in March 2006, on the grounds that Wallace had failed to state a valid antitrust claim; the court noted that "the GPL encourages, rather than discourages, free competition and the distribution of computer operating systems, the benefits of which directly pass to consumers".[85] Wallace was denied the possibility of further amending his complaint, and he was ordered to pay the FSF's legal expenses.
On 8 September 2005, the Seoul Central District Court ruled that the GPL was not material to a case dealing with trade secrets derived from GPL-licensed work.[86] Defendants argued that since it is impossible to maintain trade secrets while complying with GPL and distributing the work, they are not in breach of trade secrets. This argument was considered to be without ground.
On 6 September 2006, the gpl-violations.org project prevailed in court litigation against D-Link Germany GmbH, with regard to D-Link's copyright-infringing use of parts of the Linux kernel in storage devices that they distributed.[87] The judgment stated that the GPL is valid, legally binding, and stands in a German court.[88]
In late 2007, BusyBox developers and the Software Freedom Law Center embarked upon a program to gain GPL compliance from distributors of BusyBox in embedded systems, suing distributors who would not comply. These lawsuits were claimed to be the first US uses of courts for enforcement of GPL obligations (see BusyBox GPL lawsuits).
On 11 December 2008, the Free Software Foundation sued Cisco Systems, Inc. for copyright violations by its Linksys division; these concerned the FSF's GPL-licensed coreutils, readline, Parted, Wget, GNU Compiler Collection, binutils, and GNU Debugger software packages. Linksys distributes these packages in the Linux firmware[89] of its WRT54G wireless routers, as well as numerous other devices. These devices include DSL and Cable modems, Network Attached Storage devices, Voice-over-IP gateways, virtual private network devices, and a home theater (or media player) device.[90]
The FSF took Cisco to court after six years of multiple issues:
- Repeated complaints to Cisco by the FSF
- Claims by Cisco that they would correct, or were correcting, their compliance problems (i.e., not providing complete copies of all source code and its modifications)
- Repeated new violations being discovered and reported with more products
- Lack of action by Linksys, a process described on the FSF blog as a "five-years-running game of Whack-a-Mole"[90]
Cisco settled the case six months later by agreeing to several actions:
- "appoint a Free Software Director for Linksys" to ensure compliance
- "notify previous recipients of Linksys products containing FSF programs of their rights under the GPL"
- make source code of FSF programs freely available on its website
- make a monetary contribution to the FSF[91]
In 2011, it was noticed that GNU Emacs had been accidentally releasing some binary files without corresponding source code for two years, contrary to the intended spirit of the GPL, resulting in a copyright violation.[92] Richard Stallman described this incident as a "very bad mistake",[93] which was promptly fixed. The FSF did not sue any downstream redistributors who inadvertently violated the GPL by distributing these binary files.
In 2017 Artifex, the maker of the Ghostscript interpreter, sued Hancom, the maker of an office suite that included Ghostscript. Artifex offers two licenses for Ghostscript: one is the AGPL License, and the other is a commercial license. Hancom did not acquire a commercial license from Artifex, nor did it release its office suite as free software. Artifex sued Hancom in US District Court and made two claims: first, Hancom's use of Ghostscript was a violation of copyright; second, Hancom's use of Ghostscript was a license violation. The court found that the GPL license was an enforceable contract and that Hancom was in breach of contract.[94][95]
On 20 July 2021, the developers of the open-source Stockfish chess engine sued ChessBase, a creator of chess software, for violating the GPLv3 license.[96] Chessbase claimed that it had made only minor modifications to the Stockfish code and sold the new chess engines (Fat Fritz 2 and Houdini 6) to their customers.[97] Additionally, Fat Fritz 2 was marketed as though an innovative chess engine. In Stockfish's view, ChessBase had infringed on the license by not distributing these products as free software in accordance with the GPL.
A year later, on 7 November 2022, the parties reached an agreement and ended the dispute. In the near future, ChessBase would no longer sell products containing Stockfish code, while informing their customers of this change through an appropriate notice on the company's web pages. However, one year later, Chessbase's license would then be reinstated. Stockfish did not seek damages or financial compensation.[98][99][100]
Compatibility and multi-licensing
[edit]
Code licensed under several other licenses can be combined with a program under the GPL without conflict, as long as the combination of restrictions on the work as a whole does not put any additional restrictions beyond what GPL allows.[101] In addition to the regular terms of the GPL, there are additional restrictions and permissions that can be applied:
- If a user wants to combine code licensed under different versions of GPL, then this combination is allowed only if the code with the earlier GPL version includes the statement "or any later version".[102] For instance, the GPLv3-licensed GNU LibreDWG library cannot be used by LibreCAD and FreeCAD who have GPLv2-only dependencies.[103]
- Code licensed under LGPL is permitted to be linked with any other code regardless of that code's license,[104] though the LGPL does add additional requirements for the combined work. LGPLv3 and GPLv2-only can thus typically not be linked, since the combined code work would add additional LGPLv3 requirements on top of the GPLv2-only licensed software. Code licensed under LGPLv2.x without the statement "any later version" can be relicensed if the whole combined work is licensed under GPLv2 or GPLv3.[105]
FSF maintains a list[106] of GPL-compatible free software licenses[107] containing many of the most common licenses, such as the original MIT/X license, the BSD license (in its current 3-clause form), and the Artistic License 2.0.[108]
Starting with GPLv3, certain materials are unilaterally compatible with other materials: materials (such as text and other media) under Creative Commons Attribution-ShareAlike 4.0 International License can be remixed into GPL-licensed materials (predominantly software), not vice versa, for niche use cases such as game engines (under GPL) with game scripts (under CC BY-SA).[109][110]
David A. Wheeler has advocated that free (or open source) software developers use only GPL-compatible licenses, because using other licenses makes it difficult for other people to participate and contribute code.[111] As a specific example of license incompatibility, Sun Microsystems' ZFS file system cannot be included in the GPL-licensed Linux kernel, because it is licensed under the GPL-incompatible Common Development and Distribution License. Furthermore, ZFS is protected by patents, so distributing an independently developed implementation made compatible with GPL would still require Oracle's permission.[112]
A number of businesses use multi-licensing to distribute a GPL version and sell a proprietary license to companies wishing to combine the package with proprietary code (whether using static or dynamic linking). Examples of such companies include MySQL AB, Digia PLC (with Qt framework, before 2011 from Nokia), Red Hat (with Cygwin), and Riverbank Computing (with PyQt). Other organizations, such the Mozilla Foundation (whose products include Mozilla Application Suite, Mozilla Thunderbird, and Mozilla Firefox), used multi-licensing to distribute versions under the GPL and other open-source licenses.
Text and other media
[edit]It is possible to use the GPL for text documents (or more generally for any kind of media) if it is clear what constitutes the source code, which is defined as "the preferred form of the work for making changes in it".[113] For manuals and textbooks, though, the FSF recommends using the GNU Free Documentation License (GFDL) instead, which the foundation created for this purpose.[114] Nevertheless, in a resolution adopted in 2006, Debian developers recommended licensing documentation for their project under the GPL, because the GFDL was incompatible with the GPL.[115] That is, text licensed under the GFDL cannot be incorporated into GPL software.[116] Similarly, the FLOSS Manuals foundation, dedicated to creating manuals for free software, chose in 2007 to eschew the GFDL in favor of the GPL for its texts.[117]
If the GPL is used for computer fonts, any documents or images made with these fonts might also need to be distributed under the terms of the GPL. This dependency does not apply in countries that recognize typefaces (i.e., the appearance of fonts) as being useful articles and thus not eligible for copyright, but rather font files as copyrighted computer software. This situation can complicate font embedding, since a document could be considered 'linked' to its font; in other words, embedding a vector font in a document could force the document to be released under the GPL, but a rasterized rendering of the font would not be subject to the GPL. The FSF provides the GPL font exception for cases where this dependency is not desired.[118]
Adoption
[edit]Historically, the GPL family has been one of the most popular software licenses in the FOSS domain.[7][119][9][10][11][120]
A 1997 survey of MetaLab, then the largest free software archive, showed that the GPL accounted for about half of the software licensed there.[119] Similarly, a 2000 survey of Red Hat Linux 7.1 found that 53% of the source code was licensed under the GPL.[9] As of 2003[update], a significant share of the projects listed on SourceForge.net were from the GPL family—about 68% of all projects listed, and 82.1% of the licensed projects that were open source industry certified.[121] As of August 2008[update], the GPL family accounted for 70.9% of the 44,927 free software projects listed on Freecode.[10]
After the GPLv3 was released in June 2007, adoption of this new license version was widely discussed, and some projects decided against upgrading.[122] For instance, the Linux kernel, MySQL, BusyBox, AdvFS,[123] Blender, VLC media player, and MediaWiki decided against adopting GPLv3.[40][42][124][125][126][127][128][129] Still, two years after the release of GPLv3, Google open-source programs office manager Chris DiBona reported as follows: 50% of GPL-licensed open-source projects had moved from GPLv2 to GPLv3, counting the projects that were hosted at the service Google Code.[11]
In 2011, four years after the release of the GPLv3, 6.5% of all open-source license projects were GPLv3 while 42.5% were GPLv2, according to data from Black Duck Software.[130][131] Later in 2011, analyst Matthew Aslett from the company 451 Group asserted in a blog post that copyleft licenses had gone into decline and permissive licenses increased, based on statistics from Black Duck Software.[132] Similarly, in February 2012, Jon Buys reported that among the top 50 projects on the platform GitHub, only five projects were under a GPL license, including dual-licensed and AGPL projects.[133]
GPL usage statistics from 2009 to 2013 were extracted from data on the Freecode website by Walter van Holst while analyzing license proliferation:[12]
| 2009 | 2010 | 2011 | 2012 | 2013 | 2014-06-18[134][135] |
|---|---|---|---|---|---|
| 72% | 63% | 61% | 59% | 58% | approx. 54% |
In August 2013, according to Black Duck Software, their website's data showed that the GPL license family was used by 54% of open-source projects, with a breakdown of the individual licenses as shown in the table below.[120] However, a study later in 2013 showed that software licensed under the GPL license family had actually increased, and that even the data from Black Duck Software had shown a total increase in software projects licensed under GPL. The later study used public information gathered from repositories of the Debian Project, and this study criticized Black Duck Software for not publishing the methodology used in collecting their statistics.[136] Daniel German, professor in the Department of Computer Science at the University of Victoria in Canada, gave a talk in 2013 on methodological challenges in determining which free software licenses are most widely used, and he showed that he could not replicate the result from Black Duck Software.[137]
In 2015, according to Black Duck, GPLv2 had lost its first-place position to the MIT license and was now in second place; and the GPLv3 had dropped to fourth place, while the Apache license had kept third place.[7]
| License | 2008-05-08[138] | 2009-03-11[139] | 2011-11-22[130] | 2013-08-12[120] | 2015-11-19[7] | 2016-06-06[140] | 2017-01-02[141] | 2018-06-04[142] |
|---|---|---|---|---|---|---|---|---|
| GPLv2 | 58.69% | 52.2% | 42.5% | 33% | 23% | 21% | 19% | 14% |
| GPLv3 | 1.64% | 4.15% | 6.5% | 12% | 9% | 9% | 8% | 6% |
| LGPLv2.1 | 11.39% | 9.84% | ? | 6% | 5% | 4% | 4% | 3% |
| LGPLv3 | ? (<0.64%) | 0.37% | ? | 3% | 2% | 2% | 2% | 1% |
| GPL family combined | 71.72% (+ <0.64%) | 66.56% | ? | 54% | 39% | 36% | 33% | 24% |
In March 2015, an analysis of the repositories on GitHub revealed that approximately 25% of licensed projects used the GPL license family.[143] In June 2016, an analysis of the Fedora Project community's packages revealed the GNU GPLv2 or later as the most popular license, and the GNU GPL family as the most popular license family (followed by the MIT, BSD, and GNU LGPL families).[144]
In April 2018, whitesourcesoftware.com analyzed the FOSS ecosystem; their results showed the GPLv3 to be third place (18%) and the GPLv2 in fourth place (11%), after the MIT license (26%) and the Apache 2.0 license (21%).[145]
Reception
[edit]Legal barrier to application stores
[edit]The GPL is incompatible with many systems for the digital distribution of applications, such as the Mac App Store and certain other software distribution platforms (on smartphones and PCs). The problem lies in the right "to make a copy for your neighbour", since this right is violated by digital-rights management (DRM) systems that are embedded in the platform to prevent copying of paid software. Even if the application is free in the application store in question, copying might result in a violation of that application store's terms.[146]
There is a distinction between an app store, which sells DRM-restricted software under proprietary licenses, and the more general concept of digital distribution via some form of online software repository. Virtually all modern Unix systems and Linux distributions have application repositories, including NetBSD, FreeBSD, Ubuntu, Fedora, and Debian. These specific application repositories all contain GPL-licensed software apps, in some cases even when the core project does not permit GPL-licensed code in the base system (for instance, OpenBSD).[147] In other cases, such as the Ubuntu App Store, proprietary commercial software applications and GPL-licensed applications are both available via the same system. The Mac App Store (along with similar projects) is not incompatible with GPL-licensed apps for reasons inherent in the concept of an app store; rather, the incompatibility is due specifically to Apple's terms-of-use requirement—that all apps in the store utilize Apple DRM restrictions.[146] By contrast, Ubuntu's app store does not have such a requirement: "These terms do not limit or restrict your rights under any applicable open source software licenses."[148]
Microsoft
[edit]In 2001, Microsoft CEO Steve Ballmer referred to Linux as "a cancer that attaches itself in an intellectual property sense to everything it touches".[149][150] In response to Microsoft's attacks on the GPL, several prominent Free Software developers and advocates released a joint statement supporting the license.[151] Microsoft released Microsoft Windows Services for UNIX, which contains GPL-licensed code. In July 2009, Microsoft released a body of about 20,000 lines of Linux driver code under the GPL.[152] The Hyper-V hypervisor code in this release used open-source components licensed under the GPL; this code was originally statically linked to proprietary binary parts, the latter not being permitted in GPL-licensed software.[153]
"Viral" nature
[edit]The description of the GPL as "viral", when called "General Public Virus" or "GNU Public Virus" (GPV), dates back to the year after the GPLv1 was released.[154]
In 2001, the term received broader public attention when Craig Mundie, a Senior Vice President at Microsoft, described the GPL as being "viral".[155] Mundie argues that the GPL has a "viral" effect, in that it only allows the conveyance of whole programs; this implies that programs which link to GPL libraries must themselves be under a GPL-compatible license, otherwise they cannot be combined and distributed.
In a 2006 interview, Richard Stallman responded that Mundie's metaphor of a "virus" is incorrect, as software under the GPL does not "attack" or "infect" other software. Accordingly, Stallman believes that comparing the GPL to a virus is inappropriate, and that a better metaphor for software under the GPL would be a spider plant: if a person takes a piece of this plant and places it somewhere else, it grows there too.[156]
Nevertheless, the concept of the GPL's viral nature was later adopted by other people.[157][158] For instance, a 2008 article stated that "The GPL license is 'viral,' meaning any derivative work you create containing even the smallest portion of the previously GPL-licensed software must also be licensed under the GPL license."[159]
Barrier to commercialization
[edit]This section may benefit from being shortened by the use of summary style. |
The FreeBSD project has stated that "a less publicized and unintended use of the GPL is that it is very favorable to large companies that want to undercut software companies. In other words, the GPL is well suited for use as a marketing weapon, potentially reducing overall economic benefit and contributing to monopolistic behavior". The project also stated that the GPL can "present a real problem for those wishing to commercialize and profit from software."[160]
Richard Stallman wrote about an example of ethically acceptable commercialization practice—the practice of selling exceptions to free software licenses. This practice implies that the copyright holder of a given software takes two steps:
- Releases the software (along with the corresponding source code) to the public under a free software license
- "[T]hen lets customers pay for permission to use the same code under different terms, for instance allowing its inclusion in proprietary applications"
Stallman considered the practice of selling exceptions to be "acceptable since the 1990s, and on occasion I've suggested it to companies. Sometimes this approach has made it possible for important programs to become free software". Although the FSF does not practice selling exceptions, they propose a comparison with the X11 license (a non-copyleft free software license) as a way of suggesting that this commercialization technique be regarded as ethically acceptable. Releasing a given program under a non-copyleft free software license would permit embedding the code in proprietary software. Stallman comments that "either we have to conclude that it's wrong to release anything under the X11 license—a conclusion I find unacceptably extreme—or reject this implication. Using a non-copyleft license is weak, and usually an inferior choice, but it's not wrong. In other words, selling exceptions permits some embedding in proprietary software, and the X11 license permits even more embedding. If this doesn't make the X11 license unacceptable, it doesn't make selling exceptions unacceptable".[161]
Criticism of open-source
[edit]In 2000, developer and author Nikolai Bezroukov published an analysis and comprehensive critique of GPL's foundations and Stallman's software development model, called "Labyrinth of Software Freedom".[162][163]
As a parody of the GPL, version 2 of the Do What The Fuck You Want To Public License (WTFPL) was created by Debian project leader Sam Hocevar in 2004.[164]
In 2005, open source software advocate Eric S. Raymond questioned the relevance of GPL at that time for the FOSS ecosystem, stating that "We don't need the GPL anymore. It's based on the belief that open source software is weak and needs to be protected. Open source would be succeeding faster if the GPL didn't make lots of people nervous about adopting it."[165] Richard Stallman replied that "GPL is designed to ... ensure that every user of a program gets the essential freedoms—to run it, to study and change the source code, to redistribute copies, and to publish modified versions ... [Raymond] addresses the issue in terms of different goals and values—those of 'open source,' which do not include defending software users' freedom to share and change software."[166]
In 2007, Allison Randal, who took part in the GPL draft committee, criticized GPLv3 for being incompatible with the GPLv2[167] and for lacking clarity in its formulation.[61] Similarly that year, William Hurley (a.k.a. Whurly) foresaw the decline of the GPL due to its lack of focus on developers with GPLv3, which would encourage them to move toward permissive licenses.[168]
In a 2009 article at the InformIT website, David Chisnall described "The Failure of the GPL"—problems such as its incompatibility and the complexity of its license text.[169]
In 2014, developer and executive Bryan Cantrill termed the copyleft GPL a "Corporate Open Source Anti-pattern" for being "anti-collaborative"; he recommended permissive software licenses instead.[170]
Criticism of GPLv3
[edit]In September 2006, during the draft process of the GPLv3, several high-profile developers of the Linux kernel—such as Linus Torvalds, Greg Kroah-Hartman, and Andrew Morton—warned of a split in the FOSS community: "the release of GPLv3 portends the Balkanisation of the entire Open Source Universe upon which we rely."[38] Similarly, Benjamin Mako Hill argued around the same time that a united, collaborating community is more important than a single license.[171]
After the GPLv3 was released in 2007, some journalists[42][130][172] and Toybox developer Rob Landley[45][46] criticized the release: with the introduction of the GPLv3, the division between the open source and free software communities had widened, because the significantly extended GPLv3 is essentially incompatible with the GPLv2.[102] Compatibility is only provided under the optional "or later" clause of the GPL; this option which was not pursued by the Linux kernel, among other software.[40] Before the release of GPLv3, Bruce Byfield noted, GPLv2 was a unifying element between the open-source and the free software communities.[130]
For the LGPLv3, GNU TLS maintainer Nikos Mavrogiannopoulos similarly argued, "If we assume that its [the LGPLv3's] primary goal is to be used by free software, then it blatantly fails that"; this statement was made after Mavrogiannopoulos changed the license of the GnuTLS library from LGPLv3 back to LGPLv2.1, due to license compatibility issues.[173][174]
In 2007, Lawrence Rosen, attorney and computer specialist, praised how the community using the Apache license could then collaborate with the GPL community in a compatible way, since the problems of GPLv2 compatibility with Apache licensed software had been resolved by the GPLv3. Along these lines, he said that "I predict that one of the biggest success stories of GPLv3 will be the realization that the entire universe of free and open-source software can thus be combined into comprehensive open source solutions for customers worldwide."[175]
In July 2013, Armin Ronacher (creator of the Flask framework) drew a less optimistic conclusion about GPL compatibility in the FOSS ecosystem: "When the GPL is involved the complexities of licensing becomes a non fun version of a riddle"; he also noted that the conflict between Apache License 2.0 and GPLv2 still had an impact on the ecosystem.[176]
See also
[edit]- Criticism of copyright
- Multi-licensing
- European Union Public Licence (EUPL)
- GNU Lesser General Public License (LGPL)
- GNU Affero General Public License (AGPL)
- GPL font exception
- GPL linking exception
- Comparison of free and open-source software licenses
- Free-software license
- Category:Software using the GNU General Public License
- Public information licence
Notes
[edit]- ^ Sections 3a and 3b of the license
- ^ Sections 2b and 4 of the license
- ^ "GPLv3 broke "the" GPL into incompatible forks that can't share code....FSF expected universal compliance, but hijacked lifeboat clause when boat wasn't sinking...."[45][46]
- ^ Example: if only GNU Lesser General Public License- (LGPL-) libraries, LGPL-software-components and components with permissive free software licenses are used (thus not GPL itself), then only the source code of LGPL parts must be made available—for the developer's own self-developed software components this availability is not required (even when the underlying operating system used is licensed under GPL, as is the case with Linux).
- ^ A counterexample is the GPL licensed GNU Bison: the parsers that it outputs do contain parts of itself and are therefore derivatives, which would fall under the GPL if not for a special exception granted by GNU Bison.[57]
- ^ See Progress Software Corporation v. MySQL AB, 195 F. Supp. 2d 328 (D. Mass. 2002), on the defendant's motion for a preliminary injunction.
References
[edit]- ^ "License information". The Debian Project. Software in the Public Interest (published 12 July 2017). 1997–2017. Archived from the original on 20 July 2017. Retrieved 20 July 2017.
... This page presents the opinion of some debian-legal contributors on how certain licenses follow the Debian Free Software Guidelines (DFSG). ... Licenses currently found in Debian main include:
- ...
- Expat/MIT-style licenses
- ...
- ^ a b "Various Licenses and Comments about Them". The GNU Project. Free Software Foundation (published 4 April 2017). 2014–2017. GNU General Public License (GPL) version 3. Archived from the original on 20 July 2017. Retrieved 20 July 2017.
... This is the latest version of the GNU GPL: a free software license, and a copyleft license. ... GPLv3 is not compatible with GPLv2 by itself. However, most software released under GPLv2 allows you to use the terms of later versions of the GPL as well. When this is the case, you can use the code under GPLv3 to make the desired combination. ...
- ^ "Licenses by Name". Open Source Initiative. n.d. Archived from the original on 20 July 2017. Retrieved 20 July 2017.
... The following licenses have been approved by the OSI. ...
- GNU General Public License version 2 (GPL-2.0)
- GNU General Public License version 3 (GPL-3.0)
- ...
- ^ "Various Licenses and Comments about Them". The GNU Project. Free Software Foundation (published 4 April 2017). 2014–2017. GNU General Public License (GPL) version 2. Archived from the original on 20 July 2017. Retrieved 20 July 2017.
... This is the previous version of the GNU GPL: a free software license, and a copyleft license. ... GPLv2 is, by itself, not compatible with GPLv3. However, most software released under GPLv2 allows you to use the terms of later versions of the GPL as well. When this is the case, you can use the code under GPLv3 to make the desired combination. ...
- ^ "Copyleft: Pragmatic Idealism – Free Software Foundation". Free Software Foundation. Retrieved 10 December 2009.
- ^ "GPL FAQ: If a library is released under the GPL (not the LGPL)". GNU Project. Free Software Foundation.
- ^ a b c d e "Top 20 licenses". Black Duck Software. 19 November 2015. Archived from the original on 19 July 2016. Retrieved 19 November 2015.
- ^ "GPL FAQ: Does using the GPL for a program make it GNU Software?". GNU Project. Free Software Foundation.
- ^ a b c David A. Wheeler. "Estimating Linux's Size".
- ^ a b c "Freecode's statistics page". Archived from the original on 28 August 2008.
GPL 60.5%, lGPLv2 6.9%, GPLv2 1.9% GPLv3 1.6%
- ^ a b c Asay, Matt (23 July 2009). "GPLv3 hits 50 percent adoption | The Open Road – CNET News". News.cnet.com. Archived from the original on 29 October 2013. Retrieved 2 September 2013.
- ^ a b c License proliferation: a naive quantitative analysis on lwn.net "Walter van Holst is a legal consultant at the Dutch IT consulting company mitopics... Walter instead chose to use data from a software index, namely Freecode... Walter's 2009 data set consisted of 38,674 projects... The final column in the table shows the number of projects licensed under "any version of the GPL". In addition, Walter presented pie charts that showed the proportion of projects under various common-licenses. Notable in those data sets was that, whereas in 2009 the proportion of projects licensed GPLv2-only and GPLv3 was respectively 3% and 2%, by 2013, those numbers had risen to 7% and 5%."
- ^ "Why the GPL rocketed Linux to success". Archived from the original on 16 May 2013. Retrieved 22 September 2006.
So while the BSDs have lost energy every time a company gets involved, the GPL'ed programs gain every time a company gets involved.
- ^ Bacon, Jono. "The decline of GPL? | Opensource.com". opensource.com. Retrieved 21 May 2025.
- ^ "GNU General Public License (GPL) 2.0—commentary | Legal Guidance | LexisNexis". www.lexisnexis.co.uk. Retrieved 21 May 2025.
- ^ "GNU Emacs Copying Permission Notice (1985)". GitHub. Retrieved 8 November 2015.
- ^ "The History of the GPL". Retrieved 24 November 2011.
- ^ a b c Stallman, Richard (21 April 2006). "Presentation at the second international GPLv3 conference, held in Porto Alegre".
- ^ "Why Upgrade to GPL Version 3 --GPLv3". Fsf.org. Retrieved 17 March 2011.
- ^ "FSF releases the GNU General Public License, version 3 – Free Software Foundation – working together for free software". Fsf.org. Retrieved 15 January 2011.
- ^ "GNU General Public License, version 1".
- ^ "New General Public License".
- ^ For the reasoning see The GNU project.
- ^ "GNU Library General Public License, version 2.0". Retrieved 21 November 2018.
- ^ "SPDX License List – Software Package Data Exchange (SPDX)". Retrieved 14 September 2021.
- ^ a b Stallman, Richard (25 February 2006). "Presentation in Brussels, Belgium—the first day of that year's FOSDEM conference". Archived from the original on 7 September 2012.
- ^ "GPLv3 authors comment on final draft". Retrieved 4 March 2008.[permanent dead link]
"The GPLv3 process: Public consultation and private drafting". Archived from the original on 24 June 2008. Retrieved 4 March 2008. - ^ Interview with Richard Stallman Archived 20 November 2017 at the Wayback Machine, Free Software Magazine, 23 January 2008.
- ^ "GPLv3: Drafting version 3 of the GNU General Public License". Free Software Foundation Europe.
- ^ "gplv3.fsf.org comments for discussion draft 4". Archived from the original on 2 October 2008. Retrieved 31 March 2008.
- ^ "gplv3.fsf.org comments for draft 2". Archived from the original on 24 July 2008. Retrieved 31 March 2008.
Showing comments in file 'gplv3-draft-1' ... found 727
"gplv3.fsf.org comments for draft 3". Archived from the original on 3 July 2008. Retrieved 31 March 2008.Showing comments in file 'gplv3-draft-3' ... found 649
"gplv3.fsf.org comments for draft 4". Archived from the original on 2 October 2008. Retrieved 31 March 2008.Showing comments in file 'gplv3-draft-4' ... found 298
- ^ "Guide to the third draft of GPLv3".
- ^ "Final Discussion Draft". Retrieved 4 June 2007.
- ^ "GPL version 3 FAQ". Retrieved 4 June 2007.
"Fourth Discussion Draft Rationale" (PDF). Retrieved 4 June 2007. - ^ Tiemann, Michael (7 June 2007). "GNU Affero GPL version 3 and the "ASP loophole"". OSI. Archived from the original on 14 August 2020. Retrieved 19 August 2013.
- ^ List of free-software licences on the FSF website: "We recommend that developers consider using the GNU AGPL for any software which will commonly be run over a network."
- ^ "GPL FAQ: Why did you decide to write the GNU Affero GPLv3 as a separate license?". GNU Project. Free Software Foundation.
- ^ a b c James E.J. Bottomley; Mauro Carvalho Chehab; Thomas Gleixner; Christoph Hellwig; Dave Jones; Greg Kroah-Hartman; Tony Luck; Andrew Morton; Trond Myklebust; David Woodhouse (15 September 2006). "Kernel developers' position on GPLv3 – The Dangers and Problems with GPLv3". LWN.net. Retrieved 11 March 2015.
The current version (Discussion Draft 2) of GPLv3 on first reading fails the necessity test of section 1 on the grounds that there's no substantial and identified problem with GPLv2 that it is trying to solve. However, a deeper reading reveals several other problems with the current FSF draft: 5.1 DRM Clauses ... 5.2 Additional Restrictions Clause ... 5.3 Patents Provisions ... since the FSF is proposing to shift all of its projects to GPLv3 and apply pressure to every other GPL-licensed project to move, we foresee the release of GPLv3 portends the Balkanisation of the entire Open Source Universe upon which we rely.
- ^ Petreley, Nicholas (27 September 2006). "A fight against evil or a fight for attention?". Linux Journal. Retrieved 11 March 2015.
Second, the war between Linus Torvalds and other Kernel developers and the Free Software Foundation over GPLv3 is continuing, with Torvalds saying he's fed up with the FSF.
- ^ a b c d Torvalds, Linus. "COPYING". kernel.org. Retrieved 13 August 2013.
[T]he only valid version of the GPL as far as the kernel is concerned is _this_ particular version of the license (ie v2, not v2.2 or v3.x or whatever), unless explicitly otherwise stated.
- ^ Linus Torvalds says GPL v3 violates everything that GPLv2 stood for Debconf 2014, Portland, Oregon (accessed 11 March 2015)
- ^ a b c Kerner, Sean Michael (8 January 2008). "Torvalds Still Keen On GPLv2". Internet News. internetnews.com. Retrieved 12 February 2015.
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 Version 3 reflects the FSF's goals and the GPL Version 2 pretty closely matches what I think a license should do and so right now, Version 2 is where the kernel is.
- ^ "GPL 3 Overview". Tech LawForum. 29 June 2007. Retrieved 2 September 2013.
- ^ "A Quick Guide to GPLv3". GNU Software Project. Free Software Foundation.
- ^ a b Landley, Rob (13 March 2013). "Embedded Linux Conference 2013 – Toybox: Writing a New Command Line". The Linux Foundation. Archived from the original (video) on 27 October 2021. Retrieved 24 June 2016.
- ^ a b Landley, Rob. "Transcript of CELF 2013 Toybox talk". landley.net. Retrieved 21 August 2013.
- ^ "Licenses | ER Software Design". www.ersd.net. Retrieved 21 May 2025.
- ^ "Various Licenses and Comments about Them - GNU Project - Free Software Foundation". www.gnu.org. Retrieved 21 May 2025.
- ^ Linus Torvalds (8 September 2000). "Linux-2.4.0-test8". lkml.iu.edu. Retrieved 21 November 2015.
The only one of any note that I'd like to point out directly is the clarification in the COPYING file, making it clear that it's only _that_particular version of the GPL that is valid for the kernel. This should not come as any surprise, as that's the same license that has been there since 0.12 or so, but I thought I'd make that explicit
- ^ "GNU General Public License". 29 June 2007. Retrieved 15 June 2012.
- ^ a b "Selling Free Software". GNU Project. Free Software Foundation. Archived from the original on 7 November 2023.
- ^ "Frequently Asked Questions about the GNU Licenses". GNU Project. Free Software Foundation. Can I use GPL-covered editors such as GNU Emacs to develop nonfree programs? Can I use GPL-covered tools such as GCC to compile them?. Archived from the original on 17 November 2023.
- ^ "Frequently Asked Questions about the GNU Licenses". GNU Project. Free Software Foundation. Does the GPL require that source code of modified versions be posted to the public?. Archived from the original on 17 November 2023.
"GPL FAQ: Unreleased modifications". GNU Project. Free Software Foundation.
"GPL FAQ: Internal Distribution". GNU Project. Free Software Foundation. - ^ a b "GPL FAQ: Port program to GNU/Linux". GNU Project. Free Software Foundation.
- ^ "A Quick Guide to GPLv3 – GNU Project – Free Software Foundation (FSF)". Free Software Foundation.
- ^ De Laat, Paul B. (December 2005). "Copyright or copyleft?". Research Policy. 34 (10): 1511–1532. doi:10.1016/j.respol.2005.07.003.
- ^ "Conditions for Using Bison". GNU Project. Free Software Foundation. Retrieved 11 December 2008.
- ^ "Reasoning behind the "preferred form" language in the GPL". LWN.net. 7 March 2011.
- ^ Stallman, Richard M. (9 June 2006). "Don't Let 'Intellectual Property' Twist Your Ethos".
Moglen, Eben (22 June 2006). "Will the "Not a contract" phrase go?". Transcript. 3rd international GPLv3 conference. Barcelona. - ^ Guadamuz-Gonzalez, Andres (2004). "Viral contracts or unenforceable documents? Contractual validity of copyleft licenses". European Intellectual Property Review. 26 (8): 331–339. SSRN 569101.
- ^ a b Randal, Allison (14 May 2007). "GPLv3, Clarity and Simplicity". radar.oreilly.com. O'Reilly Media. Archived from the original on 12 May 2024. Retrieved 19 January 2016.
Looking at the near-finished draft, I have to say it's unlikely that they ever considered simplicity a priority, if they considered it at all. ... The language choices of an open source license can support that freedom, can empower the users and the developers. The GPLv3 doesn't.
- ^ Keith Collins (11 May 2017). "A federal court has ruled that an open-source license is an enforceable contract".
- ^ "SFC v. Vizio remanded back to California state courts [LWN.net]". lwn.net. Retrieved 10 June 2022.
- ^ "GPL FAQ: Can I modify the GPL and make a modified license?". GNU Project. Free Software Foundation.
- ^ "The GNU General Public License Version 3". Free Software Foundation. 29 June 2007. Retrieved 21 July 2009.
- ^ "GPL FAQ: Can I modify the GPL and make a modified license?". GNU Project. Free Software Foundation. 9 June 2017. Retrieved 11 July 2017.
- ^ "GPL FAQ: Does the GPL require that source code of modified versions be posted to the public?". GNU Project. Free Software Foundation.
- ^ "Frequently Asked Questions about the GNU Licenses (GPL FAQ)". GNU Project. Free Software Foundation. Retrieved 15 March 2011.
- ^ "Why you shouldn't use the Lesser GPL for your next library". GNU Project. Free Software Foundation. Retrieved 15 January 2011.
- ^ Linus Torvalds, GPL only modules, linux-kernel mailing list (17 December 2006).
- ^ Matt Asay, The GPL: Understanding the License that Governs Linux Archived 6 October 2008 at the Wayback Machine, Novell Cool Solutions Feature (16 Jan 2004).
- ^ Lewis Galoob Toys, Inc. v. Nintendo of America, Inc., 964 F.2d 965, ¶10 (9th Cir. 21 May 1992).
- ^ a b Lawrence Rosen, "Derivative Works", Linux Journal (1 January 2003).
- ^ "Derivative Works". Rosenlaw & Einschlag. 25 May 2004.
- ^ Matt (29 January 2009). "Why They're Wrong: WordPress Plugins Shouldn't Have to be GPL". Webmaster-Source. Retrieved 15 January 2011.
"Licensing". Drupal.org. Archived from the original on 5 September 2015. Retrieved 15 January 2011. - ^ "GPL FAQ: Can I apply the GPL when writing a plug-in for a nonfree program?". GNU Project. Free Software Foundation. Retrieved 15 January 2011.
- ^ MereAggregation "What constitutes combining two parts into one program? This is a legal question, which ultimately judges will decide. We believe that a proper criterion depends both on the mechanism of communication (exec, pipes, rpc, function calls within a shared address space, etc.) and the semantics of the communication (what kinds of information are interchanged)." on gnu.org
- ^ 12 Years of GPL Compliance: A Historical Perspective, by Bradley Kuhn Slide 10
- ^ Common Lisp, Readline and GPL, Mail on 6 November, 21:31
- ^ "Judge Saris defers GNU GPL Questions for Trial in MySQL vs. Progress Software". gnu.org. Retrieved 24 March 2011.
- ^ "JOINT STATUS REPORT, Case 2:03-cv-00294-DN, Document 1179" (PDF). IN THE UNITED STATES DISTRICT COURT FOR THE DISTRICT OF UTAH, CENTRAL DIVISION. 16 February 2018. Archived from the original on 26 January 2019. Retrieved 25 January 2019.
- ^ Vaughan-Nichols, Steven J. "Last of original SCO v IBM Linux lawsuit settled". ZDNet. Retrieved 4 December 2021.
- ^ "Groklaw – The German GPL Order – Translated". groklaw.net. Archived from the original on 6 August 2010. Retrieved 28 July 2004.
- ^ Bird & Bird, A Review of German Case Law on the GNU General Public License Archived 17 May 2013 at the Wayback Machine, 17 December 2007, retrieved 1 March 2012
- ^ Dismissal of Wallace v. FSF. From this article on Groklaw.
- ^ 판결문 – GNU 프로젝트 – 자유 소프트웨어 재단(FSF). gnu.org. Archived from the original on 18 October 2007.
- ^ Welte, Harald (22 September 2006). "gpl-violations.org project prevails in court case on GPL violation by". gpl-violations.org.
- ^ "D-Link Judgement" (PDF). Archived from the original (PDF) on 26 April 2013.
- ^ Ewing, James (1 August 2004). "Linux on Linksys Wi-Fi Routers". Linux Journal. Retrieved 23 January 2012.
- ^ a b "Free Software Foundation Files Suit Against Cisco For GPL Violations" (Press release). Free Software Foundation. 11 December 2008. Retrieved 22 August 2011.
- ^ "FSF Settles Suit Against Cisco" (Press release). Free Software Foundation. 20 May 2009. Retrieved 22 August 2011.
- ^ Brockmeier, Joe (29 July 2011). "Say what? GNU Emacs violates the GPL". Network World. Retrieved 19 January 2016.
Naughton, Edward J. (8 August 2011). "License revoked: Applying Section 4 of the GPL and the lessons of Best Buy to Google's Android". brownrudnick.com. Archived from the original on 27 January 2016.
Soulskill (29 July 2011). "Emacs Has Been Violating the GPL Since 2009". slashdot.org. - ^ Stallman, Richard (28 July 2011). "Re: Compiled files without sources????". lists.gnu.org.
- ^ "A federal court has ruled that the GPL is an enforceable contract". LWN.net. 15 May 2017. Retrieved 17 May 2021.
- ^ Robertson, Donald (11 October 2017). "Update on Artifex v. Hancom GNU GPL compliance case". Free Software Foundation. Retrieved 17 May 2021.
- ^ "Our lawsuit against ChessBase – Stockfish – Open Source Chess Engine". stockfishchess.org. Retrieved 22 November 2022.
- ^ "Statement on Fat Fritz 2 – Stockfish – Open Source Chess Engine". stockfishchess.org. Retrieved 22 November 2022.
- ^ "ChessBase GmbH and the Stockfish team reach an agreement and end their legal dispute – Stockfish – Open Source Chess Engine". stockfishchess.org. Retrieved 22 November 2022.
- ^ "Settlement (German)" (PDF). 7 November 2022. Retrieved 22 November 2022.
- ^ "Settlement (English)" (PDF). 7 November 2022. Retrieved 22 November 2022.
- ^ "The GNU General Public License v3.0". GNU Project. Free Software Foundation. Retrieved 24 March 2010.
- ^ a b "GPL FAQ: Is GPLv3 compatible with GPLv2?". GNU Project. Free Software Foundation. Retrieved 3 June 2014.
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.
- ^ Larabel, Michael (24 January 2013). "FSF Wastes Away Another "High Priority" Project". Phoronix. Archived from the original on 9 November 2016. Retrieved 22 August 2013.
Both LibreCAD and FreeCAD both want to use LibreDWG and have patches available for supporting the DWG file format library, but can't integrate them. The programs have dependencies on the popular GPLv2 license while the Free Software Foundation will only let LibreDWG be licensed for GPLv3 use, not GPLv2.
Prokoudine, Alexandre (27 December 2012). "LibreDWG drama: the end or the new beginning?". librearts.org. Retrieved 4 February 2025.... the unfortunate situation with support for DWG files in free CAD software via LibreDWG. We feel, by now it ought to be closed. We have the final answer from FSF. ... "We are not going to change the license."
- ^ "GNU Lesser General Public License v2.1 – GNU Project – Free Software Foundation (FSF)". fsf.org. Retrieved 26 April 2011.
- ^ "GPL FAQ: How are the various GNU licenses compatible with each other?". GNU Project. Free Software Foundation. Retrieved 13 April 2011.
- ^ "Various licenses with comments – GPL-Compatible Free Software Licenses". FSF. Retrieved 20 April 2012.
- ^ "GPL FAQ: What does it mean to say that two licenses are "compatible"?". GNU Project. Free Software Foundation. Retrieved 14 April 2011.
"GPL FAQ: What does it mean to say a license is "compatible with the GPL?"". GNU Project. Free Software Foundation. Retrieved 14 April 2011. - ^ "Black Duck Open Source Resource Center". blackducksoftware.com. Archived from the original on 14 October 2012. Retrieved 26 April 2011.
- ^ "Compatible Licenses".
- ^ "ShareAlike compatibility: GPLv3 – Creative Commons". wiki.creativecommons.org.
- ^ "Make Your Open Source Software GPL-Compatible. Or Else". David A. Wheeler. Retrieved 26 April 2011.
- ^ "Linux: ZFS, Licenses and Patents". Tag1 Consulting. Archived from the original on 12 June 2011.
- ^ "GPL FAQ: Can I use the GPL for something other than software?". GNU Project. Free Software Foundation. Retrieved 20 June 2009.
- ^ "GPL FAQ: Why don't you use the GPL for manuals?". GNU Project. Free Software Foundation. Retrieved 20 June 2009.
- ^ Srivastava, Manoj (2006). "Draft Debian Position Statement about the GNU Free Documentation License (GFDL)". Retrieved 25 September 2007.
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.
- ^ Debian Project: Resolution: Why the GNU Free Documentation License is not suitable for Debian. Voted February–March 2006. Retrieved 20 June 2009.
- ^ "License Change". FLOSS Manuals Foundation. 6 June 2007. Archived from the original on 28 February 2008. Retrieved 20 June 2009.
- ^ "Font Licensing". Free Software Foundation. 25 April 2005.
"GPL FAQ: How does the GPL apply to fonts?". GNU Project. Free Software Foundation. - ^ a b David A. Wheeler. "Make Your Open Source Software GPL-Compatible. Or Else".
- ^ a b c "Top 20 licenses". Black Duck Software. 23 August 2013. Archived from the original on 19 July 2016. Retrieved 23 August 2013.
- ^ "SourceForge.net: Software Map". Dwheeler.com. Archived from the original on 13 February 2017. Retrieved 17 November 2008.
"License -> OSI: ... GNU General Public License (GPL) (32641 projects), GNU Library or Lesser General Public License (LGPL) (4889 projects" (of 45727, 82.1%)
- ^ Mark (8 May 2008). "The Curse of Open Source License Proliferation". socializedsoftware.com. Archived from the original on 8 December 2015. Retrieved 30 November 2015.
Currently the decision to move from GPL v2 to GPL v3 is being hotly debated by many open source projects. According to Palamida, a provider of IP compliance software, there have been roughly 2489 open source projects that have moved from GPL v2 to later versions.
- ^ "HP Press Release: HP Contributes Source Code to Open Source Community to Advance Adoption of Linux". www.hp.com.
- ^ "MySQL changes license to avoid GPLv3". Computer business review online. 4 January 2007. Archived from the original on 6 February 2007.
- ^ corbet (1 October 2006). "Busy busy busybox". lwn.net. Retrieved 21 November 2015.
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 (9 September 2006). "Re: Move GPLv2 vs v3 fun..." lwn.net. Retrieved 21 November 2015.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.
- ^ Prokoudine, Alexandre (26 January 2012). "What's up with DWG adoption in free software?". librearts.org. Retrieved 4 February 2025.
[Blender's Toni Roosendaal:] "Blender is also still 'GPLv2 or later'. For the time being we stick to that, moving to GPL 3 has no evident benefits I know of."
- ^ Denis-Courmont, Rémi. "VLC media player to remain under GNU GPL version 2". videolan.org. Retrieved 21 November 2015.
In 2001, VLC was released under the OSI-approved GNU General Public version 2, 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 version 3 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 version 3 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 version 3 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 version 2.
- ^ "License – blender.org". Retrieved 17 December 2016.
The source code we develop at blender.org is default being licensed as GNU GPL Version 2 or later.
- ^ "Copyright". MediaWiki.
- ^ a b c d Byfield, Bruce (22 November 2011). "7 Reasons Why Free Software Is Losing Influence: Page 2". Datamation.com. Retrieved 23 August 2013.
At the time, the decision seemed sensible in the face of a deadlock. But now, GPLv2 is used for 42.5% of free software, and GPLv3 for less than 6.5%, according to Black Duck Software.
- ^ GPL, copyleft use declining faster than ever Archived 4 September 2017 at the Wayback Machine on ITworld on 16 December 2011 by Brian Proffitt
- ^ Proffitt, Brian (16 December 2011). "GPL, copyleft use declining faster than ever – Data suggests a sharper rate of decline, which raises the question: why?". IT world. Archived from the original on 3 December 2013. Retrieved 23 August 2013.
Aslett, Matthew (15 December 2011). "On the continuing decline of the GPL". the451group.com. Archived from the original on 9 December 2016. Retrieved 26 November 2015. - ^ The Top Licenses on Github Archived 4 March 2016 at the Wayback Machine on ostatic.com by Jon Buys (7 February 2012)
- ^ tags letter g tagged as GPL family (including misnamed variants) 21000+100+3000+2000+400 of 47985 projects on freecode (18 June 2014 frozen)
- ^ About Freecode Archived 31 October 2011 at the Wayback Machine on freecode.com "The Freecode site has been moved to a static state effective 18 June 2014 due to low traffic levels and so that folks will focus on more useful endeavors than site upkeep."
- ^ "GPL use in Debian on the rise: study". Itwire.com. Retrieved 2 September 2013.
- ^ "Surveying open-source licenses". Lwn.net. Retrieved 2 September 2013.
- ^ Mark (8 May 2008). "The Curse of Open Source License Proliferation". socializedsoftware.com. Archived from the original on 8 December 2015. Retrieved 30 November 2015.
- ^ Top 20 Most Commonly Used Open Source Licenses Shaun Connolly, 11 March 2009
- ^ "Top 20 licenses". Black Duck Software. 6 June 2016. Archived from the original on 19 July 2016. Retrieved 6 June 2016.
- ^ "Top 20 licenses". Black Duck Software. 2 January 2017. Archived from the original on 19 July 2016. Retrieved 2 January 2017.
- ^ "Top 20 licenses". Black Duck Software. 4 June 2018. Archived from the original on 19 July 2016. Retrieved 4 June 2018.
- ^ Balter, Ben (9 March 2015). "Open source license usage on GitHub.com". github.com. Retrieved 21 November 2015.
- ^ Anwesha Das (22 June 2016). "Software Licenses in Fedora Ecosystem". anweshadas.in. Retrieved 1 November 2016.
From the above chart it is clear that the GPL family is the highest used (I had miscalculated it as MIT before). The other major licenses are MIT, BSD, the LGPL family, Artistic (for Perl packages), LPPL (fo[r] texlive packages), ASL.
- ^ Open Source Licensing Trends: 2017 vs. 2016 on whitesourcesoftware.com by Sivan Michaeli (12 April 2018)
- ^ a b "The GPL, the App Store and You" on engadget.com (2011)
- ^ "Copyright Policy", OpenBSD
- ^ "Ubuntu One : Terms and Conditions". One.ubuntu.com. 29 August 2013. Archived from the original on 25 September 2013. Retrieved 25 September 2013.
- ^ Newbart, Dave (1 June 2001). "Microsoft CEO takes launch break with the Sun-Times". Chicago Sun-Times. Archived from the original on 15 June 2001.(Internet archive link)
- ^ "GNU GENERAL PUBLIC LICENSE Version 2, June 1991". dwheeler.com. Wheeler, David A. Archived from the original on 15 May 2013. Retrieved 6 December 2008.
- ^ – via Wikisource.
- ^ Clarke, Gavin (20 July 2009). "Microsoft embraces Linux cancer to sell Windows servers". The Register.
- ^ Clarke, Gavin (23 July 2009). "Microsoft opened Linux-driver code after 'violating' GPL". The Register.
- ^ Vixie, Paul (6 March 2006). "Re: Section 5.2 (IPR encumberance) in TAK rollover requirement draft". IETF Namedroppers mailing list. Archived from the original on 27 September 2007. Retrieved 29 April 2007.
"General Public Virus". Jargon File 2.2.1. 15 December 1990. Retrieved 29 April 2007.
Hackvän, Stig (September 1999). "Reverse-engineering the GNU Public Virus — Is copyleft too much of a good thing?". Linux Journal. Archived from the original on 18 July 2011. Retrieved 29 April 2007.
Stewart, Bill (8 October 1998). "Re: propose: 'cypherpunks license' (Re: Wanted: Twofish source code)". Cypherpunks mailing list. Archived from the original on 29 May 2007. Retrieved 29 April 2007.
Buck, Joe (10 October 2000). "Re: Using of parse tree externally". GCC mailing list. Retrieved 29 April 2007.
Griffis, L. Adrian (15 July 2000). "The GNU Public Virus". Archived from the original on 30 September 2007. Retrieved 29 April 2007. - ^ "Speech Transcript – Craig Mundie, The New York University Stern School of Business", Prepared Text of Remarks by Craig Mundie, Microsoft Senior Vice President, The Commercial Software Model The New York University Stern School of Business 3 May 2001
- ^ Poynder, Richard (21 March 2006). "The Basement Interviews: Freeing the Code". Retrieved 5 February 2010.
Chopra, Samir; Dexter, Scott (14 August 2007). Decoding liberation: the promise of free and open source software. Routledge. p. 56. ISBN 978-0-415-97893-4.
Williams, Sam (March 2002). Free as in Freedom: Richard Stallman's Crusade for Free Software. O'Reilly Media. ISBN 0-596-00287-4. - ^ Nikolai Bezroukov (2001). "Comparative merits of GPL, BSD and Artistic licences (Critique of Viral Nature of GPL v.2 – or In Defense of Dual Licensing Idea)". Archived from the original on 22 December 2001.
Viral property stimulates proliferation of licenses and contributes to the "GPL-enforced nightmare" – a situation when many other licenses are logically incompatible with the GPL and make life unnecessary difficult for developers working in the Linux environment (KDE is a good example here, Python is a less known example).
- ^
- Geere, Duncan (16 December 2011). "Some rights reserved: the alternatives to copyright". Wired UK. Retrieved 30 May 2015.
- "Inoculating Your Purchase – Contractual Protection from Viral Licenses in M&A Transactions" (PDF). Friedfrank.com. Retrieved 30 May 2015.
- "Legal update on Information and Communication Technology – July 2013". buddlefindlay.com. 1 July 2013. Archived from the original on 16 March 2015.
- ^ New Media Rights (12 September 2008). "Open Source Licensing Guide". California Western School of Law. Retrieved 28 November 2015.
- ^ Montague, Bruce (13 November 2013). "GPL Advantages and Disadvantages". FreeBSD. Retrieved 28 November 2015.
- ^ Richard Stallman (2010). On Selling Exceptions to the GNU GPL. Free Software Foundation.
- ^ Bezroukov, Nikolai, Labyrinth of Software Freedom – "BSD vs GPL and social aspects of free licensing debate" on softpanorama.org by Nikolai Bezroukov Accessed 23 September 2010.
- ^ The Scope of Open Source Licensing Archived 9 January 2016 at the Wayback Machine – Harvard University by Josh Lerner and Jean Tirole (2002)
- ^ Sam Hocevar (21 September 2015). "Should I change the name of the WTFPL?". Programmers Stack Exchange (User comment). Retrieved 19 July 2016.
The WTFPL is a parody of the GPL, which has a similar copyright header and list of permissions to modify (i.e. none), see for instance gnu.org/licenses/gpl-3.0.en.html. The purpose of the WTFPL wording is to give more freedom than the GPL does.
- ^ Biancuzzi, Federico (30 June 2005). "ESR: "We Don't Need the GPL Anymore"". onlamp.com. Archived from the original on 17 April 2018. Retrieved 10 February 2015.
We don't need the GPL anymore. It's based on the belief that open source software is weak and needs to be protected. Open source would be succeeding faster if the GPL didn't make lots of people nervous about adopting it.
- ^ "RMS: The GNU GPL Is Here to Stay". onlamp.com. 22 September 2005. Archived from the original on 17 January 2015. Retrieved 12 February 2015.
ESR addresses the issue in terms of different goals and values—those of "open source," which do not include defending software users' freedom to share and change software. Perhaps he thinks the GNU GPL is not needed to achieve those goals.
- ^ Randal, Allison (13 April 2007). "GPLv3, Linux and GPLv2 Compatibility". radar.oreilly.com. O'Reilly Media. Retrieved 19 January 2016.
You might think the FSF would have to be insane to unleash this licensing hell. ... If the license were purely a cleaned up version of the GPLv2, there would be no incompatibility, the FSF would have no agenda involved in getting projects to update to the new license, and at the same time there would be no reason for projects to object to updating. Smooth sailing.
- ^ Whurley (6 June 2007). "The Death Of A Software License". Archived from the original on 11 October 2008. Retrieved 24 June 2016.
Version 3 is going to distance Richard Stallman and the Free Software Foundation from the developers that make the organization so influential to begin.
- ^ Chisnall, David (31 August 2009). "The Failure of the GPL". informit.com. Retrieved 24 January 2016.
- ^ Cantrill, Bryan (17 September 2014). "Corporate Open Source Anti-patterns". YouTube. Archived from the original on 27 October 2021. Retrieved 26 December 2015.
Anti-pattern: Anti-collaborative licensing
- ^ Hill, Benjamin Mako (28 January 2006). "Notes on the GPLv3". linux.com. Archived from the original on 22 September 2015. Retrieved 25 January 2016.
The GPL is one thing that almost everyone in the free and open-source software communities have in common. For that reason, the revision has the potential to highlight disagreements, differences in opinion, differences in business models, and differences in tactics. ... We would be wise to remember that the potential for the GPL to hinder our ability to work together is far more dangerous than the even the most radical change textual change the FSF might suggest. ... Above all, we must remember that our community and its goals are more important than any single license – no matter how widespread.
- ^ McDougall, Paul (10 July 2007). "Linux Creator Calls GPLv3 Authors 'Hypocrites' As Open Source Debate Turns Nasty". informationweek.com. Archived from the original on 13 April 2008. Retrieved 12 February 2015.
... the latest sign of a growing schism in the open source community between business-minded developers like Torvalds and free software purists.
- ^ "GnuTLS 3.1.10: changelog". www.gnutls.org.
Nikos Mavrogiannopoulos (18 December 2012). "gnutls is moving". Retrieved 11 December 2012. - ^ Mavrogiannopoulos, Nikos (26 March 2013). "The perils of LGPLv3". gnutls.org. Retrieved 18 November 2015.
LGPLv3 is the latest version of the GNU Lesser General Public License. It follows the successful LGPLv2.1 license, and was released by Free Software Foundation as a counterpart to its GNU General Public License version 3. The goal of the GNU Lesser General Public Licenses is to provide software that can be used by both proprietary and free software. This goal has been successfully handled so far by LGPLv2.1, and there is a multitude of libraries using that license. Now we have LGPLv3 as the latest, and the question is how successful is LGPLv3 on this goal? In my opinion, very little. If we assume that its primary goal is to be used by free software, then it blatantly fails that.
- ^ Rosen, Lawrence (2007). "Comments on GPLv3". Rosenlaw.com. Retrieved 22 August 2014.
- ^ Ronacher, Armin (23 July 2013). "Licensing in a Post Copyright World". lucumr.pocoo.org. Retrieved 18 November 2015.
The License Compatibility Clusterfuck – When the GPL is involved the complexities of licensing becomes a non fun version of a riddle. So many things to consider and so many interactions to consider. And that GPL incompatibilities are still an issue that actively effects people is something many appear to forget. For instance one would think that the incompatibility of the GPLv2 with the Apache Software License 2.0 should be a thing of the past now that everything upgrades to GPLv3, but it turns out that enough people are either stuck with GPLv2 only or do not agree with the GPLv3 that some Apache Software licensed projects are required to migrate. For instance Twitter's Bootstrap is currently migrating from ASL2.0 to MIT precisely because some people still need GPLv2 compatibility. Among those projects that were affected were Drupal, WordPress, Joomla, the MoinMoin Wiki and others. And even that case shows that people don't care that much about licenses any more as Joomla 3 just bundled bootstrap even though they were not licenses in a compatible way (GPLv2 vs ASL 2.0). The other traditional case of things not being GPL compatible is the OpenSSL project which has a license that does not go well with the GPL. That license is also still incompatible with the GPLv3. The whole ordeal is particularly interesting as some not so nice parties have started doing license trolling through GPL licenses.
Ronacher, Armin (2009). "Are you sure you want to use the GPL?". lucumr.pocoo.org.
External links
[edit]- Official website

- GNU General Public License v3.0
- GNU General Public License v2.0—This version is deprecated by the FSF, but is still used by many software projects, including Linux kernel and GNU packages.
- GNU General Public License v1.0—This version is deprecated by the FSF.
- The Emacs General Public License, a February 1988 version, a direct predecessor of the GNU GPL
- History of the GPL by Li-Cheng Tai, 4 July 2001
- A Practical Guide to GPL Compliance (Covers GPLv2 and v3)—from the Software Freedom Law Center
- A paper on enforcing the GPL
- Frequently Asked Questions about the GPL
- GNU General Public License and Commentaries, edited by Robert Chassell
- List of presentation transcripts about the GPL and free software licenses Archived 12 November 2015 at the Wayback Machine by the FSFE
- The Labyrinth of Software Freedom BSD vs GPL and social aspects of free licensing debate, by Nikolai Bezroukov
GNU General Public License
View on GrokipediaHistory
Origins in the Free Software Movement
The free software movement emerged in the early 1980s amid growing restrictions on software sharing and modification, driven by the shift from cooperative hacker culture to proprietary licensing models. Richard Stallman, a programmer at the MIT Artificial Intelligence Laboratory, experienced this transition firsthand when a printer driver became unavailable due to proprietary restrictions, prompting him to advocate for software freedoms: the rights to use, study, copy, modify, and redistribute programs.[7] On September 27, 1983, Stallman publicly announced the GNU project—a plan to develop a complete, Unix-compatible operating system composed entirely of free software—to restore the collaborative ethos of early computing.[7][8] This initiative laid the groundwork for the GNU General Public License (GPL), as the movement required mechanisms to prevent users' freedoms from being eroded in derivative works. To propagate these freedoms indefinitely, Stallman introduced the concept of copyleft in 1984, inverting traditional copyright to mandate that modified versions of software remain open and freely modifiable.[9] Initially, GNU components employed ad hoc copyleft provisions or varied licenses, reflecting the project's nascent stage without a unified framework.[9] The Free Software Foundation (FSF), founded by Stallman on October 4, 1985, formalized support for GNU development, raising funds and coordinating efforts to produce tools like compilers and editors under copyleft terms.[10][8] These early licenses emphasized the four essential freedoms but lacked standardization, highlighting the need for a general-purpose license to streamline adoption and enforcement across the ecosystem. The GPL crystallized these principles as the first widely applicable copyleft license, drafted by Stallman to bind recipients to the same freedoms granted to them, ensuring that software enhancements could not be proprietarized. Released in February 1989 as version 1, it addressed inconsistencies in prior GNU licensing by providing a clear, viral mechanism: any distribution of covered code, including binaries or modifications, required source code availability under identical terms.[11] This approach stemmed directly from the movement's causal imperative—proprietary enclosures undermine collective progress, as evidenced by stalled innovations in restricted environments like the post-1980s Unix variants—prioritizing empirical preservation of modifiable source over permissive alternatives that risked fragmentation.[9] By institutionalizing copyleft, the GPL became the constitutional backbone of the free software movement, influencing thousands of projects and fostering components like the GNU Compiler Collection that powered subsequent operating systems.[12]Release and Features of GPLv1
The GNU General Public License version 1 (GPLv1) was released by the Free Software Foundation in February 1989.[13] Drafted primarily by Richard Stallman, it served as the licensing framework for early GNU software, aiming to codify four essential freedoms: to run the program for any purpose, to study and modify its source code, to redistribute exact copies, and to distribute modified versions while preserving these freedoms for recipients.[13] This initial version established copyleft as a mechanism to prevent proprietary enclosures of free software, requiring that distributed modifications or derivative works remain open under identical terms.[13] Central to GPLv1's provisions is the requirement for source code availability alongside any binary distributions, ensuring users can exercise modification rights without barriers.[13] Section 0 of the license affirms that non-copying activities, such as mere execution or private modification, require no permission. For copying in source form, distributors must retain copyright notices, warranty disclaimers, and the license text itself. Binary distributions necessitate offering source code—either accompanying the binaries, via written offer for a fee covering reproduction costs (valid for at least three years), or through a third party.[13] These rules apply recursively: each recipient automatically receives a license from the original licensor to propagate the work further under GPLv1.[13] Modifications under GPLv1 must treat the entire work as a single entity for licensing, preserving all original notices and applying no additional restrictions beyond those in the license.[13] The license disclaims all warranties, holding the program "as is" without implied merchantability or fitness for purpose, and limits licensor liability to avoid consequential damages.[13] Unlike later versions, GPLv1 lacks explicit provisions on patent grants or defenses against hardware restrictions like tivoization, relying instead on its core copyleft to enforce freedom preservation through contractual terms rather than addressing emerging technological circumventions.[13] This foundational structure prioritized viral openness but exposed gaps in handling certain proprietary tactics, prompting refinements in GPLv2.[14]Evolution to GPLv2
The GNU General Public License version 2 (GPLv2) was published in June 1991 by the Free Software Foundation (FSF), superseding the initial GPLv1 released in February 1989.[15] This revision aimed primarily to refine the license's language for greater clarity and legal robustness, addressing ambiguities that had prompted misinterpretations in practice without altering the fundamental copyleft requirements or user freedoms established in GPLv1.[9] The FSF emphasized that the update sought to resolve points of confusion that arose from the original wording, such as precise definitions of distribution and modification obligations, thereby enhancing enforceability amid growing adoption of free software.[9] A key structural addition in GPLv2 was Section 7, which safeguards the license's conditions against external legal encroachments like patent infringement allegations or court-imposed restrictions. This provision states that if any obligation—imposed by judgment, agreement, or otherwise—contradicts the GPL's terms, the distributor must either resolve the conflict or cease distribution entirely, preventing proprietary claims from undermining the requirement to share source code and freedoms.[15] Richard Stallman, founder of the FSF, described this as the "liberty or death" clause, highlighting its role in countering emerging threats from software patents, which were proliferating in the early 1990s and could otherwise fragment free software ecosystems by allowing patent holders to restrict modifications or redistribution.[16] Other refinements included explicit protections against attempts to impose additional restrictions on recipients, such as warranty disclaimers tailored to international contexts, and clearer delineation of the license's inapplicability under jurisdictions that nullify its terms. These changes responded to real-world feedback from developers encountering edge cases in GPLv1, like linking with non-free libraries or handling aggregate distributions, without expanding or diluting the copyleft mechanism that mandates derivative works remain under the GPL.[17] By 1991, with the GNU Project's tools gaining traction, GPLv2 facilitated broader compatibility and adoption, notably influencing the licensing of the Linux kernel in 1992, which propelled the license's prominence in operating system development.[18]Drafting and Adoption of GPLv3
The revision process for the GNU General Public License version 3 (GPLv3) was initiated by Richard Stallman in 2005, with the Free Software Foundation (FSF) announcing plans for a systematic public consultation to address emerging challenges in free software licensing, including hardware restrictions and patent issues.[2] The process formally began on January 16-17, 2006, with an initial conference at the Massachusetts Institute of Technology (MIT), where approximately 300 participants discussed proposed changes, leading to the release of the first public draft shortly thereafter.[19] Over the subsequent 18 months, the FSF conducted an extensive global consultation, soliciting feedback through a dedicated website where comments were submitted, categorized, and responded to publicly by the drafting committee, which included Stallman, Eben Moglen of the Software Freedom Law Center, and other legal experts.[20] This iterative process produced four discussion drafts—released in January 2006, June 2006, November 2006, and March 2007—incorporating thousands of comments from developers, lawyers, and organizations worldwide to refine provisions on topics such as "tivoization" (hardware-based circumvention of software freedoms) and explicit patent licensing.[21][20] The final version of GPLv3 was adopted and published by the FSF on June 29, 2007, after the consultation period concluded without further major revisions.[2] [1] Initial adoption saw mixed responses; while projects like GCC and some GNU packages relicensed to GPLv3 or later, others, including the Linux kernel, opted to remain under GPLv2 due to compatibility concerns and debates over the new anti-DRM clauses, highlighting tensions between enhanced copyleft protections and practical software ecosystem dynamics.[22]Discussions on Potential GPLv4
As of October 2025, the Free Software Foundation (FSF) has not announced any plans to develop or release a GNU General Public License version 4 (GPLv4), with the organization continuing to endorse GPLv3 or later for general-purpose free software and the GNU Affero General Public License for server software addressing network use cases. License revisions by the FSF occur infrequently, as frequent updates could fragment compatibility across projects licensed under previous versions. The absence of drafts or public consultations from FSF leadership, including Richard Stallman, underscores that GPLv3's provisions on copyleft, patents, and anti-tivoization remain the standard without identified deficiencies necessitating an immediate successor.[23][6][24] Speculative discussions in developer forums and blogs have proposed potential features for a hypothetical GPLv4, such as strengthened requirements for source code disclosure in virtualized or containerized environments to counter proprietary hosting practices, or clarifications on derivative works involving machine learning models trained on GPL-licensed data. These ideas, often framed as community wishlists, reflect concerns over evolving deployment models like cloud services where GPLv3's distribution triggers may not fully apply outside AGPL contexts, but lack empirical evidence of widespread non-compliance justifying revision. Project maintainers favoring GPLv3-only licensing cite risks of future versions diluting copyleft strength, as permitted under "or later" clauses, potentially allowing less restrictive terms that undermine user freedoms. Such views prioritize control over FSF-directed evolution, though no verified instances of incompatible future licenses have materialized.[25][26][27]Philosophical Foundations
Richard Stallman's Vision and Motivations
Richard Stallman initiated the GNU Project on September 27, 1983, motivated by a commitment to restore the collaborative software-sharing culture he experienced at the MIT Artificial Intelligence Laboratory during the 1970s, which had eroded due to the rise of proprietary software restrictions.[8] At MIT, programmers freely shared and modified source code, but by the early 1980s, companies like Symbolics imposed non-disclosure agreements and withheld code, fracturing this community; a pivotal incident occurred in early 1984 when Stallman sought to distribute a software fix for a malfunctioning Xerox laser printer at the lab, only to discover the driver code was proprietary and sharing it violated terms, prompting his resolve to create an entirely free operating system compatible with Unix.[28] This experience underscored his view that proprietary software unjustly divides users by forbidding modification and redistribution, treating users as dependents rather than collaborators, and reducing overall societal access to improved tools.[28] STALLman's vision centered on four essential freedoms for software users: the freedom to run the program as desired (freedom 0), to study and modify its source code (freedom 1), to redistribute copies (freedom 2), and to distribute modified versions (freedom 3), which he articulated in the 1985 GNU Manifesto to rally support for GNU development.[28] He argued that without these freedoms, software becomes a tool of control, fostering dependency on developers and stifling innovation, as users cannot adapt it to their needs or contribute improvements back to the community.[28] To realize this, Stallman pioneered copyleft, a mechanism inverting copyright's restrictive defaults by requiring that any derivative works or distributions remain under the same terms, ensuring freedoms propagate rather than erode through proprietary enclosures.[29] The GNU General Public License (GPL), first drafted by Stallman in 1985 for early GNU software like Emacs and formalized as version 1 in February 1989, embodied this copyleft approach specifically to defend user freedoms against dilution in collaborative development.[30] Stallman's motivation for the GPL was not mere openness but ethical reciprocity: while permissive licenses allow code to be absorbed into proprietary products, copyleft mandates source disclosure and identical licensing for modifications, preventing free software from being co-opted to restrict others, as he later described it as establishing these freedoms as "inalienable rights" akin to foundational principles.[31] This stemmed from his first-hand observation that voluntary sharing often fails under competitive pressures, necessitating legal enforcement to sustain a ecosystem where software serves user autonomy over corporate profit.[32]Core Principles of Copyleft
Copyleft is a method of licensing software that leverages copyright law to ensure the perpetual freedom of the work and its derivatives, requiring that any redistribution—with or without modifications—must grant recipients the same freedoms to copy, modify, and redistribute further.[33] Coined by Richard Stallman as a deliberate inversion of "copyright," the term reflects the strategy of using copyright's legal enforceability not to restrict users, as proprietary software does, but to guarantee their essential freedoms.[33] This approach was first articulated in the GNU Manifesto published in 1985, where Stallman outlined the need to protect software from being enclosed as proprietary while allowing collaborative development. At its core, copyleft operates through specific distribution terms that prohibit the addition of restrictions beyond those in the original license, thereby preventing the transformation of free software into proprietary products.[33] In the GNU General Public License (GPL), this mechanism mandates that modified versions must be released under the GPL, including provision of complete corresponding source code, ensuring that improvements benefit the entire community rather than being hoarded.[34] Unlike permissive licenses, which allow derivatives to adopt restrictive terms, copyleft enforces reciprocity: users who receive the software gain rights only insofar as they extend identical rights to others, creating a viral propagation of freedoms.[35] Copyleft aligns with and enforces the four essential freedoms of free software: the freedom to run the program for any purpose (freedom 0), to study and modify its workings via access to source code (freedom 1), to redistribute exact copies (freedom 2), and to distribute modified versions with source code (freedom 3).[36] By embedding these freedoms inseparably into the code through legal terms, copyleft counters the tendency of copyright to limit access, instead using it as a tool for pragmatic idealism—spreading cooperation while incentivizing contributions, as seen in cases like the development of GNU C++ under GPL terms that compelled its release as free software.[35] This principle has sustained projects like the GNU operating system since the GPL's inception in 1989, fostering ecosystems where proprietary enclosure is structurally infeasible.Contrast with Permissive Open Source Licensing
Permissive open source licenses, such as the MIT License (first published in 1988 by the Massachusetts Institute of Technology) and the BSD licenses (originating from the University of California, Berkeley in the 1980s and 1990s), permit the use, modification, and distribution of software with minimal restrictions, primarily requiring attribution to the original authors and preservation of copyright notices.[37][38] These licenses allow recipients to incorporate the code into proprietary software without any obligation to release modifications or derivative works under an open source license, enabling scenarios where open source components become part of closed-source products.[39] The Apache License 2.0 (released in 2004 by the Apache Software Foundation) adds patent grants and explicit compatibility with other licenses but similarly imposes no reciprocity for derivatives.[40] In opposition, the GNU General Public License enforces copyleft, a mechanism that requires all derivative works—whether modifications or combinations—to be distributed under the same license terms, compelling the release of source code and preservation of user freedoms in subsequent versions.[41] This reciprocity ensures that software licensed under the GPL cannot be subsumed into proprietary systems without granting equivalent freedoms to end users, directly countering the permissive model's allowance for such enclosure.[42] For instance, while permissive-licensed code like BSD derivatives powers closed-source operating systems such as macOS, GPL-licensed components, including the Linux kernel, propagate their terms through viral enforcement, preventing proprietary forks from restricting access.[43] Philosophically, this contrast reflects divergent priorities: permissive licenses prioritize developer autonomy and pragmatic adoption by emphasizing flexibility and minimal barriers to commercial integration, whereas the GPL's copyleft aligns with Richard Stallman's free software ethos, which seeks to safeguard communal freedoms against erosion by proprietary interests, viewing non-reciprocal use as a threat to the software commons.[44] Stallman has argued that permissive approaches undermine long-term liberty by allowing contributors' work to be privatized without return, potentially leading to a landscape dominated by non-free software despite initial openness.[45] This tension has fueled debates within the open source community, with copyleft proponents critiquing permissive models for enabling "free-riding" by corporations while permissive advocates highlight faster innovation and broader dissemination.[46]Key Provisions
User Freedoms and Permissions
The GNU General Public License (GPL) grants users four essential freedoms, as defined by the Free Software Foundation (FSF), to ensure software remains free for all recipients. These freedoms form the foundation of the license's permissions and are explicitly protected through its copyleft mechanism.[47][48]- Freedom 0: The freedom to run the program as desired, for any purpose, with explicit affirmation of unlimited permission to run unmodified versions.[47][49]
- Freedom 1: The freedom to study the program's operation and modify it to suit specific needs, which requires access to the source code.[47]
- Freedom 2: The freedom to redistribute copies of the software to help others, allowing conveyance of verbatim source code copies while preserving notices and disclaimers.[47][49]
- Freedom 3: The freedom to distribute copies of modified versions, enabling users to convey altered source or object code under the same license terms.[47][49]
Distribution and Modification Requirements
The GNU General Public License (GPL) explicitly permits recipients to modify covered software and to distribute both unmodified and modified versions, provided that certain conditions are met to preserve the four essential freedoms for all subsequent users.[1] These requirements form the core of the GPL's copyleft mechanism, ensuring that derivative works remain open and freely modifiable rather than becoming proprietary.[51] Modifications are defined broadly to include any changes to the original source code, creating a "work based on the Program," and such works must be treated as a whole under the GPL terms.[3] Under GPLv3, anyone modifying the software must license the entire modified work under GPLv3, without imposing additional restrictions, and include prominent notices stating which files were changed and the date of any such changes.[1] For interactive user interfaces in modified versions, appropriate copyright notices, warranty disclaimers, and instructions for obtaining the source code must be displayed upon startup or use.[1] GPLv2 imposes similar obligations, requiring modified files to carry notices of changes and mandating that the whole work be licensed under GPLv2 at no charge to third parties, while preserving the ability for recipients to further modify and redistribute.[3] These rules apply regardless of whether the modifications are internal or distributed, though private modifications need not be released.[50] Distribution of GPL-covered software, whether in source or object (binary) form, requires conveying the complete corresponding source code to recipients to enable their exercise of modification rights.[48] For verbatim copies, distributors must include the original copyright notices, license text, and any disclaimer of warranty.[3] When distributing binaries, GPLv3 allows several methods to provide source: inclusion on the same medium, a written offer valid for at least three years to provide it at no charge, publicly accessible network server download, or peer-to-peer transmission with clear directions; additionally, for software in user products, installation information must be supplied unless modification is infeasible (e.g., firmware in ROM).[1] GPLv2 similarly mandates accompanying binaries with machine-readable source code or a written offer for it at nominal cost, valid for at least three years.[3] Failure to meet these source disclosure rules invalidates the distribution, as the GPL's freedoms hinge on access to modifiable source.[51]Source Code Disclosure Mandates
The GNU General Public License (GPL) mandates that any distribution of a covered work in object code or executable form must be accompanied by the corresponding machine-readable source code, or by a mechanism to obtain it, ensuring recipients can study, modify, and redistribute the software while preserving copyleft freedoms.[1] This requirement, codified in Section 3 of GPLv2 and Section 6 of GPLv3, applies to all forms of conveyance, including physical media, network downloads, or peer-to-peer transfers, but exempts mere conveyance of source code itself or private use without distribution.[52] [1] Corresponding source is defined as the preferred form of the work for making modifications, encompassing all source code for modules, associated interface files, and scripts for compilation and installation.[52] In GPLv2, it excludes components typically distributed with the operating system (such as compilers or kernels) unless they accompany the executable.[52] GPLv3 expands this to include all code needed to generate, install, run, and modify the object code, explicitly excluding only non-free system libraries or interfaces required for standard use.[1] Distributors fulfill the mandate by either including the complete corresponding source on a customary medium (e.g., DVD or download) or providing a written offer, valid for at least three years (or the duration of product support and spare parts availability in GPLv3), to supply the source at no more than reproduction cost or via free network access.[52] [1] For noncommercial or occasional distributions under GPLv2, recipients' existing offers can be passed along.[52] Network-based distributions require equivalent source access at no charge.[1] GPLv3 introduces additional mandates for "User Products" (consumer electronics like routers or set-top boxes), requiring "Installation Information"—publicly documented data such as keys or methods needed to install modified versions—unless physical installation of modifications is impossible (e.g., due to read-only memory).[1] This addresses "tivoization," where hardware locks prevent running modified software despite source availability, by ensuring practical modifiability without special privileges or obfuscated processes.[1] Non-compliance, such as incomplete written offers or missing installation details, constitutes a license violation enforceable via copyright law.[53]Interpretive Debates
Definition of Derivative Works
The GNU General Public License (GPL) does not provide an explicit definition of "derivative works" independent of underlying copyright law but incorporates the concept through terms like "work based on the Program" and "modified version," which encompass adaptations requiring copyright permission beyond mere exact copies.[1] Under GPLv3 Section 0, a "covered work" includes either the unmodified Program or any work based on it, where modification involves copying or adapting parts of the original in ways that would infringe copyright absent permission.[1] The Free Software Foundation (FSF), the license's steward, interprets these to extend copyleft obligations to combinations that form a larger functional whole, such as through linking or intimate integration, arguing that the GPL's efficacy relies on a broader scope than minimal copyright fixation requirements.[6] Interpretive debates center on whether certain integrations—particularly dynamic linking, plug-ins, or mere aggregation—constitute derivative works triggering GPL's source disclosure and relicensing mandates. The FSF maintains that static or dynamic linking of GPL-covered code with other components creates a "combined work" subject to GPL if the result operates as a unified program, as opposed to loosely aggregated separate executables on the same medium, which do not inherently form derivatives.[6] For instance, plug-ins designed to extend core GPL functionality are viewed by the FSF as potentially forming combined works if they interact closely with the original code, though mere data exchange without code-level integration may avoid this classification.[6] Critics and legal analyses contend that the GPL's expansive interpretation exceeds standard U.S. copyright doctrine under 17 U.S.C. § 101, which defines derivatives as fixations based on preexisting works incorporating a substantial portion of the original's expressive elements, potentially rendering FSF positions unenforceable without explicit contractual overrides.[54] No U.S. court has directly ruled on GPL-specific linking as creating derivatives, leaving ambiguity; for example, while prelinking for optimization does not count as modification if reversible, broader software combinations like those in embedded systems remain contested.[6] Internationally, variations in copyright harmonization under treaties like Berne further complicate application, with some jurisdictions requiring transformative elements for derivative status that the GPL's intent may not satisfy.[55] These debates underscore the tension between the GPL's philosophical aim of viral sharing and practical software engineering realities, where unclear boundaries can deter adoption or invite litigation.[56]Linking Mechanisms and Their Implications
Static linking embeds the object code of a GPL-licensed module or library directly into the main program's executable during compilation, producing a unified binary. The Free Software Foundation (FSF) interprets this as creating a derivative work under copyright law, subjecting the entire combined program to the GPL's terms, including requirements to distribute it under the GPL and provide complete corresponding source code to recipients.[57] This mechanism enforces copyleft by ensuring that modifications or extensions built atop GPL code cannot be withheld from users who receive the binary. Dynamic linking, by contrast, defers code integration until runtime, where the executable loads shared libraries (e.g., .so files on Unix-like systems) as needed. The FSF holds that if the main program and dynamically linked GPL components operate as a single functional unit—such as through shared memory or direct calls—the result qualifies as a combined work equivalent to a derivative, mandating GPL licensing for the whole and source code disclosure upon distribution.[57] This position, outlined in the GPL FAQ since at least 2001, aims to prevent circumvention of copyleft via runtime separation, though it distinguishes such combinations from mere aggregation of independent programs on the same storage medium, which imposes no additional obligations.[58] These linking rules carry significant implications for software development and distribution. Proprietary applications cannot incorporate GPL-licensed components without releasing their own source code under the GPL, a restriction often termed the license's "contagious" or copyleft propagation effect, which prioritizes user freedoms over proprietary enclosure.[59] To mitigate this for reusable libraries, the FSF introduced the GNU Lesser General Public License (LGPL) in 1991, permitting dynamic linking with non-GPL code without forcing the linker to adopt full GPL terms, provided certain relinking conditions are met.[60] GPLv3 further refines this with a system library exception, exempting standard interface-conforming libraries (e.g., libc) from triggering full copyleft, but only if they meet narrow criteria like widespread distribution and independent development.[61] Interpretive debates center on whether dynamic linking invariably produces a derivative work, given the absence of compile-time merging and lack of definitive court precedents as of 2025. Critics, including some open-source advocates, contend that runtime loading resembles user-initiated aggregation rather than authorship of a unified work, potentially allowing proprietary binaries to interface with GPL libraries without source obligations.[62] The FSF counters that functional interdependence—evident in direct API calls—establishes the combination as a single program under the GPL's preamble and Section 5, with enforcement historically pursued through copyright infringement suits rather than isolated linking challenges.[57] This unresolved tension underscores the GPL's reliance on intent-driven interpretation over mechanical boundaries, influencing adoption in modular ecosystems like Linux, where kernel modules must often comply via explicit GPL licensing to avoid disputes.[63]Extensions like AGPL for Network Services
The GNU General Public License (GPL), in versions 2 and 3, requires source code disclosure only upon distribution of binaries or object code, leaving unmodified or modified software deployed on remote servers exempt from this obligation when users interact via network access, a gap known as the application service provider (ASP) loophole.[64] This allows operators of web-based services to modify GPL-licensed software for server-side use without sharing modifications, potentially undermining copyleft by enabling proprietary derivatives in networked environments.[64] The GNU Affero General Public License (AGPL) addresses this by extending GPL copyleft to network interactions; specifically, its Section 13 mandates that if a modified AGPL-covered program is installed on a server enabling remote user interaction over a computer network without distribution of the program itself, the operator must provide those users a means to download the complete corresponding source code, including modifications.[65] Published by the Free Software Foundation (FSF) in November 2007 as version 3.0, the AGPLv3 incorporates GPLv3 terms with this additional remote network interaction clause, ensuring users of web applications receive the same freedoms as direct recipients of distributed software.[65] Originating from the Affero General Public License version 1.0 released by Affero, Inc. in 2002—a company focused on web services for non-profits—the license was endorsed by the FSF that year for its alignment with free software principles in server contexts.[66] The FSF's AGPLv3 adaptation, released alongside GPLv3 on June 29, 2007, formalized compatibility with GPLv3 while preserving the network provision, allowing AGPL-licensed code to be combined with GPLv3 code under certain conditions but requiring the combined work to adopt AGPL terms for network-exposed modifications.[65] This extension promotes transparency in cloud and SaaS deployments, where software like web servers or APIs might otherwise evade source sharing.[64] AGPL adoption has been selective due to its stricter terms, appearing in projects such as MongoDB (until its 2018 relicensing to SSPL), Nextcloud, and some GNU packages, but it raises compliance challenges for proprietary integrations, as remote access triggers disclosure even without binary distribution.[51] Critics argue it deters commercial use in networked settings, while proponents, including the FSF, maintain it upholds copyleft integrity against "service-as-a-software-substitute" models that profit from free software without reciprocation.[64]Legal Aspects
Enforceability and Court Precedents
The enforceability of the GNU General Public License (GPL) has been tested in multiple U.S. and international courts, with rulings consistently affirming its validity under copyright law by treating compliance as a condition precedent to licensed use, such that violations constitute infringement rather than mere breach of contract. In Jacobsen v. Katzer (2008), the U.S. Court of Appeals for the Federal Circuit held that open source licenses impose enforceable conditions on software use, rejecting the argument that violations only trigger contract remedies; this precedent, applied to licenses like the Artistic License, extends to the GPL by establishing that non-compliance revokes permission to copy and distribute, enabling copyright holders to seek injunctions and damages. Early scholarly doubts about the GPL's "viral" copyleft provisions survived initial scrutiny, but practical enforcement demonstrated their robustness without invalidation.[67] Pioneering U.S. litigation involved the BusyBox project, licensed under GPLv2, where the Software Freedom Law Center filed the first domestic GPL suit against Monsoon Multimedia in September 2007 for distributing embedded devices with BusyBox binaries absent corresponding source code.[68] The case settled with Monsoon paying a financial penalty and committing to GPL compliance, including source release.[68] This was followed by a December 2009 federal lawsuit by the Software Freedom Conservancy (SFC) against 14 defendants, including Best Buy, Samsung, and Westinghouse, alleging similar violations in consumer electronics; all cases resolved via settlements by September 2012, yielding full compliance such as source code provision and cease-and-desist agreements, without public disclosure of monetary terms but reinforcing that embedded device makers must honor distribution mandates.[69] These outcomes, grounded in 17 U.S.C. § 106 copyright exclusivity, illustrated the GPL's deterrence value, as defendants avoided trial risks of statutory damages up to $150,000 per willful infringement.[70] Subsequent cases advanced dual enforcement theories, blending copyright with contract law. In Artifex Software, Inc. v. Hancom, Inc. (2016–2017), a U.S. District Court (N.D. Cal.) granted partial summary judgment, ruling that Hancom's unmodified use of Ghostscript (GPLv2/GPLv3) formed an enforceable contract via offer (license terms), acceptance (downloading and integration), and consideration (compliance promise), alongside copyright infringement for failing to disclose source code in distributed products.[71] The court awarded Artifex summary judgment on liability, enabling claims for restitution of Hancom's $86.3 million in 2015 revenue tied to the software, though the case later settled; this marked a key affirmation that GPL acceptance occurs through conduct, exposing violators to contract damages beyond copyright remedies.[72] Complementing this, SFC's ongoing suit against Vizio (filed October 2021, Orange County Superior Court) tests third-party beneficiary standing: despite Vizio's arguments that only copyright holders can sue, the court denied dismissal in December 2023 and summary judgment in January 2024, holding that GPL users like SFC may enforce source disclosure as intended beneficiaries; as of July 2025, motions for adjudication proceed toward a January 2026 trial, potentially expanding enforcement to non-owners.[73][74] Internationally, precedents align with U.S. trends. In Christoph Hellwig v. VMware (Germany, concluded 2019), SFC-funded litigation over VMware's vmklinux module (derived from Linux kernel under GPLv2) resulted in a ruling requiring source code release for modifications, upholding copyleft against proprietary aggregation without full disclosure.[69] Similarly, a June 2024 German decision in Sebastian Steck v. AVM (LGPLv2.1 in routers) mandated installation scripts for user modifications, affirming end-user rights under lesser GPL variants.[69] No jurisdiction has deemed the GPL unenforceable, with settlements often averting trials but cumulatively validating its conditions against challenges like network use or linking.[67]International Application and Variations
The GNU General Public License imposes no geographic restrictions on the distribution or use of covered software, making it applicable worldwide under the copyright laws of the jurisdiction where enforcement occurs.[6] GPLv3 incorporates jurisdiction-neutral terminology, such as "propagate" and "convey" instead of "distribute," to minimize conflicts with varying national copyright definitions.[75] Section 7 of GPLv3 further permits the addition of terms required by local law, provided they are compatible and do not contradict core freedoms, allowing adaptation to specific legal environments without altering the license's uniformity.[76] Enforcement of GPL terms has proven effective in Europe, where courts recognize its copyleft requirements. In Germany, Harald Welte initiated multiple actions starting in 2004, resulting in settlements and judicial orders compelling violators to provide source code and cease unauthorized distribution, with appellate courts affirming GPL's validity as a binding license.[77] In France, the Paris Court of Appeal in 2024 awarded Entr'Ouvert over €900,000 in damages against Orange for failing to comply with GPLv2 obligations in distributed software, marking a significant precedent for monetary remedies.[78] French jurisprudence uniquely classifies GPL claims as contractual disputes rather than strict copyright infringements, requiring proof of acceptance via download or use, which has upheld enforcement but introduced procedural hurdles distinct from common law approaches.[79] Jurisdictions with inalienable moral rights, prevalent in civil law countries under the Berne Convention, present interpretive challenges, as GPLv3's waiver of moral rights ("you waive any moral rights") applies only to the extent permitted by law.[80] In France, where moral rights cannot be fully renounced under Article L.121-1 of the Intellectual Property Code, this limits the license's scope on attribution and integrity but does not invalidate copyleft mandates, as evidenced by ongoing compliance rulings.[80] Outside Europe and the United States, documented enforcement remains sparse, attributed to weaker intellectual property regimes and limited litigation by copyright holders, though GPL obligations persist wherever copyright is enforceable.[81] No official jurisdictional variants of the GPL exist; the Free Software Foundation maintains the English text as authoritative, with unofficial translations serving informational purposes only and lacking legal force.[82]License vs. Contract Status
The GNU General Public License (GPL) is structured as a unilateral grant of permissions under copyright law, permitting recipients to copy, distribute, and modify covered software subject to specified conditions, rather than as a bilateral agreement requiring mutual promises or consideration.[83] This license-only characterization avoids contract formation elements like explicit acceptance or bargained-for exchange, with violations treated as unauthorized use revoking the granted rights and triggering copyright infringement remedies.[83] The Free Software Foundation (FSF), which authors the GPL, has consistently enforced it through copyright claims, as seen in cases like those pursued by its affiliates since the license's inception in 1989, emphasizing that no reciprocal obligations bind the licensor.[6] Debate persists over whether the GPL's conditional permissions imply contractual elements, particularly in jurisdictions applying common law principles where software licenses might require offer and acceptance for enforceability beyond pure copyright.[84] Proponents of a contract view argue that downloading or using GPL software constitutes acceptance of its terms, with the license grant serving as consideration, potentially enabling breach-of-contract claims for remedies like specific performance or damages not always available under copyright alone.[85] However, this perspective risks complications, such as privity requirements limiting standing to direct parties or shorter statutes of limitations compared to copyright's three-year term under 17 U.S.C. § 507(b), potentially undermining broad copyleft enforcement.[86] A pivotal development occurred in Artifex Software, Inc. v. Hancom, Inc. (N.D. Cal. 2017), where the U.S. District Court for the Northern District of California held that the GPL v2 constituted an enforceable contract, allowing the plaintiff to proceed on both copyright infringement and breach-of-contract theories for alleged violations involving Ghostscript software.[84][85] The court rejected defenses claiming lack of consideration or mutuality, finding the license's permissions adequate exchange and usage as implied acceptance, though it did not supplant the primary copyright framework.[87] No higher courts have definitively resolved the GPL's dual status, and subsequent enforcements, including FSF actions, continue prioritizing copyright suits for their simplicity and alignment with the license's intent to protect freedoms without contractual formalities.[88] This hybrid treatment underscores the GPL's resilience but highlights ongoing uncertainty in cross-jurisdictional applications, where civil law systems may more readily impose contractual obligations.[84]Compatibility Issues
Interactions with Other Open Source Licenses
The GNU General Public License (GPL) exhibits one-way compatibility with permissive open-source licenses such as the MIT License and BSD licenses, permitting the inclusion of code under those terms into a GPL-licensed work, provided the resulting combined work is distributed solely under the GPL.[51] This compatibility arises because permissive licenses impose minimal restrictions, allowing relicensing under stronger copyleft terms like the GPL, but the reverse is prohibited: GPL code cannot be incorporated into a work under a permissive license without violating the GPL's requirement that derivatives remain open and share-alike.[89] For instance, software released under the 2-clause BSD License can be modified and integrated into a GPLv2 project, with the output licensed under GPLv2 or later if specified.[50] The GNU Lesser General Public License (LGPL), a derivative of the GPL designed for libraries, enables dynamic linking with proprietary or non-copyleft software without triggering full GPL copyleft obligations on the linking application, provided the library itself adheres to LGPL terms.[51] This facilitates broader reuse in mixed-license environments compared to the standard GPL, which treats static linking or substantial integration as creating a derivative work subject to full copyleft.[90] LGPLv3 explicitly allows combination with GPLv3 code, treating the result as GPLv3, while maintaining compatibility for library-specific exemptions.[48] GPLv3 addresses compatibility gaps present in GPLv2, notably with the Apache License 2.0, by incorporating explicit patent grants and termination clauses that align with Apache's terms, enabling bidirectional combination where the output falls under GPLv3.[48] In contrast, GPLv2 conflicts with Apache 2.0 due to the latter's patent license and compatibility addendum requirements, preventing clean integration without relicensing.[51] However, licenses with file-level copyleft, such as the Mozilla Public License (MPL) or Eclipse Public License (EPL), remain incompatible with both GPL versions because they permit relicensing of individual files under non-GPL terms, undermining the GPL's whole-work copyleft enforcement.[89] Inter-version compatibility within the GPL family requires explicit "or any later version" clauses; pure GPLv2-only code cannot be combined with GPLv3-only code without permission to upgrade, as the licenses impose divergent conditions on modifications and distribution.[51] The Free Software Foundation maintains that such mismatches necessitate relicensing efforts, as seen in projects transitioning to GPLv3 to leverage improved compatibilities.[91]Multi-licensing Approaches
Multi-licensing approaches for software under the GNU General Public License (GPL) enable copyright holders to distribute the same codebase under the GPL alongside alternative licenses, such as proprietary or permissive terms, thereby expanding usability while preserving copyleft options for open-source users. This strategy addresses GPL's strict compatibility constraints by allowing recipients to select a license that avoids copyleft propagation in scenarios like proprietary integration or combination with non-compatible licenses. Dual-licensing, a prevalent form, pairs the GPL—which mandates that derivatives remain open and GPL-licensed—with a commercial license that waives such requirements for paying users, facilitating revenue generation without undermining community access.[92][93] The copyright holder retains the authority to offer multiple licenses simultaneously, as they control distribution terms for their contributions, though incorporating third-party GPL code may necessitate contributor agreements to enable proprietary options. For example, MySQL has employed dual-licensing since the early 2000s under MySQL AB (later Oracle), providing GPL terms for free use and modification alongside commercial licenses that permit embedding in closed-source applications without source disclosure obligations. Similarly, the Qt framework, initially released under custom terms and later dual-licensed with GPL/LGPL variants since 2000, offers commercial licenses to developers building proprietary software, mitigating GPL's barriers to adoption in commercial environments.[94][95][96] Such approaches enhance GPL software's interoperability by circumventing viral licensing effects in mixed ecosystems, though they require careful management to avoid disputes over contributor rights or perceived dilution of open-source ethos. Projects like Bio-Formats have applied multi-licensing selectively to GPL components, offering permissive alternatives for broader plugin compatibility in scientific software stacks. Overall, multi-licensing supports pragmatic deployment without altering the GPL's core protections for unmodified distributions.[97][98]Challenges with Proprietary Software
The GNU General Public License (GPL) imposes copyleft requirements that compel derivative works, including those incorporating GPL-licensed code, to be distributed under the GPL itself, creating inherent incompatibilities with proprietary software models that restrict source code access and modification. This "viral" nature means proprietary developers cannot integrate GPL components—such as libraries or binaries—into closed-source products without releasing the entire combined work's source code, effectively forcing a choice between forgoing GPL code or relinquishing proprietary control.[6] A primary technical challenge arises from linking: the Free Software Foundation interprets both static and dynamic linking of proprietary code to GPL-covered modules as forming a derivative "combined work" subject to GPL terms, necessitating open-sourcing of the proprietary portions upon distribution.[6] Static linking embeds GPL code directly into binaries, unambiguously triggering copyleft obligations, while dynamic linking—loading libraries at runtime—remains contentious but is treated similarly by GPL advocates due to functional interdependence, as evidenced in FSF guidance and community consensus.[6][62] Proprietary vendors often resort to alternative libraries, clean-room reimplementations, or LGPL variants to circumvent this, but such workarounds increase development costs and risk inadvertent violations if dependencies are overlooked.[99] Hardware restrictions amplify these issues through practices like tivoization, where GPL software runs on consumer devices (e.g., digital video recorders) but hardware or firmware locks prevent users from installing modified versions, violating the GPL's intent to ensure modification and redistribution freedoms.[100] TiVo's use of Linux kernel code (GPLv2-licensed) in its recorders from the early 2000s exemplified this, prompting the FSF to introduce GPLv3's anti-tivoization provisions in June 2007, which mandate providing installation keys or mechanisms for user-substituted GPL software on "user products."[101][1] Critics, including Linux kernel maintainer Linus Torvalds, argued that GPLv2 already permitted such firmwares if source was provided, viewing anti-tivoization as overly restrictive for embedded systems, yet it underscored the tension between software freedoms and proprietary hardware controls.[101] Enforcement precedents demonstrate the practical risks: the Software Freedom Conservancy, on behalf of BusyBox (GPL-licensed embedded toolkit), initiated lawsuits in 2007 against firms like Monsoon Multimedia for distributing proprietary devices with BusyBox binaries sans source code, securing settlements and compliance.[102] In 2009, it sued 14 defendants, including Linksys and Westinghouse, yielding source releases and highlighting embedded systems' vulnerability to violations from untracked GPL dependencies in firmware.[103] More recently, in February 2024, the Paris Court of Appeal ruled against Orange S.A., awarding Entr'ouvert €900,000 plus costs for incorporating GPLv2 code into proprietary authentication software without source disclosure or modification rights.[78] Similarly, the Stockfish chess engine project prevailed in a 2022 German case against ChessBase, which had bundled modified GPL code in proprietary products, affirming third-party enforcement rights.[104] These cases, totaling dozens since 2007, impose financial penalties (e.g., damages, legal fees) and reputational costs, deterring proprietary adoption of GPL code amid compliance audits revealing up to 90% violation rates in scanned binaries per industry scans.[105] Proprietary firms face ongoing causal barriers: undetected GPL inclusions in supply chains can propagate violations, as seen in router firmware scandals, while dual-licensing or exceptions (e.g., GPL with linking exemptions) offer partial mitigations but dilute copyleft purity, limiting ecosystem contributions.[106] Empirical data from license scanners indicate GPL's strictness reduces its uptake in commercial stacks compared to permissive licenses, with proprietary entities favoring alternatives to avoid open-sourcing trade secrets, though this fragments interoperability.[105]Adoption and Practical Use
Major Projects and Distributions Under GPL
The GNU General Public License (GPL) underpins numerous foundational open-source software projects, ensuring copyleft requirements for derivatives and source availability. The Linux kernel, initiated by Linus Torvalds in 1991, is licensed exclusively under GPLv2, mandating that any modifications or linked modules distributed with it adhere to the same terms; as of kernel version 6.12 released in November 2024, it remains a core component powering servers, embedded systems, and desktops worldwide.[107] Key GNU Project components, developed under GPL auspices since the 1980s, include the GNU Compiler Collection (GCC), first released in 1987 and now at version 14.2 as of August 2024, which compiles code for diverse architectures under GPLv3 with exceptions permitting proprietary linking to its runtime libraries. Other prominent GPL-licensed tools encompass the GNU Image Manipulation Program (GIMP), an raster graphics editor available since 1996 and licensed under GPL version 3 or later, supporting plugin extensions while enforcing source disclosure for modifications.[108] Similarly, VLC media player, developed by the VideoLAN project since 2001, operates under GPLv2 or later, enabling multimedia playback across platforms but requiring derivative works like custom codecs to release source code.[109] Linux distributions extensively integrate GPL-licensed software, forming complete operating systems around the kernel and GNU utilities. Red Hat Enterprise Linux (RHEL), first shipped in 2003, and its community variant Fedora, incorporate the GPLv2 kernel alongside GPL tools like Bash and coreutils, with Red Hat providing long-term support contracts while complying with copyleft by distributing sources.[110] Debian GNU/Linux, originating in 1993, emphasizes free software and uses GPL components in its repositories, influencing derivatives like Ubuntu, launched in 2004 by Canonical, which bundles the kernel, GCC-compiled binaries, and applications such as GIMP under GPL terms.[110] These distributions, numbering over 200 active variants as tracked by community indices, demonstrate GPL's role in enabling collaborative ecosystems while imposing obligations on modifiers to share improvements.[110]Commercial Implementations and Business Models
The GNU General Public License (GPL) accommodates commercial exploitation through models that leverage its permissions for modification and distribution while adhering to copyleft mandates, such as providing corresponding source code. Businesses cannot sell GPL-covered binaries without enabling recipients to obtain and share the source, which shifts revenue streams away from software sales toward ancillary services, hosting, or proprietary extensions. This structure has sustained enterprises by capitalizing on the software's reliability and community-driven improvements without proprietary lock-in.[6][111] A primary approach involves subscription-based support and enterprise hardening of GPL-based systems. Red Hat, established in 1993, commercializes Red Hat Enterprise Linux (RHEL)—incorporating the GPL-licensed Linux kernel and GNU tools—via paid subscriptions that deliver certified builds, security patches, multi-year support contracts, and integration services tailored for data centers and cloud environments. This model generated over $4 billion in annual revenue by 2022, primarily from enterprise clients valuing stability over free alternatives like CentOS, which Red Hat influenced through upstream contributions. However, Red Hat's 2023 policy restricting direct downloads of RHEL source code to paying customers—while providing it via git repositories under paid terms—has sparked GPL compliance debates, with critics contending it impedes verbatim redistribution and independent recompilation essential to the license's intent.[110][112][113] Dual licensing offers another pathway, granting users a choice between the GPL for open-source use and a separate commercial license exempting copyleft restrictions. Oracle employs this for MySQL, acquired in 2010, distributing a community edition under GPL v2 while requiring proprietary embedders—such as application vendors—to purchase commercial licenses for closed-source integration, thereby avoiding mandatory source disclosure of surrounding code. This has enabled Oracle to derive licensing fees alongside support revenue, though it has prompted forks like MariaDB to preserve open alternatives amid perceived commercialization shifts.[114][115] In hardware and embedded contexts, GPL software underpins products where compliance integrates into supply chains. The Android ecosystem, built atop the GPL-licensed Linux kernel since 2008, mandates that device manufacturers release modified kernel sources post-distribution to fulfill copyleft obligations, facilitating custom ROM development and verification. Google maintains the Android Open Source Project (AOSP) repository for this purpose, but enforcement by entities like the Linux Foundation has revealed persistent non-compliance among some original equipment manufacturers (OEMs), particularly in kernel patches for proprietary drivers, highlighting tensions between rapid commercialization and license transparency. SaaS providers further exploit GPL via network-only usage, distributing no binaries and thus evading source-sharing duties—unlike under the AGPL variant—allowing firms to host GPL components internally for profit without redistribution.[116][117][118]Statistical Trends in Usage
The GNU General Public License (GPL), particularly versions 2.0 and 3.0, has experienced a notable decline in relative popularity among open source projects since the mid-2000s, shifting from a dominant position to a minority share as developers increasingly favor permissive licenses like MIT and Apache 2.0.[119][120] This trend correlates with the 2007 release of GPLv3, which introduced stricter terms on patent grants and anti-tivoization provisions, prompting some projects to retain GPLv2 or migrate to non-copyleft alternatives for broader compatibility.[121] Usage data from code scanning firms indicate that copyleft licenses, including GPL variants, comprised around 33% of open source components in 2020 but have continued to erode against permissive licenses, which rose to 67% by that year and higher subsequently.[122] Repository analyses on platforms like GitHub reinforce this pattern, with permissive licenses dominating new project initiations. A 2015 GitHub study found MIT as the leading choice, outpacing GPL, while a 2020 examination of over 3,000 repositories showed GPLv3 in 2,114 cases versus GPLv2 in 841, though both trailed MIT and Apache in overall adoption.[120][123] By 2022, security scanning data reported GPLv3 at 5% and GPLv2 at 4% of analyzed components, reflecting a stabilization at low-single digits amid permissive licenses capturing over 80% in many ecosystems.[124] In language-specific package managers as of 2023, GPL variants hovered around 6% (e.g., GPLv3 at 6.11% in broader component scans), varying by domain—higher in system-level software like kernels but negligible in web and application layers where integration flexibility drives license choice.[125]| Year | Source | GPL Family Share | Notes |
|---|---|---|---|
| 2009–2012 | Black Duck | ~40–45% (declining 8% overall) | Shift to permissive; top license but losing ground.[126] |
| 2015 | GitHub | <20% (MIT dominant) | New repositories favor permissive.[120] |
| 2017 | Black Duck/GitHub | GPLv2 halved from prior peaks | Copyleft purity cited as factor.[120] |
| 2020 | Mend.io/EPAM | ~10–15% (GPLv2: 841 repos, GPLv3: 2,114) | Permissive at 67%.[122][123] |
| 2022–2023 | Checkmarx/OSI | 9–12% (GPLv3: 5–6.11%) | Stabilized but secondary to MIT/Apache.[124][125] |