The GNU Affero General Public License is a free, copyleft license published by the Free Software Foundation in November 2007, and based on the GNU General Public License, version 3 and the Affero General Public License.
![]() | |
Author | Free Software Foundation |
---|---|
Latest version | 3 |
Publisher | Free Software Foundation, Inc. |
Published | November 19, 2007 |
SPDX identifier | AGPL-3.0-or-later AGPL-3.0-only |
Debian FSG compatible | Yes[1] |
FSF approved | Yes[2] |
OSI approved | Yes[3][4] |
GPL compatible | Yes (permits linking with GPLv3)[5] |
Copyleft | Yes[2] Network-Based |
Linking from code with a different licence | Only with GPLv3; AGPL terms will apply for the AGPL part in a combined work.[2][5] |
Website | gnu |
The Free Software Foundation has recommended that the GNU AGPLv3 be considered for any software that will commonly be run over a network.[2] The Free Software Foundation explains the need for the license in the case when a free program is run on a server:[6]
The GNU Affero General Public License is a modified version of the ordinary GNU GPL version 3. It has one added requirement: if you run a modified program on a server and let other users communicate with it there, your server must also allow them to download the source code corresponding to the modified version running there.
The purpose of the GNU Affero GPL is to prevent a problem that affects developers of free programs that are often used on servers.
The Open Source Initiative approved the GNU AGPLv3[3] as an open source license in March 2008 after the company Funambol submitted it for consideration through its CEO Fabrizio Capobianco.[7]
GNU AGPLv3 and GPLv3 licenses 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,[8] despite the licenses otherwise not allowing relicensing under the terms of each other.[2] In this way, the copyleft of each license is relaxed to allow distributing such combinations.[2]
Stet was the first software system known to be released under the GNU AGPL, on November 21, 2007,[9] and is the only known program to be used mainly for the production of its own license.
Flask developer Armin Ronacher noted in 2013 that the GNU AGPL is a "terrible success, especially among the startup community" as a "vehicle for dual commercial licensing", and gave Humhub, MongoDB, Odoo, RethinkDB, Shinken, Slic3r, SugarCRM, and WURFL as examples.[10]
MongoDB dropped the AGPL in late-2018 in favor of the "Server Side Public License" (SSPL), a variation of GPLv3 that requires those who provide "the program as a service", accessible to third-parties, to make the entire source code of all software used to facilitate the service available under the same license.[11] The SSPL has been rejected by the Open Source Initiative and banned by both Debian and the Fedora Project, who state that the license's intent is to discriminate against cloud computing providers offering services based on the software without purchasing its commercial license.[12][13]
The AGPLv3 was a terrible success, especially among the startup community that found the perfect base license to make dual licensing with a commercial license feasible. MongoDB, RethinkDB, OpenERP, SugarCRM as well as WURFL all now utilize the AGPLv3 as a vehicle for dual commercial licensing. The AGPLv3 makes that generally easy to accomplish as the original copyright author has the rights to make a commercial license possible but nobody who receives the sourcecode itself through the APLv3 inherits that right. I am not sure if that was the intended use of the license, but that's at least what it's definitely being used for now.