The
GNU General Public License (
GNU GPL or
GPL) is the most widely used
free software license, which guarantees
end users (individuals, organizations, companies) the freedoms to use, study, share (copy), and modify the software. Software that ensures that these rights are retained is called
free software. The license was originally written by
Richard Stallman of the
Free Software Foundation (FSF) for the
GNU project.
The GPL grants the recipients of a
computer program the rights of
the Free Software Definition and uses copyleft to ensure the freedoms are preserved whenever the work is distributed, even when the work is changed or added to. The GPL is a
copyleft license, which means that
derived works can only be distributed under the same license terms. This is in distinction to
permissive free software licenses, of which the
BSD licenses are the standard examples. GPL was the first copyleft license for general use.
As of August 2007, the GPL accounted for nearly 65% of the 43,442
free software projects listed on
Freshmeat, and, about 68% of the projects listed on
SourceForge.net. Similarly, a 2001 survey of
Red Hat Linux 7.1 found that 50% of the source code was licensed under the GPL and a 1997 survey of
MetaLab, then the largest free software archive, showed that the GPL accounted for about half of the software licensed therein. Prominent free software programs licensed under the GPL include the
Linux kernel and the
GNU Compiler Collection (GCC). Some other free software programs (
MySQL is a prominent example) are
dual-licensed under multiple licenses, often with one of the licenses being the GPL.
It is believed that the
copyleft provided by the GPL was crucial to the success of
Linux based systems, giving the programmers who contributed to the kernel the assurance that their work would benefit the whole world and remain free, rather than being exploited by software companies that would not have to give anything back to the community.
On 29 June 2007, the third version of the license (GNU GPLv3) was released to address some perceived problems with the second version (GNU GPLv2) that were discovered during its long time usage. To keep the license up to date the GPL license includes an optional "any later version" clause, allowing users to choose between the original terms or the terms in new versions as updated by the FSF. Developers can omit it when licensing their software; for instance the Linux kernel is licensed under GPLv2 without the "any later version" clause.