The GNU GPL, or General Public License, is a software license designed to enforce the rights of the software user, rather than furthering the rights of the software distributor at the end-user's expense. It is the standard license of the FSF's GNU project, and much of the important software in a Linux system is licensed using the GPL.
In addition to the usual rights to run and archive the program, the recipient of a GPL'd program has permission to copy, to modify, and to distribute the program, provided that he or she abides by the terms of the GPL. If the program is only used in-house, there are no other conditions for this permission.
Whereas many software licenses place restrictions on the end-user's use of the software, the GPL places restrictions on the distributor's rights. GPL-licensed software must be available in source code form to anyone it is distributed to, and the software must be licensed under the GPL whenever it is distributed, whether the original GPL'd program is modified or not. If a collection containing GPL'd programs is distributed, the collection as a whole must be licensed under the GPL, unless it is a mere aggregation. Because these provisions fly in the face of traditional copyright considerations, this legal arrangement is sometimes referred to as copyleft.
The GPL does not try to restrict the author's licensing of code that is not based on GPL'd code. For example, if the author's code is not a derivative of GPL'd code, and is distributed by itself, then the author can use a proprietary license, and need not make the source code available. However, if the same code is distributed in a collection and, in that collection, is based on GPL'd code, then the collection and the author's code must both be GPL'd, and the source for the author's code must be available.
A related license called the LGPL ("Lesser GPL") also exists. It allows a proprietary program to be linked with the LGPL'd program.
- Text of the GNU GPL (www.gnu.org)