Slashdot Mirror


New Linux Kernel Development Process

An anonymous reader writes "Releasing the 2.6.13-rc4 Linux Kernel, Linus Torvalds announced an improved development process to try and minimize the number of bugs in the kernel. The general idea is simple: changes will only be allowed for two weeks after the release of a stable kernel. All the rest of the time between releases will be spent on fixing bugs. This should improve upon last year's development module, which allows for active development in the 2.6 stable kernel."

50 of 207 comments (clear)

  1. talking not enough by enoraM · · Score: 4, Funny
    >as many of you are aware, we were talking (not enough) about the release process at LKS this year.
    As you may be aware, we're goin to talk more than enough about the release process at LKS, since your post is on slashdot ;-)
  2. Who'da thunk it by winkydink · · Score: 2, Interesting

    It almost sounds like a normal sw dev process.

    --

    "I'd rather be a lightning rod than a seismometer." -Ken Kesey

  3. Interesting by youknowmewell · · Score: 4, Insightful

    This seems to put more pressure on individual distro vendors to add features and test them, then discuss their inclusion in the upstream kernel. Seems pretty reasonable to me. This should definitely stabilize the kernel a lot.

  4. Troll this by null+etc. · · Score: 2, Informative
    to try and minimize

    Proper English is:

    try to minimize

    not:

    try and minimize

    I'm just going for my dialy troll mod, since I seem to be getting many troll and overrated mods for posts that don't deserve them.

  5. Don't stop there... by Anonymous Coward · · Score: 2, Funny

    Two branches one a server platform and the other a desktop platform

    Just make the kernal completely modular.

    1. Re:Don't stop there... by phoenix.bam! · · Score: 4, Informative

      I'm assuming (and hoping) the parent and grandparent are trolls because the kernel is already modular and your server shouldn't have audio drivers compiled in unless you're an idiot. It isn't difficult to only compile in drivers for the specific system the kernel will be running on.

  6. I'd better get my butt in gear by temojen · · Score: 2, Insightful

    I was planning on submitting a patch to make a certain tablet pass pressure data to X. (By re-mapping Tablet-Pressure to Mouse-Z).

    Now I'll have to rush to get it in without a huge wait before it gets in the main tree.

    1. Re:I'd better get my butt in gear by iabervon · · Score: 3, Informative

      There's no reason to test the patch with 2.6.13 (as opposed to 2.6.13-rc4) if you're trying to get it into 2.6.14; there's a much higher chance that something will break it between 2.6.13 and 2.6.14-rc1 than between 2.6.13-rc4 and 2.6.13, since the former is when all of the new features are getting put in, and the latter is only the last set of bug fixes during a code freeze. The point of the change is so that you're not the only person testing it in the cycle leading up to the release that includes it, because bugs will probably show up in configurations you don't have.

      Of course, the right way to get a change made is to get it into -mm now (or whenever), and have it working there; then it'll get tested and accounted for in other development, and will get put in by default at the start of the cycle if there's been good feedback. Then you just have to test it in -rcs and report if it gets broken.

  7. Good because... by samjam · · Score: 3, Interesting

    It means the longer you wait, the more stable the kernel will be.

    No more lucky dips, and less need to depend on the vendors tracked patchsets.

    Sam

  8. Re:Splitting it by etymxris · · Score: 2, Informative

    This has been discussed many times. You can configure your kernel to omit sound, v4l, etc. Even if you do compile these things, they won't be included in your running kernel unless you load the modules.

    What you want can be done by removing sound and other desktop stuff from the startup services. Most distros have a friendly way to do this. No kernel recompile necessary.

  9. This is called "Feature Freeze" by rick_garcia · · Score: 2

    When we're about to release a new version of our software, we only focus on fixing bugs and adding important requested features. And of course, there are the all-famous CVS branches. In any case I'm glad the Linux development process has taken this approach.

  10. Linux no longer a blue-collar kernel? by Work+Account · · Score: 2, Insightful

    Linux has made amazing progress.

    But as I browse the submitters of actual code, it seems that it's no longer the every-man's operating system.

    More and more often we're seeing Red Hat and IBM employees tinkering with the code.

    Does this mean a lack of quality? No, certainly not. A professional developer is usually very well versed in what he or she's working on.

    But I propose that we watch what is being worked on and that our priorities are appropriate.

    Perhaps an IBM or similar company has a new feature that they want, or worse, need, in the Linux kernel, and as such they spend all their time working on that.

    The reality might be however that an improved VM is needed but all the Red Hat guys are busy working on some scheduling code that really isn't as crucial.

    As far as I know, Linus himself still verifies all submissions and deems which baselines they appear in, but I hope that since he's also a professional and getting paid by Corporate if our priorities are straight.

    Hopefully RM Stallman and friends are always heads-up, but I'm aware that often some serious fights take place on the Linux kernel mailing list regarding these types of issues.

    Let's keep Linux progressing in the areas it needs to mature!

    --

    If you "get" pointers add me as a friend (116)!
    1. Re:Linux no longer a blue-collar kernel? by Anonymous Coward · · Score: 5, Funny

      that's a remarkably verbose post saying... what again? nothing? right.

    2. Re:Linux no longer a blue-collar kernel? by LnxAddct · · Score: 5, Informative

      With all due respect, Red Hat has been the largest kernel contributor for just under a decade now. They've been taking it in a good direction so far, I wouldn't worry about it too much. Despite all the nonsense slashdotters will say about Red Hat, Red Hat is one of the few distros that actually develops the software it ships rather than just repackaging other people's software. Look at Apache, the Kernel, Gnome, libc, the GNU compiler collection, openoffice, evince, totem, dbus, and most of the drivers you use in your system. The list could literally go on for ages. They also are a major reason why linux has an amazing record for getting patches out quickly for security fixes, alot of those fixes are coded by Red Hat develoeprs. Not to mention they gave Linus 10 million dollars in stock as a showing of gratitude to him. They are a good company, and some of the best kernel hackers are paid by them (including Alan Cox).
      Regards,
      Steve

    3. Re:Linux no longer a blue-collar kernel? by dtfinch · · Score: 4, Funny

      Mods love that sort of stuff, especially when it's double-spaced, one sentence per paragraph.

    4. Re:Linux no longer a blue-collar kernel? by Linus+Torvaalds · · Score: 3, Insightful

      Perhaps an IBM or similar company has a new feature that they want, or worse, need, in the Linux kernel, and as such they spend all their time working on that.

      The reality might be however that an improved VM is needed but all the Red Hat guys are busy working on some scheduling code that really isn't as crucial.

      If an improved VM is needed, then who needs it? Why would there not be anybody to "scratch that itch" if people need it? The presence of large companies contributing scheduling code does not mean that other people can't contribute VM code.

      But I propose that we watch what is being worked on and that our priorities are appropriate.

      From your post, I suspect what you mean is that you want Redhat's priorities to be appropriate for your needs. Free Software isn't about getting other people to do what you want.

      If there's nobody contributing code that satisfies your needs, then perhaps the rest of the world doesn't consider it as necessary as you do, in which case, you have an unusual problem and you know exactly what you can do to fix it - code it yourself or pay somebody else to.

      As far as I know, Linus himself still verifies all submissions and deems which baselines they appear in, but I hope that since he's also a professional and getting paid by Corporate if our priorities are straight.

      That sentence doesn't make sense.

    5. Re:Linux no longer a blue-collar kernel? by diegocgteleline.es · · Score: 3, Insightful

      That has been always true, and all^Wmost of linux 2.6 features are there because vendors needed it - NTPL, SMP scalability...

      It's no different than any other open source project. If I want something in slashcode, I code it according to my interests. In linux, big features are coded according with the interest of vendors. There's not a really big difference. Look at the poor state of graphic drivers in linux for example - if that was important for vendors we'd have great graphic drivers

    6. Re:Linux no longer a blue-collar kernel? by fymidos · · Score: 2, Insightful

      >More and more often we're seeing Red Hat and IBM
      >employees tinkering with the code.

      And it never occured to you that RH/IBM are *hiring* kernel developers?

      >The reality might be however that an improved VM is
      >needed but all the Red Hat guys are busy working on
      >some scheduling code

      Well, if a new VM is needed, i'm sure someone will work on it (at least the people who need it, right?)
      If you also get better scheduling code, i don't know seems like a good deal for me...

      >since he's also a professional and getting paid
      >by Corporate if our priorities are straight.

      There are no priorities. There are needs and people that are addressing them. If X company works hard on a new filesystem, that means they need it.
      If you need something else, start working on it.

      --
      Washington bullets will simply be known as the "Bulle
  11. One concept I heard that I kind of like... by Sheetrock · · Score: 3, Interesting
    Is the idea of splitting kernel releases into two branches -- one stable, one development. This gives the benefit of allowing bugfixes to be applied to an otherwise stable tree while creating an experimental environment for new ideas, mirroring the "parallel deployment" methodology system analysts prefer for stability during upgrades (where you continue running an old system for a while after the new system is deployed so you have something to fall back on.)

    This seems to work successfully for a number of open source projects, which use a version numbering system that allows users to tell at a glance whether they're using a development version.

    --

    Try not. Do or do not, there is no try.
    -- Dr. Spock, stardate 2822-3.




    1. Re:One concept I heard that I kind of like... by etymxris · · Score: 3, Informative

      They used to do this. Odd kernel releases were development/experimental, even releases were stable/bug fix. That's why the kernel went from 2.0 to 2.2 to 2.4 to 2.6. Recently in the 2.6 branch though, they moved away from that model. Don't remember why.

    2. Re:One concept I heard that I kind of like... by Nasarius · · Score: 2, Informative

      See the second link in the summary. Linus and others decided that getting new features integrated was more important than having a perfectly stable kernel. Andrew Morton's patchset (-mm) can be considered the development kernel.

      --
      LOAD "SIG",8,1
    3. Re:One concept I heard that I kind of like... by schon · · Score: 2, Informative

      Recently in the 2.6 branch though, they moved away from that model. Don't remember why.

      It was supposed to decrease the amount of backporting, and increase the available testing.

      First, as new features (and drivers) were added to the development tree, people backported them to the stable branch, this supposedly drew efforts away from the development tree (ie. people were spending time backporting the new features/drivers when they could be debugging/testing the development tree instead.)

      Second, as the development tree is the "stable" tree, there are more users to test it to see if things break (which is good if you're a kernel developer, but bad if you're a regular user and a kernel update breaks your server.) It was argued that as distributions typically supply and test their own kernel that the benefit it gave to the kernel devs outweighed the problems that regular users would see.

  12. Re:Splitting it by Anonymous Coward · · Score: 2, Funny
    How about splitting the kernel... Two branches one a server platform and the other a desktop platform... That way my server doesn't have audio or video4linux drivers in it... just raid, eth, and other important stuff... i bet it would reduce the size 10 fold... At least the development change is a good step in the right direction.
    YEAH! Oh HEY, maybe you could even make all the drivers available as separate modules, and that way anybody could include anything they want, and remove anything they don't want. Oh, wait... you say it's already like that, and has been for years and years? Wow! Gosh! You Linux guys are amazing! Now my L337 S3rv0r will rock extra fast!
  13. Re:Splitting it by sloanster · · Score: 2, Interesting

    No need. The distros all ship modular kernels. If e.g. your server has no audio hardware, no audio drivers will be loaded. IMHO maintaining two separate kernel branches would be inefficient - and if two, why not a third, low-power kernel branch, and a fourth, router-optimized kernel branch? This road leads to madness, and we lose sight of the fact that the one general purpose linux kernel is flexible enough that it works pretty well on everything from embedded devices to gaming workstations to mainframes to supercomputers.

    Assuming there is a valid case for a desktop performance oriented kernel and a server performance oriented kernel, the vendors could easily provide separate optimized kernel packages, built from the same source, but with different options. The desktop users want low latency for video, music and 3D FPS gaming, while server users want scalability and throughput...

    In fact some vendors may already be doing this.

  14. a philosophical contradiction? by jesuscyborg · · Score: 5, Interesting

    Didn't Torvalds once say something along the line that 'perfect is the enemy of good' when criticizing BSD? Is he moving away from 'good-enough' with lots of features constantly coming out, towards a more BSD-esque, move along slowly with stable-code philosophy?

    1. Re:a philosophical contradiction? by shmlco · · Score: 4, Insightful
      As Linux is used more and more frequently in corporate mission-critical applications and servers, the priority seems to be shifting towards stability. Code that works is preferred over less-stable code that contains the latest and greatest features.

      Which is also, btw, what people say they want from MS and Windows.

      --
      Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
    2. Re:a philosophical contradiction? by pilgrim23 · · Score: 4, Funny

      Even living gods get older....and some might say....wiser.....

      --
      - Minutus cantorum, minutus balorum, minutus carborata descendum pantorum.
    3. Re:a philosophical contradiction? by jesuscyborg · · Score: 2, Interesting

      Generally when you need absolute stability, you'll pick an old kernel version (like 2.4.x) that has been closed on development for years and just patched for bugs. This development model will make kernel releases less buggy, but someone making a mission critical server probably isn't going to be persuaded to get the latest release. Due to the nature of open source and the volume of Linux users, bugs get hammered over time out no matter what development model Torvalds uses.

    4. Re:a philosophical contradiction? by JFitzsimmons · · Score: 2, Interesting

      While that's true, the 2.6 series in general has vast performance and feature upgrades over 2.4. Only if I wanted EXTREME stability at the cost of uptime would I bother running something from the 2.4 series.

      --
      Beware he who would deny you access to information, for in his heart he dreams himself your master. -Anonymous
    5. Re:a philosophical contradiction? by po8 · · Score: 4, Funny

      If only we could have it both ways. If only there was some way that folks that needed stability could have some kind of stable Linux kernel, while folks who wanted to experiment with the latest and greatest features could have some kind of experimental kernel.

      Perhaps we could use some kind of numbering scheme that separated the two; for example using "odd" version numbers like 2.7 for the experimental kernel series and even numbers like 2.6 or 2.8 for the stable series. One might imagine that periodically the matured changes in the experimental series could be merged back into the stable series, starting new series for both stable and experimental.

      Maybe Linux should have instituted a process like this years ago. Then they'd have some experience with it by now, and could have it running smoothly instead of messing around with new development processes like they currently are.

      Oh well. Just a crazy dream I had.

    6. Re:a philosophical contradiction? by joto · · Score: 4, Insightful
      Didn't Torvalds once say something along the line that 'perfect is the enemy of good' when criticizing BSD? Is he moving away from 'good-enough' with lots of features constantly coming out, towards a more BSD-esque, move along slowly with stable-code philosophy?

      Linus says a lot of things. It seems to me that he is just using the scientific approach, and trying new ways of doing stuff to see what works best. Some ideas are good, others are bad. But if you never change your process, you'll never find out.

      These changes in the process make a lot of people scream whenever they happen. That's because people doesn't like change. Even now, people are screaming about breaking the odd/even process (which didn't work too well), even though the 2.6 process has worked much better. If the 2.6.13 process isn't even better, Linus will scrap it and try something else (such as going back to the old 2.6 process, or the 2.6.x.y process, or something else new, or whatever).

      Stay calm! The world isn't going to end! All these changes mostly affects kernel developers, and even then, mostly those in the "inner circle". Your redhat/ubuntu/suse/whatever will still work just fine.

    7. Re:a philosophical contradiction? by diegocgteleline.es · · Score: 2, Insightful

      Didn't Torvalds once say something along the line that 'perfect is the enemy of good' when criticizing BSD?

      What linus has really said in the past:

      "I retain the right to change my mind, as always. Le Linus e mobile."

      "And don't get me wrong - I don't mind getting proven wrong. I change my opinions the way some people change underwear. And I think that's ok"

  15. MOD PARENT INFORMATIVE by dsginter · · Score: 2, Insightful

    I, for one, welcome our English-correcting overlords.

    As long as the correction is done in a kind manner, this kind of stuff does nothing but help. I've learned a few things, at least.

    --
    More
    1. Re:MOD PARENT INFORMATIVE by Anonymous Coward · · Score: 3, Informative

      Except he is wrong. Many (like Tolkien, a philologist) spoke in favour of 'and' in this case.

    2. Re:MOD PARENT INFORMATIVE by Peter+La+Casse · · Score: 2, Funny

      I prefer "an" myself. As in: "try an minimize..." If I'm ever famous someday, you can quote me on slashdot2000 or whatever they'll be calling it then.

  16. My gut tells me this is a bit extreme by Work+Account · · Score: 5, Interesting

    As I think more about this decision, I wonder why not simply split the development between bug fixes and feature providers.

    For example, Linux kernel 2.7 is released.

    We run regression test on it for a week or two.

    At that point, we document all known bugs and hand them and the entire 2.7 codebase off to our bug fixing team.

    Then we identify improvements to current capabilities as well as new features we want to add, document all of it clearly, and hand that off to the feature team along with their own copy of the 2.7 baseline.

    Then we have our bug guys working the 2.7_bugfix baseline and our features guys adding valuable new code to the 2.7_features baseline.

    Prior to the next release, we merge all the changes together, spend a week sorting out any dependecy problems and interface problems, then we ship.

    And repeat.

    Sounds feasible to me. I just don't like the feeling I get when thinking that there's such a short development window.

    The Linux kernel is already pretty darn stable, especially when compared to other operating systems. Let's keep the new features coming!

    --

    If you "get" pointers add me as a friend (116)!
    1. Re:My gut tells me this is a bit extreme by FrostedChaos · · Score: 2, Funny

      You need

      to stop pressing the retun key

      As much as you have been.

      It gets really annoying.

      I mean it.

      --
      "Any connection between your reality and mine is purely coincidental." -Slashdot
    2. Re:My gut tells me this is a bit extreme by JebusIsLord · · Score: 2, Insightful

      so write a driver for instance, and when it doesn't work right you hand it to someone else who has to first understand what you did in order to fix it? Seems like the original coder should be the one fixing the bugs.

      Now if you mean handing it to a QA team, that sounds fine.

      --
      Jeremy
  17. Re:2 Weeks by sloanster · · Score: 4, Interesting

    I think you misunderstood the concept. A developer doesn't have 2 weeks to insert new functionality. A developer can work on enhanced performance or new features for 9 months, but there is a 2-week window after each release in which patches will be accepted.

    The two things are orthogonal. Once the code has been thoroughly tested and a patch is ready it should be no problem for the core developers to email the patches to Mr Torvalds within that 2-week window of opportunity. I see no problem here.

  18. Two details to note by rewt66 · · Score: 4, Informative
    Note that the idea came out of the Linux Developer's Summit as a way to improve the Linux development process; it's not just one person's idea.

    Also note that they are going to try this approach. If it doesn't work out, I expect that Linus (ever the pragmatist) will drop it rather quickly...

  19. This won't slow development much. by Fritzy · · Score: 3, Informative

    This simply makes it so that bug patches don't get stepped on all of the time. Developers that are submitting feature updates will have to simply time their submittion. I don't think it'll slow development at all, it'll just polish releases more easily.

  20. Here's an idea! by Anonymous Coward · · Score: 3, Insightful

    How about fixing the bugs that have been outstanding for well over a year?

    It really is disappointing to spend hours testing and finding how to 100% reproduce bugs, even those that freeze the system as a user, report it to the various mailing lists, only for them to be ignored.

    Yes, I've tried fixing some myself.

  21. Re:2 Weeks by roystgnr · · Score: 5, Insightful

    A developer doesn't have 2 weeks to insert new functionality. A developer can work on enhanced performance or new features for 9 months, but there is a 2-week window after each release in which patches will be accepted.

    The two things are orthogonal.


    We'd better hope everyone's patches are orthogonal too. If five Linux kernel developers all spend 9 months working independently on patches which turn out to make conflicting changes to the same subsystems, then after 2 weeks there will be one happy developer with his patch in the Linux kernel and four unhappy developers deciding whether to fork Linux or switch to FreeBSD.

    Of course, to avoid such problems we can assume that those many different kernel developers are not working independently, but are committing changes to a single unstable kernel to share those changes and prevent conflicts. In that case, let's just call the new unstable kernel "2.7" and return to the system that was working so well for years.

  22. about time by ArbitraryConstant · · Score: 3, Insightful

    2.6 has been one big regression fest, and despite its advantages I've always had to use something else for anything but desktop duty because the risk was too high.

    There has to be a tradeoff between new features and sufficient stability to contemplate using the new features -- they aren't an advantage if they are inseparable from the bugs.

    Glad Linus came around.

    --
    I rarely criticize things I don't care about.
    1. Re:about time by Kent+Recal · · Score: 2, Insightful

      2.6 has been one big regression fest

      Dude, how often do you need to repeat yourself?
      You made no less than 4 posts to this thread, all saying the same thing.

      Yes, 2.6. is not quite stable but at the same time it's not as bad as you make it sound.
      I wouldn't use it on a server but for most workstation- and home-use
      it's pretty fine already!

      It seems you have missed that 2.6 is the head-branch.
      That means it's a work-in-progress and nobody considers it finished!

      So just quit the whining and stick with 2.4 until 2.6 is finished, mmkay?

  23. Just turn off sigs. by sp0rk173 · · Score: 2, Informative

    I have them turned off and I didn't see his add. It also makes slashdot a hair less annoying.

  24. Re:2 Weeks by sloanster · · Score: 2, Informative

    Actually there are a couple of basic facts to mitigate the concerns you cite above:

    First of all, the developers tend to have really good communication among themselves, they know each other, and the developers know what other developers are working on. Some random john doe who appears out of the blue one day with a huge patch is not about to get his work accepted. It's also common sense to submit a patch against the current tree, not something from 13 versions ago.

    Secondly, Linus uses a system to manage all these potentially conflicting changes. (For several years until just recently, bitkeeper was used to manage patches to the kernel tree - now that function is being filled by a tool called git, a version control system developed by Mr Torvalds)

    In any case, these things have been thought through.

  25. This is GREAT news by rc.loco · · Score: 5, Interesting


    I remember when the Linux kernel was rock solid, stable and reliable. I remember when there were no huge code changes in the "stable" even-numbered kernel series. Remember those days? I'm talking late 2.2.x before the whole VM debacle in the first part of 2.4.x.

    In the last few years, it seems the push to carve out marketshare on the desktop has been fuelling kernel development more so than server-oriented work. I've been frustrated to the point of recommending Linux-kernel-based systems only with caution and caveats, preferring instead Solaris for serious enterprise-level server-side work.

    If this works out, it'd be a boon for enterprise adoption of the Linux kernel. Hats off to Linus et al. for this change in their practices.

    --
    --rc
  26. The answer is (C) either of the above by ThreeDayMonk · · Score: 2, Interesting

    In British usage, either spelling is correct, although I think that the -ise spelling is more common: it also tends to be the form used by official publications.

    The Oxford Dictionary has always preferred -ize, although this is more through tradition and stubborn prescriptivism than anything else. (And maybe the fact that one of the original edition's most prolific contributors was the American murderer and lunatic William Chester Minor, then detained in Britain, might have had some small part to play.) Older editions of Chambers, on the other hand, preferred -ise to the extent of not even acknowledging the -ize variant.

    I think that the strong desire to differentiate British usage from its colonial counterpart has also led to an increase in the usage of -ise, in an analoguous process to that in which Noah Webster attempted to Americanise the US orthography for political reasons.

    --
    If your comment title says 'Re: Foo', I'm not likely to read it.
  27. no, no, no by hawk · · Score: 2, Informative

    when someone trolls and notes that they'll get "unfairly" moderated for it, the usual response is "informative" . . . whehter it's trollish, informative, both, or neither . . .

    hawk