So my understanding of the AGPL, is that it requires modifications to be distributed to the users of the network service, but I'm looking for a licence that would require any modifications (non-internal) to be public rather than be limited to the users. Are there any licences that would support this.

So an example use case is, let's say Company A takes my program/source code (let's say it's a webapp) under AGPL and makes modifications to it that significantly improve performance. Company A charges it's users $1000/month to use it, following the AGPL by distributing the source code to it's users but only it's users. It's users would likely not be technically-literate so wouldn't really be inclined to publish that source code, so what I'd want is for the company to not just distribute the source code to the users but make it publicly available for everyone or contribute it through github.

Asked on (before being alerted on crossposting etiquette): https://opensource.stackexchange.com/questions/8219/are-there-any-agpl-style-licences-that-require-source-code-modifications-to-be-p

  • 2
    Also asked (and now answered) on opensource.stackexchange.com/questions/8219/…. The etiquette here is that crossposting is generally discouraged; if you must, you should at least make sure each post contains a link to the other. Otherwise people waste time studying a question they don't know has already been answered. – Nate Eldredge Apr 22 at 13:51
  • The answer didn't really address the question, I've added some comments as a clarification on that linked answer though. – smw Apr 22 at 14:24
  • added a link here and there – smw Apr 22 at 14:26

If your concern is that Company A should not be able to charge for the modified code, or charge more than a limited fee, a license with a "share-alike" or "copy-left" feature should accomplish the goal. Many OS licenses include such a provision.

However, if the desire is to require the re-user to publish any modifications made for his or her own use, that is much more problematic. Such a license could be written, but it would be almost impossible to enforce. moreover, it might require a user to publish code that was not yet of public-release quality, thereby potentially endangering the re-user's reputation. Few people would accept such a license, or would fully comply if it were accepted.

  • Plenty of licenses have the copy left feature: opensource.com/article/17/9/open-source-licensing – Putvi Apr 22 at 22:52
  • So the AGPL, fixed a loophole from the GPL where software running on a network wasn't covered. My concern would be that company A could essentially technically comply by the AGPL, by making the source technically available for it's users but if it's users are likely to be technically illiterate no one would download the code. The AGPL would only require users to be given a way to access the code, whereas I'd want it so that any member of the public (non-users) can request the code where the code has to be published on their internet website/github. – smw Apr 23 at 5:32
  • So what I'd want is essentially an AGPL licence (which is what Mongo used to be licensed under) except changing section 13, " 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 of your version by providing access to the Corresponding Source from a network server at no charge" to something like "must prominently offer all users and members of the public" – smw Apr 23 at 5:34
  • @smw you could quite simply make such a license by basing it on the AGPL (mind that you honour Gnus copyright on the AGPL however) - thats all you need to do. Theres no central registry of licenses, you aren't required to use an existing license, you can make a license up on the spot. Best to run it past a lawyer however, if you want it to be reasonably water tight. – user4210 May 22 at 23:31

Your Answer

