You forget the part where all of this was necessary precisely because OEMs couldn't be bothered to update their drivers to work with more recent versions of the kernel.
Three years ago, gregkh did a presentation about LTS in Android. Guess who was using latest LTS kernels. Google? Nope. Sony and Essential are who.
Guess who upstreamed support for their phones in Linux kernel? Google? Still nope, again it's Sony.
How long was Pixel 1 supported? Ah yes, a whopping 3 years. (Same for Pixel 2 I believe). Who does better? Fairphone (circa 100 overall employees, and not many are software engineers), and nVidia.
Guess who provides major kernel upgrades? Sony (but not Google-certified sadly), and nVidia.
So far, Google hasn't shown any sign they are more capable than average OEMs to upgrade my devices.
> You seem to not understand who exactly provides kernels for Android and other embedded devices.
Oh, I perfectly understand how those things work, I've Google-certified more smartphones than I can count (which means more than 50), and that's merely one line of my resume.
In my comment, I mention Sony who upgraded their major kernel version. How does it fit your mental model of embedded system's BSPs?
I currently work in a company who provides software upgrades for a 10 years-old STB. This 10 years-old STB (that's older than the Nexus 4) is currently running Linux 5.4, and is planned to run Linux 5.14 in a few months, at millions of customers' home.
Are we bigger than Google? Gosh no, by orders of magnitude. Are we spending a lot of time on this? Well nope, we don't even need one person full-time to upgrade kernel version. Are we paying that person a lot? Nope, they could probably move to Google 500 meters away and have at the very least double salary.
Of course SoC-vendor stopped providing us with upgrades aeons ago.
But, contrary to Google, we actually have monetary incentives to keep supporting this device.
That's their point. Google, for their own phones, put next to no effort upstreaming the code, but accepted the vendor status quo.
If they can't even wrangle this for their own phones, how is going to a more permissive license and embracing proprietary modules going to make the situation better?
I'm not sure where you got that "point". Microsoft couldn't wrangle this either and they've still ended up with a wildly successful operating system which simply provided a stable ABI.
Why are you so darn sure that they're wrong and the model that's been failing for the last 15+ years is really the right one?
Microsoft's kernel is also famously behind the times because they can't update key parts because of the stable API. Like how the scheduler only knows about banks of 64 cores at a time, and you have to manually load balance your threads from user space in some cases. Or how they couldn't change their VFS to compete with Linux's expectations because they reversed the caching model. The NT filesystem cache sits between user space and the filesystem so internal metadata isn't cached by default but instead needs manual work from each day driver that's always not quite implemented well in practice. On Linux the cache conceptually sits between the FS and the block device so metadata is actually cached 'for free'. Because of these problems it was faster to literally run a whole other kernel for WSL2 rather than the apples to apples of WSL1.
And when we have an example of perfect phone APIs that don't need updates and perfectly written drivers to back those APIs then we can start to entertain that idea.
Stable does not mean perfect. It means putting a version number on it, don't fucking change it pointlessly, and decouple it from the other parts of the kernel.
My Pixel 5 with the latest update installed is running Linux 4.19. Pretty old, but still supported until 2024 according to kernel.org. Still, a more recent kernel release would be preferable of course.
One could require FLOSS drivers instead, so the community would have a possibility to update them later. This is exactly how it works on GNU/Linux phones, Librem 5 and Pinephone.
I'm not sure how switching to a more permissive driver model and licence where now you won't even get the source to these drivers will make the situation better.
Three years ago, gregkh did a presentation about LTS in Android. Guess who was using latest LTS kernels. Google? Nope. Sony and Essential are who.
Guess who upstreamed support for their phones in Linux kernel? Google? Still nope, again it's Sony.
How long was Pixel 1 supported? Ah yes, a whopping 3 years. (Same for Pixel 2 I believe). Who does better? Fairphone (circa 100 overall employees, and not many are software engineers), and nVidia.
Guess who provides major kernel upgrades? Sony (but not Google-certified sadly), and nVidia.
So far, Google hasn't shown any sign they are more capable than average OEMs to upgrade my devices.