> if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source
The application does not have to directly provide its own exact source code, but it must advertise where to find it.
And it's quite unclear what exactly counts here. For a web application it's somewhat obvious how one might do that (although how many AGPL applications are prepared for it as a simple config option vs require you to do additional patching to add it), but for other applications its not.
E.g. you interact with redis over a custom protocol thats self-described as being human-readable. Does that mean I need to inject the offer there somewhere? What if it is a much more opaque protocol? If you ask 5 lawyers, how many opinions on that do you get?
A special endpoint e.g. /about or /license that lists the terms of the AGPL and a link to the source code would suffice. That's not difficult or unreasonable at all.
> if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source
The application does not have to directly provide its own exact source code, but it must advertise where to find it.
And it's quite unclear what exactly counts here. For a web application it's somewhat obvious how one might do that (although how many AGPL applications are prepared for it as a simple config option vs require you to do additional patching to add it), but for other applications its not.
E.g. you interact with redis over a custom protocol thats self-described as being human-readable. Does that mean I need to inject the offer there somewhere? What if it is a much more opaque protocol? If you ask 5 lawyers, how many opinions on that do you get?