Making that decision in an informed way starts with having some idea of what you're giving up.
In the case of SaaSS, you're often not sure what you're giving up precisely because the operation of the server is so opaque to you. E.g. is the server copying all your email to a hostile foreign government? The operator /says/ it isn't.
Indeed, it can be a bit abstract-- but many other important tradeoffs we weigh also involve abstract implications or effects at a distance.
The fact is that many people today are incapable of even installing an application on a proprietary desktop OS, much less utilizing the freedom of software they control. 10 years ago I was building websites for people at $1000-$5000 a pop, all with open source software. They have all the benefits of free software available to them, but you know what they don't have? Anyone to maintain their software for a reasonable price. I've been directing them to SaaS providers for a long time because frankly it makes no sense to pay me 100 times as much to a software professional in order to realize this freedom.
Obviously Stallman would say that there's no inherent reason that you can't have a reasonably priced service based on free software, just like there's no reason you can't charge for shrinkwrapped free software. However the mechanics and cost savings of SaaS make this much much more difficult to conceive, and frankly I don't see how it will ever make sense for the laymen who make up the vast vast majority of computer users today.
Stallman is a gem of the computing world, and I would never say anything bad about his ideology, but the primary battle that needs to be fought today is about data ownership, not software freedom. The latter still matters, but only for the computing elites (ie. programmers, sysadmins, etc), the former is what is increasingly going to affect everyone going forward.
Arguing that paying someone to run the software for you is unethical is like arguing that paying for a well-prepared meal in a restaurant is unethical. You should source all the ingredients and prepare them in your own kitchen.
Except we're paying for the expertise of the chef. In the case of SaaS we're paying for not maintaining our own data center, system administration costs, operations costs, monitoring and security.
But the chef might not use clean food! People will get sick, the chef's reputation will suffer, and he'll go out of business.
As you say, the question is data ownership. Turning that toward the analogy, how do we verify data security such that reputation is affected? Make ethical behavior valuable (reputation) and businesses will behave ethically.
In a restaurant, there is no unjust power over the customer. In a restaurant, a customer can order some dishes and order the dishes to be prepared a particular way. When the customer gets the meal, the customer is free to do things such as add more things to the food, take the food away for later eating or share the food with friends or even resell the food to anybody. In the case of SAAS, similar freedoms are not available to the user. Users are forbidden to study and modify how the service operates, and users are forbidden to share the computing service with other people. Control over the service belongs to the SAAS company and not the user.
I would submit that a SaaS provider could not ethically allow modifications to their running software. So let's exclude that from the discussion.
What if a provider only ran software licensed with the AGPL? It wouldn't fix anything. The license requires accessing a download of the source. How can a customer verify the version of the software is the same as the version of the download, i.e. check for a violation of the license? Short of having access to the operating system on the servers, the customer cannot. No reasonable service provider would allow such access, and no reasonable customer would accept that other customers, including, possibly, competitors, had such access.
You can push the problem around all you like (every customer has their own server with OS-level access, but what about the DB?). It will always end up being cost prohibitive to run a service.
Also, under the AGPL the point is for any user of the system to be able to host and run their own instance. Meaning that any innovations must be given away. Conversely, if the software can only run in the context of the provider's data store, the problem of data ownership is not resolved.
Do I want the keys to the OS on my home computer. Darn right. At work, do I want the keys to Amazon's virtualization layer? Heck no, I don't want those headaches. It's what I'm paying them for.
Stallman's position also fails to address the ethics of contract law. What makes Free Software ethics superior to ethics of contracts?
Anyway, to be clear: Stallman actually says that breaking your promise, i.e. breaking a contract is not cool, so you shouldn't ever accept a contract that requires you to give up essential freedoms. He does not advocate breaking contracts, he argues about which contract terms are ethical or unethical. He doesn't say break the unethical ones, he says don't accept them in the first place.
And you could run hosted software that does something that involves networking fundamentally, such as a chat service, and it would not be SaaSS. And you could run any software under a permissive license and still provide the code as though it were AGPL. AGPL isn't a requirement for being ethical, it just helps stop people from being unethical (but they could choose to be ethical regardless).
I don't think he is: The challenge for excellent free software today is to build software which can be used maintenance free (and, of course, be compatible with maintenance if the user wants to provide some).
Of course, it's _easer_ to build software that runs remotely and can be fixed silently for the user at any time, than software which has to be complete and correct when it goes out the door...
Freedom that costs to much can't deliver on its promise. The response shouldn't be to abandon improved freedom as a goal, but to apply our intellect to lowering the cost.
Of course you are right that we should rise to the challenge of shipping excellent free software, but experience tells me that it doesn't matter how good we get at this, we will still be undone by the transient nature of software stacks. Patches will be necessary unless people never upgrade, which of course they will because sooner or later they will desire new features or it's necessitated by security. At best we can asymptotically approach the amortized cost of having someone else manage your software for you, and even that is dreamland until free OSes finds a way to approach the UX provided by Apple/Microsoft/Google.
You're welcome to devote your life to proving me wrong, but I'm not holding my breath.
A competitive market when you're looking to see that piece of software extended or adapted.