You know, I don’t disagree with vendors putting whatever hardware they want in their devices, and I don’t mind vendor-customized software. But what I do mind is the barrier of supporting these devices without relying on the vendor.
If I buy an x86 computer, I can use it basically however long I want to. I can put a variety of operating systems on it, and I don’t really need to rely on vendors much aside from binary driver blobs, which isn’t really that much of a problem these days.
I really wish that Android wasn’t so customized per device. I wish I could just install upstream Android on anything that can run it, instead of special binary images for each vendor’s make and model. Android is open source and all, but simply having the sources to work with is the easiest part. Making it actually work is significantly n more difficult.
Imagine buying that aforementioned x86 machine, but you had to run a giant, customized binary blob specifically made for a laptop’s make and model. And you had to throw it away after a few years not because you need more resources, but because you cannot upgrade the OS anymore.