Originally Published: Thursday, 9 November 2000 Author: D. Clyde Williamson
Published to: daily_feature/Linux.com Feature Story Page: 1/1 - [Printable]

The Kernel of Gold

So, the new Linux kernel is late. Who cares? I know plenty of people using older versions of the kernel because it works just fine for them. The problem is that people equate 'late' with 'abject failure,' especially people who use an operating system that makes promises, doesn't deliver and adds completely unnecessary bloat. Linux.com columnist Clyde Williamson explores the issue with a biting new editorial, 'The Kernel of Gold.' Definitely worth a read.

   Page 1 of 1  

In August '99, at "Linux World Expo," I heard Linus' first projections about the 2.4 release of Linux. It was exciting; I was sitting next to Emmett Plant, and neither of us could believe the cool stuff that Linus had planned. We cheered when he said that he had also planned a "short" development cycle. We all hoped to see 2.4 in a matter of months.

Now, over a year later, Linus has finally announced that 2.4 (barring any last minute complications) will be "blessed" before the end of this year. I'm still excited; I still feel like cheering. But there is something that bothers me. The first news report I saw on the 2.4 release made several comments that displayed the lack of education that still exists in the business world when it comes to our software development model. Sure, Linux is being accepted all over the place, from big oil companies to point-of-sale systems. I'm happy to see Gartner, Giga, Forrester and the other "industry analysts" predict good things for Linux. I'm very glad that people don't snicker when I suggest Linux for projects anymore. With all of that, it is easy to forget that we have a long road of teaching ahead of us, so we might as well begin now.

2.4 Goes Gold?

The title of the very first article I saw stated that 2.4 was "going gold." This is a perfect example of incorrect thinking. Going gold usually refers to the fact that a software company has burned a "master CD" for a final product: a "gold CD." Usually, the gold CD is very different from previous "alpha" and "beta"' CD's. The gold CD is a final cut with many new fixes . . . and usually some new bugs.

Commercial software follows something like this:

  • Write alpha code
  • Alpha testers report bugs
  • Fix bugs
  • Alpha testers report new bugs, etc.

  • Release beta code
  • Beta testers report bugs
  • Fix bugs
  • Beta testers report new bugs, etc.

  • Release gold code
  • Users report bugs
  • Begin patch/Service Pack cycles

In the world of Free Software, things are much different. This is especially true of the Linux kernel. There is no "alpha" or "beta." There is only development. The cycle tends to follow this pattern: Take existing code and create a new development branch. In this case Linux 2.2 (stable) became Linux 2.3 (development). Begin adding features and functionality, all of which is publicly available. See what breaks and begin fixing it. Feature freeze. Begin stablizing code. Once code is stable, return it to the stable branch, in this case, Linux 2.4 (stable).

In the above example, every step, every line of code is available for the entire process. This is far different from commercial software, where the only testable code is on the CD that they send you once every few months. This means that in the Free Software model, every step can be tested for stability. Every bug can not only be reported by users, it can be fixed by those same users. The Linux kernel never goes gold. It just becomes stable.

This Little Kernel Was Late To Market

One of the other problems with thinking about Linux as if it were a commercial program is the idea that it can be "late to market." Linux is a kernel that is built and designed by an amazing group of extremely talented people led by Linus Torvalds. They are not writing Linux to gain "market share." They are not writing Linux to "kill Microsoft." They are not making money off of the "final release." These kernel developers are building, coding and fixing the kernel so that it will be useful. There is no market to which the kernel can be released late.

Red Hat, Caldera, Turbo, Mandrake and other distributions may be working to get market share, but they are dealing with much more than the kernel. In fact, they don't have to wait on Linus' kernel release to update their software. Red Hat recently released Red Hat 7.0. When 2.4 is stable, it can be used with their release. Until then, Red Hat 7.0 works just fine with the current stable kernel.

The only timeline for the Linux kernel is when Linus says, "I'd like to see it released by <date>." That's it. This doesn't mean that the distributions are trapped or stuck. It doesn't mean that companies who want to use Linux will be short-changed. It simply means that the kernel is never released until it is stable. Companies who need particular functionality can get that from Linux companies. Red Hat will be more than happy to help you add functionality that isn't in the kernel that Linus has 'blessed'. VA and IBM will be happy to do the same. That's the beauty of Free Software: you can have it customized to meet your exact needs. You don't have to wait on a company to release something to market.

The Free Software development model has so many radicaly different ideas that it cannot be simply translated into "business-speak." The best way that we can help CEO's, CTO's, CFO's, CIO's and VP's to understand this shift is to embark on an educational campaign. We need to educate them on these changes, show them the shift in development and explain the advantages. We cannot try to push this new approach into the old mold. It's new, different and better.

   Page 1 of 1