> If you can't see any reason why a user isn't able to run any software they'd like on hardware they've purchased, then you need to educate yourself. Because the reason is that the contract you have with the hardware manufacturer and the terms of use do not allow you to. And there is no contradictory law or regulation that trumps that agreement.
I did not sign a contract relinquishing my rights to execute whatever code I like when I purchased my phone. Does one have to do that with an iPhone?
If you do, shouldn't it be called an applePhone, not an iPhone? If you cannot control what code is executed by the cpu, it is really more Apple's phone than your own.