Suppose I write a server-based application that I wish to release under the AGPL and expose publicly. What concrete steps do I need to take in order to satisfy clause 13? Is it enough to add a valid link to a public git
repository on an "About" page? Does the link have to appear on every page of the application? Does it need to be a direct download, rather than a link to a github
project or similar? Are there other things I need to be careful about the design of the server to prevent it from accidentally violating the license?
-
2As extra reading in to follow Philppe's good answer, I'll point to my relevant answer on Do I have to offer the source of an AGPL (v3.0) licensed Web app even if I didn’t modify it?– apsillers ♦Commented Jan 19, 2017 at 17:58
1 Answer
Suppose I write a server-based application that I wish to release under the AGPL and expose publicly. What concrete steps do I need to take in order to satisfy clause 13?
As the author of the application, I can incorporate any or NO mechanism that would trigger the requirements of the AGPL section 13. So there are no specific steps I need to take. I am the author.
The point here is that the onus is on a user that would modify and redistribute or perform publicly my application. My application may not contain any such built-in mechanism to download the corresponding sources yet if a user modifies my code, then they would have to meet the requirements of section 13 nonetheless.
So I can include nothing or anything. If I include something I could include anything I like:
- a valid link to a public git repository on an "About" page
- the link may appear on every page of the application
- it can be a direct download
- it can be a link to a Github project or similar
Or I can include nothing at all. I am the author and I can do as I please.
If I include some or any of the above, a user:
- may not remove any of these,
- if they modify my code, they may need to update the mechanism (such as update the link, or the code that creates a tarball or else) such that this points to the current code with their modifications rather than to my original unmodified code.
See also this excellent related answer from @apsillers who contacted the FSF on a similar topic (this is small excerpt):
So, if you use an unmodified AGPL application that doesn't have download-source functionality, you are not required to add one or otherwise offer the source to users. If you do modify the software, of course, you are required to add a mechanism to allow users to download your modified source.