GNU General Public License
GNU GPLv3 Logo | |
Author | Richard Stallman |
---|---|
Latest version | 3 |
Publisher | Free Software Foundation |
Published | 29 June 2007 |
DFSG compatible | Yes[1] |
FSF approved | Yes[2] |
OSI approved | Yes[3] |
Copyleft | Yes[2][4] |
Linking from code with a different license | No (except for software licensed under GPLv3 compatible licenses)[5] |
Website |
gnu |
The GNU General Public License (GNU GPL or GPL) is a widely used[6] free software license, which guarantees end users (individuals, organizations, companies) the freedoms to run, study, share (copy), and modify the software. Software that allows these rights is called free software and, if the software is copylefted, requires those rights to be retained. The GPL demands both. The license was originally written by Richard Stallman of the Free Software Foundation (FSF) for the GNU Project.
In other words, the GPL grants the recipients of a computer program the rights of the Free Software Definition[7] and uses copyleft to ensure the freedoms are preserved whenever the work is distributed, even when the work is changed or added to. The GPL is a copyleft license, which means that derived works can only be distributed under the same license terms. This is in distinction to permissive free software licenses, of which the BSD licenses and the MIT License are the standard examples. GPL was the first copyleft license for general use.
Prominent free software programs licensed under the GPL include the Linux kernel and the GNU Compiler Collection (GCC). Some other free software programs (MySQL is a prominent example) are dual-licensed under multiple licenses, often with one of the licenses being the GPL.
Historically, the GPL license family has been one of the most popular software licenses in the FOSS domain.[6][8][9][10][11][12][13] David A. Wheeler argues that the copyleft provided by the GPL was crucial to the success of Linux-based systems, giving the programmers who contributed to the kernel the assurance that their work would benefit the whole world and remain free, rather than being exploited by software companies that would not have to give anything back to the community.[14]
On 29 June 2007, the third version of the license (GNU GPLv3) was released to address some perceived problems with the second version (GNU GPLv2) that were discovered during its long-time usage. To keep the license up to date, the GPL license includes an optional "any later version" clause, allowing users to choose between the original terms or the terms in new versions as updated by the FSF. Developers can omit it when licensing their software; for instance the Linux kernel is licensed under GPLv2 without the "any later version" clause.[15][16]
History
The GPL was written by Richard Stallman in 1989, for use with programs released as part of the GNU project. The original GPL was based on a unification of similar licenses used for early versions of GNU Emacs (1985),[17] the GNU Debugger and the GNU C Compiler.[18] These licenses contained similar provisions to the modern GPL, but were specific to each program, rendering them incompatible, despite being the same license.[19] Stallman's goal was to produce one license that could be used for any project, thus making it possible for many projects to share code.
The second version of the license, version 2, was released in 1991. Over the following 15 years, members of the free software community became concerned over problems in the GPLv2 license that could let someone exploit GPL-licensed software in ways contrary to the license's intent.[20] These problems included tivoization (the inclusion of GPL-licensed software in hardware that refuses to run modified versions of its software), compatibility issues similar to those of the Affero General Public License—and patent deals between Microsoft and distributors of free and open source software, which some viewed as an attempt to use patents as a weapon against the free software community.
Version 3 was developed to attempt to address these concerns and was officially released on 29 June 2007.[21]
Version 1
Version 1 of the GNU GPL,[22] released on 25 February 1989,[23] prevented what were then the two main ways that software distributors restricted the freedoms that define free software. The first problem was that distributors may publish binary files only—executable, but not readable or modifiable by humans. To prevent this, GPLv1 said that any vendor distributing binaries must also make the human-readable source code available under the same licensing terms (Sections 3a and 3b of the license).
The second problem was that distributors might add restrictions, either to the license, or by combining the software with other software that had other restrictions on distribution. The union of two sets of restrictions would apply to the combined work, thus adding unacceptable restrictions. To prevent this, GPLv1 said that modified versions, as a whole, had to be distributed under the terms in GPLv1 (Sections 2b and 4 of the license). Therefore, software distributed under the terms of GPLv1 could be combined with software under more permissive terms, as this 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, as this would conflict with the requirement that the whole be distributable under the terms of GPLv1.
Version 2
According to Richard Stallman, the major change in GPLv2 was the "Liberty or Death" clause, as he calls it[19] – Section 7. This section says that if a license imposes restrictions that prevent distributing GPL-covered software in a way that respects other users' freedom (for example, if a legal ruling states that someone may only distribute the software in binary form), the developer may not distribute it at all. The hope is, that this makes it less tempting for companies to use patent threats to require fees from free software developers.
By 1990, it was becoming apparent that a less restrictive license would be strategically useful for the C library and for software libraries that essentially did the job of existing proprietary ones;[24] when version 2 of the GPL (GPLv2) was released in June 1991, therefore, a second license – the Library General Public License – was introduced at the same time and numbered with version 2 to show that both were complementary. The version numbers diverged in 1999 when version 2.1 of the LGPL was released, which renamed it the GNU Lesser General Public License to reflect its place in the philosophy.
Version 3
In late 2005, the Free Software Foundation (FSF) announced work on version 3 of the GPL (GPLv3). On 16 January 2006, the first "discussion draft" of GPLv3 was published, and the public consultation began. The public consultation was originally planned for nine to fifteen months but finally stretched to eighteen months with four drafts being published. The official GPLv3 was released by FSF on 29 June 2007. GPLv3 was written by Richard Stallman, with legal counsel from Eben Moglen and the Software Freedom Law Center.[25]
According to Stallman, the most important changes are in relation to software patents, free software license compatibility, the definition of "source code", and hardware restrictions on software modification ("tivoization").[25][26] Other changes relate to internationalization, how license violations are handled, and how additional permissions can be granted by the copyright holder.
It also adds a provision that "strips" Digital Rights Management (DRM) of its legal value, so people can break anything a court might recognize as DRM on GPL software without breaking laws like the DMCA.[27]
The public consultation process was coordinated by the Free Software Foundation with assistance from Software Freedom Law Center, Free Software Foundation Europe,[28] and other free software groups. Comments were collected from the public via the gplv3.fsf.org web portal.[29] That portal runs purpose-written software called stet.
During the public consultation process, 962 comments were submitted for the first draft.[30] By the end, a total of 2,636 comments had been submitted.[31][32][33]
The third draft was released on 28 March 2007.[34] This draft included language intended to prevent patent-related agreements like the controversial Microsoft-Novell patent agreement and restricts the anti-tivoization clauses to a legal definition of a "User" or "consumer product". It also explicitly removed the section on "Geographical Limitations", whose probable removal had been announced at the launch of the public consultation.
The fourth discussion draft,[35] which was the last, was released on 31 May 2007. It introduced Apache License version 2.0 compatibility (prior versions are incompatible), clarified the role of outside contractors, and made an exception to avoid the perceived problems of a Microsoft–Novell style agreement, saying in Section 11 paragraph 6 that:
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 aims to make future such deals ineffective. The license is also meant to cause Microsoft to extend the patent licenses it grants to Novell customers for the use of GPLv3 software to all users of that GPLv3 software; this is possible only if Microsoft is legally a "conveyor" of the GPLv3 software.[36][37]
Also, early drafts of GPLv3 let licensors add an Affero-like requirement that would have plugged the ASP loophole in the GPL.[38][39] As there were concerns expressed about the administrative costs of checking code for this additional requirement, it was decided to keep the GPL and the Affero license separated.[40]
Others, notably some high-profile developers of the Linux kernel, for instance Linus Torvalds, Greg Kroah-Hartman and Andrew Morton, commented to the mass media and made public statements about their objections to parts of discussion drafts 1 and 2.[41] The kernel developers referred to GPLv3 draft clauses regarding DRM/Tivoization, patents and "additional restrictions" and warned a Balkanisation of the "Open Source Universe".[41][42] Linus Torvalds, who decided to not adopt the GPLv3 for the Linux kernel,[15] reiterated his criticism even years later.[43][44]
GPLv3 improves compatibility with several open source software licenses such as Apache License, version 2.0, and the GNU Affero General Public License, which GPLv2 could not be combined with.[45] But on the downside, GPLv3 software can only be combined and share code with GPLv2 software if the used GPLv2 license has the optional "or later" clause and the software is upgraded to GPLv3. While the "GPLv2 or any later version" clause is considered by FSF as the most common form of licensing GPLv2 software,[46] for example Toybox developer Rob Landley described it as a lifeboat clause.[47] Software projects licensed with the optional "or later" clause include the GNU Project, while a prominent example without the clause is the Linux kernel.[15]
The final version of the license text was published on 29 June 2007.[48]
Terms and conditions
The terms and conditions of the GPL must be made available to anybody receiving a copy of the work that has a GPL 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 do this free of charge. This latter point distinguishes the GPL from software licenses that prohibit commercial redistribution. The FSF argues that free software should not place restrictions on commercial use,[49] and the GPL explicitly states that GPL works may be sold at any price.
The GPL additionally states that a distributor may not impose "further restrictions on the rights granted by the GPL". This forbids activities such as distributing of the software under a non-disclosure agreement or contract.
The fourth section for version 2 of the license and the seventh section of version 3 require that programs distributed as pre-compiled binaries be accompanied by a copy of the source code, a written offer to distribute the source code via the same mechanism as the pre-compiled binary, or the written offer to obtain the source code that the user got when they received the pre-compiled binary under the GPL. The second section of version 2 and the fifth section of version 3 also require giving "all recipients a copy of this License along with the Program". Version 3 of the license allows making the source code available in additional ways in fulfillment of the seventh section. These include downloading source code from an adjacent network server or by peer-to-peer transmission, provided that is how the compiled code was available and there are "clear directions" on where to find the source code.
The FSF does not hold the copyright for a work released under the GPL, unless an author explicitly assigns copyrights to the FSF (which 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 takes place.
Use of licensed software
Software under the GPL may be run for all purposes, including commercial purposes and even as a tool for creating proprietary software, for example when using GPL-licensed compilers.[50] Users or companies who distribute GPL-licensed works (e.g. software), may charge a fee for copies or give them free of charge. This distinguishes the GPL from shareware software licenses that allow copying for personal use but prohibit commercial distribution, or proprietary licenses where copying is prohibited by copyright law. The FSF argues that freedom-respecting free software should also not restrict commercial use and distribution (including redistribution):[49] the GPL explicitly states that GPL works may be sold at any price.
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 need 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.[51]
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 and not on the underlying platform.[52] For example, if a program consists only of own original custom software, or is combined with source code from other software components,[53] then the own custom software components need not be licensed under GPL and need not make their code available; even if the underlying operating system used is licensed under the GPL, applications running on it are not considered derivative works.[52] Only if GPLed parts are used in a program (and the program is distributed), then all other source code of the program needs to be made available under the same license terms. The GNU Lesser General Public license (LGPL) was created to have a weaker copyleft than the GPL, in that it does not require own custom-developed source code (distinct from the LGPLed parts) to be made available under the same license terms.
Copyleft
The distribution rights granted by the GPL for modified versions of the work are not unconditional. When someone distributes a GPL'd work plus his/her own modifications, the requirements for distributing the whole work cannot be any greater than the requirements that are in the GPL.
This requirement is known as copyleft. It earns its legal power from the use of copyright on software programs. 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. One is only required to adhere to the terms of the GPL if one wishes to exercise rights normally restricted by copyright law, such as redistribution. Conversely, if one distributes copies of the work without abiding by the terms of the GPL (for instance, by keeping the source code secret), he or she can be sued by the original author under copyright law.
Copyleft thus uses copyright law to accomplish the opposite of its usual purpose: instead of imposing restrictions, it grants rights to other people, in a way that ensures the rights cannot subsequently be taken away. It also ensures that unlimited redistribution rights are not granted, should any legal flaw be found in the copyleft statement.
Many distributors of GPL'ed programs bundle the source code with the executables. An alternative method of satisfying the copyleft is to provide a written offer to provide the source code on a physical medium (such as a CD) upon request. In practice, many GPL'ed programs are distributed over the Internet, and the source code is made available over FTP or HTTP. For Internet distribution, this complies with the license.
Copyleft applies only when a person seeks to redistribute the program. Developers may make private modified versions with no obligation to divulge the modifications, as long as they don't distribute the modified software to anyone else. Note that copyleft applies only to the software, and not to its output (unless that output is itself a derivative work of the program[54]). For example, a public web portal running a modified derivative of a GPL'ed content management system is not required to distribute its changes to the underlying software, because its output is not a derivative.
There has been debate on whether it is a violation of the GPL to release the source code in obfuscated form, such as in cases in which the author is less willing to make the source code available. The consensus was that while unethical, it was not considered a violation. The issue was clarified when the license was altered with v2 to require that the "preferred" version of the source code be made available.[55]
License versus contract
The GPL was designed as a license, rather than a contract.[56][57] In some Common Law jurisdictions, the legal distinction between a license and a contract is an important one: contracts are enforceable by contract law, whereas licenses are enforced under copyright law. However, this distinction is not useful in the many jurisdictions where there are no differences between contracts and licenses, such as Civil Law systems.[58]
Those who do not accept 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 they do not redistribute the GPL'd program, they may still use the software within their organization however they like, and works (including programs) constructed by the use of the program are not required to be covered by this license.
Allison Randal argued that the GPLv3 as a license is unnecessarily confusing for lay readers, and could be simplified while retaining the same conditions and legal force.[59]
Derivations
The text of the GPL is itself 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 is discouraged, however, since such a license might be incompatible with the GPL[60] and causes a perceived license proliferation.
Other licenses created by the GNU project include the GNU Lesser General Public License, the GNU Free Documentation License and Affero General Public License
The text of the GPL is not itself under the GPL. The license's copyright disallows modification of the license. Copying and distributing the license is allowed since the GPL requires recipients to get "a copy of this License along with the Program".[61] According to the GPL FAQ, anyone can make a new license using a modified version of the GPL as long as he or she uses a different name for the license, does not mention "GNU", and removes the preamble, though the preamble can be used in a modified license if permission to use it is obtained from the Free Software Foundation (FSF).
Linking and derived works
Libraries
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."[62] However, if one releases a GPL-licensed entity to the public, there is an issue regarding linking: namely, whether a proprietary program that uses a GPL library is in violation of the GPL.
This key dispute is whether non-GPL software can legally statically link or dynamically link to GPL libraries. Different opinions exist 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 regards to using GPL libraries, and bundling GPL software into a larger package (perhaps mixed into a binary via static linking). This is ultimately a question not of the GPL per se, but of how copyright law defines derivative works. The following points of view exist:
Point of view: dynamic and static linking violate GPL
The Free Software Foundation (which holds the copyright of several notable GPL-licensed software products and of the license text itself) asserts that an executable which uses a dynamically linked library is indeed a derivative work. This does not however apply to separate programs communicating with one another.[63]
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.[64]
Point of view: static linking violates GPL but unclear as of dynamic linking
Some people believe that while static linking produces derivative works, it is not clear whether an executable that dynamically links to a GPL code should be considered a derivative work (see Weak Copyleft). Linux author Linus Torvalds agrees that dynamic linking can create derived works but disagrees over the circumstances.[65]
A Novell lawyer has written that dynamic linking not being derivative "makes sense" but is not "clear-cut", and that evidence for good-intentioned dynamic linking can be seen by the existence of proprietary Linux kernel drivers.[66]
In 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",[67] but there have been no clear court decisions to resolve this particular conflict.
Point of view: linking is irrelevant
According to an article in the Linux Journal, Lawrence Rosen (a one-time OSI general counsel) argues that the method of linking is mostly irrelevant to the question about whether a piece of software is a derivative work; more important is the question about whether the software was intended to interface with client software and/or libraries.[68] He 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,"[68] and lists numerous other points regarding intent, bundling, and linkage mechanism. He further argues on his firm's website[69] that such "market-based" factors are more important than the linking technique.
There is also the specific issue of whether a plugin or module (such as the NVidia or ATI graphics card kernel modules) must also be GPL, if it could reasonably be considered 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.
It should be noted that 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/skins for GPLv2 CMS software such as Drupal and WordPress have come under fire, with both sides of the argument taken.[70][71]
The FSF differentiates on how the plugin is being invoked. If the plugin is invoked through dynamic linkage and it performs function calls to the GPL program then it is most likely a derivative work.[72]
Communicating and bundling with non-GPL programs
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 ensures the rights of GPL software is not restricted. The following is a quote from the gnu.org GPL FAQ, which describes to what extent software is allowed to communicate with and be-bundled-with GPL programs:
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 the line between "library" and "other program" via 1) "complexity" and "intimacy" of information exchange, and 2) mechanism (rather than semantics), but resigns that the question is not clear-cut and that in complex situations, case law will decide.
Legal status
The first known violation of the GPL was in 1989, when NeXT extended the GCC compiler to support Objective-C, but did not publicly release the changes.[74] After an inquiry they created a public patch. There was no lawsuit filed for this violation.
In 2002, MySQL AB sued Progress NuSphere for copyright and trademark infringement in United States district court. NuSphere had allegedly violated MySQL's copyright by linking MySQL's GPL'ed code with NuSphere Gemini table without being in compliance with the license. After a preliminary hearing before Judge Patti Saris on 27 February 2002, the parties entered settlement talks and eventually settled.[75] After the hearing, FSF commented that "Judge Saris made clear that she sees the GNU GPL to be an enforceable and binding license."[76]
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 them, as they had distributed Linux and other GPL'ed 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. For more information, see SCO-Linux controversies and SCO v. IBM.
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'ed software in violation of the terms of the GPL. Harald Welte, of Netfilter, was represented by ifrOSS co-founder Till Jaeger. On July 2004, the German court confirmed this injunction as a final ruling against Sitecom.[77] The court's justification was that:
- Defendant has infringed on the copyright of 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 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 exactly mirrored the predictions given previously by the FSF's Eben Moglen. This ruling was important because it was the first time that a court had confirmed that violating terms of the GPL could be a copyright violation and established jurisprudence as to the enforceability of the GPL version 2 under German law.[78]
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 anti-trust 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".[79] Wallace was denied the possibility of further amending his complaint, and 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.[80] Defendants argued that since it is impossible to maintain trade secrets while being compliant with GPL and distributing the work, they are not in breach of trade secrets. This argument was considered without ground.
On 6 September 2006, the gpl-violations.org project prevailed in court litigation against D-Link Germany GmbH regarding D-Link's copyright-infringing use of parts of the Linux Kernel in storage devices they distributed.[81] The judgment stated that the GPL is valid, legally binding, and stands in German court.[82]
In late 2007, the BusyBox developers and the Software Freedom Law Center embarked upon a program to gain GPL compliance from distributors of BusyBox in embedded systems, suing those who would not comply. These 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, of the FSF's GPL-licensed coreutils, readline, Parted, Wget, GNU Compiler Collection, binutils, and GNU Debugger software packages, which Linksys distributes in the Linux firmware[83] of its WRT54G wireless routers, as well as numerous other devices including DSL and Cable modems, Network Attached Storage devices, Voice-Over-IP gateways, Virtual Private Network devices and a home theater/media player device.[84]
After six years of repeated complaints to Cisco by the FSF, claims by Cisco that they would correct, or were correcting, their compliance problems (not providing complete copies of all source code and their modifications), of repeated new violations being discovered and reported with more products, and lack of action by Linksys (a process described on the FSF blog as a "five-years-running game of Whack-a-Mole"[84]) the FSF took them to court.
Cisco settled the case six months later by agreeing "to appoint a Free Software Director for Linksys" to ensure compliance, "to notify previous recipients of Linksys products containing FSF programs of their rights under the GPL," to make source code of FSF programs freely available on its website, and to make a monetary contribution to the FSF.[85]
In 2011 it was noticed that GNU Emacs had violated its GPL license for the previous two years.[86][87][88] Richard Stallman described this incident as "a very bad mistake",[89] no lawsuit was filed for this violation.
Compatibility and multi-licensing
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.[90] In addition to the regular terms of the GPL, there are additional restrictions and permissions one can apply:
- If a user wants to combine code licensed under different versions of GPL, then this is only allowed if the code with the older GPL version includes an "any later version" statement.[91] For instance, the GPLv3 licensed GNU LibreDWG library can't be used anymore by LibreCAD and FreeCAD who have GPLv2 only dependencies.[92][93]
- Code licensed under LGPL is permitted to be linked with any other code no matter what license that code has,[94] though the LGPL does add additional requirements for the combined work. LGPLv3 and GPLv2-only can thus commonly not be linked, as the combined Code work would add additional LGPLv3 requirements on top of the GPLv2-only licensed software. Code licensed under LGPLv2.x without the "any later version" statement can be relicensed if the whole combined work is licensed to GPLv2 or GPLv3.[95]
FSF maintains a list[96] of GPL-compatible free software licenses[97][98] with many of the most common free software licenses, such as the original MIT/X license, the BSD license (in its current 3-clause form) and the Artistic License 2.0.[99]
David A. Wheeler has advocated that free/open source software developers use only GPL-compatible licenses, because doing otherwise makes it difficult for others to participate and contribute code.[100] As a specific example of license incompatibility, Sun Microsystems' ZFS cannot be included in the GPL-licensed Linux kernel, because it is licensed under the GPL-incompatible CDDL. Furthermore, ZFS is protected by patents, so distributing an independently developed GPL-ed implementation would still require Oracle's permission.[101]
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, using dynamic linking or not. Examples of such companies include MySQL AB, Digia PLC (Qt framework, before 2011 from Nokia), Red Hat (Cygwin) and Riverbank Computing (PyQt). Other companies, like the Mozilla Foundation (products include Mozilla Application Suite, Mozilla Thunderbird and Mozilla Firefox), used multi-licensing to distribute versions under the GPL and some other open-source licenses.
Use for text and other media
It is possible to use the GPL for text documents instead of computer programs, or more generally for all kinds of media, if it is clear what constitutes the source code (defined as "the preferred form of the work for making changes in it").[102] For manuals and textbooks, though, the FSF recommends the GNU Free Documentation License (GFDL) instead, which it created for this purpose.[103] Nevertheless, the Debian developers recommended (in a resolution adopted in 2006) to license documentation for their project under the GPL, because of the incompatibility of the GFDL with the GPL (text licensed under the GFDL cannot be incorporated into GPL software).[104][105] Also, the FLOSS Manuals foundation, an organization devoted to creating manuals for free software, decided to eschew the GFDL in favor of the GPL for its texts in 2007.[106]
If the GPL is used for fonts, any documents or images made with such fonts might also have to be distributed under the terms of the GPL. This is not the case in countries like the US and Canada where copyright law is inapplicable to the appearance of fonts, though program code inside a font file may still be covered—which can complicate font embedding (since the document could be considered 'linked' to the font). FSF provides an exception for cases where this is not desired.[107][108]
Adoption
Historically, the GPL license family has been one of the most popular software licenses in the FOSS domain.[6][8][9][10][11][13]
A 1997 survey of MetaLab, then the largest free software archive, showed that the GPL accounted for about half of the software licensed therein.[8] 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, about 68% of all projects and 82.1% of the OSI certified licensed projects listed on SourceForge.net were from the GPL license family.[109] As of August 2008, the GPL family accounted for 70.9% of the 44,927 free software projects listed on Freecode.[10]
After the release of the GPLv3 in June 2007, the acceptance and adoption of this new GPL version was heavily discussed;[110] several projects decided against upgrading. For instance the linux kernel,[15][44] MySQL,[111] BusyBox,[112][113] AdvFS,[114] Blender,[115] and as also the VLC media player decided against adopting the GPLv3.[116] On the other hand, in 2009, two years after the release of the GPLv3, Google open-source programs office manager Chris DiBona reported that the number of open-source projects licensed software that had moved to GPLv3 from GPLv2 was 50%, counting the projects hosted at Google Code.[11]
In 2011, four years after the release of the GPLv3, 6.5% of all open-source license projects are GPLv3 while 42.5% are GPLv2 according to Black Duck Software data.[117][118] Following in 2011 451 Group analyst Matthew Aslett argued in a blog post that copyleft licenses went into decline and permissive licenses increased, based on statistics from Black Duck Software.[119][120] Similarly, in February 2012 Jon Buys reported that among the top 50 projects on GitHub five projects were under a GPL license, including dual licensed and AGPL projects.[121]
GPL usage statistic from 2009 to 2013 was extracted from Freecode data by Walter van Holst while analyzing license proliferation.[12]
2009 | 2010 | 2011 | 2012 | 2013 | 2014-06-18[122][123] |
---|---|---|---|---|---|
72% | 63% | 61% | 59% | 58% | approx. 54% |
In August 2013, according to Black Duck Software, the website's data show that the GPL license family is used by 54% of open-source projects, with a breakdown of the individual licenses shown in the following table.[13] However, a later study in 2013 showed that software licensed under the GPL license family has increased, and that even the data from Black Duck Software have shown a total increase of software projects licensed under GPL. The study used public information gathered from repositories of the Debian Project, and the study criticized Black Duck Software for not publishing their methodology used in collecting statistics.[124] Daniel German, Professor in the Department of Computer Science at the University of Victoria in Canada, presented a talk in 2013 about the methodological challenges in determining which are the most widely used free software licenses, and showed how he could not replicate the result from Black Duck Software.[125]
In 2015 according to BlackDuck the GPLv2 lost its first position on the MIT license and is now second, the GPLv3 dropped to fourth place while the Apache license kept its third position.[6]
License | 2008-05-08[126] | 2009-03-11[127] | 2011-11-22[117] | 2013-08-12[13] | 2015-11-19[6] |
---|---|---|---|---|---|
GPLv2 | 58.69% | 52.2% | 42.5% | 33% | 23% |
GPLv3 | 1.64% | 4.15% | 6.5% | 12% | 9% |
LGPL 2.1 | 11.39% | 9.84% | ? | 6% | 5% |
LGPL 3.0 | ? (<0.64%) | 0.37% | ? | 3% | 2% |
GPL family together | 71.72% (+ <0.64%) | 66.56% | ? | 54% | 39% |
A March 2015 analysis of the GitHub repositories revealed for the GPL license family an usage percentage of approx. 25%.[128]
Reception
Legal barrier to app stores
The GPL License is incompatible with many application digital distribution systems, like the Mac App Store, and certain other software distribution platforms (on smartphones as well as PCs). The problem lies in the right "To make a copy for your neighbour", as this right is violated by the integrated DRM-Systems made to prevent copying of paid software. Even if the application is free-as-in-beer in the App Store in question, it might result in a violation of that app store's terms.[129]
Note that 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. Various UNIX-like distributions provide app repositories, including Fedora, RHEL, CentOS, Ubuntu, Debian, FreeBSD, OpenBSD and so on. These specific app repos 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[130]). 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 reason that the Mac App Store (and similar projects) is incompatible with GPL-licensed apps is not inherent in the concept of an app store, but is rather specifically due to Apple's terms-of-use requirement[129] that all apps in the store utilize Apple DRM-restrictions. Ubuntu's app store does not demand any such requirement: "These terms do not limit or restrict your rights under any applicable open source software licenses."[131]
Microsoft
In 2001, Microsoft CEO Steve Ballmer referred to Linux as "a cancer that attaches itself in an intellectual property sense to everything it touches".[132][133] In response to Microsoft's attacks on the GPL, several prominent Free Software developers and advocates released a joint statement supporting the license.[134] Microsoft has released Microsoft Windows Services for UNIX, which contains GPL-licensed code. In July 2009, Microsoft itself released a body of around 20,000 lines of Linux driver code under the GPL.[135] The Hyper-V code that is part of the submitted code used open-source components licensed under the GPL and was originally statically linked to proprietary binary parts, the latter being inadmissible in GPL-licensed software.[136]
"Viral" nature
The description of the GPL as "viral", when called 'General Public Virus' or 'GNU Public Virus' (GPV), dates back to a year after the GPLv1 was released.[137][138][139][140][141][142]
In 2001 the term received broader public attention when Craig Mundie, Microsoft Senior Vice President, described the GPL as being "viral".[143] Mundie argues that the GPL has a "viral" effect in that it only allows the conveyance of whole programs, which means programs that link to GPL libraries must themselves be under a GPL-compatible license, else they cannot be combined and distributed.
In 2006 Richard Stallman responded in an interview that Mundie's metaphor of a "virus" is wrong as software under the GPL does not "attack" or "infect" other software. Stallman believes that comparing the GPL to a virus is an extremely unfriendly thing to say, and that a better metaphor for software under the GPL would be a spider plant: If one takes a piece of it and puts it somewhere else, it grows there too.[144][145][146]
On the other hand, the concept of a viral nature of the GPL was taken up by others later too.[147][148][149][150][151] For instance in 2008 the California Western School of Law characterized the GPL as: "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".[152]
Barrier to commercialization
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" and that the GPL can "present a real problem for those wishing to commercialize and profit from software".[153]
Richard Stallman wrote about the practice of selling license exceptions to free software licenses as an example of ethically acceptable commercialization practice. Selling exceptions here means that the copyright holder of a given software releases it (along with the corresponding source code) to the public under a free software license, "then lets customers pay for permission to use the same code under different terms, for instance allowing its inclusion in proprietary applications". Stallman considered selling exceptions "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". Despite that the FSF doesn't practice selling exceptions, a comparison with the X11 license (which is a non-copyleft free software license) is proposed for suggesting that this commercialization technique should be regarded as ethically acceptable. Releasing a given program under a noncopyleft 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 noncopyleft 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".[154]
Open-source criticism
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".[155][156]
In 2005, open source software advocate Eric S. Raymond questioned the relevance of GPL at that point in time for the FOSS ecosystem, stating: "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.".[157] Richard Stallman replied that: "GPL 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."[158]
In 2007 Allison Randal, who took part in the GPL draft committee, criticized the GPLv3 for being incompatible with the GPLv2[159] and for missing clarity in the formulation.[160]
In 2009 David Chisnall described in an InformIT article, "The Failure of the GPL", the problems with the GPL, among them incompatibility and complexity of the license text.[161]
In 2014 dtrace developer and Joyent CTO Bryan Cantrill called the copyleft GPL a "Corporate Open Source Anti-pattern" by being "anti-collaborative" and recommended instead permissive software licenses.[162]
GPLv3 separates community further
Already in September 2006, in the draft process of the GPLv3, several high-profile developers of the Linux kernel, for instance Linus Torvalds, Greg Kroah-Hartman and Andrew Morton, warned on a splitting of the FOSS community: "the release of GPLv3 portends the Balkanisation of the entire Open Source Universe upon which we rely.".[41] Similarly Benjamin Mako Hill argued in 2006 on the GPLv3 draft, noting that a united, collaborating community is more important than a single license.[163]
Following the GPLv3 release in 2007, some journalists[44][117][164] and Toybox developer Rob Landley[47] criticized that with the introduction of the GPLv3 the split between the open source and free software community became wider than ever. As the significantly extended GPLv3 is essentially incompatible with the GPLv2,[91] compatibility between both is only given under the optional "or later" clause of the GPL, which was not taken for instance by the Linux kernel.[15] Bruce Byfield noted that before the release of the GPLv3, the GPLv2 was a unifying element between the open-source and the free software community.[117]
For the LGPLv3, GNU TLS maintainer Nikos Mavrogiannopoulos similarly argued, "If we assume that its [the LGPLv3] primary goal is to be used by free software, then it blatantly fails that.",[165] after he re-licensed GNU TLS from LGPLv3 back to LGPLv2.1 due to license compatibility issues.[166][167]
Lawrence Rosen, attorney and computer specialist, praised in 2007 how the community using the Apache license were now able to work together with the GPL community in a compatible manner, as the problems of GPLv2 compatibility with Apache licensed software were resolved with the GPLv3. He said, "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."[168]
In July 2013 Flask developer Armin Ronacher draw a less optimistic resume on the GPL compatibility in the FOSS ecosystem when he concluded:"When the GPL is involved the complexities of licensing becomes a non fun version of a riddle.", also noting that the ASL 2.0 GPLv2 conflict still has impact on the ecosystem.[169][170]
See also
- Anti-copyright
- Dual-licensing
- European Union Public Licence (EUPL)
- GPL font exception
- List of software licenses
- Permissive and copyleft licenses
References
- ↑ "Debian – License information". Software in the Public Interest, Inc. Retrieved 10 December 2009.
- 1 2 "Licenses – Free Software Foundation". Free Software Foundation. Retrieved 10 December 2009.
- ↑ "Licenses by Name". Open Source Initiative. Retrieved 10 December 2009.
- ↑ "Copyleft: Pragmatic Idealism – Free Software Foundation". Free Software Foundation. Retrieved 10 December 2009.
- ↑ "If a library is released under the GPL (not the LGPL)". Free Software Foundation.
- 1 2 3 4 5 "Top 20 licenses". Black Duck Software. 19 November 2015. Retrieved 19 November 2015.
1. MIT license 24%, 2. GNU General Public License (GPL) 2.0 23%, 3. Apache License 16%, 4. GNU General Public License (GPL) 3.0 9%, 5. BSD License 2.0 (3-clause, New or Revised) License 6%, 6. GNU Lesser General Public License (LGPL) 2.1 5%, 7. Artistic License (Perl) 4%, 8. GNU Lesser General Public License (LGPL) 3.0 2%, 9. Microsoft Public License 2%, 10. Eclipse Public License (EPL) 2%
- ↑ GPL FAQ: Does using the GPL for a program make it GNU Software?
- 1 2 3 David A. Wheeler. "Make Your Open Source Software GPL-Compatible. Or Else".
- 1 2 3 David A. Wheeler. "Estimating Linux's Size".
- 1 2 3 "Freecode's statistics page". Archived from the original on 2008-08-28.
GPL 60.5%, lGPLv2 6.9%, GPLv2 1.9% GPLv3 1.6%
- 1 2 3 Asay, Matt (23 July 2009). "GPLv3 hits 50 percent adoption | The Open Road - CNET News". News.cnet.com. Retrieved 2 September 2013.
- 1 2 3 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%."
- 1 2 3 4 "Top 20 licenses". Black Duck Software. 23 August 2013. Retrieved 23 August 2013.
1. GNU General Public License (GPL) 2.0 33%, 2. Apache License 13%, 3. GNU General Public License (GPL) 3.0 12%
- ↑ "Why the GPL rocketed Linux to success".
So while the BSDs have lost energy every time a company gets involved, the GPL'ed programs gain every time a company gets involved.
- 1 2 3 4 5 Torvalds, Linus. "COPYING". kernel.org. Retrieved 13 August 2013.
Also note that the 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 (2000-09-08). "Linux-2.4.0-test8". lkml.iu.edu. Retrieved 2015-11-21.
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 Emacs Copying Permission Notice (1985)". Retrieved 2015-11-08.
- ↑ "The History of the GPL". Retrieved 24 November 2011.
- 1 2 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.
- 1 2 Stallman, Richard (25 February 2006). "Presentation in Brussels, Belgium—the first day of that year's FOSDEM conference.".
- ↑ Interview with Richard Stallman, Free Software Magazine, 23 January 2008.
- ↑ "A Quick Guide to GPLv3 – GNU Project – Free Software Foundation (FSF)". Free Software Foundation.
- ↑ "GPLv3: Drafting version 3 of the GNU General Public License". Free Software Foundation Europe.
- ↑ "gplv3.fsf.org comments for discussion draft 4".
- ↑ "gplv3.fsf.org comments for draft 1".
Showing comments in file 'gplv3-draft-1' [...] found 962
- ↑ "gplv3.fsf.org comments for draft 2".
Showing comments in file 'gplv3-draft-1' [...] found 727
- ↑ "gplv3.fsf.org comments for draft 3".
Showing comments in file 'gplv3-draft-3' [...] found 649
- ↑ "gplv3.fsf.org comments for draft 4".
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. 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”.
- ↑ Why did you decide to write the GNU Affero GPLv3 as a separate license? on gnu.org
- 1 2 3 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 2015-03-11.
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?". linuxjournal.com. Retrieved 2015-03-11.
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.
- ↑ Linus Torvalds says GPL v3 violates everything that GPLv2 stood for Debconf 2014, Portland, Oregon (accessed 11 March 2015)
- 1 2 3 Kerner, Sean Michael (2008-01-08). "Torvalds Still Keen On GPLv2". internetnews.com. Retrieved 2015-02-12.
"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 Project – Free Software Foundation (FSF)". Free Software Foundation.
- 1 2 Landley, Rob. "CELF 2013 Toybox talk". landley.net. Retrieved 21 August 2013.
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.[...]
- ↑ "GNU General Public License". Retrieved 15 June 2012.
- 1 2 "Selling Free Software". Free Software Foundation.
- ↑ GPL FAQ: Use GPL Tools to develop non-free programs
- ↑ GPL FAQ: GPL require source posted to public, Unreleased modifications, Internal Distribution
- 1 2 GPL FAQ: Port program to GNU/Linux
- ↑ 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 has to be made available— for the developer's own self-developed software components this is not required (even when the underlying operating system used is licensed under GPL, as is the case with Linux).
- ↑ A counter example is the GPL'ed GNU Bison: the parsers 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: "Conditions for Using Bison". Retrieved 11 December 2008.
- ↑ "Reasoning behind the "preferred form" language in the GPL". LWN.net. 7 March 2011.
- ↑ "Essay by Stallman explaining why a license is more suitable than a contract".
- ↑ "Eben Moglen explaining why the GPL is a license and why it matters".
- ↑ Guadamuz-Gonzalez, Andres (2004). "Viral contracts or unenforceable documents? Contractual validity of copyleft licenses". European Intellectual Property Review 26 (8): 331–339.
- ↑ Allison Randal (14 May 2007). "GPLv3, Clarity and Simplicity". Archived from the original on 15 October 2008.
- ↑ "GPL FAQ: Can I modify the GPL and make a modified license?".
- ↑ "The GNU General Public License Version 3". Free Software Foundation. 29 June 2007. Retrieved 21 July 2009.
- ↑ "GPL FAQ: Does the GPL require that source code of modified versions be posted to the public?".
- ↑ "Frequently Asked Questions about the GNU Licenses – GNU Project – Free Software Foundation (FSF)". FSF. Retrieved 15 March 2011.
- ↑ "Why you shouldn't use the Lesser GPL for your next library – GNU Project – Free Software Foundation (FSF)". Gnu.org. 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, 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).
- 1 2 Lawrence Rosen, Derivative Works, Linux Journal (1 January 2003).
- ↑ Lawrence Rosen, Derivative Works, rosenlaw.com (25 May 2004)
- ↑ "Why They’re Wrong: WordPress Plugins Shouldn’t Have to be GPL". Webmaster-source.com. 29 January 2009. Retrieved 15 January 2011.
- ↑ "Licensing FAQ". Drupal.org. Retrieved 15 January 2011.
- ↑ "Frequently Asked Questions about the GNU Licenses – GNU Project – Free Software Foundation (FSF)". Gnu.org. 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, Slide 10
- ↑ See Progress Software Corporation v. MySQL AB, 195 F. Supp. 2d 328 (D. Mass. 2002), on defendant's motion for preliminary injunction.
- ↑ "Judge Saris defers GNU GPL Questions for Trial in MySQL vs. Progress Software". gnu.org. Retrieved 24 March 2011.
- ↑ "Groklaw - The German GPL Order - Translated". groklaw.net.
- ↑ Bird & Bird, A Review of German Case Law on the GNU General Public License, 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.
- ↑ gpl-violations.org project prevails in court case on GPL violation by D-Link
- ↑ D-Link Judgment (English translation) (English) D-Link Judgement (German)
- ↑ Ewing, James (1 August 2004). "Linux on Linksys Wi-Fi Routers". Linux Journal. Retrieved 23 January 2012.
- 1 2 "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 (Jul 29, 2011). "Say what? GNU Emacs violates the GPL". Network World. Retrieved 2016-01-19.
- ↑ License revoked: Applying Section 4 of the GPL and the lessons of Best Buy to Google’s Android on brownrudnick.com by Edward J. Naughton (Aug 8, 2011)
- ↑ Emacs-Has-Been-Violating-the-GPL-Since-2009 on slashdot.org (2011)
- ↑ Re: Compiled files without sources???? Richard Stallman (28 Jul 2011)
- ↑ "The GNU General Public License v3.0 – GNU Project – Free Software Foundation (FSF)". fsf.org. Retrieved 24 March 2010.
- 1 2 "Frequently Asked Questions about the GNU Licenses – Is GPLv3 compatible with GPLv2?". gnu.org. 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. 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?". libregraphicsworld.org. Retrieved 23 August 2013.
[...]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.
- ↑ "Frequently Asked Questions about the GNU Licenses – How are the various GNU licenses compatible with each other?". The official site. Retrieved 13 April 2011.
- ↑ "Various licenses with comments – GPL-Compatible Free Software Licenses". FSF. Retrieved 20 April 2012.
- ↑ "Frequently Asked Questions about the GNU Licenses – What does it mean to say that two licenses are "compatible"?". FSF. Retrieved 14 April 2011.
- ↑ "Frequently Asked Questions about the GNU Licenses – What does it mean to say a license is "compatible with the GPL?"". FSF. Retrieved 14 April 2011.
- ↑ "Black Duck Open Source Resource Center". blackducksoftware.com. Retrieved 26 April 2011.
- ↑ "Make Your Open Source Software GPL-Compatible. Or Else.". David A. Wheeler. Retrieved 26 April 2011.
- ↑ Linux: ZFS, Licenses and Patents | KernelTrap
- ↑ Free Software Foundation: Frequently Asked Questions about the GNU Licenses: Can I use the GPL for something other than software?. Retrieved 20 June 2009.
- ↑ GNU project: Frequently Asked Questions about the GNU Licenses: Why don't you use the GPL for manuals? . Retrieved 20 June 2009.
- ↑ Srivastava, Manoj (2006). "Draft Debian Position Statement about the GNU Free Documentation License (GFDL)". Retrieved 2007-09-25.
It is not possible to borrow text from a GFDL'd manual and incorporate it in any free software program whatsoever. This is not a mere license incompatibility. It's not just that the GFDL is incompatible with this or that free software license: it's that it is fundamentally incompatible with any free software license whatsoever. So if you write a new program, and you have no commitments at all about what license you want to use, saving only that it be a free license, you cannot include GFDL'd text. The GNU FDL, as it stands today, does not meet the Debian Free Software Guidelines. There are significant problems with the license, as detailed above; and, as such, we cannot accept works licensed under the GNU FDL into our distribution.
- ↑ Debian Project: Resolution: Why the GNU Free Documentation License is not suitable for Debian. Voted February–March 2006. Retrieved 20 June 2009.
- ↑ FLOSS Manuals foundation: License Change 6 June 2007. Retrieved 20 June 2009.
- ↑ "Font Licensing".
- ↑ "How does the GPL apply to fonts?".
- ↑ "SourceForge.net: Software Map". Dwheeler.com. 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 (2008-05-08). "The Curse of Open Source License Proliferation". socializedsoftware.com. Retrieved 2015-11-30.
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.
- ↑ MySQL changes license to avoid GPLv3 on Computer business review online (January 04, 2007)
- ↑ corbet (2006-10-01). "Busy busy busybox". lwn.net. Retrieved 2015-11-21.
Since BusyBox can be found in so many embedded systems, it finds itself at the core of the GPLv3 anti-DRM debate. [...]The real outcomes, however, are this: BusyBox will be GPLv2 only starting with the next release. It is generally accepted that stripping out the "or any later version" is legally defensible, and that the merging of other GPLv2-only code will force that issue in any case
- ↑ Landley, Rob (2006-09-09). "Re: Move GPLv2 vs v3 fun...". lwn.net. Retrieved 2015-11-21.
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.
- ↑ Press release concerning the release of the AdvFS source code
- ↑ Prokoudine, Alexandre (26 January 2012). "What's up with DWG adoption in free software?". libregraphicsworld.org. Retrieved 2015-12-05.
[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 2015-11-21.
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.
- 1 2 3 4 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 on ITworld on December 16, 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. Retrieved 23 August 2013.
- ↑ Aslett, Matthew (2011-12-15). "On the continuing decline of the GPL". the451group.com.
- ↑ The Top Licenses on Github on ostatic.com by Jon Buys (Feb. 07, 2012)
- ↑ tags letter g tagged as GPL family (including misnamed variants) 21000+100+3000+2000+400 of 47985 projects on freecode (2014-06-18 frozen)
- ↑ About Freecode on freecode.com "The Freecode site has been moved to a static state effective June 18, 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 (2008-05-08). "The Curse of Open Source License Proliferation". socializedsoftware.com. Retrieved 2015-11-30.
GNU General Public License (GPL) 2.0 58.69% GNU Lesser General Public License (LGPL) 2.1 11.39% Artistic License (Perl) 7.46% BSD License 6.50% Apache License 2.0 2.92% MIT License 2.58% GNU General Public Liense (GPL) 3.0 1.64% Mozilla Public License (MPL) 1.1 1.37% Common Public License 0.83% zlib/lippng License 0.64%
- ↑ Top 20 Most Commonly Used Open Source Licenses Shaun Connolly, March 11, 2009
- ↑ Balter, Ben (2015-03-09). "Open source license usage on GitHub.com". github.com. Retrieved 2015-11-21.
1 MIT 44.69%, 2 Other 15.68%, 3 GPLv2 12.96%, 4 Apache 11.19%, 5 GPLv3 8.88%, 6 BSD 3-clause 4.53%, 7 Unlicense 1.87%, 8 BSD 2-clause 1.70%, 9 LGPLv3 1.30%, 10 AGPLv3 1.05%
- 1 2 "The GPL, the App Store and You" on tuaw.com
- ↑ "Copyright Policy", OpenBSD
- ↑ "Ubuntu One : Terms and Conditions". One.ubuntu.com. 29 August 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)
- ↑ text of GPL v1 with reference to source code download site at microsoft.com
- ↑ Free Software Leaders Stand Together. 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. Retrieved 29 April 2007.
- ↑ Stewart, Bill (8 October 1998). "Re: propose: `cypherpunks license' (Re: Wanted: Twofish source code)". Cypherpunks mailing list. 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". 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 0-415-97893-9.
- ↑ Williams, Sam (March 2002). Free as in Freedom: Richard Stallman's Crusade for Free Software. O'Reilly Media. ISBN 0-596-00287-4.
- ↑ Geere, Duncan (2011-12-16). "Some rights reserved: the alternatives to copyright (Wired UK)". Wired.co.uk. Retrieved 2015-05-30.
- ↑ "Glossary". A2Knetwork.org. Retrieved 2015-05-30.
- ↑ "Inoculating Your Purchase – Contractual Protection from Viral Licenses in M&A Transactions" (PDF). Friedfrank.com. Retrieved 2015-05-30.
- ↑ Archived 16 March 2015 at the Wayback Machine.
- ↑ New Media Rights (2008-09-12). "Open Source Licensing Guide". California Western School of Law. Retrieved 2015-11-28.
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.
- ↑ Montague, Bruce (2013-11-13). "GPL Advantages and Disadvantages". FreeBSD. Retrieved 2015-11-28.
- ↑ Richard Stallman (2010). On Selling Exceptions to the GNU GPL. Free Software Foundation.
- ↑ Bezroukov, 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 - Harvard University by Josh Lerner and Jean Tirole (2002)
- ↑ Biancuzzi, Federico (2005-06-30). "ESR: "We Don't Need the GPL Anymore"". onlamp.com. Retrieved 2015-02-10.
"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. 2005-09-22. Retrieved 2015-02-12.
"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 (April 13, 2007). "GPLv3, Linux and GPLv2 Compatibility". radar.oreilly.com. O'Reilly Media. Retrieved 2016-01-19.
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.
- ↑ Randal, Allison (May 14, 2007). "GPLv3, Clarity and Simplicity". radar.oreilly.com. O'Reilly Media. Retrieved 2016-01-19.
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.
- ↑ Chisnall, David (2009-08-31). "The Failure of the GPL". informit.com. Retrieved 2016-01-24.
- ↑ Cantrill, Bryan (2014-09-17). "Corporate Open Source Anti-patterns". Retrieved 2015-12-26.
Anti-pattern: Anti-collaborative licensing
- ↑ Hill, Benjamin Mako (January 28, 2006). "Notes on the GPLv3". linux.com. Retrieved 2016-01-25.
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 (2007-07-10). "Linux Creator Calls GPLv3 Authors 'Hypocrites' As Open Source Debate Turns Nasty". informationweek.com. Archived from the original on 2008-04-13. Retrieved 2015-02-12.
[...]the latest sign of a growing schism in the open source community between business-minded developers like Torvalds and free software purists.
- ↑ Mavrogiannopoulos, Nikos (2013-03-26). "The perils of LGPLv3". gnutls.org. Retrieved 2015-11-18.
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.
- ↑ 2013-03-14 Nikos Mavrogiannopoulos (nmav@gnutls.org) * COPYING.LESSER, README: gnutls 3.1.10 is LGPLv2.1
- ↑ Nikos Mavrogiannopoulos (2012-12-18). "gnutls is moving". Retrieved 2012-12-11.
- ↑ Rosen, Lawrence (2007). "Comments on GPLv3". Rosenlaw.com. Retrieved 22 August 2014.
- ↑ Ronacher, Armin (2013-07-23). "Licensing in a Post Copyright World". lucumr.pocoo.org. Retrieved 2015-11-18.
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.
- ↑ Are you sure you want to use the GPL? by Armin Ronacher (2009)
External links
Wikibooks has a book on the topic of: Free software Licensing |
- GNU General Public License (version 3)
- 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, July 4, 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
- GPL, BSD, and NetBSD – why the GPL rocketed Linux to success by David A. Wheeler
- GNU General Public License and Commentaries, edited by Robert Chassell
- List of presentation transcripts about the GPL and free software licenses by the FSFE
- Make Your Open Source Software GPL-Compatible. Or Else. by David A. Wheeler — Why a GPL-compatible license is important to the health of a project (7 April 2004)
- The Labyrinth of Software Freedom BSD vs GPL and social aspects of free licensing debate, by Nikolai Bezroukov
|
|