GNU General Public License is the widely used license for free software which ensures the users the right to study, copy, alter and share the softwares. Softwares that acquires these rights are called Free software. This License is first released by Richard Stallman of the Free Software Foundation(FSF) for GNU Project in 1989. This license is based on the copyleft principle. i.e, the chain of users involved should distribute their work or modifications that he/she has done to the software under the same license. It is the first copyleft license for general use.
The GPL accounted for nearly 65% of the 43,442 free softwares projects listed on Freecode as of August 2007 and about 68% of the projects listed on SourceForge.net by January 2006. Most widely used free software that are licensed under GPL includes Linux Kernel and GNU Compiler Collection(GCC). There are also some dual licensed free softwares like MySQL in which one being the GPL.
On 29 June 2007, the third new version of the license(GNU GPLv3) was released to solve the issues that GNU GPLv2 had. To keep the GPL updated, developers has the option to choose “any later version” clause. This is to choose between the original terms or terms imposed by the new version imposed by FSF. For example Linux Kernel is under GPLv2 without “any later version” clause.
Now let's see the different versions of the GPL
The first version of GPL was released on 25th February 1989. It was mainly published to prevent the restrictions that violated the definition of the Free software. The first problem that GPL solved is that, the distributors were asked to produce the human readable form of the source code along with the binaries under the same licensing conditions.
The second problem was that vendors imposed additional restrictions to the license and combined softwares with other which had other restriction on its distribution. To avoid this GPLv1 said that altered or modified software as a whole has to be distributed under same conditions.
According to Stallman, the prominent change in GPLv2 was “Liberty or Death”. It states that, restrictions that prevent him or her from distributing GPL licensed software in a way that respects other users' freedom, he or she cannot distribute it at all.
GPLv3 was released on 29th June 2009 by Richard Stallman with legal counsel from Eben Moglen and the Software Freedom Law Center.
The major changes in GPLv3 are in relation to free software, software patents, “source code” definition and hardware restrictions on software modification. GPLv3 improves compatibility with several open source software licenses such as Apache License, version 2.0.
It was a long journey when they finally published the third version GPLv3 on 29th June 2009.