Encyclopedia  |   World Factbook  |   World Flags  |   Reference Tables  |   List of Lists     
   Academic Disciplines  |   Historical Timeline  |   Themed Timelines  |   Biographies  |   How-Tos     
Sponsor by The Tattoo Collection
GNU General Public License
Main Page | See live article | Alphabetical index

GNU General Public License

The GNU General Public License is a copyleft free software license, created by the GNU project in 1988. It is also referred to as the GNU GPL or, when there is no risk of confusion with other "general public licenses," simply the GPL.

The purpose of the GPL is to grant the user rights to copy, modify, and redistribute programs (normally prohibited by copyright), and to ensure that those rights are preserved in derivative works via a copyleft mechanism, a concept created by Richard Stallman. In contrast, end-user licenses for proprietary software rarely grant these rights, and may even purport to restrict activities, such as reverse engineering, that are normally permitted. The GPL differs from non-copyleft free-software licenses, such as the BSD or MIT Licenses, in that the latter allow derivative works to be distributed under more restrictive terms, whereas the GPL requires identical restrictions.

The GPL qualifies as an open-source license according to the Open Source Initiative (OSI). It is a popular license for free software, especially with regards to the Linux operating system. As of April 18, 2004, it was used for 74.6% of the 23479 projects with OSI-approved open-source licenses listed on Freshmeat, and for 68.5% of the 52182 OSI-licensed projects listed on SourceForge. Note that these two sites are owned by OSDN, 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. [1]

Note that there is no "GNU Public License" — this is a common misnomer, perhaps based on the use of product names in the names of other licenses such as the Mozilla Public License and the IBM Public License.

Table of contents
1 Other GNU Licenses
2 History
3 License terms
4 The GPL is a license
5 Copyright holders
6 GPL-related disputes
7 Outline of the GPL
8 See also
9 External links

Other GNU Licenses

History

The GPL was written by Richard Stallman and Eben Moglen 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 and Moglen'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.

Version 3 of the GPL is in planning. This version is intended to include an anti-DMCA clause, 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. [1] Its prototype is the Affero General Public License [1]. It is expected to be released in late 2005.

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.

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 is required to offer the source code to each recipient, including any modifications he had 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 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.)

This applies, for example, if the licensee makes private modifications to the work but does not distribute them; in that case, the licensee is not required to release his or her modifications to anyone.

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 contract[1]. 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 actual 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 fair use, first sale or other defenses to copyright infringement. 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.

Copyright holders

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.

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 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 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 [1] 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 the predictions that Eben Moglin 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 considered GPL enforceability, and the court 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:

  1. Definitions
    • (paragraph 1) Definition of "Program"
    • (paragraph 2) Scope of restrictions
  2. Right to copy and distribute
  3. Modifications
    • (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
  4. 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
  5. Termination for non-compliance
  6. Acts of acceptance
  7. Prohibition of further restrictions
  8. Consequence of external restrictions
  9. Geographic restrictions
  10. Effect of future GPL versions
  11. Requesting exceptions
  12. Disclaimer of warranty
  13. Disclaimer of liability

See also

External links