In the media lately, there have been several articles floating
around about how the release of the Linux 2.4 kernel has been
delayed and pushed back for several months. To be honest, these
reports are not terribly common at this point. However, I would
like to stand in defense of the Linux kernel development team and
attempt to clear up some of the misunderstandings surrounding the
upcoming release and make it clear to anyone who’ll listen exactly
what is going on and why it’s a “good thing.”
In nearly every inaccurate story, there is a central core idea
that often bears a remarkable resemblance to the truth. The recent
media coverage about the delay of Linux 2.4 is no exception. To be
honest, many Linux users and developers believed that the updated
kernel would be released by now. In fact, an early article I wrote
for Linux Journal Magazine hypothesized an earlier release of Linux
2.4. I could be partially to blame for some of the misinformation.
Early discussions on the development process of the Linux 2.4
kernel revolved around a “rapid release” cycle that would, in
theory, bring an updated Linux kernel to the masses more quickly
than the conventional model that was used during the Linux 2.2
development process. A “rapid release” process (not to be confused
with the Open Source motto: “release early, release often”) would
involve putting out a Linux 2.4 kernel with relatively few changes
(most notably the Wake One changes to improve web server
performance) within several months after the start of the
development process. While this development model was discussed,
Linus and the core team of developers did not make any claims that
this would be the model that they would actually follow. In the
end, the old model (which allowed for a greater depth of changes
quicker in the long run) was the one actually used by the
development team.
The traditional world of commercial software loves release dates
and release announcements. Often, products are announced months
(occasionally, years) before they are actually released with dates
and feature lists that are occasionally wholly inaccurate. Open
Source projects, as a general rule, don’t make these kinds of
announcements. When Linux 2.4 development was started, no one was
handing out a list of things that would be added, that would all be
determined later. Some have said that this constitutes a lack of
direction, still others see it as a sign that Linux responds to the
needs of the community rather than a project manager. The
“Wonderful World of Linux 2.4” document that I maintain (an
unofficial list of the changes in new kernel releases) does tell
you all about what the future, unreleased, kernel includes. But
unlike pre-release announcements of commercial software, Linux 2.3
actually already contains all of the changes that I discuss. All of
them. (And since Linux is an Open Source project, you are
completely free to download this kernel– recommended for
developers only– and try out these new features for yourself.)
Unfortunately, many people are accustomed to looking for release
announcements and release plans for the software that they are
interested in. This tendency has led to some confusion as internal
discussions have been misinterpreted in some cases as gospel.
Again, unlike commercial software, Linux is developed in a
completely open manner. Anyone and everyone can subscribe to the
master developers mailing list or one of the several more
project-specific lists that abound. However, the posts that appear
on these lists are no more official or set in stone than what you
might hear during a conversation around a water-cooler at a more
traditional place of employment. It’s sort of amazing, in a way, to
watch the developers (who know a lot more than I do, believe me)
discuss the internals of interrupt handling or how best to design
an ethernet driver to work with buggy cards. But just because
something is uttered by a developer on the mailing list doesn’t
mean it constitutes an official word from the development team or
even an idea that won’t be thrown out a week later because it
proved impractical. And even posts from Linus, Alan, David, or
another so-called “lieutenant” should be considered in the same
light as a conversation between peers working on a common problem,
rather than something to be analyzed word for word. (Or do you
think we’re actually serious about World Domination, too?)
The bottom line is that every Open Source project that ever
announced dates or feature sets have tended to be wrong. Commercial
software seems to be bitten by the same bug. Release dates and
feature lists are often born in the marketing department where the
laws of reality are not the same as in normal space. Things that
seem easy to implement are often complex. Things that seem useful
often prove to be useless in the field. Because Linux is developed
by programmers without pressure from marketing folks or a
bottom-line, it is less prone to being rushed just to get it out
the door. Linux 2.4 will be released when it is completed and not a
day sooner. Or would you rather have a Linux kernel with almost as
many bugs as its commercial counterparts?
(For a nearly complete list of the features coming up in Linux
2.4, please consult my “Wonderful World of Linux 2.4” document at
https://www.linuxtoday.com/story.php3?sn=19955
Please feel free to reproduce this document or tell your
friends.)