ifacethoughts

Why Linux Is Evolution

Linux Is Evolution

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.

Say your thought!

Who are you?

If you want to use HTML you can use these tags: <a>, <em>, <strong>, <abbr>, <code>, <blockquote>. Closing the tags will be appreciated as this site uses valid XHTML.

This is the weblog of Abhijit Nadgouda where he writes down his thoughts on software development and related topics. You are invited to subscribe to the feed to stay updated or check out more subscription options. Or you can choose to browse by one of the topics.