Affero General Public License
|Author||Free Software Foundation|
|Publisher||Free Software Foundation, Inc.|
|Published||November 19, 2007|
|GPL compatible||Yes (permits linking with GNU GPLv3) |
|Linking from code with a different license||No (only GNU GPLv3 )|
The GNU Affero General Public License, often abbreviated as Affero GPL and AGPL (and sometimes informally called the Affero License), refers to two distinct, though historically related, free software licenses: The Affero General Public License, version 1 which was published by Affero, Inc. in March 2002, and is based on the GNU General Public License, version 2 (GPLv2), and also the GNU Affero General Public License, version 3, published by the Free Software Foundation in November 2007, and based on the GNU General Public License, version 3 (GPLv3).
Both versions of the AGPL were designed to close a perceived application service provider "loophole" (the "ASP loophole") in the ordinary GPL, where, by using but not distributing the software, the copyleft provisions are not triggered. Each version differs from the version of the GNU GPL on which it is based in having an additional provision addressing use of software over a computer network. The additional provision requires that the complete source code be made available to any network user of the AGPL-licensed work, typically a Web application.
In 2000, while developing an e-learning and e-service business model, Henry Poole met with Richard Stallman in Amsterdam where they discussed the ASP loophole in GPLv2. Over the following months, Stallman and Poole discussed approaches to solving the problem. In 2001, Poole founded Affero, Inc. (a web services business), and he needed a license that would require distribution by other organizations who used Affero code to create derivative web services. At that time, Poole contacted Bradley M. Kuhn and Eben Moglen of the Free Software Foundation to get advice on a new license that would close the ASP loophole in GPLv2.
Around late February 2002, Kuhn suggested, based on the idea of a quine (a program that prints its own source code), that GPLv2 be supplemented with a section 2(d) that would require derivative works to maintain a "download source" feature that would provide complete and corresponding source code. Kuhn argued that there was precedent for such a requirement in GPLv2 section 2(c), which required preservation of certain features by downstream distributors and modifiers.
Moglen and Kuhn wrote the text of the proposed new section 2(d), and provided it to Poole, who then requested and received permission from the FSF to publish a derivative of GPLv2 for this purpose. In March 2002, Affero, Inc. published the original Affero General Public License (AGPLv1) for use with the Affero project and made the new license available for use by other software-as-a-service developers.
The FSF contemplated including the special provision of AGPLv1 into GPLv3 but ultimately decided to publish a separate license, nearly identical to GPLv3 but containing a provision similar in purpose and effect to section 2(d) of AGPLv1. The new license was dubbed the GNU Affero General Public License, the retention of the Affero name indicating its close historical relationship with AGPLv1. The GNU AGPL was given version number 3 for parity with the GPL, and the current GNU Affero General Public License is often abbreviated AGPLv3.
The finalized version of GNU AGPLv3 was published by the FSF on November 19, 2007.
Compatibility with the GPL
Both versions of the AGPL, like the corresponding versions of the GNU GPL on which they are based, are strong copyleft licenses. In the FSF's judgment, the additional requirement in section 2(d) of AGPLv1 made it incompatible with the otherwise nearly identical GPLv2. That is to say, one cannot distribute a single work formed by combining components covered by each license.
By contrast, GPLv3 and AGPLv3 each include clauses (in section 13 of each license) that together achieve a form of mutual compatibility for the two licenses. These clauses explicitly allow the "conveying" of a work formed by linking code licensed under the one license against code licensed under the other license, despite the licenses otherwise not allowing relicensing under the terms of each other. In this way, the copyleft of each license is relaxed to allow distribution of such combinations.
To establish an upgrade path from AGPLv1 to the GNU AGPLv3, Affero, Inc. published the GNU Affero General Public License version 2, which is merely a transitional license that allows recipients of software licensed under "AGPLv1 or any later version as published by Affero, Inc." to distribute the software, or derivative works, under AGPLv3.
Examples of web applications under GNU AGPL
Some of the best-known examples of AGPL software include:
- the application development and maintenance software Launchpad
- the distributed social networking service Diaspora
- the network monitoring application Shinken
- the cross-platform document-oriented database MongoDB
- "ftp.debian.org: Is AGPLv3 DFSG-free?". The Debian Project. November 28, 2008. Retrieved December 1, 2008.
- List of free-software licences on the FSF website: “We recommend that developers consider using the GNU AGPL for any software which will commonly be run over a network”.
- : section 13 of the GNU AGPLv3 license
- Kuhn, Bradley M. (November 21, 2007). "stet and AGPLv3". Software Freedom Law Center. Archived from the original on March 15, 2008. Retrieved June 14, 2008.
- "License text of GNU AGPLv3". Free Software Foundation (US). November 19, 2007. Archived from the original on 20 November 2007. Retrieved November 19, 2007.
- The GNU General Public License – GNU Project – Free Software Foundation (FSF)
- GNU Affero General Public License Version 3
- GPLv3, Software as a Service and version 2 of the Affero GPL
- Affero General Public License Version 1
- AGPL Version 1 FAQ
- Free Software Foundation supports AGPL press release
- Free Software Foundation GNU AGPL v3 press release