linux kernel bug count increasing, apparently
By jmcp on May 07, 2006
I'll happily admit to not being too keen on linux. That's because my employer pays me to work on Solaris and I see vast differences between the philosophies of the two OSes, and Solaris is more my personal style.
But look, I don't care whether you run or develop for Solaris or Linux or any of the BSDs or MacOSX or even MS-Windows. What I care about is quality. If you're writing code for an OS, for cryin' out loud make that code as bugfree as possible! Do your users, your customers and your bosses a favour by building in quality from the get-go. That means taking care when you design your product, documenting as you go, making sure that you don't just arbitrarily change the way that widget X works but that if you do make changes you do so for a justifiable reason.
What I want to see in linux is the sort of stability that I see in Solaris. And since I write drivers, that means I want to see stable in-kernel interfaces. I find it incredibly frustrating to read comments in the linux communities that boil down to "no, \*nobody\* needs a stable in-kernel interface in linux, all you need to worry about is kernel->userspace." My business is inside the kernel. If you want me to support linux, then do yourself a favour and make it easier for me to justify doing so.
The Solaris Writing Device Drivers guide (which is the basis for the SunEd course as well) has been used by thousands of developers all over the world for many, many years. It's one of the reasons --- apart from the Binary Compatibility guarantee --- (in my completely unhumble opinion) for the success of Solaris. ISVs and IHVs know that they can depend upon the DDI/DKI interfaces being stable. That means that their development and support costs are lower because they don't need to keep re-certifying their widget for a new release of the kernel, whether that release is from a new version of Solaris (eg 2.6, 7, 8, 9, 10, ....) or from a kernel patch.
What I see in linux is that the kernel is growing organically. Organic growth is generally a good thing to have. However, what I would like to see is the linux kernel having some semblance of design in its interfaces, so that the need to go and change those interfaces is minimised. That makes it easier for ISVs and IHVs to justify supporting linux, and easier to justify supporting OSes other than MS-Windows and MacOSX. It's win-win for everybody.
Finally, I find Greg Kroah's comments
...remember we are talking about GPL released drivers here, if your code doesn't fall under this category, good luck, you are on your own here, you leech
to be quite inflammatory and unnecessary. Not every company on the planet likes GPLv2, and when one is fighting a battle to provide support for non-MS/non-Mac OSen in the first place such comments do not make it easy to win the battle with management.