4 ms·
> That's why the author used the AGPL, which requires you make source code available to users who interact with your service. It doesn't, though. That's just t
by marcan_42 5y ago
> That's why the author used the AGPL, which requires you make source code available to users who interact with your service.
It doesn't, though. That's just the PR the FSF wants you to believe. What it actually does is require you to add a feature to the app to serve or link to its source code if you modify it. If you don't want to actually give your users the source, you can just stick a reverse proxy in front that removes the source code offer. The AGPL is powerless against that.
Conversely, it means every time someone forks an AGPL project on GitHub and pushes a commit, they are in violation of the license unless they first change or add the source code offer feature and point it at their repo. The AGPL is extremely difficult to comply with for normal Free Software developers, and doesn't actually protect your rights since it can be worked around. It's a horrible license and nobody should use it. I linked a deeper analysis of it in a top-level comment.
- toyg 5y ago> you can just stick a reverse proxy in front that removes the source code offer. That's the sort of "sw developer tries to do law" reasoning that will get you laughed out of court. The spirit of the law is a thing, and (judges can decide that) it applies to contracts too.
- eru 5y agoSplit into two legal entities. One modifies, one runs.
- toyg 5y agoYou're really going to argue that all your services run through a proxy owned by an obscure company in, say, Panama, that nobody else uses, for reasons different from dodging a licence...? Good luck with that.
- eru 5y agoNo, no proxy involved. Company A makes all the modifications you want, but doesn't run anything. Company B takes the software from company A and runs it unmodified. Since company B doesn't make any modifications, the AGPL does not place any obligations on them about publishing anything.
- charcircuit 5y agoThe spirit of the AGPL is that you are free to use the software however you want. This includes the possibility of using it with a reverse proxy which can strip stuff. Clause 9 makes it explicit that the AGPL only kicks in when you want to modify or distribute the source code. The "special" part of AGPL is that it makes you include a feature in the source code to offer "an opportunity to receive the Corresponding Source of your version."
- bruce511 5y agoWhile you hosting your own reverse proxy might be too on-the-nose, it's not inconceivable that you construct the offer in such a way that it is filtered out for you by an unwitting 3rd party. For example, if you make it look like an advert (which is what it is) then it would be filtered by ad blockers. There may be other "accidental" techniques for say Cloudflare. (I don't know, I don't use Cloudflare.) You're asking a judge to judge intent, when that intent could be hidden with minimal effort. On the other hand it's easier to just not use AGPL in the first place. Blanket bans on AGPL are common because at some point it's just more work than it's worth. Personally I see AGPL as a signal, "don't Saasify my code" and I'm happy to comply with that signal. Ditto GPL being "don't use in closed source". Personally I release under MIT not GPL or AGPL, because it is freeer (for some definition of free) but again that's a personal choice not a character judgement.