Linus Chews Up Kernel Maintainer For Introducing Userspace Bug
An anonymous reader points out just how thick a skin it takes to be a kernel developer sometimes, linking to a chain of emails on the Linux Kernel Mailing List in which Linus lets loose on a kernel developer for introducing a change that breaks userspace apps (in this case, PulseAudio). "Shut up, Mauro. And I don't _ever_ want to hear that kind of obvious garbage and idiocy from a kernel maintainer again. Seriously. I'd wait for Rafael's patch to go through you, but I have another error report in my mailbox of all KDE media applications being broken
by v3.8-rc1, and I bet it's the same kernel bug. And you've shown
yourself to not be competent in this issue, so I'll apply it directly
and immediately myself. WE DO NOT BREAK USERSPACE! Seriously. How hard is this rule to understand? We particularly don't
break user space with TOTAL CRAP. I'm angry, because your whole email
was so _horribly_ wrong, and the patch that broke things was so
obviously crap. ... The fact that you then try to make *excuses* for breaking user space,
and blaming some external program that *used* to work, is just
shameful. It's not how we work," writes Linus, and that's just the part we can print. Maybe it's a good thing, but there's certainly no handholding when it comes to changes to the heart of Linux.
Winning friends and influencing people since 1983.
Seriously, who'd put up with this crap? There are nicer ways to make ones way through life.
This is somewhat related with this Linus' post on G+?
Lisias@Earth.SolarSystem.OrionArm.MilkyWay.Local.Virgo.Universe.org
It wasn't really the bug that set Linus off. At least not in my reading of the post. It was Mauro's cavalier attitude toward the bug. He tried to shrug it off as a problem with pulseaudio, when it clearly was a bug that he had introduced.
I'm not a big fan of this style of management, but I can't fault any of the content of Linus' rant.
Lemmings are silly; dinosaurs are extinct.
I have a "chain of clients" theory of system design.
The kernel developers protect the library developers from having to deal with the hardware.
The library developers protect the applications developers from having to deal with the kernel.
The applications developers protect the users from having to deal with all of the above.
Everyone has shit to deal with, but if you break the chain and let some of your shit spill into another layer, then someone else has to deal with way more shit than they can reasonably be expected to handle.
I am so tempted to kiss the guy! Linux can't have this type of _OBVIOUS_ audio sabotage at the kernel level if we expect game developers to ever make their products available on Linux. Linus NEEDS to reign this in, we just can't afford it. He is 110% right.
Keep the helm firm, man! That's exactly what we need!
Qybix
Qybix ----- I do not have a belief system; I'm an Anti-theist and proud of it! Saying that not believing in anything i
I wouldn't speak to anyone that way unless I never wanted to see them again. Shaming someone in public like this is a way to not only get them to quit, but to make a permanent enemy out of them.
What this tells me is that Linus is better suited to be a cult leader than a manager of any kind.
News for Nerds, Stuff that Matters! Thanks Slashdot! Its been a while...
Nobodies Prefect
Tidbits for Techs Technology Blog
Sometimes shit happens. Sorry for that.
Cheers,
Mauro
Wrong. Answer.
If the only way you can accept an assertion is by faith, then you are conceding that it can't be taken on its own merits
For example:
Ita erat quando hic adveni.
No, if you bother to read the rest of the thread, the guy had a good and valid reason that makes sense
No he didn't. Sound worked, and after his patch, sound didn't work. Why would you ever commit a patch that breaks sound?
In his case, he did it because he is trying to add drivers for new hardware that behaves differently than a lot of other hardware. That's not a good and valid reason to break stuff that already works.
"First they came for the slanderers and i said nothing."
...a better love story than Twilight.
Well, arguably what Linus is doing is a kind of tough love. He did something dumb and he's getting flogged for it. If his ego survives, he'll be a better programmer for it. That said, Linus is too much of a net celebrity to be laying someone out like that. It makes the news, like it did here, and then it makes Linux as an operating system -- and everything that runs on it and depends on it, look bad. It's like if Balmer dragged a programmer up on stage and proceeded to flog the crap out of him for ruining something in the windows kernel -- people would be all over what a horrible platform Windows is to develop for and what a horrible company Microsoft is. And Balmer could have been totally correct in everything he said about said hypothetical programmer.
There's some things you just don't do on the public stage; And an e-mail list is public, yes.
#fuckbeta #iamslashdot #dicemustdie
Celeb or not I'd tell Torvalds to kiss my ass. I thought maybe that was at the end of a conversation...nope, the guy asks a simple question , one that would have taken Torvalds all of 30 seconds to explain like a rational human being, and instead he goes instantly to 11 on the douchebag scale.
I don't give a flying fuck WHO it is, be it Torvalds or Ballmer or Cook or Ellison if someone acts like a total fucking douchebag they should be called out for it and I'm calling him out, Linus Torvalds you sir are a douchebag. you could have solved the whole fucking thing in under 30 seconds by simply explaining why "it must be thus" but instead just acted like a giant flaming prick, it was completely uncalled for, the other guy was acting complete civil and politely, therefor the asshole of the week award should be given to Torvalds for flying so completely off the handle when there was zero point in it.
ACs don't waste your time replying, your posts are never seen by me.
The guy deals with A LOT of bullshit on a daily basis, and this was a BS patch anyway. That would be the end of it if the dude didn't start coming up with excuses. If you know you're wrong, fucking say so and make things right.
It's not like he wrote a patch with a changelog of "Break sound. Users have had functional audio capability for far too long."
It was a bug in the patch which broke the kernel interface (by returning different error codes), which was not the intended effect of the patch. Laurent Pinchart, the author of the patch, explained in the thread:
The reason Mauro Chehab got chewed out was because he refused to acknowledge that it was a kernel bug, didn't see anything wrong with a sudden change in the kernel return value, and then proceeded to blame pulseaudio for not handling it. That's why, other than his patch being called "total and utter CRAP" and "incredibly broken shit", Laurent was not mentioned in the email, whereas Mauro was told to shut up and called out as flat out incompetent.
This little slice of linux kernel maintainer ethos indicates code quality and its twin sister, system stability, dominate the linux kernel culture as they should. Stability is the prime directive of an operating system. Its functionality must be rock solid. However this objective is enforced, be it code review, peer presure, humiliation, restricting code checkins - it has to happen. Sometimes the uber-egos of certain developers lead them to make brash decisions, and thus have to be dampened, with a club if necessary, for the good of the tribe. In the exotic world of clashing software Prima Donnas, a suit of armor is a necessity. The victim will survive.
Just like you could have made your point without saying: douchebag, ass, giant flaming prick, and asshole.
I don't give a flying fuck WHO it is, be it Torvalds or Ballmer or Cook or Ellison if someone acts like a total fucking douchebag they should be called out for it and I'm calling him out, Linus Torvalds you sir are a douchebag. you could have solved the whole fucking thing in under 30 seconds by simply explaining why "it must be thus" but instead just acted like a giant flaming prick, it was completely uncalled for, the other guy was acting complete civil and politely, therefor the asshole of the week award should be given to Torvalds for flying so completely off the handle when there was zero point in it.
Actually, the other guy, while being incompetent, was very manipulative, and it worked - with people like you. To be manipulative like that you have to have a lot of social intelligence, and that helps you to navigate situations in which your incompetence surfaces. Some people have little patience with such manipulations and fakery.
"The agriculture ministry is not in charge of Gundam" - Japanese ministry official.
Or it looks like someone had a temper tantrum because he's a celebrity and doesn't have to be decent to other people.
And the thing is, that happens. A lot. Even at microsoft. "That's the stupidest fucking thing I've ever heard!" - Bill Gates. And that was in Paul Allens book, and apparently an oft used phrase.
Linux lives and breathes on its contributors, if you make too many public scenes you can end up with a lot of important people and companies saying it's not worth it to contribute to, or it's not worth it to contribute to under Torvalds, that would be a very ugly mess for the entire industry. Worse still is if this sort of behaviour sets the tone for everyone else trying to be the next Linus, and they try to copy his to behavior (and that definitely happened at microsoft) and you end up with an organization full of asshole managers who no one wants to work for. At least microsoft can hold out the carrot of a fat paycheck to put up with it, Linux relies on people volunteering to help.
Granted, it's not really a shock that Torvalds likes to... speak his mind. That's part of his thing. Still, it poses a lot of questions about the sort of person who's going to be around to succeed him if he gets hit by a bus so to speak. Certainly Tim Cook and Steve Ballmer have not been able to find the right magic replacing their more famous bosses, and one would hope Linux manages better than Apple and MS have, admittedly, those jobs are completely different.
Take a look at the call for which ENOENT was returned. The API spec says "EINVAL: The struct v4l2_queryctrl id is invalid. The struct v4l2_querymenu id is invalid or index is out of range (less than minimum or greater than maximum) or this particular menu item is not supported by the driver."
This is from a generic driver mechanism for USB camera-like devices. Because such devices aren't as standard as they should be, there's an insane number of options and possible errors. The spec says to return EINVAL for both incorrect calls and calls for which the device does not support the requested item.
The problem here is that the EINVAL error status doesn't distinguish between "program made bad call and is broken" and "we're iterating through the device functions to discover which ones are available, and this ID isn't meaningful on this device so skip it" EINVAL is supposed to mean "One or more of the ioctl parameters are invalid or out of the allowed range." A correctly made call should not return EINVAL.
The alternatives are limited, though. This is related to a historical Linux design problem, which comes from a historical UNIX problem - system call errors are reported using one error code, chosen from a short list written in the 1970s. "ENOENT" isn't really appropriate. "ENOTTY" ("The ioctl is not supported by the driver"), might be appropriate, except that the usual message for that is "Not a typewriter".
The API is a rather lame and excessively complex way to return what is merely a variable-length list of fixed-format structures. One would think that Linux would by now have a generic way to do that, since it comes up in other contexts.
Here's an example of an application which seems to be crashing because the programmer did not understand the nonstandard semantics of EINVAL in this API.
I don't know why you were marked as a troll. I would have the same reaction as you. Doing something stupid is not a free ticket for people to be rude. Linus was unprofessional.
...and then it makes Linux as an operating system -- and everything that runs on it and depends on it, look bad...
While I agree that this incident does put Linux on the front pages in part of the Net, I seriously doubt the "look bad" part.
In fact, imho, this incident will generate more positive than negative for Linux.
Admins and users that are still sitting on the fence would take note, that Linus just don't take fuck as an excuse - and if anyone dares to fuck up like that fella he will get a public tongue lashing - and the top priority of Linux is to *NOT INTRODUCE ANY USERSPACE BUG*.
Muchas Gracias, Señor Edward Snowden !
Doing something stupid is not a free ticket for people to be rude.
Doing something stupid doesn't. Doing something stupid, not apologizong for it, failing to fix it in a timely manner and then blaming the stupidity on other people's code - when kernel policy clearly state it's YOUR responsibility - is much closer to the free ticket, wouldn't you say?
Or it looks like someone had a temper tantrum because he's a celebrity and doesn't have to be decent to other people.
He cares more about the product being right than other peoples' opinion of him.
And the thing is, that happens. A lot. Even at microsoft. "That's the stupidest fucking thing I've ever heard!" - Bill Gates. And that was in Paul Allens book, and apparently an oft used phrase.
Sometimes the truth hurts.
Linux lives and breathes on its contributors, if you make too many public scenes you can end up with a lot of important people and companies saying it's not worth it to contribute to, or it's not worth it to contribute to under Torvalds, that would be a very ugly mess for the entire industry.
Nope. Linus has been Linus his whole life. This "story" isn't anything new. Oddly enough, Linux keeps marching onward, with plenty of contributors who are both volunteers and paid by various corporations to contribute work.
Worse still is if this sort of behaviour sets the tone for everyone else trying to be the next Linus, and they try to copy his to behavior (and that definitely happened at microsoft) and you end up with an organization full of asshole managers who no one wants to work for.
Again, the truth hurts. Projects like these don't tolerate stupidity well, especially given the fact that it's a community effort and there has to be a lot of lack of testing and communication on the part of the responsible party when something breaks like this. The price to be paid is twofold: (1) very public expressions of the harm caused by such issues, and (2) potential relief from duties related to the issue at hand, whether temporary or permanent in nature.
Granted, it's not really a shock that Torvalds likes to... speak his mind. That's part of his thing. Still, it poses a lot of questions about the sort of person who's going to be around to succeed him if he gets hit by a bus so to speak. Certainly Tim Cook and Steve Ballmer have not been able to find the right magic replacing their more famous bosses, and one would hope Linux manages better than Apple and MS have, admittedly, those jobs are completely different.
Step right up if you can do it better or know others who can. It takes strong leadership founded on the idea that others follow you primarily for you technical ability, and secondarily for your "soft skills" to manage a technical project of this scale. Sometimes people have problems replacing their famous bosses because while the old boss may have been widely regarded as an asshole, he was an effective asshole, and numbers (whether measured in uptime, lack of showstopping functional bugs, level of attention to security issues, or profit per quarter) don't lie.
All things considered, I saw far worse than this in my prior military service (Navy submarine force, ET-COM) in cases where somebody did something stupid that resulted in a systems failure, and oddly enough some aspects of this whole deal remind me a bit of organizational units in the services that pride themselves on putting job performance and technical ability first. Those who get butthurt about being dressed down are free to find something else to do with their time.
Write failed: Broken pipe
So simply being a nice person is now manipulative because it makes people like you? Do you even realise what you're saying?
There is nothing nice about causing harm for no reason to other people (users in this case) while smiling and talking politely.
If somebody rear-ends my car at a light, they have caused me harm. Do I therefore get out of my car and start screaming at him to "punish" him for his sins? No, I simply call the police to have a report created, and exchange insurance info. It will no doubt cost the guy money, and his insurance company will no doubt give him incentive not to repeat the incident. But, the fact is that it was an accident - that is why we call them accidents.
People mess up - it is a defining characteristic of humanity. Sometimes they even mess up and don't realize that they messed up. If you can't deal with this, then go do the rest of the human race a favor and have yourself committed.
And as far as "for no reason" goes, read the entire thread. There actually was a reason for the patch, and the reason was a good one. The implementation was incorrect, but the intent was not malicious.
Again, the truth hurts. Projects like these don't tolerate stupidity well, especially given the fact that it's a community effort and there has to be a lot of lack of testing and communication on the part of the responsible party when something breaks like this. The price to be paid is twofold: (1) very public expressions of the harm caused by such issues, and (2) potential relief from duties related to the issue at hand, whether temporary or permanent in nature.
I don't believe you. Someone added a sleep to the USB-HID driver in 2.6.10. The problem is they were holding a spin lock at the time. I submitted a patch for it to every single kernel release from there until 2.6.18 when a Linux kernel developer submitted the same patch and it was accepted. It was a very simple fix. If they don't tolerate stupidity, why did they ignore my one line patch and leave a huge bug in the damn keyboard/mouse (and other devices of course) for so long? I have had zero interest in contributing to these large projects ever since, as they seem to be more about ego and status than moving the project forward.
Imagine what it's like to be Linus' wife!
"SHUT UP! You burnt the bagels! Take responsibility! You know our policy, no wasted food! How dare you try to blame the toaster oven for being inconsistent? We never blame inanimate appliances Just shut up! You should have been watching the toaster!"
He did apologize for it, quite quickly, and agreed that reverting the change was appropriate. He also asked a good question: why can't pulseaudio deal with other error codes, error codes that might be technically correct, though not in current use?
The developer wasn't being nasty, underhanded, manipulative, etc. It's possible to break user land by fixing broken behavior that userland depends on, and it's been an ongoing issue for all kernels. (Take a look at the history of the egcs variant compiler and Linux kernel compilation.)
This sounds so gimp like. Like a teen at school trying to get in with the popular set. Or Dobby from Harry Potter.
It's just pragmatism. For every programmer competent to work on the kernel there are a thousand wannabes, so some vetting process is required. In companies, this is done via resumes and interviews -- and then generally by giving new software engineers projects of low importance so you can vet their work before trusting them with stuff that could break the business. Same thing, just a different context.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.