GNU General Public License
From Freepedia
- For other uses of "GPL", see GPL (disambiguation).
The GNU General Public License (GNU GPL or simply GPL) is a free software license, originally written by Richard Stallman for the GNU project. It has since become the most popular license for free software. The latest version of the license, version 2, was released in 1991. The GNU Lesser General Public License (LGPL) is a modified version of the GPL, intended for some software libraries.
Contents |
Freedom
The GPL grants the recipients of a computer program the following rights, or "freedoms":
- the freedom to run the program, for any purpose.
- the freedom to study how the program works, and modify it. (Access to the source code is a precondition for this)
- the freedom to redistribute copies.
- the freedom to improve the program, and release the improvements to the public. (Access to the source code is a precondition for this)
In contrast, the end-user licenses that come with proprietary software rarely grant the end-user any rights (other than the right to use the software, although it is debatable whether one requires a license for use per se), and may even attempt to restrict activities normally permitted by law, such as reverse engineering.
The primary difference between the GPL and more "permissive" free software licenses such as the BSD License is that the GPL seeks to ensure that the above freedoms are preserved in copies and in derivative works. It does this using a legal mechanism known as copyleft, invented by Stallman, which requires derivative works of GPL-licensed programs to also be licensed under the GPL. In contrast, BSD-style licenses allow for derivative works to be redistributed as proprietary software.
By some measures, the GPL is the single most popular license for free and open source software. As of April 2004, the GPL accounted for nearly 75% of the 23,479 free-software projects listed on Freshmeat, and about 68% of the projects listed on SourceForge. (It should be noted that these two sites are owned by OSTG, a company that advocates Linux and the GPL.) Similarly, a 2001 survey of Red Hat Linux 7.1 found that 50% of the source code was licensed under the GPL, and 1997 survey of Metalab, then the largest free-software archive, showed that the GPL accounted for about half of the licenses used. Prominent free software programs licensed under the GPL include the Linux kernel and the GNU Compiler Collection (GCC). Some other prominent free software programs are licensed under multiple licenses, one of which is the GPL; Perl is a well-known example (see Category:Free software).
History
The GPL was written by Richard Stallman for use with programs released as part of the GNU project. It was based on a unification of similar licenses used for early versions of GNU Emacs, the GNU Debugger and the GNU Compiler Collection. These licenses contained similar provisions to the modern GPL, but were specific to each program. 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. This became the GPL version 1, released in January 1989.
By 1990, it was becoming apparent that a less restrictive license would be strategically useful for some software libraries; when version 2 of the GPL was released in June 1991, therefore, a second license - the Library General Public License, or LGPL - was introduced alongside it, and was also numbered version 2 to show that the two were complementary. The version numbers diverged in 1999 when version 2.1 of the LGPL was released, which renamed it the Lesser General Public License to reflect its place in the GNU philosophy.
In May of 2005, Daniel Wallace filed suit against the Free Software Foundation (FSF) in the Southern District of Indiana. The suit contends that the GPL is an attempt to fix prices at zero. The FSF has moved to dismiss Daniel Wallace's complaint,
GPLv3
As of 2005, version 3 of the GPL is being written by Eben Moglen and Richard Stallman. In the post-talk questions and answers session of Stallman's April 7 2005 talk in Philadelphia, Stallman said the following when asked about what changes were being considered for the GPLv3: [1]
- Overall it's going to be the same, but there's just various areas where we're looking at changes in details. And, one of them is that we might put in some kind of patent retaliation clause, but it's hard to see what's a good one to do. We'll put in something to deal with this case of public use on a server the public connects to. We may put in something designed to prohibit putting the software into something that won't let the user, that refuses to run a modified version if the user installs one.
- We might put in something refusing to allow DRM modifications. Maybe, maybe not. We're putting in things — this part is pretty much designed already — that will allow a wider range of simple permissive licenses to be compatible with the GPL. We have reworked the system library exception.
- So I hope this shows you that it's all a matter of details here or there. It would be completely wrong to change the major outline of the GPL. And we're not going to.
In 2006, there will be a 12-month public consultation about the possible changes to the GPL. This process is being coordinated by Free Software Foundation, Software Freedom Law Center, and Free Software Foundation Europe.
License terms
The following is a colloquial summary of the terms of the GPL. The only legally precise description, however, is that of the actual text of the GPL, which is available through an external link at the end of this article.
Granting of rights
The terms and conditions of the GPL are available to anybody receiving a copy of the GPLed work ("the licensee"). Any licensee accepting 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. Stallman has argued that free software should not place restrictions on commercial use, and the GPL explicitly states that GPLed works may be (re)sold.
The GPL additionally states that a distributor may not impose "further restrictions on the rights granted by the GPL". This forbids e.g. the distribution of the software under a non-disclosure agreement or contract. Distributors under the GPL also grant a license for any of their patents practiced by the software, to practice those patents in GPL software.
The copyleft
The GPL does not give the licensee unlimited redistribution rights. The right to redistribute is granted only if the licensee includes the source code (or a legally-binding offer to provide the source code), including any modifications made. Furthermore, the distributed copies, including the modifications, must also be licensed under the terms of the GPL.
This requirement is known as copyleft, and it gets its legal teeth from the fact that the program is copyrighted. Because it is copyrighted, a licensee has no right to modify or redistribute it (barring fair use), except under the terms of the copyleft. One is only required to accept 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), they can be sued by the original author under copyright law.
The 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. This is the reason the GPL has been described as a "copyright hack". It also ensures that unlimited redistribution rights are not granted, should any legal flaw (or "bug") 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. For Internet distribution, this complies with the license.
The copyleft only applies when a person seeks to redistribute the program. One is allowed to make private modified versions, without any obligation to divulge the modifications as long as the modified software is not distributed to anyone else. Note that the copyleft only applies to the software and not to its output (unless that output is itself a derivative work of the program); for example, a web portal running a modified GPL content management system is not required to distribute its changes to the underlying software. (It has been suggested that this be changed for version 3 of the GPL.)
The GPL is a license
The GPL was designed as a license, rather than a contract. 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 the GPL, as a license, is enforced under the terms of copyright law. However, this distinction is not useful in the many jurisdictions where there are no differences between contracts and licences, such as Civil Law systems.
The way the GPL license works is simple, if you do not agree to and abide by the GPL's terms you do not have permission, under copyright law, to copy or distribute GPL licensed software or derivative works. It does not mean that the rules of the GPL do not apply to you and that you may use the software however you like. The default is the restrictions of copyright law, not the anarchy of the public domain.
Copyright holders
The text of the GPL is itself copyrighted, and the copyright is held by the Free Software Foundation (FSF). However, 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.
Unlike the works released under the GPL, the GPL itself is not freely modifiable: copying and distribution is allowed, but changing the text of the GPL itself is generally forbidden. The FSF does permit 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 is generally incompatible with the GPL. (See the GPL FAQ for more information.)
Other licenses created by the GNU project include the GNU Lesser General Public License and the GNU Free Documentation License.
GPL-related disputes
A key dispute related to the GPL is whether or not non-GPL software can dynamically link to GPL libraries. The GPL is clear in requiring that all derivative works of GPL'ed code must themselves be GPL'ed. However, it is not clear whether an executable that dynamically links to a GPL library should be considered a derivative work. The free/open-source software community is split on this issue, with the FSF asserting that such an executable is indeed a derivative work, and other experts disagreeing. This is ultimately a question not of the GPL per se, but of how copyright law defines derivative works. In Galoob v. Nintendo the 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," but there have been no clear court decisions to resolve this particular conflict.
A number of businesses are based on distributing a GPL'ed library and selling a separate license to companies wishing to link the library with proprietary code, whether dynamically or not. Examples of such companies include MySQL AB and Trolltech (Qt). Also, ReiserFS (Namesys) and Cygwin (Red Hat) are GPL'ed programs for which other licenses are offered. As there is no record of anyone circumventing the GPL by dynamic linking without backing down when threatened with lawsuits by the FSF or the respective copyright holder, the restriction is apparently de facto enforceable even if not currently de jure.
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 code for the Gemini table type into the MySQL server. After a preliminary hearing before Judge Patti Saris on February 27, 2002, the parties entered settlement talks and eventually settled. At the hearing, Judge Saris "saw no reason" that the GPL would not be enforceable.
In August 2003, the SCO Group stated that they believed the GPL to have no legal validity, and that they intended to take up 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 Linux" 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.
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, allegedly in violation of the terms of the GPL. On July 2004, the German court confirmed this injunction as a final ruling against SiteCom. The court's justification for its decision exactly mirrored the predictions given earlier by the FSF's Eben Moglen:
- 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 ruling was important because it was the first time in the world that a court had confirmed that the GPL is a legally enforceable license.
GPL compatibility
Many of the most common free software licenses, such as the original MIT/X license, the BSD license, and the LGPL, are "GPL-compatible". That is, their code can be combined with a GPL'ed program without conflict (the new combination would have the GPL applied to the whole). However, some open source software licenses are not GPL-compatible. Many have strongly advocated that open source software developers use only GPL-compatible licenses, because doing otherwise makes it difficult to reuse software in larger wholes.
Recent and future developements
The next version, GPL v3, is planned to be drafted in 2006 and released in 2007. Issues it is expected to address include patents, dealing with networked programs, translations to other languages, trusted computing, and the DMCA. The initial draft is being written by Stallman and Eben Moglen.
Criticism
In 2001 Microsoft CEO Ballmer referred to Linux as a "cancer" because of the effects of the GPL (the license the Linux kernel uses). Critics of Microsoft claim that the real reason Microsoft dislikes the GPL is because the GPL resists proprietary vendor's attempts to Embrace, extend and extinguish (EEE). Note that Microsoft has sold a product (Services for Windows) with GPL-licensed code.
Critics of the GPL often describe it as being "viral", based on the GPL terms that all derived works must in turn be licensed under the GPL. Since the definition of "derived work" is commonly interpreted to include software containing GPL'ed code or dynamically linking to GPL'ed libraries (see above), the "virus" complaint comes from the view that the GPL forces its terms onto all other software interacting with it. This is part of a philosophical difference between the GPL and permissive free software licenses such as the BSD-style licenses, which put fewer restrictions on derived works. While proponents of the GPL believe that free software should ensure that its freedoms are preserved in derivative works, others believe that free software should give its users the maximum freedom to use it as they wish.
However, the GPL does not force copyright owners to do anything with code they own. Copyright owners of works licensed with the GPL are free to negotiate alternate terms with authors of derived works. Dual-licensing is becoming more common, where software licensed under the GPL can be made available under a commercial license for a fee... allowing others to create derived works without licensing them under the GPL.
An unintended side-effect of the GPL delineating between "internal" derivative code and "external" linked libraries has been a pronounced tendency for software developed under this license to grow increasingly monolithic. Although this delineation purposefully curbs a "viral" licensing effect on all data which comes to interact with software licensed under the GPL, so as to permit friendly interaction with non-Free software and copyrighted data, concerns mount that this pull towards monolithic design promotes active developer resistence to object-oriented design and runs counter to the UNIX spirit of chaining single-purpose tools.
Some critics quote a suggestion from the 1985 GNU Manifesto about a software tax as an alternative way to pay programmers for writing software:
- All sorts of development can be funded with a Software Tax:
- Suppose everyone who buys a computer has to pay x percent of the price as a software tax. The government gives this to an agency like the NSF to spend on software development.
- But if the computer buyer makes a donation to software development himself, he can take a credit against the tax. He can donate to the project of his own choosing--often, chosen because he hopes to use the results when it is done. He can take a credit for any amount of donation up to the total tax he had to pay.
- The total tax rate could be decided by a vote of the payers of the tax, weighted according to the amount they will be taxed on.
Although this scheme has never received the support it would need to become law, most developed countries have enacted a similar scheme with regards to music. Purchases of blank media, such as blank CDs, often includes a tax which is given to the music industry. The music industry requested this as "compensation" for lost sales due to illegal copying.
Some critics dislike the ideological tone of the GPL's preamble, or complain that the license is too long.
Links and references
External links
- GNU General Public License v2.0
- GNU General Public License v1.0 - This version is deprecated
- GNU Lesser General Public License v2.1
- Frequently Asked Questions about the GPL
- History of the GPL
- Groklaw: The GPL is a license, not a contract
- Groklaw: FSF Moves to Dismiss Wallace and for Stay on Filing Briefs on Summary Judgment Motion, June 22 2005
- Enforcing the GNU GPL by Eben Moglen, September 10 2001
- Groklaw GPL References
- Microsoft comments on the GPL
- GNU General Public License and Commentaries - Edited by Robert Chassell.
- Make Your Open Source Software GPL-Compatible. Or Else. (David A. Wheeler, 7 April 2004) — why a GPL-compatible license is important to the health of a project
- "Toward True Open Source" - an article about why the GPL is allegedly too restrictive
- The German GPL Order - Translated
- John Koenig: Linux GPL Derivatives in a Nutshell
- Patent risks of open source software - explains the patent license grant in the GPL
- "Ballmer: 'Linux is a cancer'" by Thomas C Greene, The Register, June 2 2001
- NOVELL: The GPL: Understanding the License that Governs Linux - This article explains one view of the GPL in easy terms, talks about static vs. dynamic linking and the GPL, and discusses why companies like Microsoft may "fear" the license.
- SOFTPANORAMA: Labyrinth of Software Freedom - Nikolai Bezroukov's e-book about BSD, GPL and social aspects of free licensing
See also
- Category:Free software
- BSD and GPL licensing
- GNU Free Documentation License
- GNU Lesser General Public License
- GNAT Modified General Public License
- GPL Violations Project
Categories: GNU project | Free software licenses | Computer law | Free content licenses | Open source licenses



