Jump to content

GNU Affero General Public License

From Wikipedia, the free encyclopedia
(Redirected from AGPL 3)
GNU Affero General Public License
AuthorFree Software Foundation
Latest version3
PublisherFree Software Foundation, Inc.
PublishedNovember 19, 2007
SPDX identifierAGPL-3.0-or-later
AGPL-3.0-only
Debian FSG compatibleYes[1]
FSF approvedYes[2]
OSI approvedYes[3][4]
GPL compatibleYes (permits linking with GPLv3)[5]
CopyleftYes,[2] incl. use over network
Linking from code with a different licenceOnly with GPLv3; AGPL terms will apply for the AGPL part in a combined work.[2][5]
Websitewww.gnu.org/licenses/agpl.html Edit this at Wikidata

The GNU Affero General Public License (GNU AGPL) is a free, copyleft license published by the Free Software Foundation in November 2007, and based on the GNU GPL version 3 and the Affero General Public License (non-GNU).

It is intended for software designed to be run over a network, adding a provision requiring that the corresponding source code of modified versions of the software be prominently offered to all users who interact with the software over a network.[6]

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]

History

[edit]

In 2000, while developing an e-learning and e-service business model, Henry Poole met with Richard Stallman in Amsterdam and discussed the issue of the GPLv2 license not requiring Web application providers to share source code with the users interacting with their software over a network. Over the following months, Stallman and Poole discussed approaches to solve 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 resolve this matter 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 preserving certain features by downstream distributors and modifiers.[8]

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.[9][10][11]

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 named the GNU Affero General Public License. Retaining the Affero name indicated its close historic 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[12] was published by the FSF on November 19, 2007.

Compatibility with the GPL

[edit]

Both versions of the AGPL, like the corresponding versions of the GNU GPL on which they are based, are strong copyleft licenses. In the Free Software Foundation's judgment, the added requirement in section 2(d) of Affero GPL v1 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, the GPLv3 and GNU AGPLv3 licenses 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,[13] 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]

To establish an upgrade path from Affero's original AGPLv1 to the GNU AGPLv3, Affero, Inc. published the Affero General Public License version 2 in November 2007,[14] 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 the GNU AGPLv3 or any later version.

Examples of applications under GNU AGPL

[edit]

Stet was the first software system known to be released under the GNU AGPL, on November 21, 2007,[8] 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.[15]

MongoDB dropped the AGPL in late-2018 in favor of the "Server Side Public License" (SSPL), a modified version which requires those who offer the licensed software as a service accessible to third-parties, to make the entire source code of all software used to facilitate the service (including without limitation all "management software, user interfaces, application program interfaces, automation software, monitoring software, backup software, storage software and hosting software, all such that a user could run an instance of the service using the Service Source Code you make available") available under the same license.[16] As approval for this license by the Open Source Initiative was not forthcoming, the application for certification was withdrawn. It was 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.[17][18]

Software continues to be released under AGPLv3, various examples include many servers and clients for the fediverse such as Mastodon, Pixelfed and PeerTube, office suite software OnlyOffice, the RStudio IDE for the R programming language, system monitoring platform Grafana and more.

See also

[edit]

References

[edit]
  1. ^ Jaspert, Joerg (November 28, 2008). "ftp.debian.org: Is AGPLv3 DFSG-free?". The Debian Project. Retrieved December 1, 2008.
  2. ^ a b c d e "Various Licenses and Comments about Them". Free Software Foundation. 2020-05-07. Retrieved 2021-01-03. We recommend that developers consider using the GNU AGPL for any software which will commonly be run over a network.
  3. ^ a b "OSI approved licenses". Open Source initiative. Archived from the original on 2021-10-23.
  4. ^ "OSI approved", Licenses, TL;DR legal, archived from the original on 2021-11-28, retrieved 2016-02-17.
  5. ^ a b "Licenses section 13", GNU AGPLv3, GNU Project.
  6. ^ "Why the Affero GPL". The GNU Project. Archived from the original on 2021-10-23.
  7. ^ "Funambol Helps New AGPLv3 Open Source License Gain Formal OSI Approval" (Press release). Funambol. Mar 13, 2008. Archived from the original on 2013-06-07.
  8. ^ a b 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.
  9. ^ "Affero GPLv3: Why It Exists & Who It's For?". ebb.org. Retrieved 2024-04-25.
  10. ^ "SCALE: The life and times of the AGPL [LWN.net]". lwn.net. Retrieved 2024-04-25.
  11. ^ "Free Software Foundation Announces Support of the Affero General Public License, the First Copyleft License for Web Services". Free Software Foundation. 2002-03-19. Retrieved 2021-01-03.
  12. ^ "License text of GNU AGPLv3". Free Software Foundation (US). November 19, 2007. Archived from the original on 2007-12-04. Retrieved November 19, 2007.
  13. ^ "GNU General Public License". Free Software Foundation. 2007-06-29. Retrieved 2021-01-03.
  14. ^ "Affero General Public License". November 2007. Archived from the original on 2019-11-23. Retrieved 2021-01-03.{{cite web}}: CS1 maint: unfit URL (link)
  15. ^ Ronacher, Armin (2013-07-23). "Licensing in a Post Copyright World". lucumr.pocoo.org. Archived from the original on 2013-07-27. Retrieved 2015-11-18. 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.
  16. ^ "Server Side Public License (SSPL)". MongoDB. Archived from the original on 2021-10-23. Retrieved 2021-01-25.
  17. ^ Vaughan-Nichols, Steven J. "MongoDB "open-source" Server Side Public License rejected". ZDNet. Archived from the original on 2021-10-23. Retrieved 2019-01-17.
  18. ^ "MongoDB's licensing changes led Red Hat to drop the database from the latest version of its server OS". GeekWire. 2019-01-16. Archived from the original on 2021-10-23. Retrieved 2019-01-17.
[edit]