
This image is from Greg Kroah-Hartman’s closing keynote on busting myths and lies about Linux. If you feel confused or even betrayed by this statement by Linus, Doc Searls’ recent article will help you understand it.
Kernel development is not about Moore’s Law. It’s about natural selection, which is reactive, not proactive. Every patch to the kernel is adaptive, responding to changes in the environment as well as to internal imperatives toward general improvements on what the species is and does.
We might look at each patch, each new kernel version, even the smallest incremental ones, as a generation slightly better equipped for the world than its predecessors. Look at each patch submission–or each demand from a vendor that the kernel adapt to suit its needs in some way–as input from the environment to which the kernel might adapt.
The development of the kernel is reactive. Instead of anticipating the problems, it responds to the environment changes and needs. Which is probably one of the reasons why every kernel version is not drastically different, it is an improvement. And I think every innovation is that way.
Read Doc’s article in entirety, it will also introduce you to the divide in the kernel space and the user space. Does it feel against the best practice or disconsiderate towards the users? It is not, it is a way of separating building a tool, and applying it to specific problems. The kernel space makes it possible to focus on the technicalities look at the kernel as a tool, which by itself is not a solution, but can be applied by many others to build solutions. And this is what keeps it technically reusable and flexible to apply in multiple scenarios. Every software project has this, just that some have it implicit.
Of course, the next question that pops up in the mind is that if the kernel space and the user space are different, then what bridges it? The answer probably lies in Linus’ answer in a recent interview:
CW: What’s more important, Linux’s huge user base or its large developer base?
Torvalds: I don’t think of them as separate entities.
