The "blame and shame the manufacturers" strategy only gets you so far. Google can, effectively, dictate terms to Android OEMs: They have no competing OSes they can start shipping instead, Android is a complete monopoly. Google's not afraid to use this monopoly to do blatantly illegal things like requiring Google Search and Chrome... but they want us to believe they're incapable of requiring control of system updates?
I suspect the problem is that when Windows updates break compatibility, the Windows team has to fix it, and when Android updates break compatibility, they'd much rather the OEM be on the hook for the time and money needed to fix it.
So in fairness, other bottom-of-the-bin complete garbage platforms do also have this problem - there are loads of little embedded boards running around with barely enough hardware to run the hacked up out of tree kernel that they're using. Now to my knowledge, none of those are major platforms pretending to be a real system that people can build on and selling literally $1,000+ phones that still has the same horrible problems at the deepest layers. But it does happen in the cheap junk.
No, it absolutely isn't. Linus also can't push updates to your Linux computer but it has to wait for distributions to pick up the changes and distribute them. Same as Google has to wait for OEMs.
Don't make stuff up.
Google's Android is not Samsung's Android, nor is it OnePlus' Android. They are all forks of the "original" AOSP Android and should be treated as such. Google requires some compatibility for inclusion of their Play services and has used AOSP to build in the core to achieve this, but it includes only very specific parts of the operating system.
Google Play is an application package that's added to another operating system, and an optional one at that. Huawei is still selling phones without GPlay and people are still buying those, even outside China.
There are phones for which your arrangement actually works: the Android One programme has Google set up everything but the drivers and associated libraries for vendors, who can then push updates to end users almost directly from Google.
If you want to get quick updates from Google, vote with your wallet and buy an Android One phone. Most manufacturers prefer to have control over their own stack so they can add distinguishing features to their products, plus there are obviously fees for the OS involved, so the price may be higher for some Android One phones compared to the other products, but you do usually get the updates in the way you describe.
At the end of the day, though, the average end user doesn't care about Android One. The option is still out there if you care.
Since Google rules the OHA (Open Handset Alliance) with an iron fist, there's no way on earth an OEM can brand its devices "Android" without Google's blessing (read: installing Google Apps in the /system partition which no user can get rid without unlocking the bootloader). And more and more of the open source parts of AOSP have been left to rot, in favour of "Pixel-only" apps. How many years has it been since JBQ quit AOSP in protest? And what has changed?
> If you want to get quick updates from Google, vote with your wallet and buy an Android One phone.
Those who voted with their wallets, got into a program which Google all but abandoned. Some OEMs like Nokia (HMD Global), Motorola (Lenovo), and Asus continue to ship seemingly unbloated Androids (but not as part of Android One). But credit where due: GKI (Android Common Kernels), Treble, APEX, pKVM (microdroid), TEE OS will pay dividends in the coming decade, essentially superseding programs like Android One.
https://source.android.com/docs/core/ota/modular-system
Of course, they could require by contract OEMs to provide updates, like they do for other Google based services.
(Google does a lot of creepy stuff, but HN should also give them credit when they do great things)
I don't see the problem here. As a developer you can implement support for older versions yourself if you want to, all you need to do is write stubs for every API and platform feature to mske them work somewhat consistently on older platforms. I don't see why you'd waste the time if Google has already done so for your, but you can.
I've yet to see anyone belittle that like you did.
Not about version support.
1. Control on top of the Open Source OS. 2. Hollowing out the OS so that OEMs/carriers have reduced controls over updates/lifecycles, etc.
1 is bad, 2 is arguably good.
I feel like this has to be the seventh or eighth time Google has implemented an entirely new mechanism around their inability to update their own operating system. Heck, most of Play Services originally happened as an attempt to hack around it.
The problem is inevitably the one thing you decided you can't update this way always becomes the blocker for what you need to do.