AGPL

AGPL

The AGPL is a license for freely available program code that requires modifications to be disclosed again. Its special feature: this obligation also applies when the software is only offered as an online service and not distributed at all.

Whoever writes a program decides, by means of a license, what others may do with it. The AGPL is one such license, and it is among the strictest of the free ones. Free here means: everyone may read, modify, and pass on the program code. The AGPL attaches a condition to this. Whoever modifies the software and makes it accessible to other people must also disclose their modified version. The full name is GNU Affero General Public License, and the current version dates from 2007.

The gap it was meant to close

Older free licenses such as the GPL were written for a world in which software was sold on CDs or downloaded. Their disclosure obligation only kicks in once you pass the program on to someone. But that is exactly what never happens with internet services. A company can take free software, improve it substantially, and run it as a web service. Users only get the results in their browser, never the program itself. So there is also no obligation to give anything back.

This situation is known in the community as the cloud loophole. The AGPL closes it with a single additional clause. In essence, it states: whoever makes the software accessible to others over a network must offer those users the complete program code. Whether a CD changes hands no longer matters. What matters is that someone uses the service.

For companies, this is a serious matter. Many large firms internally forbid their developers from using AGPL code. The reason is caution: as soon as AGPL components end up in a company’s own product, the disclosure obligation could spread to the entire product. Whether that is really the case in a given instance depends on how tightly the parts are linked to one another. This question is legally contested and rarely answered clearly.

What the license specifically requires

The core of it is the so-called copyleft. This is a play on words with copyright and means: freedom is inherited. Whoever incorporates AGPL code into their own project must also place the entire resulting program under the AGPL. So one cannot simply pick out individual parts and switch off the conditions for the rest.

A common misconception is that the AGPL forbids commercial use. That is not true. One may sell AGPL software, use it in a company, and earn money with it. What one may not do is keep improvements to oneself while offering them to others. Private use also remains completely free. Whoever modifies software only on their own computer and makes it accessible to no one owes nobody anything.

A related model is called dual licensing. The author offers their software simultaneously under the AGPL and under a paid license. Whoever accepts the disclosure obligation pays nothing. Whoever wants to avoid it buys their way out. For small companies, this is often the only way to earn money with open code.

AGPL in AI projects and in the news

Well-known programs under the AGPL include the cloud software Nextcloud, the analytics tool Grafana in earlier versions, and mapping services from projects close to OpenStreetMap. In the AI field, the library Ultralytics stands out in particular, which many developers use to detect objects in images. Whoever incorporates it into a product must either disclose their code or purchase a commercial license. This regularly gives rise to discussions in developer forums.

In business news, the AGPL usually comes up in connection with license changes. Several companies have switched their projects from permissive licenses to the AGPL because large cloud providers had sold their software as a service without contributing anything back. Such switches often lead to disputes within the developer community. Sometimes a part splits off and continues the old version under the old name.

One more distinction is important: the AGPL is a software license, not a model license. The trained weights of AI models are usually subject to their own terms, such as the Llama License or Apache 2.0. A project can therefore combine AGPL code with a model licensed under entirely different terms. Anyone using both must check both sets of rules separately.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.