The GNU's Not Unix® (GNU) Project was originally intended to create a free operating system, and the GNU General Public License (GPL) was created to govern how distribution and modification of the software would be handled. This license is also known as a copyleft license, as it differs in many ways from a standard copyright. The license itself is free to distribute and use, though modifications may not be allowed. Some of the main points of the GNU General Public License are that software released under it may be freely modified and redistributed, and that software distributed in such a way must retain the GPL. The GNU GPL was originally created by Richard Stallman and administered by the non-profit Free Software Foundation (FSF).
Software that is distributed using the GNU General Public License can be sold or offered for free, as long as the license terms are followed. The freedom referenced in the name Free Software Foundation is related to freedom of information, not price. If GPL licensed software is sold, the resulting source code may be modified by future licensees and then redistributed under an identical license. It is also possible to modify GPL source code for private use, as the license does not require that modifications be released.
There were three different versions of the GPL published between 1989 and 2007. The first version specifically addressed the issues of binaries and the use of more restrictive licenses. It dealt with the first issue by requiring that source code be distributed alongside binaries if the software is licensed by the GPL, and addressed more restrictive licenses by stating that modified GNU General Public License software must retain the GPL. In 1991, the second version made a variety of changes including the prevention of GPL software from being released in binary only form under certain circumstances. One change made to the third version may have sought to stop certain hardware devices from using GPL software, but then would also prevent end users from making their own modifications.
The GNU General Public License may also be used for things other than software, so long as the license is followed. It may be possible to release text or other media under the GPL, though the GNU project also created a different license specifically for this purpose. The GNU Free Documentation License (GFDL) was made specifically to apply to written works, though some may still choose to use the GPL. A GFDL license can preclude any text licensed by it from being included in software that uses the GPL, which may provide one reason for using the GPL instead.