> when the cloud backend stops supporting the API version the older app uses, you're screwed...

I think a standardized software "Nutrition facts" or "Truth in software" disclaimer would work for this: a simple table displayed in app stores that makes the important facts visible, such as the effective-price-per-year and data privacy declarations we have today, but add a line for how long-term support works, and what parts of the system are dependent on first-party hosted services and to what extent it can operate offline or with self-hosted services).

I'm not opposed to SaaS (after all, it's how I earn my living right now), but I am strongly opposed to software companies pulling a Darth Vader and altering the deal of software through app updates that most people don't think twice about, such as when Angry Birds changed from being a straightforward $0.99 app without ads to being another trashy freemium game[1], to Adobe dicking around with Creative Cloud

> What would get around that is requiring being able to point apps at your own server, and requiring open API documentation, but I don't see how that could really be workable in the real world...

Again, my issue isn't the fact that Cloud-hosted SaaS exists, but that customers get sold one thing, but which slowly morphs over time into something that no-longer works in their best interests.

I remember decades ago, being a sprog in lower secondary school, in IT class, when we were discussing the nature of "business software" compared to retail software and computer games, and the teacher was telling us about how site-licenses work compared to individual EULAs we'd all seen - but also that when the school or local education authority, bought software, especially custom or modified software, that they'd seek a clause in their support contracts with the vendor that the source-code of the software be placed in escrow in the event the vendor goes bust - so the school can keep on running. That's sensible. What I'm proposing is that SaaS vendors that reach some kind of minimum critical mass of customers, should be legally accountable to their customers to provide a working self-hosted system - or at least straightforward steps towards building a working self-hosted system, in the event of insolvency or their bus-factor going below unity - this doesn't need to be arduous: given we're all hosting code on GitHub, so just a law that states "reasonable precautions" must be taken should be sufficient. This would need to be a criminal statute thrown at the company's execs though, given that if an LLC company goes bust then anyone pursuing a civil law case doesn't have any company to chase after.

-----

[1] I'm not angry (hah) that /Angry Birds/ became an exploitative freemium game: I'm angry that the game that I paid for was compromised: I think the iOS App Store should have rejected their proposed update when it went freemium and instead required Rovio to launch it as a separate SKU in the store. Unrelated, but I'm also angry that games and apps I paid-for on the iOS app store can be pulled by their publishers with absolutely no-way to re-install the game or app if we do a clean-reset of our devices unless you made a private backup of the IPA files (Apple will give you a refund if you complain, at least...). EA is bad for this: they'll routinely remove great games of theirs from the iOS App Store for the most banal of business reasons: the won't even simply remove games from being advertised, but block paying customers from downloading previously paid-for games - which is ridiculous.