Main Page | See live article | Alphabetical index

GNU General Public License

The GNU General Public License is a copyleft free software license. 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". It should be noted that there is no "GNU Public License", which is a common misnomer, perhaps based on the use of product names in the names of other licenses like the Nethack License and the BSD License.

The GPL was written by Richard Stallman and Eben Moglen in 1989, for the purpose of distributing programs released as part of the GNU project. It was based on similar licenses used for early versions of GNU Emacs. Since its introduction, it has become one of the most widely-used free software licenses. As opposed to proprietary licenses, the GPL is a license to give the public more freedom instead of less; it secures this through copyleft, unlike the BSD License or the Angband License.

Table of contents
1 License Terms
2 Copyright holders
3 GPL Related Disputes
4 Outline of the GPL
5 Programs released under the GPL
6 External links

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 GPL'ed 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, either free of charge or for a fee. 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 GPL'ed works may be (re)sold.

If the licensee distributes copies of the work, she is required to offer the source code to each recipient, including any modifications she had made. This requirement is known as copyleft. In practice, GPL'ed 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 received a copy from her, 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 is not distributed to anyone else.

This applies, for example, if the licensee makes private modifications to the work but does not distribute them; in that case, she is not required to release 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 she 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, she 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.

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 is made to the FSF, the author of the work holds copyright for the work, and is responsible for enforcing any violations of the license (or not).

Unlike the 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 is not. Therefore, it cannot be placed in Wikipedia. A link to the text of the GPL is provided below. 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 linked below 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, and there have been no clear court decisions to resolve this 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 codes, 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 FSF's view on this matter seems to be de facto enforceable even if not currently de jure.

In August 2003 SCO 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 is problematic for them, as they have distributed Linux and other GPLed code (their Caldera distribution), and had no right to do so except under the GPL.

Outline of the GPL

The GPL is divided in to several numbered sections. Below 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

Programs released under the GPL

Since the GPL was written, a great number of programs have been released under it. 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. See GNU for a list of articles on prominent GNU programs.

Prominent programs which are not part of the GNU project, but are licensed under the GPL, include the following (Note: some of these were originally released under other licenses, and were only later made available under the GPL):

External links