kids encyclopedia robot

GNU Affero General Public License facts for kids

Kids Encyclopedia Facts
Quick facts for kids
GNU Affero General Public License
AGPLv3 Logo.svg
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, incl. use over network
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 set of rules, or a "license," for computer programs. It was created by the Free Software Foundation in November 2007. This license is based on another popular license called the GNU GPL version 3.

The GNU AGPL is designed for software that people use over a network, like websites or online tools. It has a unique rule: if someone changes the software and lets others use it over a network, they must offer the new source code to all those users. This helps keep software "free" and open for everyone to use and improve.

The Open Source Initiative, a group that approves open source licenses, officially approved the GNU AGPLv3 in March 2008.

How the GNU AGPL Started

The Idea Behind the License

Back 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 companies share their changes if they ran a web application on their own servers. Users could use the software online, but they couldn't get the updated code.

Over the next few months, Stallman and Poole discussed how to fix this. Poole's company, Affero Inc., needed a license that would make other companies share their changes if they used Affero's code to create new online services. Poole asked Bradley M. Kuhn and Eben Moglen from the Free Software Foundation for advice.

Creating the First Version

Around early 2002, Bradley Kuhn suggested an idea. He thought that the GPLv2 could be updated to include a rule. This rule would make sure that any changed software would always have a "download source" feature. This feature would let users get the complete code.

Moglen and Kuhn wrote down this new rule. Henry Poole then got permission from the Free Software Foundation to use this idea. In March 2002, Affero, Inc. released the first version of this new license, called the Affero General Public License (AGPLv1). It was used for their own projects and was available for other developers who made software-as-a-service (software used online).

The GNU AGPL is Born

The Free Software Foundation thought about adding this special rule from AGPLv1 into their main GPLv3 license. However, they decided to create a separate license instead. This new license was very similar to GPLv3 but included the important rule from AGPLv1.

They named it the GNU Affero General Public License. Keeping "Affero" in the name showed its connection to the original AGPLv1. The new GNU AGPL was given version number 3 to match the GPL. This is why it's often called AGPLv3. The final GNU AGPLv3 was officially released by the Free Software Foundation on November 19, 2007.

How the AGPL Works with Other Licenses

Understanding License Compatibility

Both versions of the AGPL, like the GPL licenses they are based on, are "strong copyleft" licenses. This means they try to make sure that any new software made from them also uses the same free license.

The Free Software Foundation believed that the extra rule in the first Affero GPL v1 made it "incompatible" with GPLv2. This meant you couldn't combine parts of a program that were under AGPLv1 with parts under GPLv2. They just didn't mix.

AGPLv3 and GPLv3 Work Together

However, the GPLv3 and GNU AGPLv3 licenses were designed to be compatible. They have special sections (in section 13 of each license) that allow them to work together. This means you can combine code licensed under GPLv3 with code licensed under GNU AGPLv3. Even though they are strong copyleft licenses, they allow this mixing. This makes it easier for developers to use both licenses in their projects.

To help older software move from AGPLv1 to the newer GNU AGPLv3, Affero, Inc. released AGPL version 2 in November 2007. This was a temporary license that allowed people to update their software to use GNU AGPLv3.

Examples of Software Using GNU AGPL

Many software projects use the GNU AGPL. Stet was one of the first programs to be released under the GNU AGPL, on November 21, 2007.

A developer named Armin Ronacher noted in 2013 that the GNU AGPL became very popular, especially among new companies. He mentioned examples like HumHub, Odoo, RethinkDB, Shinken, Slic3r, and SugarCRM. These companies often used the AGPL to offer their software for free, but also sell special commercial licenses.

One well-known example, MongoDB, used the AGPL for a long time. However, in late 2018, MongoDB changed its license to the "Server Side Public License" (SSPL). This new license requires companies that offer MongoDB as an online service to share the source code of all the software they use to run that service. This change caused some debate, and groups like Debian and the Fedora Project decided not to include software under the SSPL because they felt it was unfair to cloud computing companies.

Many other software projects continue to use AGPLv3. Some examples include:

  • Servers and clients for the fediverse, like Mastodon, Pixelfed, and PeerTube. These are social media platforms that can talk to each other.
  • Office software like OnlyOffice.
  • The RStudio IDE, which is a tool for programming in the R programming language.
  • The system monitoring platform Grafana.
  • The document and bibliography management system Zotero.

Element, a chat and collaboration software, also changed its license. It now uses both AGPLv3 and GPLv3, and also offers a separate commercial license for businesses.

See also

Kids robot.svg In Spanish: GNU Affero General Public License para niños

kids search engine
GNU Affero General Public License Facts for Kids. Kiddle Encyclopedia.