Or, in Greg KH’s words, StableKernelDriverABINonsense.
“Many vendors are most familiar with the Windows model. The theory behind the Windows model is that Microsoft commits to a stable set of Application Binary Interface (ABI) calls that can be used by driver developers… The reasoning behind this approach is to enable driver development to be decoupled from the OS development.
...
The Linux driver model is different. For users, the goal is to provide the 'Just Works’ experience. The Linux model is that IHVs get the source code for their driver accepted into the mainline kernel. This entails a public peer review process to ensure that the driver code is of sufficient quality and does not have obvious bugs or security risks. Linux has neither a stable binary driver ABI nor a stable source-code driver Application Programming Interface (API). That is, there is no guarantee that an interface provided in one version of the kernel will be available in the next version, and portions of the ABI and API change in every kernel release.“


Comments
who needs drivers anyway, in my opinion YouDontNeedThat™
StableKernelDriverABINonsense from Greg KH is really something. The decoupling approach has proved its worth time and again, in the real world for over 20 years, but when you read Greg KH, that’s still a theory… Only those espousing an ideology can be this blind.
What I like is the “public peer review” process.
I’m 6’6” and over the age of fourteen.
I have no desire to be “peer reviewed” by a bunch of mental midgets.
If, on the other hand, they want to submit their codez to me for review, so be it. I could do with a good laugh late at night.
I, on the other hand, believe that idea of drivers being controlled by the makers of the OS is a good idea from Unix badly copied by Linux, as per usual.
See, you can’t keep an ABI stable. Unless you halt kernel development tomorrow, the ABI will change. The windows ABI changed too. And every time it changes, the IHVs have to ship new drivers. But many of them don’t sell the product anymore, so they are not interested in providing a new driver. So, you
the customerare essentially left with useless hardware that previously worked, which is bad. I had such experience with my avermedia card (in windows), and it was very sad.The right way to make an OS is to have a limited compatibility list while closely controling the drivers for that hardware (ie have the source code) and then sell computers with hardware that’s in the list. Unlike what they want you to think, an OS isn’t supposed to support every little nitty hardware out there. OS X and IRIX did that, and they succeeded, plus hardware never broke on them like on Windows. I really hope PC-BSD does the same.
Linux on the other hand is all about copying good ideas in a bad way. So in order for the freetards to be able to claim “broad compatibility with devices”, they have no problem shoving binary blobs, drivers with source codes they don’t have a license to change, and that kind of stuff. So, Linux ends up being in no mans land where they don’t have as broad hardware compatibility as windows, yet hardware compatibility breaks as often as windows everytime the ABI changes.
This, my friend, is what I call a bonehead engineering descision!!
In fact, the freetards themselves admit that shoving blobs and non open source drivers inside linux is a bad idea, but it’s all for the cause of Linux reaching the masses. Policy before correctness, as per usual in freetardia.
From article 'Conclusion: IHVs Should Get Their Drivers In Mainline’
This is the Con Kolivas/Android case all over again. Does Kohn really think IHV are willing to do what it takes (whatever that is) to get their code merged into the kernel mainline?
PD: The article is not longer located at the said URL, here’s the new one http://kr.linuxfoundation.org/collaborate/publications/linux-driver-model
You must be signed in to leave comments.