Linux kernel
The Linux kernel project has seen major changes to its development and
release strategy in the last few years, in particular since the first
stable release of the 2.6 series in December 2003. This series was opened
almost three years after the 2.4 series in January 2001, which many felt
was too long. A problem that resulted from the long interval between major
releases was that vendors had to back- and forward-port a lot of patches.
Nowadays, major development happens on the 2.6 series and new releases are
published every three to four months. This new development model has faced
much controversy. While some people, in particular developers of the
kernel, claim that the new model is working very well, some users are
worried about the number of significant changes and lack of stability in
the kernel. Andrew Morton, a lead developer, has expressed several times
that he believes the kernel is getting buggier.
Version | Date | Months |
1.0 | 1994-03-14 | |
1.2 | 1995-03-07 | 12 |
2.0 | 1996-06-09 | 15 |
2.2 | 1999-01-25 | 31 |
2.4 | 2001-01-04 | 23 |
2.6 | 2003-12-17 | 35 |
Past problems
- Because of the long release cycle, many changes accumulated. It was
hard to get the development stable and there were few testers.
- Features got out very slowly because of the long release cycle.
- Hardware support and crucial features had to be backported to the
latest stable kernel.
- Vendors backported many features to their own releases. The code base
from different vendors diverged a lot from each other and from the official
development version.
Solutions
- New versions are now released every two or three months. There is a
two week merge window after each release during which new features are
accepted; subsequently, the focus is on stabilization.
- There is now a steady flow of code into production and many people get
to test the new code.
- Features get out more quickly.
- Vendors can directly work with current releases and get their changes
into official versions easily.
Outstanding problems
- There is no long-term stable version based on the 2.6 kernel. This is
being addressed with Adrian Bunk's 2.6.16 long-term maintenance tree but
whether it will have a big impact remains to be seen.
- Regressions between versions are introduced more frequently. Better
control and tracking of regressions are needed.
- The Bugzilla bug tracker needs to be integrated better into the
development process and it would be helpful to have a QA person. In
January 2007, Google announced that they're looking for a kernel QA person
who'd work together with Andrew Morton.