I happened upon a recent Linux-Watch article about Dell's Dynamic Kernel Module Support. I actually downloaded Dell's PDF paper but the LW article is an excellent overview, as is Linux Journal's article on the same subject..
Around the same time I noticed this article about the stable userspace driver API, which sent me around the net looking for current thinking on the whole binary vs. open source driver debate. I remembered reading Linux in a binary world... a doomsday scenario and the even older The Linux Kernel Driver Interface and was interested to revisit them. And as long as we are traveling down memory lane, let's not forget Linus Torvald's ancient words: (from http://lwn.net/1999/0211/a/lt-binary.html):
Basically, I want people to know that when they use binary-only modules, it's THEIR problem. I want people to know that in their bones, and I want it shouted out from the rooftops. I want people to wake up in a cold sweat every once in a while if they use binary-only modules.
Why? Because I'm a prick, and I want people to suffer? No.
Because I _know_ that I will eventually make changes that break modules. And I want people to expect them, and I never EVER want to see an email in my mailbox that says "Damn you, Linus, I used this binary module for over two years, and it worked perfectly across 150 kernel releases, and Linux-5.6.71 broke it, and you had better fix your kernel".
But will that always be true? There's an unstated assumption in those words that change will always be necessary. But is it?
What causes kernel change? One part is certainly changing hardware, and the other is clever programmers figuring out a better way to do things. Well, sooner or later improvements in both areas settle down. Moore's law reaches the point of no further progress possible, and generations of clever programmers wring the last ounce of performance out of hardware that can't change because the laws of physics won't let it. No, of course we aren't there yet, but that day has to come, doesn't it? Sooner or later stability comes because the envelope just can't be pushed any farther.
Well, there'll be plenty of flame wars to come before that happens, right?
If you found something useful today, please consider a small donation.
Got something to add? Send me email.
More Articles by Anthony Lawrence © 2011-05-01 Anthony Lawrence
FORTRAN's tragic fate has been its wide acceptance, mentally chaining thousands and thousands of programmers to our past mistakes. (Edsger W. Dijkstra)