GNU General Public License (GNU GPL or GPL)

What is GNU General Public License (GNU GPL or GPL)?

The GNU General Public License, often shortened to GNU GPL (or simply GPL), lists terms and conditions for the copying, modification and redistribution of open source software. The GPL was created by Richard Stallman in order to protect GNU software from being made proprietary.

It is a specific implementation of his "copyleft" concept. According to Stallman, a copyleft license is a derivative of copyright law that serves "the opposite of its usual purpose: instead of a means of privatizing software, it becomes a means of keeping software free."

The GPL itself is under copyright notice by the Free Software Foundation (FSF), a tax-exempt charitable organization founded by Stallman's GNU project in order to generate funding for free software development.

popular open source licenses: GPL v3, GPL v2, Apache 2.0, MIT, BSD, LGPL Microsoft .NET, Microsoft Public
GNU General Public License (GPL) is among the most popular open source licenses.

Versions of the GNU GPL

There have been three versions of the GNU GPL released since its inception, each containing notable adjustments to the license terms.

Version 1 -- GPL v1 (1989)

The initial GPL was based on a combination of similar free software licenses used by early versions of GNU Emacs, the GNU Debugger and the GNU C Compiler.

When these licenses were first published, they were similar to existing GPL licenses, but they were tailored to each program, rendering them noncompliant.

The goal of the GNU GPL was to develop one license that could be used for any project, allowing numerous projects to contribute code.

Version 2 -- GPL v2 (1991)

The "Liberty or Death" clause (Section 7) of version number 2, GPL v2, saw the most significant changes in users' freedom.

Section 7 includes a disclaimer, which states that licensees may distribute a GPL-covered work only if they can satisfy all the license's terms, regardless of any other legal constraints they may be subject to.

By 1990, it was clear that a less permissive, new version of the license would be strategically useful. Thus, when the GPL v2 was introduced in 1991, it was accompanied by a second license dubbed the GNU Lesser General Public License (LGPL) to symbolize that view.

Version 3 -- GPL v3 (2007)

Over the 15 years of its evolution, advocates for free programs became concerned about issues with the GPL v2 license that might let someone misuse GPL-licensed code in a manner contrary to the licensor's goal.

Tivoization -- the use of GPL-licensed software in hardware that refuses to run modified versions of its proprietary software -- compatibility difficulties comparable to those posed by the GNU Affero General Public License and Microsoft's negotiations with distributors of the free and open source software were just a few of the challenges.

The later version of the GPL, GPL v3 open source license was released in June 2007, to attempt to address these issues.

Terms and conditions of the GNU GPL

The GPL license requires that the terms and conditions under which the work is distributed be made available to everyone who obtains a copy of it with a GPL applied to it, also known as "the licensee."

Any licensee who follows the rules is given permission to edit the work, as well as copy and distribute it or any derivative works.

This service may be offered for a fee or for free. This last point differentiates the GPL from software licenses that prohibit commercial distribution.

The FSF believes that commercial use of free software should not be limited, and the GPL unequivocally states that GPL software may be sold at any price.

Also, a distributor can't place "additional limitations on the rights granted by the GPL," as stated in the GPL. This prevents things like distributing software under a nondisclosure agreement or contract.

Apache 2.0 vs. MIT vs. LGPL v3 vs. GPL v3 open source licenses.
A number of factors go into choosing an open source license.

The fourth and seventh sections of version 2 of the license, as well as the fourth sentence of version 3's seventh section, require that source code be provided along with precompiled binaries.

Version 2 and version 3 of the license also call for "sending a copy of this License to all recipients along with the Program." In fulfillment of the seventh clause, version 3 permits source code to be downloaded in additional ways.

These methods include downloading source code from an adjacent network server or by peer-to-peer transmission.

The GPL does not grant the FSF the copyright to a program released under the GPL unless an author explicitly conveys copyrights to the FSF -- which seldom occurs other than for programs that are part of the GNU project).

Only legal copyright holders have the authority to sue if there is evidence of a license violation.

pros and cons of open source software

Learn the five common open source software licenses you need to know and why not all open source is created equal. Also, see why developers should ask themselves if they have license to build with that (open) software and how open source license issues can stymie enterprise contributions projects.

This was last updated in December 2021

Continue Reading About GNU General Public License (GNU GPL or GPL)

Dig Deeper on Data center ops, monitoring and management