Slashdot Mirror


Linux Kernel Release Numbering Revisited

An anonymous reader writes "KernelTrap has a summary of a lengthy discussion on the Linux kernel mailing list, in which Linus Torvalds has suggested using an alternative numbering scheme for kernel development. The current 2.6 kernel has been different than older development trees, as active development has been happening at a rapid rate in the officially "stable" kernel, instead of forking the expected 2.7 "development branch" for this effort. In Linus' latest proposal, he suggests using the same odd and even arrangement where an odd number signifies a development release, and an even number signifies a stable release. The difference being that this will all happen under 2.6 and thus at a much more rapid rate. For example, the upcoming 2.6.12 release would focus on fixing bugs and thus be more stable, while the following 2.6.13 release would include new functionality and thus could be less stable."

21 of 93 comments (clear)

  1. suggestion by Arctic+Dragon · · Score: 2, Funny

    Just call the next kernel Linux XP. Worked for Microsoft!

  2. that's what -rcX is for by rsw · · Score: 2, Interesting

    Why not add new functionality in release candidates, and only make it an official release once it's stable?

    -rsw

  3. This would be helpful by SunFan · · Score: 3, Interesting


    One thing hurting Linux' credibility is that it is hard to predict volatility in it. If it works out that I would know to avoid odd 2.6.x releases, that would be very helpful.

    People want everything, so obviously it's difficult to balance development against stability. This is one area where Solaris has an edge, where even though it takes longer from something to get into the commercial release, at least someone took a look at it before putting it there. Only now has GNOME made it officially into Solaris 10, but there are few issues with it, which is nice.

    --
    -- Microsoft is the most expensive commodity operating system and office suite vendor in the marketplace.
  4. why does it matter? by capoccia · · Score: 2, Interesting

    why does it matter what the versioning scheme is?

  5. I have a much better idea. by jd · · Score: 3, Interesting
    Let's have two testing phases. Phase 1, the -dev part of the cycle, would be where you have all of the development, adding of new features, breaking of random drivers, etc. Phase 1 finishes when Andrew Morton passes out from shock because all the usable code from his patches has been integrated in the official kernel.


    Phase 2, the -pre part of the cycle, would be where you have the stabilization and verification. It would be less a soft freeze and more a slushy, but the idea is to make sure everything works. Phase 2 finishes when Linus Torvalds is bodily hauled out of the computer room to play five-dimensional scrabble with his kids.


    What you'd end up with is a release that is reasonably stable, AND YET developers would still get to increase the pace of development. You can have it both ways, provided you keep things in sync.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    1. Re:I have a much better idea. by dubious9 · · Score: 2, Insightful

      Except the problem is that distro maintainers will never include an dev kernel as the default choice. Most end users, especially businesses, don't want any part of a dev kernel. And I don't really understand how your version is different than the old major.even-stable/major.old-dev model.

      I find that less people will use the dev branch and it'll in turn get less testing. Therefore development slows down for stabilities sake. Thus having a labeled dev branch slows development.

      What I think Linus was thinking for the 2.6 kernel is as follows. Linux was approaching a level of stability that the latest vinilla kernel will be called stable and still be developed on. Problems will get flushed out sooner because more people are using the latest snapshot. If distros want more stability, they can lag four or five versions back + security fixes. I thought it was the best of both worlds.

      Now that he's decided to label dev and stable versions again, it brings back some of the problems, but here the time between stable and dev kernels should be significantly shorter. 2.6.12 and 14 will come out a heck of a lot faster than, say, the time difference between 2.4 and 2.6.

      Thus people get their vaunted labels and development features get tested more widely. Distros can ship with the latest they fell comfortable with. Thus we, presumably, get the same stability with the addition of faster development.

      It may not work out this way, but I think it's a great idea.

      --
      Why, o why must the sky fall when I've learned to fly?
  6. Bigger! by mrbaggs · · Score: 4, Funny

    They should just put the version numbers up really high. Everything with a high number is popular. Maybe put an XL or a GT on the end for good measure.

  7. I like it by LordNimon · · Score: 3, Insightful
    The problem with major development trees like 2.4.x vs 2.5.x was that the release cycles were too long, and that people hated the back- and forward-porting.

    This is my #1 complaint with the Linux version numbering scheme as it is now. Basically, the version number means nothing. Features are being back-ported to older releases, so that you have "feature gaps" in the releases. For instance, a new feature that was introduced in 2.6.5 could be ported to 2.4.20. What that means is that this feature would exist in versions 2.4.20 through 2.4.29, and 2.6.5 through 2.6.11, but not in 2.6.0 through 2.6.4. The current numbering scheme makes this kind of behavior too tempting.

    I would love to see an end to back-porting of features, from both Linus and the distributions.

    --
    And the men who hold high places must be the ones who start
    To mold a new reality... closer to the heart
    1. Re:I like it by Compenguin · · Score: 3, Informative

      This isn't such an issue if yoyu were migrating from 2.4.20-29 you wouldn't go to 2.6.0-7 you'd go for 8/9/10/11. Thre really isn't a feature gap because even though 2.6.0 is bigger than 2.4.29 it is from a parrellel branch. It was released much earlier than 2.4.29. You really shouldn't be going to a kernel that is significantly chronologiclly older. 2.4.29 is there for people who can't don't want to migrate to 2.6 series kernels. It would be much more chaotic and dangerous to drop the old kernel series as soon as a new one is released. Furthermore, 99% of backports are bug fixes and drivers.

  8. Re:2.7? by Aeiri · · Score: 5, Insightful

    Well, perhaps Linux is maturing enough where it could be 2.6 forever.

    That's like saying, back in 1996 or so, that Windows 95 is mature enough that we don't need any new operating systems.

    There is always room for improvement, new ideas, new architectures, hardware, etc that open up new pathways to more flexible or secure operating system organization.

    For the grandparent, it was announced back when 2.6.1 or so was released that there would be no 2.7.x. 2.6.x would be used as development releases, however there would be no official "stable" version, the distributions had to decide which were stable enough for their OSes. I think this was a huge mistake, but the old method wasn't much better. Linus' new proposal fixes pretty much everything that was wrong with the labelling in my opinion.

  9. This is good by Anonymous Coward · · Score: 4, Interesting

    This would be a good idea. I compiled 2.6.11 this morning on my laptop, and the alsa nm256 driver locks up the machine on boot :(. This has been happening on and off for some time. I found patches in the module developer's cvs that helped me fix it in 2.6.10, but apparently these didn't make it into 2.6.11 (or it got broken in some other way).

    2.6 is great and there are lots of great new features and development in the kernel. But it would be good if some dot releases were only bugfix releases because right now I think 2.6 is much less reliable than late 2.4 kernels were. On my laptop this only serves to annoy me, but I run servers at work (and a webserver @ home), and right now I don't feel confident at all running newer 2.6 kernels on a production server.

  10. chicken/egg by smittyoneeach · · Score: 2, Interesting

    No one wants to mess with a new kernel until it's stable.
    The ALSA drivers were held up as an example of something that worked until it hit userland, and suddenly, ALSA was salsa on Thinkpads.
    The marketing question *gasp* becomes, How do we entice users into compiling and testing on broader architectures?
    Actually, Gentoo, for one, at least makes it semi-manageable to have a fistful of kernels--I may actually emerge something for fun.
    (The agony of getting my 11g with WEP and nVidia all configured has been non-trivial. I still have to become root briefly and run a script when I boot, as I haven't fully grokked the 'right' way to set all of these parameters).

    --
    Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
  11. Not granular enough by m50d · · Score: 3, Insightful

    One release is not enough to get all the bugs out of a new feature. You need at least three before you can begin to call it stable. I can see why 2.4/2.5 is considered too long, but 2.6.12 and 2.6.13 isn't enough of a gap. Unless they want to move to lots of use of the fourth number, which I suppose is a possible strategy. 2.6.11 has new features which will be stable by 2.6.12.3. But if they do that there will be too many stable releases, or too many stable releases which aren't actually stable. So I think they need to move to having lots of unstable releases with the same first three version numbers. So we will have 2.6.12.x and 2.6.13.x trees running in parallel like 2.4 and 2.5, but not as separated, maybe 5 or 6 versions under each before moving on to 2.6.14.x and 2.6.15.x. That could work.

    --
    I am trolling
  12. Re:2.7? by kbielefe · · Score: 2, Interesting
    I swear not every kernel is suitable with every distro.
    Exactly why Linus thought the lack of a 2.7 kernel series would work out. Every distro applies their chosen set of patches to the vanilla kernel, uses their own specific configuration, and does their own testing. Gentoo x86 users can choose from about 10 different kernels, all with the same version number. I'm sure he was thinking that if he didn't do a stable kernel, that the distros would.

    Rolling your own stable kernel isn't that hard to do, especially with the resources of a distro. In fact, since one man's stable is another man's unstable, it is probably the only way to make sure that it is stable for you, which is what's important.

    I maintain 3 kernels for myself: a stable, medium, and unstable. The stable kernel is a 2.4.20 with only security patches applied. (2.4.21 broke some commercial software that I use occasionally). My unstable is the latest 2.6 release. The medium is a couple of 2.6 releases back, with only security patches applied. My wife uses medium all the time. I use medium when doing something important and unstable otherwise. Once I have used an unstable kernel long enough without problems, it becomes my new medium kernel and the cycle continues.

    Interestingly, the last three 2.6 releases have failed to become my medium kernel because of instabilities. Perhaps enough people are having similar experiences to prompt the rethink in process? I personally think the proposal would be an excellent compromise, and would actually fit better with how other open source projects are run.

    --
    This space intentionally left blank.
  13. Asymptote... by physx · · Score: 2, Funny

    Anyone got a guess on where the kernel number will converge? I'm looking forward to linux version 3.14159...

  14. Re:2.7? by greppling · · Score: 3, Insightful
    Well, perhaps Linux is maturing enough where it could be 2.6 forever.

    There is always room for improvement, new ideas, new architectures, hardware, etc that open up new pathways to more flexible or secure operating system organization.

    What you are missing that the linux kernel development process has matured quite a lot. Now there is a steady stream of new features into 2.6. There is no backlog of huge patches that introduce new features and are available only in vendor kernels.

    I wouldn't bet a lot of money on it, but I wouldn't be surprised if the current kernel in 5 years was 2.6.xx (which still would look completely different to current 2.6.11).

  15. Just do it the OLD WAY by Malor · · Score: 5, Insightful

    I do NOT understnnd why he won't just fork off 2.7. 2.6 is unstable and untrustworthy, and it's not going to GET stable until they STOP SCREWING WITH IT.

    Linux 2.4, the last stable kernel, has had 29 versions as of this post. Admittedly, the chaos of the first 10 or 11 releases were from exactly the same kind of stupidity we're seeing now, development continuing in the 'stable' branch.

    Since 2.4.11, there have been EIGHTEEN PATCHES to get 2.4 to the relative stability it's at now, and even so, it's still not as good as 2.2 on a lot of hardware. A single release is NOT ENOUGH to get things stable. 2.4 is still not that robust, on many configurations, after eighteen patches. There's no way that one patch is gonna do it.

    Linux, PLEASE go play in 2.7 and let everyone else get 2.6 stable. It's not trustworthy now, and I will not use 2.6 kernels in any kind of serious production environment because of it. A single release is NOT going to be stable. If you freeze it right this second and branch off to 2.7, the kernel should actually be fairly stable by 2.6.25. With all the extra code in the 2.6 tree, it wouldn't surprise me if it got to 2.6.60 before it was really and truly 'finished'.

    Claiming that 'distributions will make it stable' is basically waving your hand in the air and hoping that other people will fix it, while you madly add new problems by dumping untested code into the 'stable' tree.

    It's not working, and it's not ever going to work. The longer you keep trying to call a development branch 'stable', the more damage you do to Linux.

    1. Re:Just do it the OLD WAY by Xtifr · · Score: 2, Insightful

      YES!!! I was going to mod you insightful, but decided to post my enthusiastic agreement instead. The two-pronged approach, with the stable branch and the development branch, was one of the most amazing and innovative development models I'd seen in years, and it's proved itself time and time again, not just on the kernel but on other projects as well.

      The 2.6 series has just been a mess. I upgraded briefly, but quickly retreated to 2.4. Frankly, if Linus doesn't go ahead and make himself a new playground/branch soon, I might try to get some motivated, like-minded developers together to try to create a stable branch off of 2.6 somewhere. Maybe we can call it 2.7, and force Linus and crew to jump to 2.8 when they want to make a new experimental branch. :)

    2. Re:Just do it the OLD WAY by cpeterso · · Score: 2, Interesting


      I like Linus' new proposal (and I even thought of this years ago), but I think it is mostly psychological. Bugs will be fixed in both 2.6.even and 2.6.odd releases, but with 2.6.even releases "themed" to be stabilizing bugfix releases, kernel developers will focus more on bugfixes and less on pushing out immat ure features. Plus, the 2.6.even releases will increase the rate of kernel releases, so bugs will get fixed sooner. Currently, some bug in 2.6.10 (let's say) wouldn't get fixed until 2.6.11 and users would have to wait for bug fixes AND new features to mature in 2.6.11rc pre-releases.

      However, what DOES scare me is that Linus thinks (and he proves it time and time again) that HUGE kernel changes are safe within stable releases. In 2.4, he dumped the VM. In 2.6, he gave the example of switching from 3-level page tables to 4-level page tables. Linus, that is NOT a minor change!

  16. Multiple branches are a good thing by maxphunk · · Score: 3, Insightful

    Look at FreeBSD, -STABLE and -CURRENT tags for any given release simply let one know whats up. You can upgrade to -STABLE, and get all your bug/security fixes without worrying about throwing off the system. If you do feel adventurous, you can for -CURRENT... BUT it contains new stuff and should not be used in production. I think Linux needs similar levels of distinction.

    --

    "The chief enemy of creativity is 'good taste'" -Pablo Picasso
  17. Split out the driver system, just read below.. by haplo21112 · · Score: 2, Insightful

    ...before you write me off, give me a serious listen.

    Spilt off the development of drivers out of the main kernel tree. I great deal of instability arises from the drivers and how they interact with the kernel systems. Virtualize the drivers interface (further tahn it already is), such that the kernel talks through virtual hardware, doing something network related talk to the Vnic. The Vnic would then be interfaced with the actual network driver which is built in a seperate build process. Its coded to talk to the actual hardware, and send back only the things that the kernel actually needs. This is really just an extention of the existing module system...

    --
    Power Corrupts,Absolute Power Corrupts Absolutely, leaving one person(group)in charge is absolutely corrupt.