Viewing Options


Skip navigation Stay up to date and informed on the latest goings on here at Nathan Tech.
Subscribe to our newsletters!

The GNU Affero General Public License

The AGPL exists because software isn't always handed to users as a download.

Sometimes somebody changes a program, runs it on their own server and lets people use it through a website or another network interface. The users interact with the software, but they never receive the server's copy.

What does it mean in normal English?

Very roughly: the AGPL is strong copyleft like GPLv3, but it also has an extra requirement aimed at people interacting with a modified version of the program over a network.

Why was that added?

With ordinary GPL, many important obligations are connected with conveying or distributing copies.

If a company changes a GPL web application but only runs its changed copy on its own servers, users may interact with it without receiving a copy.

The AGPL was designed to cover that sort of situation.

What happens with network users?

If you modify an AGPL-covered program and users interact with that modified program remotely through a computer network, section 13 can require you to give those users a clear opportunity to receive the Corresponding Source of your modified version.

Does this mean every website using AGPL code must publish absolutely everything?

No. That's much too simple.

The provision is about interaction with a modified version of the AGPL-covered program. It does not mean that one AGPL component somewhere on a server magically turns every unrelated piece of company software into public source code.

How programs are combined can still matter, and complicated cases are exactly where you stop trusting a two-minute explanation on a tutorial page.

Can AGPL software be commercial?

Yes. Strong copyleft does not mean commercial use is forbidden.

What if I only modify it for myself?

If nobody else interacts with your modified program over a network and you do not distribute it, the situation is different.

The important point is that with AGPL, "but I only run it on my server" is not automatically the end of the conversation when other users interact with that modified program remotely.

When might I choose AGPL?

Imagine you are writing a server application and you specifically want people who improve it and run those improvements as a network service to give the users of that service access to the corresponding source.

That is the sort of goal AGPL is designed for.

An example

You release a web application under AGPLv3. Somebody modifies the application and runs the modified version as a service people use through their browsers.

The network interaction provision can require those users to be offered the Corresponding Source of the modified version.

AGPL is not just "better GPL"

Choose it because you actually want the network provision. If you don't, another licence may fit your project better.


Further reading and external resources


Previous: GNU LGPL | Next: Mozilla Public License 2.0

Back to Developer Central

Back to the top

Thank you for visiting!

Thanks for visiting this page. Please tell your friends about us!

Share Nathan Tech on Twitter/X


This page has been viewed 4 times since November 3rd, 2018.

Why not follow us on Twitter/X: @NathanTech7713


Recently viewed products

Products other visitors have looked at recently:


Nathan Tech

It's not disability

It's ability!

Last updated Saturday 12th April 2025 21:06:37

Copyright © 2013-2026 Nathan Tech. All rights reserved.