3 ms·
Because Linux doesn't maintain stable kernel API/ABIs, which requires either a shim to the more stable driver (a "midlayer") and ongoing development that's unli
by nimish 9y ago
Because Linux doesn't maintain stable kernel API/ABIs, which requires either a shim to the more stable driver (a "midlayer") and ongoing development that's unlikely to get mainlined or a shim to a binary blob for the numerous hardware developers who don't want to open-source details of their hardware.
Linus is also incapable of dealing with these companies in a way that they care about (see the middle finger to nVidia) so it's unlikely there's going to be any real progress. This is a fact: no company wants to spend resources chasing after every new kernel development if it doesn't specifically suit their needs. Windows solved this by having stable APIs that only rarely change. OS X solved this by making it basically unnecessary -- most of the hardware that needs drivers is either built-in or works over something generic like USB -- and even then has nice interfaces for drivers that are well documented and don't change that often.
Linux attempts to have the freedom of the former without any kernel developer burden, and the outcome is that no HW vendor cares much to contribute upstream since it requires a lot of time and effort that's mostly just a cost
- ploxiln 9y agoLinux has built-in support for way more hardware than OS X and full support for generic USB devices (and then some, with "quirks tables" for many standard-but-glitchy devices) so it's hard to say it's worse than OS X in that respect. You'll also find that there are devices that had decent drivers for Windows XP when they were released, but never had Vista or Windows 7 or later drivers made. Those devices worked well on linux a couple years after they worked on windows with reverse-engineered drivers, and then (ironically) kept working for a decade or more, whereas the windows drivers did not. This includes a variety of printers, sound cards, non-standard usb devices, and more. It's definitely true that many hardware companies which have modeled their driver development and support around the windows model can't handle the linux model at all. But linux has other priorities than to cater to them, and has done better than windows in server and embedded use-cases as a result.
- deleted 9y ago[deleted]
- pjmlp 9y agoNot spending money on licenses is a major appeal. The ongoing efforts to drop anything GPL related on each new Android release shows where it is going. You also gave a good example, OEMs want consumers to buy new devices, not to keep using existing ones.