Forgot your password?
typodupeerror
Programming Software Linux IT Technology

Torvalds Gets Tough on Kernel Contributors 246

Posted by Zonk
from the awkward dept.
ChocLinux writes "Linus Torvalds is cracking down on developers that add last-minute changes to the kernel during the two-week merge window. He says: 'If people miss the merge window or start abusing it with hurried last-minute things that just cause problems for -rc1, I'll just refuse to merge, and laugh in their faces derisively when they whine plaintively at me, and tell them there's going to be a new opening soon enough.'"
This discussion has been archived. No new comments can be posted.

Torvalds Gets Tough on Kernel Contributors

Comments Filter:
  • Good (Score:5, Interesting)

    by bblazer (757395) * on Friday November 11, 2005 @10:14AM (#14007496) Homepage Journal
    While I think that his language is a bit inflammatory, I think that it is something that needs to be done. All the last minute changes must make things very difficult to manage.
    • Re:Good (Score:3, Informative)

      by garcia (6573)
      While I think that his language is a bit inflammatory, I think that it is something that needs to be done.

      Well, I guess he can't win huh? It's difficult being in his position. He wants the work to get done and he wants to make people happy. I guess him saying, "People always complain that I'm being too soft. Not so this time," is the result of all the grief he puts up with.

      Just let it go as long as the patches still come in ;)
      • Well, I guess he can't win huh? It's difficult being in his position. He wants the work to get done and he wants to make people happy. I guess him saying, "People always complain that I'm being too soft. Not so this time," is the result of all the grief he puts up with.

        Not really; his goal is to release the best kernel possible. (I think he says "world domination", but that's what he means.) I've never seen Linus referred to as being a big squishy-bear when talking about his kernel management style.
      • Re:Good (Score:3, Insightful)

        by flibuste (523578)

        Yes, but you cannot laugh in the face of people who voluntarily help for absolutely no money.

        There is a line between managing someone and mocking him. Roughly 100% of the time, mockery leads to nothing productive. And mocking your people is not being "tougher", it's being an incompetent manager.

      • Re:Good (Score:5, Insightful)

        by 4of12 (97621) on Friday November 11, 2005 @02:25PM (#14009999) Homepage Journal
        It's difficult being in his position.

        This announcement is good management practice though.

        The public declaration of harsh measures means people won't be so hurt by rejection of their MyLifesBlood patches to the kernel - it's not personal anymore, just policy:)

        Much of Linux success can be attributed to Linus ability to balance personalities and technologies. And, believe me, there are some Piece of Work personalities that happen to be tied together in single person packages with rare intellects and feverish workaholicism. Many technical managers are doing great if they can just not too badly piss off the prima donnas responsible for the great ideas and the hard work.

    • Re:Good (Score:4, Interesting)

      by slavemowgli (585321) on Friday November 11, 2005 @10:36AM (#14007667) Homepage
      It sure makes you wonder what the two-week window is actually good for, though. I mean... the whole thing was done in order to make sure that there'd be a time for submitting new stuff, and a time for shaking out bugs, and so that people would be able to tell the two apart.

      So, why the fuss about last-minute merges now? If they're still in the two-week window, they should be fine; if they're not, well, then they're too late and won't get merged, but that was already clear anyway. And stuff that's not up to par quality-wise yet will (should) not be merged at all, anyway - it's not as if the code quality requirements were lowered for the two-week merge window.

      What Linus seems to be doing is to effectively reduce the two-week window to a "something-less-than-two-weeks" window where noone knows exactly how much the difference is, but it does not get rid of the underlying problem: there still is a deadline, and people will still submit lots of stuff just before the deadline's there. It doesn't matter whether it's two weeks or 13 days or whatever.

      The whole *point* of the "merge for two weeks, then stop merging and focus on bug fixes" was to be able live with this, so to speak. If you can't fight them, make them join you; if you can't prevent people from submitting stuff in the last minute, make sure that there's enough time *after* the last minute so that last-minute merges won't hurt you. If Linus finds it necessary to crack down on last-minute merges now - which, as I said above, is not really possible in practice (the only way to do it would be to not merge anything at all anymore, but that's obviously not a practical solution) - because there are too many, that just shows that patch pressure is too high already; further increasing it won't help. Rather, you have to look at *why* patch pressure is so high, and do something about that. For example, why not extend the two-week window to three or four weeks? It might mean that new kernel versions appear less often, but in these days of git and distributed development where tree changes are so easy to push/pull and where every distributor uses their own, heavily-patched version of the kernel, anyway, why does it matter so much? Linus has always taken a stance that quality is more important than meeting arbitrary deadlines, I think.

      Or maybe I'm misunderstanding what he actually wanted to say - I did RTFA, but zdnet is not exactly what I'd call a high-quality source for kernel development news. Caveat lector...
      • Re:Good (Score:5, Insightful)

        by Aadain2001 (684036) on Friday November 11, 2005 @10:53AM (#14007823) Journal
        There is a BIG difference between bug fixes and merges, and adding new features. I haven't RTFA, but based on the summary it seems like Linus wants to keep those two weeks dedicated to fixing bugs, merging changes, etc, not adding in new features that were not even coded until that two week window. That is what all the weeks leading up to the merge window is for. Once those two weeks hit, the focus should be 100% on making sure everything works, works together, and is stable. I say, good for Linus! Sometimes the only way to make people listen is to be tough with them.
        • He could just create a branch that is for regressions and bug fixes only. Then new features could just keep going into the tip. Look at GCC for example. If you look on kernel.org, there's nothing there but the last stable version and the current development version. Where does he think people are going to want to submit their patchs for new stuff? Duh.
          • Well, they could always hold off on their new feature patches for two weeks, wait for the stable version to be finished (it is only two weeks afterall) and then start submitting new feature patches. Duh.
        • I think you've hit the nail squarely on the head. Linus is so often calm and placid, that I think this counts as "fair warning", and was intentionally constructed to get people's attention. It seems to have worked, for that end, anyway. Now people don't have much grounds for complaint if their non-essential changes during the two-week freezing get rejected.

          (Of course, they will complain anyway, people being what they are, but their audience will know that they were warned ahead of time.)

      • Re:Good (Score:4, Insightful)

        by Anonymous Coward on Friday November 11, 2005 @11:30AM (#14008167)
        It sure makes you wonder what the two-week window is actually good for, though. I mean... the whole thing was done in order to make sure that there'd be a time for submitting new stuff, and a time for shaking out bugs, and so that people would be able to tell the two apart.


        RTFA or not, you've apparently never been part of a large, ongoing software project that was any good. You DO NOT submit "new stuff" during the merge window! That's what the previous 50 weeks in the year were for.

        Two weeks is a manageably aggressive timeframe during which to reconcile compatibility issues across a moderately large codebase. The acceptance of entirely new code during this window potentially starts the reconciliation process all over again at square one. Usually it would be less than that, but if you accept one new submission, you almost have to accept them all. So it could still become a never-ending process, indistinguishable from the preceeding development cycle which the merge window is supposed to define.

        Therefore, if you're going to have a cutoff date at all, you've really got to be strict about it or the merge becomes a nightmare.

        If you really do have something new and important which absolutely does need to get into the release, then the cutoff date would have been selected to accomodate your new code.

        It's not as if there's no dialogue...
      • Re:Good (Score:4, Informative)

        by iabervon (1971) on Friday November 11, 2005 @01:32PM (#14009487) Homepage Journal
        In general, the maintainers want to avoid having to deal with a lot of stuff in a short time period, which means encouraging people to submit things at different times or have people not expecting a quick response. Linus is also partially making the point that if some feature gets excluded from a cycle, 6 weeks just isn't all that long to wait for it to get in the next cycle.

        The first thing that came up is that Andrew Morton doesn't know which of the things in the testing tree are going in this cycle, because people haven't said anything in the middle of the window. So the first problem would be solved if everybody said at the beginning of the window that they're intending to submit something, but not quite yet.

        The real issue, it turns out, is that James Bottomley (the SCSI maintainer) is in an untenable position. He's supposed to get patches from developers, integrate them, and submit them to Linus. But the developers waited for 2.6.14 to come out before they rebased their patches on it, and then took most of the window rebasing the patches, leaving James not enough time to determine for sure if all of these patches actually work correctly together before the window closes.

        Furthermore, Linus would like to get infrastructure changes in before driver changes, so that it's easier to debug. It's hard to figure out what's wrong if you get both an infrastructure change that shouldn't affect anything in the driver, but might due to a bug and a driver change that should affect the driver behavior. It's a lot nicer if you can say whether the infrastructure change had any effect at all on what the driver does, and know right away which part to debug. But that depends on getting things included in a particular order.

        I suspect that part of the problem is that the new release cycle is new, and contributors are not yet convinced that they can rebase their patches against 2.6.14-rc3 and have them apply cleanly to 2.6.14, and it will not be such an issue once people have gotten used to it.
    • by Xyrus (755017)
      While true, his latest comments remind me more of the Evil Emperor from Star Wars rather than the benevolent dictator some like to portray him as.

      Seriously, I think he could be a little more cordial, even in jest.

      ~X~
    • Re:Good (Score:3, Funny)

      by fataugie (89032)
      HIs language is commensurate with the amount of pissing and moaning that goes on.

      When I worked as a cook, we were responsible for cleaning the kitchen during the shift (the place never closed). We'd be carrying buckets of hot grease or water and people would be drawn to walking in front of you it seemed. So, we took up yelling a warning when we were about to carry out hot stuff:

      "HOT STUFF...MAKE WAY OR I'LL BURN YOU AND LAUGH"

      It worked perfectly. And for those who didn't beleive, they found out the hard
  • by Grendel Drago (41496) on Friday November 11, 2005 @10:18AM (#14007537) Homepage
    Torvalds later added, "I am legion. All shall kiss my smoldering hoof."
  • Get Tough! (Score:4, Insightful)

    by vaderhelmet (591186) <darthvaderhelmet@NoSPAm.gmail.com> on Friday November 11, 2005 @10:20AM (#14007547)
    This sort of thing happens in the corporate environment (at least where stability is valued over new features). I don't see why we shouldn't have some of the same process in OSS. I think this is a bold, yet helpful move by Linus and I congratulate him on taking a stand!
    • So, can you name *one* company that will favor stability over time-to-market??
  • by Anonymous Coward on Friday November 11, 2005 @10:20AM (#14007550)
    Prof. Farnsworth: This will not stand! I'll take you on, you air balling bozos!
    Bubblegum: You old man? Ha! Sweet Clive, laugh derisively at him.
    Sweet Clive: Ahaha, ahaha, aahahaha.
  • Whaaa?!? (Score:5, Funny)

    by Moby Cock (771358) on Friday November 11, 2005 @10:22AM (#14007560) Homepage
    Linus has a new title:

    Not-So-Benevolent (But Exceedingly Pragmatic) Dictator for Life?

  • by Call Me Black Cloud (616282) on Friday November 11, 2005 @10:38AM (#14007675)

    Steve Ballmer referred to him as an "amateur" and offered to tutor him in the art of anger.
  • by WindBourne (631190) on Friday November 11, 2005 @10:45AM (#14007730) Journal
    This is simply a manager telling others off that they can not miss deadlines. It happens all the time in any business. Difference is, that Linux development is in the open.
    • Difference is, that Linux development is in the open.

      Which means, if you don't like it, make your own damn kernel!

    • This is simply a manager telling others off that they can not miss deadlines. It happens all the time in any business. Difference is, that Linux development is in the open.

      Except of course, that it's not. Linus seems to be getting pissed off that people are getting their work in *just before* the deadline, not actually missing it. If your manager told you off for submitting your work shortly before your deadline, you'd be pretty pissed off about it.

      If the 2 week window is too long, then shorten it. But don

      • I suspect his comments are directed at groups who, instead of accepting that they've missed the window, decide to game the rules by submitting unfinished code in order to co-opt the bugfix window to complete the project. As though "/*TODO: write this*/" was a valid bug. That's an attempt to play Linus for a fool, and he's quite right to stomp on it.
  • He's merely doing his job as lead maintainer - which usually includes a little verbal dutch rub for the team once in a while.
    Getting tough is more like "Do that once more and I'll have Don Papa and his mob minions knocking at your door with a fresh set of baseball clubs!" or something like that.
  • by MECC (8478) * on Friday November 11, 2005 @10:57AM (#14007865)
    Developer: Here's my patch. Sorry its late...
    Linus: The path of the righteous man is beset on all sides by the inequities of the selfish and the tyranny of evil men. Blessed is he, who in the name of charity and good will, shepherds the weak through the valley of darkness, for he is truly his brother's keeper and the finder of lost children. And I will strike down upon thee with great vengeance and furious anger those who would attempt to poison and destroy my brothers. And you will know my name is the Lord when I lay my vengeance upon thee....

  • by McSnickered (67307) on Friday November 11, 2005 @11:00AM (#14007893)
    In Torvalds' book, "Just for Fun", he laughs in the reader's face derisively as they look at the printed words plaintively.

    Somewhere, there's got to be a "Deep Thought" by Jack Handy about Linus T.

    "Contrary to what most people say, the most dangerous animal in the world is not the lion or the tiger or even the elephant. It's a shark riding on an elephant's back, just trampling and eating everything they see." ~ Jack Handy

  • by minus9 (106327) on Friday November 11, 2005 @11:05AM (#14007925) Homepage
    Having just read the thirty or so posts that have been made as I write this, I cannot believe I am the only one who read the "laugh derisively" bit as tongue-in-cheek.

    Do you really imagine Linus will start jumping on planes and seeking out kernel contributers to laugh in their faces. Bloody hell, I know geeks have trouble with anything not strictly literal but sheesh.

    I read it as "Certain people are repeatedly making changes at the last minute and I'd really rather they didn't".

    • Do you really imagine Linus will start jumping on planes and seeking out kernel contributers to laugh in their faces. Bloody hell, I know geeks have trouble with anything not strictly literal but sheesh.

      ...and if it were true, how many kernel contributors would increase their late patches just for the chance to meet Linus?

    • Do you really imagine Linus will start jumping on planes and seeking out kernel contributers to laugh in their faces.

      Who wouldn't want to?

      -Adam
    • I agree 110%. I think the people who saw it as anything other than a joke should spend less time developing software and more time developing a basic emotional inventory or, at least, a sense of humor.
  • by Spy der Mann (805235) <spydermann.slashdotNO@SPAMgmail.com> on Friday November 11, 2005 @11:20AM (#14008062) Homepage Journal
    Think of this: All the reported bugs have been fixed, you're about to make a new release, and a last minute change introduces an awry bug that forces you to make ANOTHER release.

    And what happens if in that "another release" another guy makes ONE MORE last minute change and... well you get the idea.

    I've seen this happen at sourceforge projects, and this is what gives Open Source such a bad reputation - buggy projects. Sure, 999 bugs have been fixed, but 10 major flaws are introduced with the next version. Just search any SF project's bugs for "crash" or "segfault", and you'll get the idea (and these are reports about RELEASES, not cvs). And why does this happen? Because of devs NOT RESPECTING the timings!

    So, please guys, p-l-e-a-s-e, respect the timing! This is Linux we're talking about, not some hobby project.
  • Fork it! (Score:2, Insightful)

    by BigPoppaT (842802)
    For all you who don't like how Linus is handling this, hey fork the code, start your own development. </sarcasm>

    Maybe his phrasing was a bit harsh, but remember that he is not just a developer - he really plays the role of Project Manager here, and sometimes the PM has to send a wakeup call. That's what this sounds like. Not that big a deal.

    Think about all the failed FOSS projects where nobody did this - UserLinux and Hurd spring to mind. (Now for some posts telling me that Hurd isn't a fai
    • If I'm not mistaken, HURD recently scrapped a good amount of the work that's been done to migrate to a new Kernel. Amused me because it was just after they'd finally gotten their first userspace binary running on the system.
      • It was a good move. L3 is a much more elegant microkernel than Mach. To not do so, would have been to try to build on top of an obsolete, significantly flawed microkernel. An analogous incident was when Netscape chucked its next generation browser version work, and rebuild off of the gecko project now known as Mozilla. It was a hideous, suicidal decision from a business point of view, but we enjoy the fruits of that decision today.

        Note I do not claim we will see the completion of a usable HURD OS in th
    • Actually, I consider the Hurd to be very important. It's niche isn't to be competition to Linux, but rather to be the place where OS R&D is done that's too speculative to be done on Linux. True, this could be done on a fork of Linux, but there's really no reason to do that. But keeping the Hurd in reserve has several rather nice security features. E.g., it's a deep reserve, in case there are point legal changes that render both Linux and the BSDs unuseable, there is a fair chance that the Hurd would
  • Linus, give in to your hate and anger, feel the power of the Dark Side of the Force.
  • It's interesting to see how the development of Linux becomes more "professional" to use that word as Linus matures. The result of this is developers have to mature at his rate also.
  • by dbc (135354) on Friday November 11, 2005 @01:49PM (#14009651)
    As a manager, I have tried many times to make this same thing stick. This, in a situation where I had influence over promotions, raises, and of course also could put people on written warning and move them out of the company if need be.

    But, Linus has discovered the secret of actually making it happen! Just don't pay people in the first place! Genius!

    This is why Linux is so successfull.
  • I'll just refuse to merge, and laugh in their faces derisively when they whine plaintively at me

    I had to chuckle when I read that. Even when Linus is trying to be cruel, he still comes off as charming and agreeable.
  • by jilles (20976) on Friday November 11, 2005 @02:26PM (#14010004) Homepage
    I have some experience coordinating releases of a software product. A key thing I have come to realize is that developers don't understand that last minute patches cause more problems than they solve. Inevitably something they regard as important creeps in and that's when you need to just say no. Convince me it's critical (stuff breaks down visibly, data is lost, etc.) or wait until the next release. I've seen this go wrong more than once. Some dork commits something 30 minutes before the release and a week later we're handing out patches for bugs that fix introduced. Unlike OSS, delays are usually hard to negotiate in a commercial setting

    With a product as complex as a kernel you need lots of time to properly test and integrate stuff. A kernel release needs to be stable & reliable. Last minute changes with unkown impact are unacceptable unless they fix something that absolutely needs to be fixed.

    The git scm tool that linus uses actually supports this development style very well. Developers develop and send in patches to a central repository. Linus pulls the important patches and patches his private repository for a few weeks and then locks it down for testing. That's why he can afford to tell developers to wait or adjust to his schedule.

    In this respect he is quite ahead of the clearcase/cvs and svn using masses. These tools do not support this kind of development very well. The mental model of the developers is still that they need to get their stuff in the trunk asap. With git the model is get your patch out, have it tested, optimized and when it is mature and ready Linus will merge it when this fits his release schedule. For complicated changes this process should be slow or otherwise Linus ends up doing the work that should have been done before the merge.

    This model is way better than freeze trunk, tell everybody to not do anything for a few months and then release.

Aren't you glad you're not getting all the government you pay for now?

Working...