|
Page 2 of 26
1. The kernel and friends, take one
I remember how much I loved the Linux kernel 1.2.13, and how surprised I was of the stability of the "unstable" 1.3.18. In times when being conservative in software was still a good thing, I was wondering why `ls' was not having `--color' by default in FreeBSD. I wanted a greater speed of the changes.
Now I wouldn't feel the same. The first shock was to see the buggy Linux kernel 2.0.0.0, and the weird dance of the fixes: 2.0.0.7 was better, but wait, it then got worse, so 2.0.034 was really the one to use. Or maybe not. Still, due to the improvements in the kernel, and of the inertia of the mind, I thought it was a progress anyway.
I have the strange feeling that the GPL vs. BSD flame wars were milder in those times. Or maybe I was just younger.
The 2.6 kernel stated that the dichotomy between "stable" and "unstable" should be history. In a world of an increased complexity, the kernel team was declared as being able to only issue "stable releases" How humble of them. A fourth version number was however added, to allow for severe fixes to be marked.
Three years after 2.6 was released, a few people are still considering it too buggy for production use, although 2.6.9 was a very solid one, as users of Red Hat's Enterprise Linux 4 and of its clones can witness. Patrick Volkerding eventually decided that the next post-11.0 Slackware will only feature a 2.6 kernel, as slackware-current dropped the 2.4 line. A tremendous change for some of us.
Unhappy people with the 2.6 kernels objected that not having a stable API is harmful for a sustainable development of drivers. Nota bene: it's only about a stable Application Programming Interface, not about an Application Binary Interface (ABI). No matter. Greg Kroah-Hartman expressed the kernel team belief that a stable API would be a nonsense. I couldn't tell whether this decision was made to prevent binary-only kernel modules, or it was just another irresponsible decision, but in good faith.
As one of the main complaints and alleged reason for not using Linux on the desktop was the lack of the hardware support for some new devices, we have to notice that, while not being able to influence hardware vendors, a tremendous effort was made to add more and more supported devices to the Linux kernel, and Greg K-H was one of the people responsible with that, especially on the USB side.
Every once in a while, "progress" rhymes with "breakage", and every now and then either the end-user, or the makers of a distribution have had to fix some udev rules. As a proof that it isn't just me, Pat has provided some udev-alternate-versions with Slackware. You can't sat Pat is not knowing what he's doing, can you?
Progress comes at a cost, and unexpected breakage is one of them. Is this acceptable in a world when OSS adoption relies on the "It Just Works" metaphor? Am I trying to say there is something wrong with changes in the kernel? No, I am not. Except that I suppose you remember Andrew Morton saying the "2.6 kernel is slowly getting buggier" (at LinuxTag 2006). To some extent, Linus seemed to agree.
|