Skip to main content
4 of 5
Added additional answer elements and link
Philippe Ombredanne
  • 14.8k
  • 2
  • 33
  • 87

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.

Philippe Ombredanne
  • 14.8k
  • 2
  • 33
  • 87