Linus Torvalds Promises Profanity Over Linux 3.10-rc5
hypnosec writes "Linus Torvalds has released Linux 3.10-rc5, and he is certainly not happy with the changes merged last week. Rc5 is bigger than rc4 and has code scattered across its entire code base because it addresses many outstanding problems. In the release announcement, Torvalds noted, 'I wish I could say that things are calming down, but I'd be lying. rc5 is noticeably bigger than rc4, both in number of commits and in files changed (although rc4 actually had more lines changed, so there's that).' Torvalds has warned that he is going to start cursing again, and said, 'I'm going to call you guys out on, and try to come up with new ways to insult you, your mother, and your deceased pet hamster.'"
There's a more complete explanation in the article.
At this point in the RC cycle, the expectation is that only bug fixes will be introduced. The latest merge include changes that had nothing to do with listed issues.
New features belong in the 3.11 branch.
He's angry because many of the changes are to non-critical stuff. That's not the priority, and it gets in the way.
Here's part of his quote in context, which the summary didn't bother to provide:
Because people aren't sending him fixes for concerns that have to be addressed before the release. They're sending him "this is a bit messy, here's code that looks a bit cleaner" or "it works but I don't like it so here's a different way to do the same thing". And sometimes as the manager you have to smack the devs with the cluebat to get them to remember that it doesn't matter if the code's messy or ugly, it doesn't matter if there's another way to do it, it doesn't matter if there's a better way to do it, by the time you're at the release-candidate stage the only things you should be sending in changes for are fixes for the things that're actually not working right. If you don't, they'll keep tweaking forever and you'll never get a release. As a dev myself I can understand where Linus is coming from here. I doubt he's even really mad at anyone, just irritated at everyone and issuing a pointed reminder that there's a difference between what the devs want to do and what they ought to be doing before he does have to get mad at anyone.
It's a three-layer process. Devs themselves are expected to adhere to the rules. Then the subsystem maintainers are supposed to filter changes to their subsystems. And finally Linus is the final arbiter on what gets merged into the release branch. Technically devs can check in anything they want, but it has to go through the subsystem maintainers and Linus to get into the release. Linus' role here is prodding the subsystem maintainers and the devs themselves to remember the rules and stop sending him so many things to sort through. It's easier on him if it's 90% rubber-stamp approvals and if a few stragglers get through it's not causing any widespread issues, as opposed to if it's 50% cruft and if he doesn't scrutinize everything carefully it's going to be a mess.