> But for that to actually work you need the software running on the client to be under the control of the user independent of which device or service ...

In other words, you need the user of the software to pay for it's development. Since that won't happen ...

That isn't the only way.