Hacker News new | past | comments | ask | show | jobs | submit login

Not a differentiated one.

The AGPL, in its quest to be a EULA, violates free software Freedom 0 ("The freedom to run the program as you wish, for any purpose").

https://www.gnu.org/philosophy/free-sw.en.html

The AGPL literally demands specific functionality be present in the software that cannot be removed without breaking the license. The anticapitalist FSF zealots got so in love with the idea of closing what they call "the ASP loophole" that they wrote themselves a EULA.






> The freedom to run the program as you wish, for any purpose

I can do this with AGPL software just fine. Which purposes are not allowed under AGPL?


You are not allowed to modify an AGPL program without adding a mandatory feature to provide the currently-running source code to a remote network user of the software. You are also not allowed to remove that functionality. It's a clear violation of freedom 0.

I suggest that you read the actual text of the AGPL. It's madness. They wanted a EULA so badly.


> You are not allowed to modify an AGPL program without adding a mandatory feature to provide the currently-running source code to a remote network user of the software

That's not true. You only need to provide the modified source code somewhere.

You might want to read it again :-) It seems like you have a wrong idea of what the AGPL does.

edit: I see an immediate downvote. If whoever did this thinks I'm wrong, please share the exact AGPL excerpt that mandates actually building a feature to provide the source code currently in use in the network program itself.


The problematic clause is this one:

> 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?


Fair enough! Thanks for the interesting comment.

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.

Where do you add that to redis, which does not have a HTTP server, and what makes this endpoint "prominent"?



Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: