Well, the line is drawn by the fact that hardware and software have intrinsic differences. It sounds like we're on the same page about hardware -- with the software, should we not be bound by licenses in client/server services (phones, consoles)? You are using someone else's service with others, for some collective benefit like playing a game, and being bound to constraints on that software doesn't seem that offensive. Modified clients can piss in the pool for others using the services and affect the network's quality.
Again, if you want to run purely OSS software with permissive licenses, that should be your prerogative. But you might miss out on the Play store. If you want to mess with Valve anti-cheat, you can't connect to Steam games online. Etc. I think these companies do have a right to dictate software requirements for client code accessing their servers.
But, you should be able to wipe those clients if you don't care about them and play tux racer on Arch.
> Well, the line is drawn by the fact that hardware and software have intrinsic differences.
Do they? Is microcode hardware, or software? If I open up the plugboard on my IBM 407 and rewire the connections, am I updating software or reconfiguring hardware? I think this is a false dichotomy. Software or hardware, kernel or userspace, these are all just parts of a machine. I care about the holistic behaviour of that machine, not about which specific parts do which specific things.
> But, you should be able to wipe those clients if you don't care about them and play tux racer on Arch.
I don't need to play tux racer. I need to use my bank.
> I think these companies do have a right to dictate software requirements for client code accessing their servers.
They're not just dictating the requirements of the client code, they're dictating requirements for the entire execution environment. Following your logic to its conclusion, if I'm going to do banking from my phone (and that's a foregone conclusion), I have to have to cede that bank the right to veto any other piece of software from my phone.
I could buy a second phone, because I'm a relatively affluent software developer, but most people have neither the money nor the energy to buy a special phone for banking. They'll just let the bank control their phone. I consider this is an unacceptable abridgement of their freedom.
I have no problem with Valve anti-cheat, so long as it's reasonably permissive. Valve anti-cheat won't stop me from installing my own software. I'm not drawing a hard technical line here; there's a grey area of reasonable integrity provisions. Sideloading restrictions in Android cross well beyond that grey into the black.