The AGPL is one of the strangest licenses to me, coming from a foundation that considers running code you can't read or modify as a violation of your human rights, but also making a license designed for software running on someone else's computer entirely, where you have no possibility of any amount of control.
In general I think it is wrong to try and characterize Amazon's developers as being some kind of strange beasts who have somehow figured out how to use open source better than everyone else. They are the same as every other corporate developer in that they'll always take the easiest and cheapest path to success.
This would include the freedom to know what code is running,and the freedom to modify that code and run you own version. The ideal outcome of someone running an AGPL server would be that if you find a bug or if they decide to terminate the service, you can host your own version, so you are not locked in.
Unfortunately, it turns out that this freedom is very hard to actually guarantee, as the deployment and monitoring of a server can be as daunting as the actual application logic itself. This is somewhat similar to the case of releasing GPL code without the instructions for building that code, but probably far worse.
You seem to have assumed I am personally someone who was bitten by this, which is not the case. I am not even a firm believer in FLOSS values. I am just a by-stander observing how these things are used in practice as opposed to their ideals.
By the way, even Mongo's initial use of the AGPL was somewhat counter to the spirit of the thing - they also believed that the deployment part is going to be too hard for many companies, so they hoped that companies would come to them to pay for hosted deployments. If they were using the AGPL according to its spirit, they could have made their own deployment and monitoring scripts public and would have defeated Amazon's lock-in attempts that way (of course they could never do that, their whole purpose was to create that lock-in effect for themselves).
- GPL code can be used in a program you do not distribute
- Not distributing can be done by running it on a server instead of local machines
- Run on server almost always means users don't own data
It's missing a step, which is that the GPL code in the world was so important that people NEEDED to use it so much that they were willing to change the way they distribute (or don't) their software... that's a pretty tough claim to make out. What's the evidence for that?