I believe the solution to this kind of problems is that enough legislators (thinking of USA, EU) make it illegal to require a certain implementation of a software client to use an online service, whether this restriction is built into the communications protocol or checked through a side channel. Then the owner of the client device decides which implementation they'd like to use - so corporations can keep requiring the proprietary "official" one on their own corporate devices, but customers / end users who own their devices get to choose. Like, basic rights that come with ownership.
This would essentially take us back to what online services were 20 years ago, by outlawing a business model that relies on providers controlling stuff on users' devices. What's on the server is the company's business, what's on the client is the user's, and the boundary is clear.
On the one hand, services that would persist would likely no longer have free tiers (which would essentially mean free lunch for customers); since it's a commercial service run by a company that has costs, it's just normal to pay for it as a user, there's no free beer anywhere.
On the other hand, by paying for something, you'd get that thing and nothing else, as there's always going to be a client that doesn't leak data not necessary for the service to perform whatever you paid for, or impose arbitrary restrictions on its use. If any, these need to be server-side.
This just increases the price for everyone. The API is always there if you don't want to use the loss leader. The entitlement in this thread is insane.
This would essentially take us back to what online services were 20 years ago, by outlawing a business model that relies on providers controlling stuff on users' devices. What's on the server is the company's business, what's on the client is the user's, and the boundary is clear. On the one hand, services that would persist would likely no longer have free tiers (which would essentially mean free lunch for customers); since it's a commercial service run by a company that has costs, it's just normal to pay for it as a user, there's no free beer anywhere. On the other hand, by paying for something, you'd get that thing and nothing else, as there's always going to be a client that doesn't leak data not necessary for the service to perform whatever you paid for, or impose arbitrary restrictions on its use. If any, these need to be server-side.