3 ms·
I think the Linux community has always massively underestimated how destructive the no-stable-API policy has been. The result of not being willing to commit to
by sievebrain 10y ago
I think the Linux community has always massively underestimated how destructive the no-stable-API policy has been.
The result of not being willing to commit to a driver API has been that Android devices - by far the most massive deployment of Linux kernels ever - are a wasteland of out of date, exploit-ridden kernels that can't be patched because of the monolithic driver model. Windows has a single kernel and all driver vendors play nicely within it. You can upgrade Windows separately to upgrading your PC, and you get the updates when Microsoft pushes them out. This takes a lot of effort by Microsoft, but it works.
Android devices, on the other hand, can't do that because Google can't provide shared kernel builds. Everyone has to do it themselves. And as noted above, this did not lead to a utopia of shared and open drivers, it just led to Linux users having out of date operating systems.
- zanny 10y ago> Google can't provide shared kernel builds. Everyone has to do it themselves. Somehow, desktop Linux manages to ship one kernel per architecture (x86, ARM, MIPS, etc) and manages to support almost all hardware out there, and manages to keep their kernel up to date. Yes, Linux is actively hostile to proprietary third party shipped binary drivers. I'd call that a feature more than a detriment, because we want open drivers, if for no other reason than it prevents panned obsolescence of hardware and lets you keep your computers working even when the original OEMs refuse to. It gives you control over your hardware in a way you cannot get with proprietary drivers. Though it is worth mentioning DKMS exists, works, and in practice if any Android OEM wanted to they could recompile via DKMS their blob crap every kernel update and ship the kernel + drivers combined as they have been doing for years no problem, just with updated kernels. They don't, and that is absolutely not the fault of Linux itself, its because OEMs don't care and as long as users keep buying their hardware while they continue to violate the GPL and deny users power over their own devices they will get away with it.
- Grishnakh 10y agoThis isn't quite true: XP drivers are incompatible with later Windows versions, and there's been a lot of problems with Win10 not working with drivers for older Windows versions. When this happens, users end up throwing away perfectly good hardware. Obviously, it's not nearly as bad as Android where every single version is incompatible with any other version, but it's still there. The problem with Android is that Google has done an absolutely terrible job of managing it and getting vendors to participate correctly (by open-sourcing their drivers so that the OS can be updated). Linux was never meant to be a commercial product, it was always designed with the open-source philosophy, and what you're seeing there is the result of the conflict here. The kernel itself absolutely does have a stable API, but the drivers have always been considered to be part of the kernel, by the devs.