The GNU General Public License (GNU GPL or simply GPL) is a widely used free software license, originally written by Richard Stallman for the GNU project. It is the license used by the Linux kernel. The GPL is the most popular and well known example of the type of strong copyleft license that requires derived works to be available under the same copyleft. Under this philosophy, the GPL is said to grant the recipients of a computer program the rights of the free software definition and uses copyleft to ensure the freedoms are preserved, even when the work is changed or added to. This is in distinction to permissive free software licences, of which the BSD licenses are the standard examples.
The GPL was written by Richard Stallman in 1989 for use with programs released as part of the GNU project. The original GPL 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, rendering them incompatible, despite being the same license. Stallman’s goal was to produce one license that could be used for any project, thus making it possible for many projects to share code.
An important vote of confidence in the GPL came from Linus Torvalds’adoption of the license for the Linux kernel in 1992, switching from an earlier license that prohibited commercial distribution.
As of August 2007, the GPL accounted for nearly 65% of the 43,442 free software projects listed on Freshmeat, and as of January 2006, 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 licenses used. One survey of a large repository of open-source software reported that in July 1997, about half the software packages with explicit license terms used the GPL.Prominent free software programs licensed under the GPL include the Linux kernel and the GNU Compiler Collection (GCC). Some other free software programs are dual-licensed under multiple licenses, often with one of the licenses being the GPL.
Some observers believe that the strong copyleft provided by the GPL was crucial to the success of Linux, giving the programmers who contributed to it the confidence 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.
The second version of the license, Version 2, was released in 1991. Over the following 15 years, some members of the FOSS (Free and Open Source Software) community came to believe that some software and hardware vendors were finding loopholes in the GPL, allowing GPL-licensed software to be exploited in ways that were contrary to the intentions of the programmers. These concerns included tivoization (the inclusion of GPL-licensed software in hardware that will refuse to run modified versions of it); the use of unpublished, modified versions of GPL software behind web interfaces; and patent deals between Microsoft and Linux and Unix distributors that may represent an attempt to use patents as a weapon against competition from Linux.
Version 3 was developed to attempt to address these concerns. It was officially released on June 29, 2007.
GNU GENERAL PUBLIC LICENSE
Version 1, February 1989 Copyright (C) 1989 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
> GNU GENERAL PUBLIC LICENSE >> Version 2, June 1991 >>> Copyright (C) 1989, 1991 Free Software Foundation, Inc.,51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
The software development activities of the GNU Project can be split into two stages. In the 80s and early 90s, the GNU Project worked on developing operating system software. In the mid-90s the focus shifted toward strategic projects.
The first goal of the GNU Project was to make a whole free software operating system exist. Aiming at this target, project collaborators started writing an operating system. The goal was achieved in 1992 without the GNU Project having had to completely finish their planned operating system. A third-party kernel, called Linux, filled the last gap, so a whole free software operating system was finished without the FSF having to finish the kernel it was working on, GNU Hurd.
From the mid-90s onward, with many companies investing in free software development, the Free Software Foundation redirected its funds toward the legal and political support of free software development. Software development from that point on focussed on maintaining existing projects, and starting new projects only when there was an acute threat to the free software community.
One example is the GNOME desktop. This development effort was launched by the GNU Project because another desktop system, KDE, was becoming popular but required users to install certain proprietary software. To prevent people from being tempted to install that proprietary software, the GNU Project simultaneously launched two projects. One was the Harmony toolkit. This was an attempt to make a free software replacement for the proprietary software that KDE depended on. If this project was successful, the problem with KDE would be gone. The second project was GNOME, which tackled the same issue from a different angle. It aimed to make a replacement for KDE, one which didn’t have any dependencies on proprietary software. The Harmony project didn’t make much progress, but GNOME developed very well. Eventually, the proprietary component that KDE depended on (Qt) was released as free software.1)
According to the “Overview of the GNU System” (http://www.gnu.org/gnu/gnu-history.html): “The word “free” in “free software” pertains to freedom, not price. You may or may not pay a price to get GNU software. Either way, once you have the software you have three specific freedoms in using it. First, the freedom to copy the program and give it away to your friends and co-workers; second, the freedom to change the program as you wish, by having full access to source code; third, the freedom to distribute an improved version and thus help build the community. (If you redistribute GNU software, you may charge a fee for the physical act of transferring a copy, or you may give away copies.)”