The Linux Kernel's Fuzzy Future (InformationWeek)
Posted Dec 6, 2004 18:29 UTC (Mon) by
iabervon (subscriber, #722)
Parent article:
The Linux Kernel's Fuzzy Future (InformationWeek)
It's a bit surreal to get to the point where he admits that Microsoft's three-year roadmaps aren't accurate, and have him claim that having additional inaccurate information would still be useful. In that case, shouldn't he just make up a roadmap for Linux?
The real issue is that it doesn't generally take Linux development three years to get from an idea being sufficiently thought-out that it could go on a roadmap to having it done, at least for features with any publicity. A lot of features come from people realizing that something useful is now really easy, due to other work.
On the other hand, it might be useful to have a running list of things that people have announced that they are working on.
As for the fears about the changes in the development process, they run entirely contrary to the actual evidence. Assuming 2.6.10 comes out in about a week, there will have been 11 major releases of 2.6 (counting 2.6.8.1) in 12 months. For 2.4, under the old process, in the first year, there were 17 releases. 2.6 has only recently completed the period, common to all stable series, of having monthly releases, so it is too soon to say anything about the regular rate of releases, although it looks like it is probably not going to be more than twice as fast as 2.4 was once 2.4 settled down (2.4 had a long fast period, then a couple of slow periods, and recently has gotten more consistent).
There has been a concern that the 2.6 series wouldn't include kernels that end users could actually use, and that they would have to use distribution-provided kernels instead. However, in 2.4, no major distribution provided an unmodified kernel, or even close, because they were all backporting changes they felt necessary from the 2.5/2.6 tree, which meant that it was often impossible to go from a distribution kernel to a kernel.org kernel and have the system continue to work correctly. For example, one 2.4 kernel I've used is linux-2.4.19-rmk7-pxa1-cerf1; this is at least 9 versions added onto the official 2.4 kernel to get it to work, and it doesn't include bugfixes in the past 9 2.4 kernels. The 2.6 kernel for the board is 2.6.7-cerfb1, with one set of patches and tracking the official kernel pretty well (2.6.8.1 was the newest kernel at the time).
The main points of the new process are really to minimize the differences between the kernels that distributions were shipping and the kernels that the developers were releasing, and avoid the periods at the start of a stable series where versions come out monthly and don't work very well. A better way of thinking about the new process is that, in the old way, there was a lot of stuff that got backported by distros in divergant ways; in the new process, the kernel team does the backports so they stay consistant. The development series is kept similar, such that bugfixes can be forward-ported to the development kernels as well, and things don't regress going into the next major version due to fixes not propagating. From the standpoint of terminology, it makes sense to keep the version numbers comparable, and the version numbers matter most to the stable kernels, so those numbers are used.
The only issue I see, currently, is that the fixes to the version numbering made in the 2.4 series, where -pre versions were known to not be ready, -rc versions could really become final at any point, and final versions were really quite reliable. I still think it's very odd that Andrew Morton is more in charge of the development series and Linus is more in charge of the stable series.
(
Log in to post comments)