The GNU Affero General Public License closes what is often called the “SaaS loophole” or “ASP loophole” in ordinary copyleft. Under the GPL, the obligation to provide corresponding source is triggered by conveying a copy of the software. But software run as a network service is typically never conveyed to its users at all; they only interact with it remotely. A company could therefore take GPL-covered code, modify it, and run the modified version on a server without ever distributing a binary, and so without ever owing anyone the source. The AGPL was designed to address exactly that situation.
The license was published by the Free Software Foundation on 19 November 2007, shortly after GPLv3, and its name derives from the earlier Affero General Public License created by the company Affero. Like the LGPL, AGPLv3 is built on top of GPLv3: the text states that it “incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below,” while adding one decisive new condition.
That condition is the network clause, AGPLv3 section 13, “Remote Network Interaction.” It provides that “if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software.” In other words, running a modified copy as a network service counts, for source-availability purposes, much like distributing it.
The preamble frames the motivation in terms of cooperation: the AGPL is “specifically designed to ensure cooperation with the community in the case of network server software,” because for such software “the GNU General Public License permits making a modified version and letting the public access it on a server without ever releasing its source code to the public.” The AGPL is the FSF’s answer to that gap.
Because the network clause imposes obligations that the GPL does not, the AGPL is more demanding for operators of online services and is sometimes avoided by companies for that reason. At the same time it is favored by projects that want their improvements to remain available even when the software is delivered only as a hosted service. AGPLv3 and GPLv3 include explicit provisions allowing code under the two licenses to be combined, so the network requirement can be added to a larger GPL project where appropriate.