GNU Affero General Public License facts for kids
![]() |
|
Author | Free Software Foundation |
---|---|
Version | 3 |
Copyright | Free Software Foundation, Inc. |
Published | November 19, 2007 |
DFSG compatible | Yes |
Free software | Yes |
OSI approved | Yes |
GPL compatible | Yes (permits linking with GPLv3) |
Copyleft | Yes Network-Based |
Linking from code with a different license | Only with GPLv3; AGPL terms will apply for the AGPL part in a combined work. |
The GNU Affero General Public License (often called GNU AGPL) is a special kind of free software license. It was created by the Free Software Foundation in November 2007. This license is based on the GNU GPL version 3.
The GNU AGPL is designed for software that people use over a network, like websites or online services. It has a special rule: if someone changes the software and lets others use it over a network, they must also offer the source code of their changed version to those users. This helps keep software free and open for everyone.
The Open Source Initiative officially approved the GNU AGPLv3 as an open source license in March 2008.
Contents
Why Was the AGPL Created?
The story of the AGPL began in 2000. A technologist named Henry Poole met with Richard Stallman, who is famous for starting the free software movement. They talked about a problem: the older GPLv2 license didn't make web application providers share their software's source code with users who interacted with it online.
Over the next few months, Stallman and Poole discussed how to fix this. In 2001, Poole started a web services company called Affero Inc. He needed a license that would make other organizations share their code if they used Affero's software to create new web services. Poole then asked Bradley M. Kuhn and Eben Moglen from the Free Software Foundation for help.
The First AGPL Version
Around early 2002, Bradley Kuhn suggested an idea. He thought of a "quine", which is a program that can print its own source code. Kuhn suggested adding a rule to GPLv2. This rule would make sure that changed versions of the software always had a "download source" feature. This feature would let users get the complete source code.
Moglen and Kuhn wrote down this new rule. They gave it to Poole, who then got permission from the FSF to publish a version of GPLv2 with this new rule. In March 2002, Affero, Inc. released the first Affero General Public License (AGPLv1). It was used for the Affero project and was also available for other software-as-a-service developers.
How AGPLv3 Came to Be
The Free Software Foundation thought about adding this special rule from AGPLv1 into GPLv3. However, they decided to release a separate license instead. This new license was very similar to GPLv3 but included a rule like the one in AGPLv1.
They named this new license the GNU Affero General Public License. Keeping "Affero" in the name showed its connection to the first AGPLv1. The GNU AGPL was given version number 3 to match the GPL. Today, it's often called AGPLv3.
The final version of GNU AGPLv3 was officially released by the FSF on November 19, 2007.
Working Together: AGPL and GPL
Both versions of the AGPL, like the GPL they are based on, are "strong copyleft" licenses. This means they try to make sure that software stays free and open.
The Free Software Foundation believed that the special rule in Affero GPL v1 made it incompatible with GPLv2. This meant you couldn't combine parts of software licensed under AGPLv1 and GPLv2 into one project.
However, GPLv3 and GNU AGPLv3 were designed to work together. They have special sections (in section 13 of each license) that allow them to be compatible. This means you *can* combine code licensed under GPLv3 with code licensed under GNU AGPLv3. This makes it easier for developers to use both licenses in their projects.
To help people move from the original AGPLv1 to the GNU AGPLv3, Affero, Inc. released the Affero General Public License version 2 in November 2007. This was a temporary license that allowed users of AGPLv1 software to switch to using GNU AGPLv3.
Software Using the GNU AGPL
Stet was one of the first software systems released under the GNU AGPL, on November 21, 2007.
Flask developer Armin Ronacher said in 2013 that the GNU AGPL was very popular, especially among new companies. He noted that it was often used for "dual commercial licensing". This means a company might offer their software under the AGPL for free use, but also offer a different, paid license for companies that want to use it in ways that don't fit the AGPL rules.
Some examples of software that have used the AGPL include HumHub, MongoDB, Odoo, RethinkDB, Shinken, Slic3r, SugarCRM, and WURFL.
MongoDB's License Change
In late 2018, MongoDB changed its license from the AGPL to a new one called the "Server Side Public License" (SSPL). This new license had a special rule: if you offered the software as a service to other people, you had to make the source code for *all* the software used to run that service available under the same license. This included things like management tools and user interfaces.
However, the Open Source Initiative did not approve the SSPL as an open source license. It was also banned by Debian and the Fedora Project. They stated that the SSPL's goal was to make it harder for cloud computing companies to offer services based on MongoDB without buying a special commercial license.
See also
- List of software under the GNU AGPL
- Free-software license
- GNU General Public License
- GNU Lesser General Public License
- GNAT Modified General Public License
- GPL linking exception
- GNU Free Documentation License
- Comparison of free and open-source software licenses