Skip to content, sitemap or skip to search.

Personal tools
Join now
You are here: Home Bulletins Bulletins from 2007 Fall 2007 Bulletin The GNU Affero GPL by Brett Smith

The GNU Affero GPL by Brett Smith

by Matt Lee Contributions Published on Dec 07, 2007 08:41 AM
We recently published the GNU Affero General Public License, version 3.

You can read it on our website. It has the same conditions as GPLv3, with an additional term that requires you to make sure that, when you modify the program, it offers its source to users who interact with it over a network.

This is a spiritual successor to the original Affero General Public License, which was based on GPLv2 and also had an additional provision so that people using the software over a network could get its source. However, the new license also offers several improvements over its predecessor. First, all the benefits of GPLv3 exist in AGPLv3 as well: internationalization, protection against tivoization, strong defenses against patent aggression, and so on.

Second, AGPLv3 has a broader scope. The original Affero GPL was designed primarily for web applications; it stated that users had to be able to "request immediate transmission by HTTP of the complete source code," making it hard to adapt for programs using other protocols. AGPLv3 instead simply requires that the program "prominently offer all users ... an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server...." This is a flexible requirement that any network-capable software should be able to handle with relative ease.

Third, AGPLv3's new requirement degrades gracefully. If you use AGPLv3-covered code in a program that doesn't interact with users over a network, there are no additional obligations for you to meet. You can share and modify the program under the same conditions that apply to GPLv3-covered software.

Finally, you can combine modules released under AGPLv3 and GPLv3. Programmers who want to use AGPLv3 for their own work can take advantage of the many libraries and other source files available under GPLv3. And developers working on GPLv3-covered projects will often be able to use the AGPLv3-licensed modules with minimal hassle as well, since AGPLv3's additional term has no requirements for software that doesn't interact with users over a network.

This isn't a complete solution for bringing freedom to web services. Unfortunately, the current architecture that we use to build network applications is inherently unfriendly to users' freedom. Generally, all the code and data lives on someone else's server, under their control and out of yours. You can never be completely free in such an environment.

However, AGPLv3 advances a vision of how freedom works in the computing environment of today and tomorrow. Before this, GPLed web applications provided a lot of good for the community despite their limitations. Even if you can't duplicate a whole site, being able to duplicate its functionality can be helpful. There's only one Wikipedia, but the free software MediaWiki code also runs Citizendium, Conservapedia, and the GPLv3 Wiki. After SourceForge released their code as free software, people started creating alternatives to the site, some of them more featureful than the original.

AGPLv3 takes that one step further by putting developers on a more level playing field. One of the reasons the GPL has been such a successful free software license is because it creates an environment where people feel comfortable contributing--they know that everybody else will play by the same rules. By making sure that developers at least have access to source, AGPLv3 will similarly enable people to create communities around network-centric applications that are focused on freedom.

A big conversation about freedom on the network is beginning. We think that AGPLv3, and the code that uses it, will add a lot to the discussion, but that's not going to be the end of it. We're looking forward to new technology that can provide the benefits of web services but keep control in users' hands. We also want to see what community norms take shape around this kind of software--what you all think deployers ought to do, and what it would be nice of them to do. There's a lot of exciting work ahead, and we hope you'll join us in it. Together, we can build software that gives its users both convenience and freedom.

Document Actions

The FSF is a charity with a worldwide mission to advance software freedom — learn about our history and work. is powered by:


Send your feedback on our translations and new translations of pages to