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.
...a better love story than Twilight.
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
Make a screwup this major, and this is what you get.
It's just a kernel patch, nothing to be actually "angry" about. Why so emotional? And especially when it's somebody who is not an employee.
Just say, "It is our firm policy that we do not break XXX, even when any given developer wishes they could. If you wish to continue contributing, you must follow the policy. Please apply the fix ASAP and acknowledge your understanding of these conditions."
I Wonder how often these kind of conversations are held inside of a corporation and never see light of day. At least GNU movement is candid and open about the kind of mishaps.
no sir! how we work is to let shit fester and rot until a replacement comes along that solves the problem for us dammit!
yes it is brutal this email thread is in the public. but the mindset linus has about the process is what separates the really good teams for the everyday teams. i had the opportunity to work on three different commercial unix operating system teams and this mindset is consistent with the teams that hit schedule with the appropriate quality.
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.
can't let shit like that fly. i think Linus did the right thing in the circumstances. i have wished no less than 1000 times over the years that my own various bosses would have shown that they even gave half as much of a crap about utterly unacceptable coding being released into production by my own co-workers.
its about getting the job done, not "winning friends and influencing people"
all get together and sit Shuttleworth in a room with Linus and lock the door for an hour after Linus has been forced to use Unity for a week? That would probably solve the problem. After what they did with Unity and then with the passing search terms out to the internet, I can't recommend Ubuntu, but through Ubuntu and MATE. They really screwed the pooch on that. They had the best chance at corporate desktop standardization but really lost it with forcing Unity on people. And yes, I have used it. It bites.
One Token Ring to Rule them All, One Search Engine to Find Them, One WAN to bring them in, and TCP/IP Bind them...
Seriously, someone makes a coding mistake in a pre-release kernel, there's a heated e-mail chain about it, and now it's on /. Why?
I actually disaggree. This is not a private company where you are trying to spare people's feeling. It is a case of "you screw up, you get yelled at." Because it is a publicly managed project, the yelling happens in public. It also set the standard for every single other developper. The next time a user space bug is introduced. The kernel developer will not try to swipe it under the rug.
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
There are some people who you could site down with and explain things for two hours and they would still go away and do their own thing. IT is particularly full of people like this (and I'm aware of and try to avoid my own inclinations in this direction). Sometimes, you just have to make it clear that something is important and that means raising the temperature even as (and especially as) you remain in control internally.
This is also a valuable parenting skill. I don't think that that's entirely coincidental.
So it would assume that if the head of the Linux movement had rant like a child, I guess it's ok for all the other leaders of their projects, who don't have any leadership experience to follow this wonderful example.
Look Linus may be a great leader, but pompous crap like this doesn't belong. There's a reason why in management if you need to discipline/warn an employee, you do it in private not over the company mailing list.
The answer is simple: We are Nerds. If you screw up, you say: I screwed up, sorry. And if others screw up, you tell them what is wrong and expect them to not blame others. Case closed. But most people that are not Nerds have the tendency to screw up and blane others. We do not tolerate this behavior amongst us. It's bad enough that the normal guys do that. Hand in your Nerd-Membership card if you think that stupid excuses and blaming others is a valid way of life. It may be for others. It is not for us. We went through a lot because we are what we are. We like working with others as long as they search for the best possible solution with reasonable effort tohügether with us. We get in a loud argument while we search for the best way. And we accept it when the other solution is better. We take pride in being proven wrong and admitting it. Let the stupid folks do the screwup and blame others.
This is Slashdot. It is for Nerds. It says so in the title. Nerds by definition are not the best ar social skills. Slashdot is not for the normal guys that make life so miserable for everyone who works in some Nerd-related field. We are the guys that e.g. think about different browsers and define them. Saves us lots of trouble in the future because the webbased app will most certainly not be broken just because the company decides to migrate vom Internetexploder 6 to a real browser. It is the incompetent Other Guys [tm] that think only 6 months into the future.
And I do not even use Linux. But Linus is obviously right to be upset. Not because of the error. But because of breaking the unwritten major rule for Nerds: If we screw up, we say so. And we do not blame others.
Period.
The fuck would have been in the part of the email that they didn't quote. The part in the summary is from further down. Maybe you could try being informed before you have a tizzy fit about how mature we all are.
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.
Given that this rant was in response to a post where the developer made excuses for his mistakes I'd say this was not Linus' first communication on the subject.
I used work for a company that wrote frameworks and drivers for 3rd party apps. BC breaks were not tolerated at all unless supported by the appropriate paperwork. If they happened managers were called and fixes were rushed through as your team would not be allowed submit anything else until it was fixed. This break should have been caught.
Linus could take a lesson from Balmer. Balmer would have said "great job, now people will have a reason to upgrade when we fix it in Windows 12 ten years from now". Seriously though, it's good to hear SOMEONE so insistent on not breaking things after waiting fifteen years for the same IE bug to be fixed. (Vary header bug breaks caching, saving files.)
You seem to be enjoying yourself.
At first, anyways. If you check:
https://lkml.org/lkml/2012/12/24/125
He basically goes on to agree with most of Linus' points after a few back-and-forths. He was apparently trying to make certain error messages more uniform, which certain higher level pieces of software didn't appreciate.
at the end of that diatribe: "Fix your f*cking "compliance tool", because it is obviously broken. And fix your approach to kernel programming"
is:
"How about you go and fix your f*cking social skills. When you can carry on a conversation without resorting to childish profanity, I'll come back and donate my free time to your project. Until then, go f*ck yourself."
Linus is fast becoming another RMS but without the benefit of a cohesive set of values.
News for Nerds, Stuff that Matters! Thanks Slashdot! Its been a while...
Nobodies Prefect
Tidbits for Techs Technology Blog
I am sorry but you can be firm and clear and still be civil. I invite you to provide evidence to the contrary. Not anecdotes about a couple of notable CEOs — and there is a big difference between a CEO and a technical lead.
What do you know I wrote a novel
Agreed. Many people take pride in the work they do and occasionally make mistakes. Publicly outing and humiliating people in front of others that they respect is the FUCKING worst way to deal with an issue that can be resolved with some firm discrete discussion.
Shaming people like this will simply cause them to hide their faults and ignorance better, leading to more problems down the road. If people don't feel comfortable bringing up issues, and gaining knowledge from more advanced team members, this diffusion of competency will not occur. More mistakes will be made, more shaming will occur, until the developers with potential eventually just say "fuck it, I didn't sign up for this bullshit" and leave the project.
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.
Yes, let's all play nice. Everyone have a love in. Never hurt anyone's feelings.
That is not what I said. If you want to disagree with what I say, please first read and understand what I say.
.
I am not opposed to reading someone the riot act. However a public mailing list is not the place to do it.
All open source project have harsh contributors that will flame a fellow developer that made a mistake. But there is something particular with projects that adopted the benevolent dictator governance-style (Linux, OpenBSD): you get flamed by the chief, with no possible appeal or mediation.
In projects that adopted the round table governance style (NetBSD, FreeBSD), you may be flamed, but you never get flamed by the chief, since there is no single chief. Heat is easier to handle, IMO
Each of Microsoft, Apple, and the Linux Kernel are examples of organizations with leaders at their helm that demonstrate the above capabilities.
Please show me examples of Apple's CEO or Microsoft's CEO reaming someone a new asshole on a mailing list. I've not seen one such example. So why are you trying to use Apple and Microsoft to justify Linus' incredibly poor management style?
Agreed. Many people take pride in the work they do and occasionally make mistakes. Publicly outing and humiliating people in front of others that they respect is the FUCKING worst way to deal with an issue that can be resolved with some firm discrete discussion.
Thank god you don't manage the Linux kernel dev team then. You would spare yours and everyone else's time while trying to solve every matter politely and taking care of every pride out there. I LOL just to think what would be of the project.
Shaming people like this will simply cause them to hide their faults and ignorance better, leading to more problems down the road. If people don't feel comfortable bringing up issues, and gaining knowledge from more advanced team members, this diffusion of competency will not occur. More mistakes will be made, more shaming will occur, until the developers with potential eventually just say "fuck it, I didn't sign up for this bullshit" and leave the project.
Don't you think that in 20+ years, it should've happened then, already? But no, it didn't happen, or at least, people that were so tight with their egos to leave, weren't the material they look for the project anyway.
Unless that developer is disposable and you'd like to send a message aux les autres.
If you want to send a message to others, then just take the guy off the project. If the other developers are worth their salt, they will already know the guy is incompetent. There's no need for a public flogging.
"On the internet, nobody can hear you being subtle".
Made me think: Alien in a code review.
It must have been something you assimilated. . . .
What someone says about it, says more about the commenter that the situation.
Fugue for Aaron Swartz
If you can put "Linux Kernel Maintainer" on your resume, it's worth a lot more than $0/hour. When hundreds of millions of users and embedded devices run your code, you have assumed an enormous amount of responsibility and performed at least reasonably well.
Unless you fuck up this publicly. Then it's more like being the "Chief Rocket Scientist" the day after the pad explosion that wipes out half the town and a visiting Congressional delegation.
AC, thanks for the link. This post by Laurent Pinchart explains further: https://lkml.org/lkml/2012/12/23/89
"The patch uses the -ENOENT error code internally in the uvcvideo driver to inform the caller function (internal to the driver) that the requested control doesn't exist. It was never meant to be returned out of the driver, and definitely not to userspace. This is clearly a bug."
From reading that, it does seem like, as you suggest, Linus may have jumped to an incorrect conclusion about that error code (intended to indicate a bad path) and why it was in the code. However, he or someone else might have instead, with a more complete understanding of the history of the patch, then reasonably questioned the design choice of reusing that error to mean something a bit different internally, precisely because this sort of problem could (and did) arise.
Of course, if one starts asking questions, then issues like having cryptic error codes is another deeper issue.
Although then one could take that all the way back to even deeper design issues, like how a message passing approach like Smalltalk, Actor, and Erlang pioneered may be better for the kernel of software for the 21st century?
So, "crap" is perhaps relative to your frame of reference? :-)
Anyway, it looks to me like there were mistakes made all around -- the patch developer, the kernel maintainer, and Linus. And that does not include all the other decisions by many other people who lead up to this. See also: http://books.google.com/books/about/The_Berenstain_Bears_and_the_Blame_Game.html?id=p8oMWMMdU2gC
Ultimately, a big piece of software is more a community than anything else. I don't know enough about the norms of the Linux kernel community to know what was appropriate in that context.
A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.
One word: Chairs
It made the news.
It's not considered acceptable in the wider world; most people barely know who he is and certainly don't know about these childish tantrums.
Slashdotters seem to be falling over themselves to make excuses for him. Imagine if this report was of Steve Ballmer shouting and yelling at a Windows developer.
There are many posts on this thread stating this is how you get quality software. No, it isn't; it's how you alienate volunteers. The way you get quality software is by being a grown-up:
That's the culture: the on-board shuttle group produces grown-up software, and the way they do it is by being grown-ups. It may not be sexy, it may not be a coding ego-trip -- but it is the future of software. When you're ready to take the next step -- when you have to write perfect software instead of software that's just good enough -- then it's time to grow up.
This is how the software that controls the space shuttle gets done. Linus may rule by the cult of personality, but it's not a particularly good way to ensure provably correct software in a situation where it simply MUST work.
What's going on here is the kind of nuts-and-bolts work that defines the drive for group perfection -- a drive that is aggressively intolerant of ego-driven hotshots. In the shuttle group's culture, there are no superstar programmers. The whole approach to developing software is intentionally designed not to rely on any particular person.
I Ain't A-Workin' Here No More...
Not blaming others for your mistakes is not a nerd thing, it's an adult thing. Lack of social skills and owning your mistakes are not positively correlated, and that's being charitable. Quit romanticizing being a nerd. The conclusions you seem to be drawing from it are inaccurate at best.
<xml><I><am><so><damn>Web 2.0</damn></so></am></I></xml>
An anonymous reader points out just how thick a skin it takes to be a kernel developer sometimes...
Mauro points out just how thick a skin it takes to be a kernel developer sometimes...there FTFY
If it makes anyone feel any better, please break Pulse Audio it it means more support for ALSA, Jack, anything but Pulse! A plague that never ends.
I think Linus should stop paying Mauro.
The guy getting chewed out very likely gets paid considerably more than $0/hr. He works at Red Hat, as you can see by his email address.
upon the advice of my lawyer, i have no sig at this time
I need to preface that by saying I think Linus is 100% correct on the technical matter. As a "boss" he's appalling. He's absolutely right in his assessment as well. You don't pass the buck.
That being said, when something is this big, you do it privately. .
There is no "fuck."
Linus wrote "Fix your f*cking "compliance tool", because it is obviously broken.", asterisk and all.
upon the advice of my lawyer, i have no sig at this time
Part of me cheered the first time I read that article. But: The shuttle program doesn't exist anymore (in some sense it's a fundamentally failed project). Other services have taken over the LEO launch industry. NASA in general is basically on the decline. What has clearly won the day is just-barely-tolerable, first-to-market software production. Something like Facebook or other modern web companies or cheap mobile devices. Generally overseen by a charismatic and domineering cult of personality (Brin, Zuckerburg, Jobs, Bezos).
I don't like it. I don't want it. I don't have the heart to participate in it anymore. But that's clearly what has won the day and gets the job done. Leaders of men are usually assholes but their legacy overshadows that.
We know where leadership by an anti-intellectual "strongman" who scapegoats minorities and likes boisterous rallies goes
I consider myself a newbie, doing kernel programming with wireless stuff for two years now and even I would never do such a thing.
I mean to return non valid values is bad enough, but then pass them to userspace in kernel service lists such as ioctl is incredible.
Actually it is retarded.
-Hack
Got Geometrodynamics? Awe, too hard to figure out? Too bad.
If it was a patch that broke almost all sound in a RC for MS Windows and the developer blamed something else and refused to fix it I really can see a big chance of them being called on the carpet in front of Balmer. If it was at Apple and Jobs was still around, that would almost be a certainty.
I do not think you've been paying attention otherwise you'd see how ridiculous that statement is. How many of us could even recognise him on sight? We've got more chance with a B grade actor.
They are much too secretive to say anything on a mailing list except through PR.
But as for tirades, try tghis. At least there was no chance Linus might physically hurt someone.
Are they hiring where you are?
To be a bit more serious, if you are being honest and that's the worst you've seen then you've led an incredibly sheltered life.
If it was then this wouldn't be seen as worth putting on a news site. Someone else here mentioned Theo - Theo being angry at someone stuffing up is not news but the normal state of affairs so you don't hear about it.
I'd say they don't put it in the summary so that the unfortunates behind keyword filters don't suddenly find they can't get to slashdot for a month.
He's in touch with how many developers? That Dale Carnegie guy probably never had to deal with as many people at any time.
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.
I would never speak to someone like that. However, I would love it if Linus would talk like that to me. I would learn so much from that man. Also, we don't know anything about their personal relationship. I have friends that treat each other like this every day, and yet are still very good friends/colleagues, but they know not to speak this way to me. Linus can talk to me like that any time, but my friends and co-workers can't. You establish these limits when you start any friendship or professional association.
Mauro did make a major fcukup. He accepted a patch which returned an obviously invalid error value for an ioctl request. The worst part is that the error code was changed depending on its value, as if to sweep the problem under a rug. The beauty of the LKML is that there is no rug. The reason Mauro got burned is because he is a seasoned maintainer.
Mauro did not deserve to be shamed on the slashdot front page. Yes, he did blame userspace for the problem he created as the maintainer of the media subsystem. Also, any new kernel developer should make sure they know the coding style and inherent laws of the subsystem they are focusing on. I am sure he understands the USB video device class very well, but he submitted code that goes against basic pragmatics (changing an error value).
We all enjoy drama, and this conversation is gold for any new or old developer. I learned something from this argument. It taught me to refocus on meticulous aspects of my code, and to rehash the basics of all of the programming paradigms (which should be obvious anyway). I gather this was Linus' intent. He just took a very direct approach to filling our minds with some valuable knowledge.
Why not take something positive from this mailing list instead of contributing something negative? Stop bashing Mauro. He has a family, and stresses in life that will be exaggerated by this blunder. Linus comments were well deserved, but he took to the harsh criticism fairly well after he foolishly brushed off the initial call to his attention. Unfortunately, he ended his follow up with an unfortunate comment. I am sure he is now trying to ignore superfluous flames outside of the LKML and refocus his attention on learning through reading the code in his subsystem. The most important first step is to read the kernel source. If you don't understand some aspect, you need to look deeper. It is never enough just to code. You have to always continue to read and learn throughout your entire career as a developer.
When I read a book, I look up every single word I don't know. This has become habit, and as a result the more I read, the less I actually need to look up words. Apply the same aspect to your coding. When you are reading code, don't skip over any function or operation you *think* you understand.
Sometimes stupid people need to be told they are stupid, otherwise they wont stop being stupid.
The problem is that you cheap fucks don't want to pay for anything.
Lies. Check humblebundle.com, they show how much each OS spends (people are allowed to pay as much, or little, as they want). Currently:
Windows: $6.09
Mac: $7.83
Linux: $10.34
Linux has few users, but they are not cheap.
hobby OS.
Webservers, stock exchanges and electronics are run by hobbists, then.
In my experience, and judging from the comments here, this is a concept lost and unknown to most people these days.
And now get of my lawn!
Bottom line, Linus has been in charge of the kernel for a couple of decades now, and his process is working. He doesn't flip out very often, so when he does, every who counts knows that some serious fuckups happened. And anyone who doesn't count (which in this case, almost certainly includes both you and me) can probably go fuck themselves if they don't like it.
Nobody in the world knows for sure how to manage a project like Linux. It is truly unprecedented. But Linus's way is working better than anyone would have expected two decades ago. If you want to second-guess him, feel free to start your own competing project and manage it your way. His way is working better than anything anyone else has ever tried, even if it's not "the best way".
https://www.linux.com/news/special-feature/linux-developers/636068-30-linux-kernel-developers-in-30-weeks-mauro-carvalho-chehab
I've dealt with numerous 2nd and 3rd tier Linux kernel maintainers, and occasionally the Linus or Cox. There's no Peter's Principle here. That might have something to do with how people get paid in this structure (I've never received a dime, btw.) People get put in their place rather efficiently. The wonderful thing is that even the top people are exceptionally vulnerable, too.
Good news, you never will. Not something you'll need to worry about.
You'll likely never do so because you don't even understand why he was yelled at, you don't even get the severity of what he did.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
You're wrong, and Linus already explained why.
Returning 'file not found' on an already open file is in no way acceptable. Ever.
Then blaming it on the software for not dealing with an error code it should never get is unacceptable.
Blaming the software for breaking when the kernel change caused the failure and the policy of the Linux project is that any kernel change that breaks userland code is a kernel bug is unacceptable.
Making a change from ANY API, kernel or otherwise that changes error codes for a response with ZERO documentation is ENTIRELY unacceptable.
Congratulations, you utterly fail to understand how to write interfaces (code or otherwise) in multiple ways and fail to understand how to comprehend the problem as well.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
Yes, make them more uniform by using error codes that are expressly prohibited by the documented API. Try again.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
Its trivial to keep backwards compat and move forward.
You simply don't change existing APIs in a undocumented way. Old code should not ever behave differently.
That doesn't mean you can't extend the API, that doesn't mean you can't write a new API that works differently. It just means that once you publish an API it ALWAYS WORKS THE SAME.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
This guy gets a nice paycheck from Redhat for the work he does on the Linux kernel, and this guy (nor any of the other 8k people you want to include) have either started the project or managed it for 20 years. Some have been around a while, but this guy certainly isn't the one holding it together.
The hundreds of thousands of people involved in all the various parts of your house, or car, or computer don't get some fantastic amount of money for doing 'their job' either.
You get special treatment when you make sacrifices or do something other wise special to deserve it. Doing your job isn't something special, he's getting compensated what he agreed to for what he has agreed to do.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
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.
Sure, look how much similar behavior hurt Apple and Oracle.
Linus is just cementing his application for deity status.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
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.
your right, I design hardware, I will leave the code monkeys to breaking something thats already half broken in the first place, its only software, fire up the fucking text editor and fix it ... not like you just spent thousands of dollars on a simple mistake, which is common in hardware.
or in otherwords, cry me a river, and grow up Linus, the only thing you lost is time and respect.
So in other words, Linus was *right*, and an asshole (GP's word, not mine). Linus' comment was still unprofessional and immature.
This doesn't change the fact that, IMHO, Linus is the greatest positive force in software for over 20 years, a huge asset to the world, and his creation is a bright spot in my life. I also understand he's not going to change and I have no standing to tell him to change. And it's possible there is context/history which is difficult to track down which makes the comment more understandable. But still, unprofessional and immature. None of us are perfect, and all of us have the potential to become better.
I don't disagree with your final conclusion, or any of the supporting points.
It's a good thing this is the internet, because I have a CD wallet full of games here that I could conceivably knock someone unconscious with.
> Being a Kernel Developer is a lot like being a Navy Seal [...]
Being a Kernel Developer is a lot like making love to a beautiful woman. First you PEEK, then you POKE. You think you're doing great, but suddenly she tells you that you're too BASIC, and gives you a C. Treating her like an object can be a plus (or two), but if you get linked to her publicly you might have to commit. And if you fail an interrupt and some of your bugs make it into the kernel, you'll end up supporting that mistake for the rest of your life.
Put your accepted kernel contribution on your CV and your CV will command a higher salary.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
...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 !
I'm sure he'd be receptive to criticism, arguements and second guesses. As long as the other person actually makes good points. He certainly hasn't brought the kernel to this stage soley on his own and by being a closed minded dictator.
A fair number of people have worked on the infrastructure and building the community and development methodologies. If anything, his reliance on other people to take care of their domains is probably part of why he went off like that.
If you take a look at the rest of the conversation (and the followup), you'll find that the intent of the original patch author was to communicate a particular error condition between driver layers. He used an error code that can't otherwise occur here, but apparently due to some oversight, it leaked beyond the layers that were supposed to deal with it.
Now the problem with some unfitting error condition as a sentinel is that it is an accident waiting to happen (and it did happen here), and a maintenance problem when other programmers trip over it without knowing the story behind it.
It also turns out that this intent was apparently not properly reflected in comments and commit message, so the "obvious fix" dialed back all of that instead of fixing the error condition leak. Which again illustrates that the original code was deficiently documented: with proper inline documentation, any "obvious fix" should first focus on the detail that went wrong instead of throwing out everything. And/or the design, properly documented, would have caused the patch not to be accepted in the first place, again being a reasonable decision with respect to long-term maintainability.
So there definitely is more to the story than just the surface, but the decision to yank because of the superficial appearance is still valid since a discrepancy between appearance and underpinnings is a maintenance problem.
Where is the difference? Between people being stupid silly buggers, and people not having weighed priorities properly. Is it smart that Linus treats both as the same? At least it is his style, and determines the set of people who tend to stick around in kernel maintainer positions. Would different selection criteria lead to better results? Maybe.
Speaking of ESL writers, as a native Anglophone it's interesting to see developers whose native languages are Swedish and Portuguese communicating so smoothly in a third language. Linus, in particular, would pass my Turning Test for a native speaker. If you can type a grammatically correct blue streak in English idioms, you're practically ready to edit Webster's. He must have had a lot of practice.
Luke, help me take this mask off
Sure its grown way beyond the scope of a single guy, but he played such a key role in linux's development that I think he's forever earned the right to be as picky as he wants with new code. That aside linux has grown widely adapted and any large new bug could effect countless systems.
http://interserver.net/
Many people seem to be going on and on about how innapropriate Linus' tone was. How many of you have read the thread. It doesn't matter how you feel about getting an email like that, Mauro was the target, and his responses don't come across as those of a crushed spirit. Read the emails again, he apologized, then gets on with bussiness, explaining what's going on in that little corner of the kernel.
Different domains have different ways of communicating and different standards of acceptable behavior. We wouldn't expect the same tone from a kindergarden teacher, a librarian, and a sailor on a navy ship in the middle of the atlantic. So sure, if that's your environment and it pisses you off, go ahead rag on Linus for a while, he can take it. If not, try imagining the librarian wandering around your office telling you to keep your voice down, or some other absurd situation which would drive you crazy but might not offend you so directly.
Yes, the kernel mailing lists technically constitute a public forum, but to an extent that says more about the public listening in on his domain than him shooting messages out to the world. He put the kernel out for all of us to use and enjoy. He didn't force himself upon the world (like some other OS developers).
Linus has a reputation for being harsh, but how often does he go off on a rant? How often does he rag on a clueless passerbyer who shoots off a silly patch to the kernel. Mauro, is not a fresh kernel developer wannabe, he's been working on the V4L stuff for years. Pressumably, he understands geek communication is not as slick and polished as corporate or political discorse, where saying things politely seems to be more important than actually conveying any useful information.
Some comments mentioned Dale Carnige and other stuff about sweet talking to convince people to give you what you want. I don't think Linus really has anything to prove. People respect him for his work. I'd love to see people protest on the streets, reject the Linux kernel cause they think Linus is an ass. Try switching to windows, mac, hey maybe even Hurd. Hmmmm, all project lead by even bigger assholes, never mind....
Finally, what's really in our best interest? Would you prefer Linus bottles up his frustration long enough to compose himself so he can be more polite? Maybe, he should go sit on the beach every time he feels like being rude until he calms down. Personally, I think he's more useful to me, bruising a few feelings here and there and getting back to work.
On a separate note, I don't think Mauro was right about his response. Pulse and kde blowing up like that because the kernel returned a different failure then expected is a clear failure, particularly for things that try to position themselves are core facilities, even if in userspace. That said, this does come as a response to a patch in a RC. If someone catches a change that will cause immediate problems, whether they are wrong or not, as long as the change wasn't some critical fix to an even worse problem, this is the time to revert first, and then commence discussion. Teasing an outsider for buggy userspace code, or for an audio server interacting with video systems (which is actually not too uncommon, don't know why he went off on that) was more innapropriate than Linus' blowup.
This isn't backwards compatibility. It's the same basic rule we have to follow where I work: you DO NOT EVER make unannounced/unplanned changes that break the way other modules interact with yours. Period, end of line. Break that rule with any sort of regularity and you'll be looking for a job. If you need to make a change like that, it's on you to justify why and then to coordinate with everyone else to make sure everything that needs changed gets changed. It's not a hard rule to understand or to follow. If you can't, you have no business messing with an operating system kernel.
Do you not understand, and if you want to know why Linux is well designed and getting ever better.
Linus has a job like hurding cats and he does it extreemly well
Happy New Year, omb
It's meant to be an analogy guys, and in that analogy nobody is getting fired just some blunt words are being used. In the situation I'm basing the analogy on I was inspecting welds as part of a third party certification body for a variety of companies so couldn't fire anyone anyway, but I could tell the welders that their welds were fucked and that unless something was done about them those items were not entering service.
The analogy is about communication and not management practices. I think it applies because Linus is not the boss of the other developer but he does get to say what goes or doesn't go into the project. When initial communication resulted in blame shifting I think it made sense to get blunt for later communication, and to let others know not to make the same mistake. I think they are more likely to remember to make sure they don't break userspace now than if it was some quieter and more technical suggestion that many would ignore as not their problem.
What you get from working on the kernel is the ability to put on your resume that you worked on the Linux kernel. That doesn't necessarily guarantee you a job but it certainly doesn't hurt.
In a lot of places and industries you'd get down to nearly no employees very rapidly if you took that approach.
Anyway, my point was really about how you have to communicate with the listener in a way that will be taken seriously. That will vary. In my example, some of the welders didn't take the technical terms seriously or we didn't have enough language in common for the technical terms. Serious failures could be ignored if described as "cracking through 75% of the weld", but "completely fucked" couldn't be so easily waved away. I think that makes it an adequate analogy for waving away and belittling a bug that crippled sound, and then the appropriate response to misdirection.
I think you are misunderstanding my analogy and turning it into an management one instead of being about communication. I was inspecting welds with the responsibility of passing or failing the welds and communicating with the welders about it but they worked for a wide range of different companies - I wasn't going to fire anyone.
The nVidia drivers are developed by nVidia, not the Linux community.
Change is certain; progress is not obligatory.
Maybe Linus woke up on the wrong side of the bed or had a night terror in which XP logon sounds were looped throughout.
I don't buy this, sorry.
A publicly managed project doesn't mean there can't be any notion of private conversations occuring at all. It's also unrealistic. Do you think we hear every single conversation that goes on about Linux and its direction?
Linus could've said everything he said to the guy in private, and even demanded he post a public apology, and the net result would ultimately be the same except that a guy who is quite likely a competent programmer in spite of this snafu (seems odd he would land a kernel gig through just winging it, doesn't it?) wouldn't have been treated like shit. Telling someone to "shut the fuck up" publicly is not productive or professional whichever way you slice it.
You have to assume that there are similar conversations going on all the time in Microsoft, Apple, Google et al when a programmer screws up badly, and their output is ultimately doing as well as if not better than Linux. The argument that Linux is a stronger platform because Linus gets to demolish people in public with no filter doesn't really hold water when you consider Linux is not leading the pack.
That would be David Neil Cutler, Sr., VMS at Dec, then WNT at M$ both worst of all designs, ie the u-kernel, COMPOUNDED by Gates desire to subordinate everythin, eg reliability, security and good taste to vendor lock in.
With the rise of mobile and BYOD they will finally get what they gave deserved for 30 years,
MFG, omb
this is EXACTLY the sort of reason I always have thrown my chips in with FreeBSD, not Linux.
Brian Fundakowski Feldman
Agreeing with tuffy's quote for not being subtle, especially on a open source project where people can submit changes from all over the world, removing ambiguity in fundamental principles is vital. As an example of a problem with understatement (a typically British stiff-upper-lipped-trait) it caused a British military disaster during the Korean war as a brigadier reported their situation as 'a bit sticky' meaning things were extremely difficult, but which the US general took it as being a bit tricky but managable. (http://www.guardian.co.uk/uk/2001/apr/14/johnezard). Sometimes you need to be clear. While as a programmer I'd be mortified to receive such a flaming response from Linus, if I'd allowed that check-in to go through, and tried to change the tests to fit the change (even though that changed error code didn't make sense) I'd have to accept he was right. It also serves as a reminder to others, to save the same problems reoccurring again.
You know? Sometimes when someone does something as obviously bone-headed as that, it needs to be responded to with something of equal bone-headedness.
If the response was "oh, hey... you made a bit of a mistake there. Don't do it again." I doubt it would have gotten much notice. The is especially true when the guy who made the mistake was looking to shift the blame all around himself. Only public shaming and condemnation could yeild the result needed. And in that case the target of the shame can either
(a) straighten up and fly right or
(b) be forever doubted by everyone who witnessed the shaming and possibly end his involvement or even his career if he refused to change.
Linux is huge. It's no longer the "hobbyist" system it started out as. It is something which just about everything depends upon. Also, it is still available to hobbyists. But those kinds of errors and problems are extremely critical and simply can't be allowed.
When every search engine on Earth returns allegations of incompetence by some Überhacker Himself as the first few hundred hits on your name, you can save the time for writing that CV in the first place as HR would often just send it to /dev/null (if they thought in these terms ;-)) unseen anyway.
Interesting. From the same document:
Perhaps those at the top should lead by example?
Seriously, this is no way at all to lead a project. Being an asshole just for the sake of being an asshole does not earn you any respect from your peers.
Linus needs to work on his people skills.
I understand exactly what went wrong with this patch, and I'd certainly never want to become a kernel committer with that kind of attitude in place. Sooner or later everybody makes mistakes - how a leader deals with failure is a clear testimony to their character. This isn't the kind of behavior that inspires anything but fear. There are a billion FOSS projects I can work on, or I can start my own. Why would I work on the project where some famous person can flame me in public when I make an inevitable mistake?
on a side note, I HATE pulseaudio, I hate the way it screws with alsa and especially alsamixer!!!
Politics is Treachery, Religion is Brainwashing
"WE DO NOT BREAK USERSPACE!"
I wish Apple and all OS developers and maintainers would take this that seriously. This is a big issue. Old software should continue to operate despite changes to the OS. This is Apple's greatest failing, even worst than their patented greed.
... a warm, nurturing environment reminiscent of a Prussian military school.
Who is Rafael? I thought Mauro got chewed out.
Stupidity is the only sin in nature. Judgment is swift; the punishment, harsh. And there is no appeal...you live and you learn, or you don't live long.
-Robert A. Heinlein, via Lazarus Long in Time Enough for Love
This quote is more than just one SF author's take on the process of natural selection. It applies to *anything* humans do where failure is an option. Torvalds passed judgment -- swift and harsh -- and because Linux is *his* the authority to render that judgment as swiftly and as harshly as he did is his, as well. Stupidity needs to be called out whenever it occurs, period. The alternative is the cessation of progress toward whatever goal you are striving for, be it a stable community, a stable civilization, or indeed, a stable operating system.
After reading Mauro's grovelling post Linus extremely nasty email, my respect for Alan Cox has increased - https://lkml.org/lkml/2009/7/28/375
I liked your approach, but that said, qwak23 makes a good point in reply about how different people respond better or worse to different interactional styles. There is a book called "Motherstyles" about how the same applies for raising kids.
http://www.motherstyles.com/
Going with your approach here, one thing to do is step back and see the context (which I do not know about for the kernel list and that maintainer). If you were really commenting in a real situation, there would be more context. And so, beyond what you said, and depending on the relationship, something might be said like: "Bill, you've done a hundred excellent welds in a row here, and I know you've done great work on other projects. However, this weld is substandard and dangerous for these reasons. Is something going on in your life that led to this change? Lack of sleep? Overwork? Family problems? Are your tools damaged? Are the supplies substandard? Do you lack adequate training for this particular type of welding? Etc. The weld needs to be redone. You're generally a good performer and I want to keep you on the project. The deeper question is, how can we also keep this issue from happening again? What can I do as your manager to help you do your job better?"
A philosophy of "Total Quality Management" goes beyond detecting and correcting a specific defect. It includes looking at the context for a defect so that similar defects don't happen again in the future. Related:
http://en.wikipedia.org/wiki/Total_quality_management
For the software realm, consider how Linus could have reviewed multiple levels of the Linux Kernel's (and related application sphere's and test environment's) "fault tolerance":
"A Conceptual Framework for System Fault Tolerance"
http://hissa.nist.gov/chissa/SEI_Framework/framework_1.html
"A major problem in transitioning fault tolerance practices to the practitioner community is a lack of a common view of what fault tolerance is, and how it can help in the design of reliable computer systems. This document takes a step towards making fault tolerance more understandable by proposing a conceptual framework. The framework provides a consistent vocabulary for fault tolerance concepts, discusses how systems fail, describes commonly used mechanisms for making systems fault tolerant, and provides some rules for developing fault tolerant systems."
People make mistakes. People even make mistakes about making mistakes (not seeing them, denying them, deflecting blame, etc.). So a big issue is, what social and architectural systems do we build around that to ensure the systems work well, anyway? Things like redundancy, modularity, and testability are important in that context.
One thing of concern to me about this (not knowing the kernel communications culture or the previous interactions of Linus and this maintainer) is whether the Linux kernel (and development community) has maybe reached some point where old development methods are breaking down in trying to support an every growing monolithic kernel approach? I initially reswisted using Linux in the 1990s because I knew there were alternative architectures available, like from QNX, Erlang, Actor, or Smalltalk, and I had hoped those alternatives would prevail. I started using GNU/Linux only when it seemed like the social momentum there was unstoppable. Thus my previous comment on "message passing" as perhaps a better architecture for software in the 21st century because if can help address theses issues of redundancy, modularity, and testability as ways to manage risk from complexity. Related:
http://en.wikipedia.org/wiki/Message_passing
http://en.wikipedia.org/wiki/SIMPL
See point #8 here:
A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.
There is something in what you say, it can be had when you are working across cultural and language bounds, and you can never please everyone all the time. Making an effort to be civil and polite at a basic level goes a long way though. However since this particular thread is in regard to a specific comment:
There was no subtlety to his assertion, no edge cases, he (you?) was asserting that the only way to be productive would be to act in a rude and uncivil matter.
And perhaps more to the point, in this particular case of Linus' communication, is there any doubt that is tone and style are somehow a failure to understand cultural differences...
What do you know I wrote a novel
... should be any leader's mantra, unless you intend to rule by fear and intimidation.
"Consensus" in science is _always_ a political construct.
When I read that rant, I thought - with relief - that Linus has still got it. After all these years, he still cares about the quality of the code that carries his name. If he had become old and kindly, you know that will be the end of Linux as the racehorse OS of modern computing. I'm also glad that Linus doesn't take time out to reformulate his thoughts into boardroom talk, beginning with "Dear Mauro, you know that I am grateful for the many contributions you have made to the kernel project over the years. However, I can't help but think that you did not choose the best way of handling the latest matter of the userspace bug, blah blah blah..."
Linus was - rightfully - seething. Why mask that under politeness? Don't people realize that it's actually a great benefit to have a boss that can clearly display a wide range of sincere attitudes with his language? If he uses the same tone to call out simple mistakes and inexcusable, irresponsible behavior, how are his subordinates supposed to feel comfortable with the knowledge of where they stand? Might they not take his future calm words and read into them a seething attitude, carefully masked? That is far from an improvement.
I can't help but think that people who object to Linus's behavior would in general prefer to let quality suffer rather than to see feathers ruffled. I'm glad that Linus sees matters differently.
of Linus shouting "Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers!" while slowly losing the capacity to breathe and then flinging the last remaining chair in the room at somebody.
Kernel drivers are not userspace.
I want this account deleted.
..Linus would not exist for long in a corporation of half-arsed, well-paid sleazebags like M$ ? Yeah, that is also why Linux is much more stable than almost all of the commercial products out there.
Comment removed based on user account deletion
seriously, the man seems a bit overly angry lately, maybe a little therapy would help.
i would never want to work on a project where i yelled at anyone or where they yelled at me.
the whole thing, the whole industry, exists because of the user, for the user.
i think linus is starting to get too angry lately using the F word over and over in public forums. he wouldn't have done that in the early 1990s. we need to get back to our roots.
being blunt is one thing. screaming SHUT THE FUCK UP is another.
lets look at a different style of 'leadership' (vs 'management')
Yeager never raised his voice, to anyone.
when one of his students had an oxygen system failure in his plane and was beginning to black out, the only thing that woke him up into consciousness was yeager yelling at him - because it was so unusual.
usually winds up asking themselves "why does this kid scream so much"?
was jobs successfull because he was an asshole, or in spite of him being an asshole?
the biggest successes are often things we dont hear about and work done by people we dont know about.
then what will we say? "at least he isnt murdering his wife like Hans Reiser?"
come on guys. we have to stop the verbal abuse in the industry.
great reference, great post. although any community where you scream STFU at people seems like not one i want to join.
When hundreds of millions of users and embedded devices run your code
I think your estimate is an order of magnitude too low.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
look we need to move past this behavior and culture. its something from an ancient time. like dot matrix printers or cathode ray tubes. we are supposed to be growing and evolving as a species not regressing to our prehistoric aggressive instincts.
there was a time, a long time ago, when behavior used during war time was considered to be confined to war time, and when the war was over, we were supposed to revert back to being 'normal'.
i 'gave up' on the 'system' after some rejected patches, but you just gotta keep trying .. its like applying for jobs. you send out 100 resumes, you might get 4 interviews, and no offer... so you send out another 100.
its amlost like some people in the industry (on this message board) think that its 'too harsh' to fire someone, so instead they scream at them eight ways to sunday.
but in most jobs you just fire somebody, 'its not working out', no hard feelings, no screaming, see ya round the corner.
thats the problem with this type of behavior, people think they can just do it 'when its needed'. . . .sooner or later they think its 'needed' when the kiddo sticks a cheese sandwich in the DVD player... (hint - its not)
The first rule of kernel hacking is WE DO NOT BREAK USERSPACE!
The SECOND rule of kernel hacking is WE DO NOT BREAK USERSPACE!....
I get sick of stuff not being fixed because nobody will say what they fucking MEAN.
This guy screwed up BAD. He needed a public ass-chewing, as a warning to others.
I am not saying it is because he demolishes people in public that the project is good. I am saying that it is a publicly managed software whose main line of communication is a public mailing list. So when there is demolition to do, it gets done on a public mailing list. Being public makes the standard clear for everybody. Concerning the yelling and profanity, you need to remember that they are both communication tools. Most of our communication is non verbal, unfortunately text only communicates words. Yelling (caps) and profanities (actually, it is quite mild profanities) is how Linus choose to convey that "this is super important".
People remembers Linus profanity, but providing the amount of emails he writes, you'll realize he almost never uses them. And as far as I remember, he always uses them to attract attention on non-technical problems.
Lets look at Loki sales numbers. Oh wait they are out of business. Ok well lets look at Id linux sales numbers. What's that they say they are crap. Lets look at the humble bundle again. What's that the current Windows only one has raised the record amount of money.
It seemed like over the top, effusive behavior, but that didn't make sense to me in the context of what seemed to me Linus's history of being an effective leader. I had to investigate more closely. It looked at first like it was the same as the vitriolic feeling-blatting that de Raadt does. And that was disappointing.
But given the context you provide it makes more sense. Flogging with an edge of contempt might in fact be an effective tool for efficient management with such a large and public team. So long as it's done right.
Looking at the chain of emails I see that the contempt is for the thinking and the behavior. Failing to uphold the sanctity of the interface, blaming userspace, continuing to fail to own the error. Mistakes and mistaken thinking that threaten the method and operation of Linux kernel development. But it's the behavior and thinking that are contemned, never the person. (This is what I mean by an "edge" of contempt.) And this is an important distinction to make, and one that de Raadt frequently fails at. de Raadt conflates misbehavior or stupid thinking with the person's being valueless and so lashes out at the person. It's the thinking or behavior that needs stomping on, not the person. If you confuse the two, you end up attacking people instead of mistakes, which brings too much collateral damage. Distinguishing behavior you want eliminated from the actors themselves makes the difference between building a culture of hate and domination as you have with OpenBSD and a culture of tough-as-nails get-it-done as you have with Linux.
Stop-Press: Linus Torvalds was rude to someone on a mailing list ..
AccountKiller
There are many good thoughts in what you have written. But you are asking:
So, some part of me wonders, is Linus getting angry because the current kernel architecture is hitting its design limits and he does not want to admit that?
I read the single email from Linus, and this email created an impression that Linus requires kernel maintainers to be flawless in all aspects. They must not make technical mistakes - and they must not make mistakes about handling those technical mistakes. Linus is angry about both these points.
As a manager, Linus is wrong here on both counts. People always make mistakes; they always were making them, and they always will. The manager should accept that, and manage those mistakes to minimize them. Why Mauro got defensive about his decision? Perhaps he was *afraid* of being shouted at by Linus? That is one side effect of the policy of management by throwing chairs - your subordinates begin hiding the problems. A smart manager would create an atmosphere where it is perfectly safe - and even encouraged - to share the current list of problems. This particular deal is not worth a single burned up nerve cell. OK, they had a bad patch and it broke an experimental kernel (which exists to test just for those situations.) They had a poorly coded testing tool. Those are technical issues, and they should be dealt with accordingly. If the maintainer is consistently delivering buggy patches then Linus may want to revoke his commit rights. If this was a single oversight, for whatever reason, it is sufficient that the guilty person accepts the responsibility. Throwing chairs is never a solution, it only shows your weakness to your subordinates (your anger is your weakness because it overrides your reasoning.) In the world of Bondian supervillains the deadliest one is always calm and quiet; and the one that blows up at every opportunity is most likely an idiot.
Bottom line, Linus has been in charge of the kernel for a couple of decades now, and his process is working.
Yes, in general it is working. That doesn't mean it is optimal.
Nobody in the world knows for sure how to manage a project like Linux. It is truly unprecedented.
Please, give me a break. There were collaborative, net-based projects long before Linux, including the GNU foundation Linux is based on. Also, Linux distros like Debian have been around for almost as long as Linux, and it isn't run in the asshole-in-chief style.
'Linus might have good taste in patches, but he has horrible taste in human interaction' I have worse, and when it comes to absolutely useless slashdoters let me be equally direct, to my knowledge you have never done anything important, Tovolds scores 4, he designed and wrote GIT, and handed it off and built a community round it in 7 weeks, he started and built up the LK.
little girlie please take your sensitive damp nickers somewhere else, and practice the anotomical art of self impregnation.
MFG, omb
Well, speaking as someone who has known one of the founders of the GNU project (Roland McGrath) all his life, and someone who was himself a member of Debian for over a decade, I assure you those are both very different from the kernel. First of all, the GNU project was, for a long time, a Cathedral-style project--in fact, it's the Cathedral in The Cathedral and the Bazaar. Linux is the biggest single bazaar-style project ever. Furthmore, both GNU and Debian are wide-ranging multi-part projects. They are, overall, much bigger than Linux, but Linux is much more of a single thing, while GNU and Debian are huge collections of loosely-related components that mostly operate independently.
When I said Linux was unprecedented, I meant it.
In any case, Linux is not run as an "asshole-in-chief" style project. Linux is rarely an asshole. When he is, it tends to make the front page of Slashdot. That's how rare it is. (Now FreeBSD, on the other hand...) :)
The farther back that Gates steps from Microsoft's day-to-day operations, the more shit like Windows 8 we get. Coincidence? I think not.
Sorry, but computer users are a subset of the general population, and the ones who care at all about the actions/behaviors/attitudes of any of the developers of the software for those computers is a subset of that subset. Within that set, the vast majority have never even heard of (nor do they care about) any kernel mailing list nor do they care about e-mails that have nothing to do with them. They just want their systems to work and do the things they need them to do. Period.
I am NOT a Linus fan-boy, but the man was absolutely right here:
Linux suffers far more in the public view when it looks unstable or incomplete than it does from any other peripheral matters. Given that most of the developers of the code that sits on top of Linux are also unpaid volunteers, it's doubly-bad to make changes under their feet that keep breaking their code. Developers of good applications get very frustrated by unstable platforms where the rules keep changing, and the sort of change that Linus attacked here is just plain BAD. The fact that a kernel developer risked making a bunch of apps look bad (and without good justification) is a major problem and actually a symptom of a severe Linux-on-the-desktop problem: too many people making too many poorly-thought-out changes (often where not needed) while neglecting many of the things that are in serious need of fixing. Unfortunately, when everyone is a volunteer and working for free, it's hard to find competent people to do the un-popular grunt-work to fix many long-term usability issues - but there can be a surplus of people who will happily change lots of other stuff on a whim (because it's interesting to them, or because they think they've had a clever idea and they don't feel like "running it by" other people FIRST). Some might want to complain about Linus's tone here (which did no actual harm to anybody, but might have gotten the attention needed to avoid repetitions), but the real offensive act was by the guy who decided to break other peoples' stuff without consulting anybody else first; that's borderline narcissism.
KDE and Gnome are excellent examples of this general phenomenon: neither one became fully stable with all advertized functionality "just working" before both teams made major changes in the look-and-feel of their projects ..... and then they repeated this idiocy! Sure, both Gnome and KDE are visually much more shiny baubles, but they are much more obnoxious to adapt to and use. They are still both loaded with confusing and/or redundant garbage, and they still lack some basic functionality that Windows (dating back to Win95 or possibly even Win3.11) had. This is dumb, and much-more deserving of attention than Linus's latest (and this time, at least) barrage.
An average user (not a geek) needs to be able to sit down at a Linux system and easily manage printers (add them, test them ,use them, remove them - locally AND on the local network) manage files (find them, use them, edit them, copy them etc on the local machine AND the network) adjust things like the time and date and screensavers and power-management, manage network connectivity (config firewall, ping hosts, get MAC and IP numbers, etc) without a manual and without any hand-holding. This is what enables them to become happy with their primary use of their computers: getting installing and using the applications they need to do e-mail, web browsing, office tasks, etc which in-turn enables them to do the activities they actually care about. As long as any of this is a problem, most developers need to focus on these things before doing other less-necessary things.
If the guy Linus blasted is too "hurt" by this to go-on, then he was not worth having around. If, on the other hand, he was a productive "good guy" who just screwed-up, then this will improve him and he'll be even better in the future. People need to stop wringing their hands over the wrong stuff.... if the guy's an adult, he'll be just fine.
One of the things I have always liked about coding apps on Linux is that I've never actually had to code-around any buggy kernel behaviors.
hmmmm.... I guess I've been doing something wrong
Just admit it: AFTER you open a file or device and you are then using it, NOTHING you do to it should result in a returned error code of, in-effect, "file not found" ... and if you ever DID see that you'd be mighty annoyed to have somebody claim it was all your fault. You'd probably note that as a "buggy behavior" that you'd have to code-around ......... Oh, wait.......
Linus may rule by the cult of personality
I do not think you've been paying attention otherwise you'd see how ridiculous that statement is. How many of us could even recognise him on sight? We've got more chance with a B grade actor.
I do not think you understand what it means to rule by the cult of personality. In the geek world, everyone knows who Linus is. He is revered, held up as an icon, almost worshipped. People ask, "what would Linus do?" His personal story (where he grew up, where he lives, his career moves) is known in detail by thousands of geeks. Just because you don't know what he looks like does not preclude a cult of personality. How many people actually know what Charles Manson looks like? Or L. Ron Hubbard?
It was not just an innocent mistake
There are some specific bold rules for kernel devs ... and he broke one. And then he tried to blame other innocent parties for it. Finally, (though I do not recall if Linus mentioned it) it was all completely unnecessary! If the guy saw a big problem here (and if you read the entire thread, you might end-up thinking he had a good, or at least reasonable, point) he was about to commit a change that broke one of the big rules ...... so the obvious thing to do was to contact others (including Linus perhaps) to float the idea; It was simply inappropriate to boldly move-forward with a code-checkin that broke other people's stuff.
As always (see: "Watergate", or "Bill Clinton") the cover-up attempt only made things worse
so dock his pay, oh wait...
Exactly why are you trying to push this delusion on me? Also I suggest actually reading about the terms you are pushing down people's throats, I suggest starting with North Korea.
Don't mistake silly loud and short lived fanboy stupidity for a "cult of personality", that's just the way some people, especially in the USA, are raised and they'll hear nothing bad about their hero of the moment no matter who it is. There's a few on this site that act that way about RMS, a few about Linus, and a lot more about Ronald Reagan - it has nothing to do with a "cult of personality" - just silly fanboys that will worship a hero like Lindberg even when their dark side is exposed. In a land where individualism is seen as the key virtue you get that sort of blind hero worship - thus the mythology is that Edison invented the light bulb alone and not his legion of experimental technicians. Away from those fanboys Linus is seen as the guy in charge of a team and not a hero.
I'm getting some very scary insights into people's minds here and beginning to regret I mentioned talking to welders to a bunch of people that then want to show off what little titbits they've picked up about such topics as welding and use it as barely understood technobabble to show off to others that don't know about it either. It's an analogy about different styles of communicating whether something is acceptable or not, that's all. However suddenly a whole pile of powerless geeks get bloodthirsty and start long involved fantasies about putting people out of work? At least I hope the bloodthirsty ones are powerless geeks.
Anyway, how much weight do you think your threat that sums up as "I'll stop paying you for your unpaid volunteer work" really carries, and why do you think it's worth bringing out early?
I just hope Linus, with his obvious anger management issues, doesn't end up like Reiser or McAfee.
Responses should be appropriately escalated, depending on the seriousness of the problem, the history of the person and the issue, and the time pressures involved. This almost always means starting civil.
I have never understood it. When I have pulseaudio running many processes which try to play music stop, because they are waiting for the sound device to become idle. This was also the reason why Gnome could not be able to login.
When using FreeBSD I even switch all this Linux daemon crap off. OSS can do audio mixing natively and I have never had problems with it... I even did not know about all the problems which exist on Linux with all these audio daemons. This seems to be a total mess.
Flamebait: adj. Something which which moderators do not agree. I was far more polite than this insulting little dingleberry deserved.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Linux is much more of a single thing, while GNU and Debian are huge collections of loosely-related components that mostly operate independently.
Most of the Linux code is in separate drivers that are reasonably independent, which is exactly the reason Linus has separate maintainers, just like Debian does. Debian is a huge integration project, and anybody that follows devel or the occasional wide-ranging bug that impacts them knows that a lot of effort goes into that integration.
When I said Linux was unprecedented, I meant it.
And when I said it wasn't, I meant it too.
In any case, Linux is not run as an "asshole-in-chief" style project. Linux is rarely an asshole.
I've seen too many examples to dismiss it. Maybe it isn't a daily thing, but it's always there, lurking in the background. As an example, I just looked through a couple of random months in the archive from 2009. The messages from February were reasonable. Then I look at the first message from Linus in April 2009 and see this:
I _really_ want fscache to come with way more Acked-by's etc.
So no, I'm not going to pull this. I want a lot more than just
Signed-off-by: David Howells
on the 100+ lines of changes to the VM. I want the VM people pinged and asked whether it's ok.
And I also have a stupid trivial complaint:
WTF is up with absolutely inane crap like this:
[..]
What the hell is that "cf-" and "fsc-" prefix? We don't do single-level naming crud. It's already in a directory hierarchy, why the _hell_ does it then add some idiotic extra prefix that is just a (very inferior) copy of that hierarchy?
If you want to write "fscache", write it out. Don't do "fsc". And do it as a directory. But then even an idiot would see that calling it fs/fscache/fscache/proc.c is a bit redundant. So why do you call it fs/fscache/fsc-proc.c?
Gaah. Naming is a bid deal for me, and the above is just crap.
Well, it's not clear your are replying entirely only specifically to my points, but any quick google search on robotic welding will produce stuff like: ... Oâ(TM)Dell explains that the consistency of the weld, including torch angles and travel speeds, was difficult to keep consistent during manual welding, especially if different people welded different sections of the chassis. This translated into variations in weld quality, which could result in lower strength welds. Too often, an inconsistent weld pattern resulted in distortion on the center and rear sections that were unpredictable and resulted in a dimensionally unstable assembly. ... The roughly 50 hours the teams previously spent welding the center and rear sections can now be used to focus on other aspects of assembling the car."
http://www.lincolnelectric.com/en-us/support/application-stories/Pages/chrysler-dodge-motorsports-robotic-welding.aspx
"Similar to every passenger car manufactured, race cars incorporate thousands of welds. Dodge teams were spending many hours manually MIG welding the frame, middle section and front and rear clips that make up each car frame kit. Wanting to reduce man hours, as well as increase weld consistencies for the teams, Chrysler investigated robotic welding options and decided on a Lincoln Electric/Fanuc robotic welding cell. The result: Chrysler realized a 75 percent decrease in chassis assembly time when compared to hand welding the chassis. The Lincoln Electric/Fanuc robotic welding cell offered other benefits as well, a more consistent chassis for the teams and the cost savings associated with the reduced man hours to weld the chassis by hand.
Or, to see a video of a human in a hard had "operating" a 21st century welding system (at 0:50-01:10 of a ten minute video):
"Arc Welding Ships - Kawasaki Robotic"
http://www.youtube.com/watch?v=NBFSfyZoX-o
"Specialized Arc Welding System for Ship Building. Robots are lowered down from the ceiling and automaticaly secured in the ribs of large shipping vessels. The robots use sensing to find the area to be welded and execute the process."
Another company selling such equipment:
http://www.kranendonk.com/en/double-hull-welding
"Welding the double hull of a ship is difficult because of the limited space. For robots it is easier to get into these spaces but the programming is an issue. KRANENDONK developed several double hull solutions which are combined with RinasWeld. Using this software component programming is not an automation issue. As an addition the RinasWeld software enables multiple robots to work together."
There are other things I've seen that say essentially that human welders just can't produce most of the kind of welds needed in some current automobile designs in terms of consistency. I think it is a reasonable analogy to expectations for human accuracy in any domain. In the 1980s I managed a robotics lab that was involved in repurposing a GE P50 robot designed for welding to other purposes like carving 3D shapes. While it has taken decades, those sorts of ideas and technologies are spreading everywhere now (as should be obvious to any regular reader of slashdot). Like another person replied to my comment, organizations need to design processes accepting that humans make mistakes (including mistakes about making mistakes). And yes, that is driving many pushes to automation, for good or bad -- including in places like China with otherwise cheap labor. With about a decade of flat employment levels in the USA while the US GDP has risen by something like 30%, these are not "fantasies" about people being put out of work -- these are realities. See for details: http://pdfernhout.net/b
A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.
No, instead, it actually reminds the world that Linux is not a hodge-podge of arbitrary decisions and that there is a strong leader who is determined to make sure that the desktop doesn't suffer because of kernel development. If Steve Ballmer crapped out his staff for making a service pack that broke existing application functionality, it would actually raise him a notch in my book.
I say good on Linus. He's stressed before that the userland is not a place to break stuff because it negatively affects the entire world's perception of the kernel and the OS distributions built around it. This chap made a mistake and didn't have the guts to admit it and back off. So perhaps he (and other cowboy programmers) will learn that actually the USER is the MOST IMPORTANT PART OF THE SYSTEM.
Contributors who want to be rock stars and cowboys shouldn't be welcome in a project worth any salt. So if this chap doesn't learn that the user is the most important part of the system and he's scared off, then good. If he learns his lesson, then he's all the more valuable.
The drivers are not as independent as you think, and system-wide Debian issues are insanely rare--I was a Debian Developer for over a decade, and I only remember one issue that even came close to having the kind of scope that kernel devs see regularly. Furthermore, the kernel is years older than Debian, and, in fact, Debian deliberately looked at (and still looks at) kernel development for ideas on how to manage their system. (And I'm still unconvinced by their elective leadership approach--Democracy has its place, but I'm not sure that "technical lead" is one.)
If you tried pointing at the BSDs, you would have a stronger argument, but the BSDs are, if anything, even more anarchic, with hostile forks happening every time someone loses enough patience with current leadership--and with plenty of assholery-in-charge as well.
Anyway, how the fuck is that an example of him being an asshole? Do you think that anyone who drops an F-bomb is an asshole? You're too fucking sensitive, dude, and I say that with the greatest fucking respect. This is a team that knows each other, usually fairly well, and doesn't stand on formality. Did you even see the part where he says, "I have a stupid trivial complaint"?
The drivers are not as independent as you think
Sure they are. You write your driver according to a protocol. In general the drivers are independent of each other, and the vast majority of Linux consists of driver code.
system-wide Debian issues are insanely rare
I was just looking the other day at an old issue the other day regarding IPv6 to see if it still applied. It broke many applications, including Java. I wouldn't call this kind of issue "insanely rare", as Debian in general has to deal with all the issues that a kernel does, because at the core of Debian is an operating system that many applications depend on.
Furthermore, the kernel is years older than Debian, and, in fact, Debian deliberately looked at (and still looks at) kernel development for ideas on how to manage their system.
Debian was only 2 years later and almost 20 years ago. They've both changed a lot in that time. It's not like Linus had no other examples as Linux grew.
Anyway, how the fuck is that an example of him being an asshole? Do you think that anyone who drops an F-bomb is an asshole?
If the only problem that you can see with his message is "WTF", then the problem is with you. He went on to throw out such statements like, "absolutely inane crap", "why the _hell_ does it then add some idiotic extra prefix", and "But then even an idiot would see [..]".
Did you even see the part where he says, "I have a stupid trivial complaint"?
For a stupidly trivial complaint, he sure made a big deal about it. A simple, "Don't do this, do this instead per our policy" would have sufficed.
gosgog: If Linus didn't exist there wouldn't be a LINUX ETC., YOU BUNCH OF OPIONATED JACASSES WITH YOUR SILLY GEEK BRAINED OPINIONS, HAVE LEARNED TO CODE & NOW Y'ALL FEEL THAT YOU'RE THE NEXT BEST THING TO EINSTEIN. SOME OF YOU FEEL YOU'RE SMARTER THAN EINSTEIN OR LINUS. SO I'M SURE HE'S TOLERATED Y'ALL FOR YEARS & WHEN ONE OF YOU MESSES UP & THEN HAS THE EFFRONTERY TO TRY AND LAY THE BLAME ELSEWHERE, I CAN'T SAY I BLAME HIM FOR EXPRESSING HIS OPINION IN ANY WAY HE SEE'S FIT & WITH WHAT EVER VERBS HE HAS IN HIS VOCABULARY. NOW SOME OF YOU FUCKING DIPSHITS (MALE OR FEMALE) THINK THAT YOU HAVE THE RIGHT TO ESTABLISH COURTESY....BULLSHIT!
Once upon a time I was helping a friend move his glass-blowing shop. A bunch of angry 'kids' were involved. One of them managed to stick a claw-hammer through a water main in the basement of the building. I didn't care who did it, or what drugs they were on, or if they were angry, or just stupid.
I had some management experience at that point in my life and tried to be diplomatic. My time was volunteered. If anything, I was simply doing a friend a favor. That all changed when the shit hit the fan.
The water was annoying at first. Attempts were made by a few to control the water.... They failed to contain the issue, because they failed to understand the scope of the problem. In part it was beyond their imagination, and in part it was beyond their scope of experience. They were a bunch of 'kids' that showed up to help a popular glass-blower. In general I was about 10 years older than any of them, the only thing they had on me is that some of them were significantly bigger than I am.
After some time of seeing others fail I envisioned a *solution* and tried to engage a few of the senior (read: *leadership*) members of the crew in that solution... they were already Tharn.
( http://www.urbandictionary.com/define.php?term=tharn )
After a few moments reflection I went DI (Drill Instructor) on the whole crew. I ordered these people around, and shouted down anyone who opposed me. *most of whom did not know me*
It was a rough few hours. The water main had been bypassed years ago the 'kids' I brow beat into finding the mains found it but the valve was inoperative. The city was called, (by convincing a kid to call his girl and have her call in a water leak report) and the city eventually shut the water off. The cops were deflected, by me and the shop owner (who had the gift of knowing when he was out of his depth) The job was completed. No one was arrested or prosecuted. Mission accomplished.
I made some powerful friends. I made some bitter enemies. I do not regret the things I said, or did. No one else present had the balls to do what needed to be done. What I did worked, and that was for that brief time period was exactly what needed to happen.
Some of those 'kids' were so pissed by my 'harsh' approach that I was threatened, publicly shamed, and it let to a few really stubborn ass-hats getting their asses kicked. Two by me personally, (when they tried to jump me) and three others by people who realized I had been for that moment the most effective leader they had seen in their short lives.
Sometimes leadership does not appear until it is needed. I'm not going to say what Linus did is right or wrong. I have read the thread, but I don't think we have all the details. IMO: That man is a gifted leader. I'd give him the benefit of the doubt. If this maintainer worked with Linus for four years, he knows the score... and knows what Linus expects. Nuff said.
If the majority involved in MY little moment of 'management under fire' had not agreed with me. I would not likely be writing this now. I'd have caught some bullets... that is the kind of crowd I was dealing with.
Happy New Years!
A three-minute explanation of why he acts like this, from Linus himself:
http://www.youtube.com/watch?v=MShbP3OpASA#t=2112s
Thanks for the reply. I now see where you are coming from in relation to focusing on one common type of welding and seeing Linus' comment in a cultural context of bluntness. Certainly both points have a lot of truth to them. I've seen a picture of welder hanging upside down from ropes while welding a beam on a huge local building, and that sure demonstrated impressive combination of technical and acrobatic skills. And I'm a fan of "World's Toughest Fixes", even though perhaps they just edit out the profanity? :-)
http://en.wikipedia.org/wiki/World's_Toughest_Fixes
At the risk of showing more welding ignorance, :-) as well of my ignorance about theater lighting, :-) let me try again to extend your welding analogy again, in a different direction, to adjust for those points. Anyway, I'm just having fun here at this point... So, maybe the analogy won't hold up to scrutiny.
Let's say some guy is employed by RedWelding, Inc., and is doing some welding inside the Sydney Opera House, putting up some new spotlights supplied by a third-party vendor (replacing older spotlights). RedWelding is doing the repairs gratis, even though RedWelding is paying their employee. These new lights are being installed right over the seats of concertgoers because the mayor of Sydney said that is where they should go. Suddenly, some part of one of the lights falls on a seat (thankfully unoccupied as the hall was closed for maintenance). People start talking about the accident. The welder wonders aloud if maybe the light had a weakness in it that caused it to separate from its base (but had not yet looked to see if it was indeed from a bad weld instead). The mayor of the city is then quoted in a front page the Sydney Morning Herald. Using profanity, the mayor says the welder personally has displayed the grossest negligence as a welder and is entirely responsible for the problem. The mayor, who is also an accomplished welder, is going to weld back in an old light right away. The welder responds politely in a letter to the editor that, yes, the welding could have been better. He adds the reason he was up there adding new lights was because the old lights were in danger of falling too, and that deeper issue still needs to be fixed, even if the mayor puts back an old light. The reply is ignored by the mayor.
Now, imagine we also all know this is not the first time this has happened, and further imagine that any long-time theatergoer would know that many people have in the past been killed by falling lights in the Sydney opera house. Still, a lot of people rush to defend the mayor, applauding the strong language. They say this is the way you have to talk to bad welders to get them to shape up. If only more people talked this way, they say, the Sydney Opera House would be a much safer place to listen to music, rather than seeing many patrons of the arts killed each year from falling spotlights. Some even say they wish their boss was more like the mayor and was concerned more about the quality of modern theater than politeness or bureaucratic niceties. They say if you are going to weld on an important public project, you have to be ready for being on the receiving end of this kind of tough quality-assuring profanity.
Then, some smartass (me :-) comes along and writes a letter to the editor of the NYTimes, which also picked up the story. He asks, how can Sydney expect to have a safe opera house if the mayor forbids the welders from using darkened welding masks (a language with better semantics than C), and the mayor keeps welders working 72 hours in a row without breaks (no message passing that allows for smaller modules)? Yes, an accident happened, but it involved many factors and maybe we should try to figure out what all of them were, rather than just blame the welder personally (even if the welder did indeed make one or more mistakes). The smartass goes further and says, maybe the mayor sh
A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.