The GNU General Public License (GNU GPL or simply GPL) is a free software license, originally written by Richard Stallman for the GNU project (a project to create a complete
free software operating system). It has since become one of the most popular licenses for free software. The latest
version of the license, version 2, was released in 1991. The GNU Lesser General Public License (LGPL), another commonly-used license, is a modified
version of the GPL intended for software libraries.
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, and 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 software (also known as 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, the GNU Compiler Collection (GCC), and
Perl (see List of programs released under the GPL).
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 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.
As of 2005, version 3 of the GPL is being written by Eben Moglen and Richard Stallman. It has not been
decided what new terms will be included; many suggestions have been made, including clauses to address the DMCA and the "Trusted Computing" initiative, a
clarification of the patent license grant, and an extension of copyleft to use of software over a computer network (similar to the Affero
General Public License.) No release date for version 3 has been announced.
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. It also forces patent holders who
distribute the software to give a royalty-free patent license under any of their patents, if those patents are implemented in
that 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 a 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. 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. Confusion often arises when people
think that the GPL is solely enforceable as a contract, which leads to the misconception that "the GPL is 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 describe the GPL as viral. Some people give it that label under the
mistaken belief that if some GPL'ed code is added to their software by others outside their control, they will be forced to
release their software under the GPL. This is false. The GPL merely states that the authors of the software have given permission
for certain uses of their work under certain conditions. If a person distributes without permission, that may constitute copyright infringement, and the copyright holders may be
entitled to monetary
damages, and can get a court to issue an injunction to stop further
distribution of the software. The copyright holders can not force the person to do anything with code to which they do not
own the copyright. If someone did release code based on GPL'ed software without licensing it under the GPL they could be sued for
copyright infringement. This is only because of ordinary copyright law, however, and applies equally to proprietary software.
Others use the term "viral" in a different sense, however. They say that because the GPL code spreads when people include GPL
code in their software, it is replicating like a virus. However, the GPL cannot affect a program without the permission of the
program's copyright holders; biological and computer viruses spread without any volition. Many in the Free Software movement
prefer the term "hereditary" to describe the GPL's copyleft effect, because it has less negative connotations and because it's a
more accurate metaphor.
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 (http://www.fsf.org/licenses/gpl-faq.html) 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
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'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
informations, 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 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.
Links and references
External links
See also
{{subst:ilcomment}}
|