I understand that using AGPL (specifically AGPL-3-or-later) means:

  • all the linking rules from GPL-3-or-later still apply
  • additionally, a user accessing the software over a network should have access to the source


  • if my software links to a regular library, I must also provide the source of that library, just like the GPL
  • if my software communicates with a database, on the same machine or over the network, I do not need to provide the source for the database engine, just like the GPL

But does the AGPL introduce new linking rules?

Consider my software communicating with some other piece of software (not a database engine) over the network. Are there circumstances where I must share that code, that I wouldn't have to with the GPL?

A non-exhaustive illustrative example will suffice.

1 Answer 1


No, the AGPL does not introduce a new kind of linking. The GPL and AGPL derive their validity solely from copyright. With regards to linking, they are only applicable insofar as linking creates a derivative work that could otherwise not be used without violating the copyright of the linked code. The licenses cannot invent new kinds of linking. However, they could allow certain kinds of linking, as the LGPL does.

Instead, the requirement of the AGPL to make the corresponding source of modified versions available could be derived from the right to public performance, which is one aspect of copyright. The (A)GPL seems to consider public performance an aspect of “propagating” the work. The (A)GPL allows public performance of unmodified works without special restrictions. For modified versions that users can interact with over a network (i.e. a public performance which requires permission from the copyright holder) the AGPL only allows this under the condition that the corresponding source of the modified is offered to the users.

If you write software that interacts with (A)GPL'ed software over a network, it is difficult to see how the (A)GPL could apply in any way to your software, since your software is almost certainly not a derivative work of the (A)GPL'ed software. The GPL and AGPL are identical in this respect, and both allow you to run unmodified versions without restrictions. The AGPL only differs from the GPL with respect to remote network interaction with modified versions of AGPL'ed software, and then only places restrictions on that modified version, not on users of the modified version.

  • "If you write software that interacts with (A)GPL'ed software over a network, it is difficult to see how the (A)GPL could apply in any way to your software". Software is considered to be a derivative work, if it communicates below "at arm's length": gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem . So there is a big chance that the A(GPL) will have to be applied to other software components as well. There is no exact definition for "at arm's length".
    – Sebi2020
    Aug 6, 2023 at 13:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.