> forcing anyone who uses your project, even on a server and not distributed to end-users, to contribute all changes back.
Actually, it doesn't quite do that. It treats "providing access to via a network" as "distribution", and requires the source to be provided, under the AGPL, to users who ask. For example, if Hacker News was AGPL'd (and not copyright owned by Y Combinator), I could ask Y Combinator for the source and they'd have to give it to me… but they wouldn't have to provide the original developers their patches.
If, say, this AGPL Hacker News was only available to people within Y Combinator, I wouldn't be entitled to receiving a copy of the source from the company. I'm not a user, you see. (Notably, the original developers aren't entitled to Y Combinator's fork, unless they're also being provided the software.) But I could ask a friendly employee for a copy, and they could get it for me, and then I could give it to anybody who wanted it as per normal GPL rules.
Actually, it doesn't quite do that. It treats "providing access to via a network" as "distribution", and requires the source to be provided, under the AGPL, to users who ask. For example, if Hacker News was AGPL'd (and not copyright owned by Y Combinator), I could ask Y Combinator for the source and they'd have to give it to me… but they wouldn't have to provide the original developers their patches.
If, say, this AGPL Hacker News was only available to people within Y Combinator, I wouldn't be entitled to receiving a copy of the source from the company. I'm not a user, you see. (Notably, the original developers aren't entitled to Y Combinator's fork, unless they're also being provided the software.) But I could ask a friendly employee for a copy, and they could get it for me, and then I could give it to anybody who wanted it as per normal GPL rules.