(Replying to PARENT post)

Yet another example of someone who doesn't understand the AGPL and how it doesn't work to protect your (or anyone else's) rights. It really is an utterly broken, non-free license. I've written about this in the past (read the topmost two replies too):

https://news.ycombinator.com/item?id=30044019

In fact, the author of this article claims to quote the AGPLv3:

> If you run a modified program on a server and let other users communicate with it there, your server must also allow them to download the source code corresponding to the modified version running there

But that is absolutely not the text of the license. You can check for yourself. That's not how the paragraph is worded at all. If that were the text of the license, it'd be a non-free EULA, since that wording imposes a restriction on usage, violating Freedom Zero.

Instead, the AGPL is a non-free copyright license because it violates Freedom 1, by instead imposing restrictions on modification, as I described in the analysis I linked above.

I really wish the FSF would stop pushing this nonsensical license and misleading everyone into thinking it does things it doesn't. Their PR around it absolutely does not reflect the actual wording and consequences of the license. It's deceptive and harmful to the free software ecosystem.

πŸ‘€marcan_42πŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

> Step 5: Stick a reverse proxy in front that deletes the source code offer (No license implication, does not modify the AGPL software in any way, see Clause 9)

> Heck, this situation could easily happen semi-organically - a reverse proxy doesn't have to be designed to explicitly remove the source code offer, it could merely be a protocol translator/wrapper that has no support for that specific message/tag, which is something that happens all the time.

Hmm I would be unsurprised a judge interprets the writing/configuring of a reverse proxy that modifies the HTML output or blocks access to some pages to be the same thing as editing the AGPL code yourself.

Though if I’m right, this implies that anything (load balancer, templating engine, protocol conversion, auth, etc) that calls an AGPL app also has to be open sourced even if the AGPL app is unmodified and doesn’t call any of your code. I can see why pretty much every company bans the use (freedom 0) of AGPL even on dev laptops: https://opensource.google/documentation/reference/using/agpl...

πŸ‘€NavinFπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

I'd be pretty surprised if a court ruled in favor of a strict reading of the AGPL like this. I'd like to see an example, if any court has done so.

It seems like you have some kind of personal grievance against the AGPL. Maybe it would be more productive to take up these concerns with the FSF and respectfully suggest a revised AGPL, instead of declaring it "broken" and telling people not to use it.

πŸ‘€nerdponxπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

> I really wish the FSF would stop pushing this nonsensical license

I read your comment you linked to. To me, the FSF makes a lot more sense than your argument does, your workaround--have a server that makes the required offer and run it through a proxy that deletes the offer before anybody can red it--is not a workaround, it's a violation of the license you agreed to.

πŸ‘€fsckboyπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

The loophole mentioned in reply 30044019 is certainly interesting. But it's also important to note that the enforcement of the license is also heavily depended on the law. After all that's what the document is designed for.

Hypothetically, a lawyer might argue that the act of setting up a filtering reverse proxy counts as active violation of the license. All and all, the eventual result will be determined by the court, not people reading the license online.

Of course, a clearer license without such possible loophole is better (i.e. the license should explicitly enforce _public_ access of the source code, not just access of the source code).

πŸ‘€niruiπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

I don't know, it seemed to protect this author's rights just fine.
πŸ‘€paxysπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Since your past comment is not-repliable, I'll reply here:

> Step 2: Make a change to the code - oops, license violation! Clause 13! I need to change the source code offer first!

> Step 1.5: Change the source code offer to point to your repo

> Step 2: Make a change to the code and push it

> Step 3: Open a pull request with your change

> Your change includes the source code offer commit in the history, and cannot be auto-merged.

The simple solution is to make the program a quine - make it able to serve it's own source code. That way it will always be up to date!

πŸ‘€im3w1lπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

What existing sane license would be free comparably to GPL2 level for "normal users", while also preventing the case of Amazon and MongoDB?
πŸ‘€nine_kπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

You might be right that there is a small addition in the runtime of the program, but there often is in GPL3 programs. For example, in CLI programs you are supposed to provide an option to display the license and where to get the source code.

I don't think this small addition to guarantee the integrity of the free software ecosystem deserves such strong language as "non-free". My feeling is corporations would love to take your argument and run with it to reduce the mindshare of AGPL. It's a classic PR tactic to pick on some small imperfection that serves a critical purpose and use it to gain an asymmetrically large advantage.

πŸ‘€tehjokerπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Your theory is wrong. A reverse proxy does not an arms-length transaction make. You can run the website through as many proxies as you want, it's still you running the code to show the end user a website, and you have to redistribute the source if you're using a modified AGPL programβ€”and the theory of the GPL licenses generally is that by linking to a (A)GPL library, your new work counts as a modified version of that library. And sham transactions with separate entities would likewise just be treated as you just doing all the steps.

You're committing the same fallacy as a lot of software people: thinking that the law is a rigid computer program. Contracts are not executed like computer programs.

There's plenty of thorny issues with the GPL (and AGPL), such as imprecision over what constitutes a modified version vs. just an aggregation with other programs. But what you've identified is not really one of them.

πŸ‘€legalcorrectionπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0