I am looking at extending/modifying a web application licensed under AGPL for my own business. The program that I am modifying doesn't interact with the public, but with my employees who will be using the program. Specifically, the program manages our inventory, manufacturing, orders, etc.

If I modify the source code of the program, do I HAVE to 1) advertise to the public that I have modified the program and 2) publish the modifications (source code)? Can someone point to where it says so in the license? I have been looking at https://tldrlegal.com/license/gnu-affero-general-public-license-v3-%28agpl-3.0%29 which explains that I can modify and that I can distribute, but my question is if I must.

Hopefully this makes sense, thanks.


You never need to publish anything with the (A)GPL. You only ever need to make available the source code to those persons to whom you also make available a binary (and with the AGPL also to those users whom you let use your binary over the network).


This is covered in the FAQ for the AGPL:

Q: How does this license treat commercial enterprise use over intranets and internal networks?
A: Simply, if run internally to a commercial company, then the company isn't required to release source code back to the world. The license requires that if a user downloads the source they have the right to make improvements and not release these modifications. GNU GPL software in general addresses this issue the same way. If an employee has access to the source and has the right to make improvements, the commercial entity could probably view this work as work for hire and owned by the company and not have to be released outside.

The realization here is that you, the company are only distributing the application to yourself in effect. This means that you don't need to publish the code changes back to the public.

The AGPL is intended to force the public web apps (Google and the like) to publish their changes that use licensed software that is available to the public back to the public. But, if the use is completely behind the corporate firewall and used only internally to the company, there is no requirement that the code be released back to the public because it is never distributed to the public as a webapp.

So no, you don't need to advertise to the public that you have modified the program, nor do you need to publish the modifications. What is behind the corporate router stays behind the corporate router. You, the company, are only distributing it to yourself; and you, the company, already have the source code and its changes.

Note that you would still be required to have your employees able to download the source of the original application, though it doesn't appear that you would need to make the modifications available.

Again from the FAQ:

Q: Can a commercial entity remove the download source button in a corporate intranet or internal networked environment?
A: No. Anyone who wants to use the software in a corporate intranet or internal network, must leave the download source button but doesn't have to make modifications available if not engaged in distribution. Anyone engaged in distribution beyond their enterprise must leave the download source button in place and make available the source for any modifications through this button.

  • This answer is not necessarily incorrect, but it appears to refer to the original Affero General Public License as opposed to the later GNU Affero General Public License v3. A few concepts, like a literal download source button seem to have disappeared from later discussions. – James Mishra May 20 at 3:57

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