GNU General Public License
The GNU logo
The GNU General Public License is a free software license, created by the Free Software Foundation, version 2 was released in 1991. It is also referred to as the GNU GPL or, simply the GPL.
The purpose of the GPL is to grant any user the right to copy, modify, and redistribute programs and source code from developers that have chosen to license their work under the GPL. The GPL ensures that certain freedoms are preserved in copies and in derivative works via a copyleft mechanism, a concept created by Richard Stallman. In contrast, end-user licenses for proprietary software rarely grant the end user any rights, and even purport to restrict activities such as reverse engineering that may be permitted under law. The GPL differs from simple permissive free software licenses, like the BSD License. Simple permissive licenses place no restrictions or protections on derivative works whereas derivative works of GPL licensed code must also be licensed under the GPL.
The GPL protects, using copyright law, the following freedoms for users and developers of free software:
- The freedom to run the program, for any purpose (freedom 0).
- The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help your neighbor (freedom 2).
- The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.
The GPL is the most popular license for free software. The GNU/Linux operating system together with the Linux Kernel is by far the most successful GPL licensed product. As of April 2004 the GPL accounted for 74.6% of the 23,479 projects with an OSI approved open source license listed on Freshmeat. The GPL also accounted for 68.5% of the 52,182 free or open source software projects listed on SourceForge. Note that these two sites are owned by OSTG, a company created to advocate Linux and the GPL.
A 2001 survey of Red Hat Linux 7.1 found that 50% of the source-code lines were licensed under the GPL. A 1997 survey of Metalab, then the largest free-software archive, showed that the GPL accounted for about half of the licenses used. http://www.dwheeler.com/essays/gpl-compatible.html
Other GNU Licenses
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 the GPL was in some cases too restrictive for software libraries; this led to the Library General Public License (LGPL) version 2, released in June 1991. The Library GPL was renamed to the Lesser General Public License in 1999.
Released simultaneously with the LGPL was the GPL version 2, intended to clarify the terms of the GPL.
Since the GPL's introduction, it has become the most widely-used free software license. Most of the programs in the GNU project are licensed under either the GPL or the LGPL, including GCC, GNU Emacs and the GNOME desktop. Furthermore, all products licensed under the LGPL are also licensed under the GPL, as per section 3 of the LGPL. As of February 2004, out of 22,648 projects total with OSI-approved open source licenses on Freshmeat, 17,000 projects were licensed under the GPL and 1,926 under the LGPL.
The Free Software Foundation is writing version 3 of the GPL. Eben Moglen and Richard Stallman are the primary authors. This version may include an anti-DMCA clause, provisions intended to address concerns with Trusted Computing, a clarification of the patent license grant and a provision that source code must be available to users who use the software over a network. http://web.novalis.org/history-of-fsm/slide-47.html A prototype for the network portion is the Affero General Public License http://www.affero.org/oagpl.html. It is expected to be released by June, 2006.
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.
The terms and conditions of the GPL are available to anybody receiving a copy of the GPLed work. The licensee accepting these terms is given permission to modify the work, as well as to copy and redistribute the work or any derivative version. The licensee can 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.
If the licensee distributes copies of the work, he or she is required to include the source code (or an offer to provide the source code) with the work, including any modifications they have made. This requirement is known as copyleft. In practice, GPLed programs are often bundled with the source code, although the license does not require this. Sometimes, only the source code is distributed, and the recipients are expected to compile it themselves.
The licensee is only required to provide the source code to people who receive a copy from them, or alternatively to accompany binaries with a written offer of the source code to any third party. This means, for example, that one may make private modified versions of GPLed software, provided that the modified software itself is not distributed to anyone else. Note that this only applies to the software and not to its output; for example, a web portal running a modified GPL content management system is not required to distribute its changes to the underlying software. (This may be changed for version 3 of the GPL.)
Because the work is copyrighted, a licensee has no modification or redistribution rights (barring fair use), except under the terms of the copyleft. Thus, the user is only required to accept the terms of the GPL if he wishes to exercise rights normally restricted by copyright law, such as redistribution. Conversely, if a person distributes copies of the work (in particular, modified versions) while keeping the source code secret or otherwise violating the GPL, he can be sued by the original author under copyright law. This is a clever legal twist, and 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.
The GPL is a license
It is claimed by some, including Eben Moglen, that the GPL is a license, not a contracthttp://www.groklaw.net/article.php?story=20031214210634851&query=contract+license. These people claim that the license is a unilateral grant, and therefore would be considered a waiver rather than a contract. Confusion often arises when people think that the GPL is solely enforceable as a contract, and not by copyright law, which leads to misconceptions such as the GPL being unenforceable because the person never agreed to it.
The situation is simple: if you do not agree to the terms of the GPL, you do not have permission to copy or distribute the software released under it, except through a legal exception to copyright such as fair use or first sale, or by some other agreement with the copyright holder. It does not mean that the rules of the GPL do not apply to you and that you may thus use the software however you like. The default is the restrictions of copyright law, not the anarchy of the public domain.
Many people have the common misconception that the GPL is "viral" in that if some GPLed code somehow sneaks into their software, they will be forced to release their software under the GPL. This is false. (Others use the term "viral" in a different sense, however.) The GPL merely means that the authors of the software have given permission for certain uses of their work under certain conditions; if the conditions are not met, the permission is revoked. If a person distributes copyrighted materials without permission, that distribution may be copyright infringement; if it is copyright infringement, the copyright holders may be entitled to damages and can get a court to stop the person from distributing the software without permission. The copyright holders cannot force the person to do anything in particular with code to which they do not own the copyright. This is commonly the case with a breach of contract as well.
The Free Software Foundation (FSF) holds the copyright for the text of the GPL, but it does not necessarily hold the copyright for a work released under the GPL. Unless an explicit copyright assignment to the FSF is made, the FSF does not hold copyright for the work, and they are not responsible for enforcing the license against violations.
Unlike works released under the GPL, the GPL itself is not freely modifiable, since it is a software license. While copying and distribution is allowed, changing the text of the GPL may not be. Note that the FSF does permit creating a new license based on the GPL, as long as the derived license does 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.
One of the key disputes 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 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, while some other experts disagree. 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.
Meanwhile, however, a number of businesses have become based upon distributing a GPLed 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 GPLed 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 enforcable.
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 may be problematic for them, as they have distributed Linux and other GPLed code (their Caldera distribution), and there is little evidence that they had any legal right to do so except under the GPL.
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 GPLed 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 that Eben Moglen had given earlier: "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.
Many of the most common open source licenses, such as the original MIT/X license, the new 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.
Outline of the GPL
The GPL is divided into several numbered sections. This is an outline of version 2 of the GPL:
- (paragraph 1) Definition of "Program"
- (paragraph 2) Scope of restrictions
- Right to copy and distribute
- (paragraph 1) Right to modify, subject to following:
- a) Requirement to give notice in source
- b) Applicability to derivative works
- c) Conditional requirement to give notice interactively
- (paragraphs 2-4) Clarification of derivative work
- Requirement to make source available
- (paragraph 1) Options for distribution of object code and executables
- a) Distribute with source
- b) Or distribute with offer for source
- c) Or (for non-commercial distribution) pass along previous licensor's source offer
- (paragraph 2) Definition of "source code"
- (paragraph 3) Equivalence of distribution
- Termination for non-compliance
- Acts of acceptance
- Prohibition of further restrictions
- Consequence of external restrictions
- Geographic restrictions
- Effect of future GPL versions
- Requesting exceptions
- Disclaimer of warranty
- Disclaimer of liability
This article is licensed under the GNU Free Documentation License at http://www.gnu.org/copyleft/fdl.html
You may copy and modify it as long as the entire work (including additions) remains under this license.
You must provide a link to http://www.gnu.org/copyleft/fdl.html
To view or edit this article at Wikipedia go to http://www.wikipedia.org/wiki/GNU_General_Public_License