Torvalds Gets Tough on Kernel Contributors
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 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 you are arguing that Linus shoudlt claim slashdot is all about making unqualified comments and circle jerking them up to +5 insightful,
by making a unqualified comment about linux kernel management and getting modded up for it...
HI O WISE PRINCE. WHT TOOK U SO DAM LONG?
Why not? He was stating an opinion, nothing more.
Controlling a process and stating an opinion are two entirely different things.'
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.
I prefer the "u" in honour as it seems to be missing these days.
If Linus talks down to other developers that contribute to Linux in such a primitive way, he shouldn't complain about Slashdot, as he did here: http://lkml.org/lkml/2005/8/20/95. Quote:
Gaah. I don't tend to bother about slashdot, because quite frankly, the whole _point_ of slashdot is to have this big public wanking session with people getting together and making their own "insightful" comment on any random topic, whether they know anything about it or not.
Congratulations! We have a winner! The 3rd Annual Slashdot unintentional irony award goes to titwurstman!
He beat all comers this year due to his use of a quote suggesting that people on Slashdot comment on things they know nothing about, to support his Slashdot comment on something he knows nothing about!
The Slashdot editors have now permanently closed the competition, as it is widely agreed that nobody will ever top this year's winner!
but why does he have to be a little bitch about it?
Linus frequently expresses himself using a type of wry humour which is quite alien to US audiences. It's not bitchy, it just doesn't translate well.
"I've got more toys than Teruhisa Kitahara."
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.
Space for rent, inquire within
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".
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.
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...
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.
"Provided by the management for your protection."
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.
Jilles