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."
ALERT! ALERT! MORON DETECTED!
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.
I love linux but why on earth is Linus' behavior ever considered acceptable, and why do so many people in the computer/IT world behave in such an uncivilized way or make excuses for people who do behave like this? And if anything this seems to be one of his more "polite" letters.
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... that is an example of the absolutely worst management style I've ever seen. If you have a problem with someone's work, tell him/her so privately. To ream someone a new asshole, as Linus did, on a mailing list is beyond the pale.
Really? Since when did we worry about that? It's not like anyone reads this site any ways. And whatever he said I would bet money it isn't as bad as what comes out in most conversations here on slashdot.
Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
He's the head of Linux and he has some serious social issues!
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?
Where's the "fuck"? I think this site is grown up enough to use adult words. If you don't want to type it out, at least mask it so that you're not actually changing words that someone used.
Unfortunately, though we're big enough to use the words, they do have consequences. So I'm fully aware of the hypocrisy of posting AC
So it's perfectly okay to silently change a established ioctl to return -ENOENT instead of -EINVAL on some error condition, and then blame userspace when it breaks because it doesn't expect the new error code. Riiiight.
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
man ioctl
SYNOPSIS
#include
int ...);
ioctl(int fildes, unsigned long request,
ERRORS
Ioctl() will fail if:
[EBADF] fildes is not a valid descriptor. ....
[EINVAL] Request or argp is not valid.
[ENOTTY] fildes is not associated with a character special device.
[ENOTTY] The specified request does not apply to the kind of object that the descriptor fildes references.
ENOENT is indeed reserved for path-related operations, not ioctls. This is the equivalent of throwing a wrench into the gears of everything, because it breaks error handling for every operation that attempts to perform a control operation on any input/output stream it has. It would be like leaving the scalpel inside the patient if you were a doctor. This breaking behaviour was included in an rc release, which is bad bad bad. 3.8 is to be a new, stable release.
Additionally, if you take the time to read the emails between the V4L subsystem maintainer and the person who submitted the original patch, they have decided that this was perhaps an invalid interpretation of a part of the specification which is ambiguous (see https://patchwork.kernel.org/patch/1514831/ ).
But, don't let FACTS and CONTEXT get in the way of OMG THRASSSSSHIIINGGAAAA emotional responses. Fox news sure as hell doesn't.
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.
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.
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.
Mandatory anal space breaking (goatse joke, you know where to find the picture)
When you get paid $0/hr, and the boss chews you out and wants to fire you. Maybe, just maybe... you should consider a new career.
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
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
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
So, did anyone actually read the original thread, to see what it was Linus was complaining about?
What someone says about it, says more about the commenter that the situation.
Fugue for Aaron Swartz
i didn't know there were so many pussies on slashdot.
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.
I Ain't A-Workin' Here No More...
Would be more cute if you didn't consider yourself an atheist.
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.
linux is NOT windows and for that, I am grateful.
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. .
Settle down Balmer....put down the chair.
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.
https://lkml.org/lkml/2012/12/21/430
Linus
(*) And by "us" I mean mainly people in the same timezone and hemisphere as I am. Because I'm too self-centered to care about anybody else.
But more importantly ... I always thought that patches to the Linux kernel have to be signed-off and approved before they can be committed. And I always thought that for the latest kernel that person is ... the benevolent dictator. Linus himself.
So how come this slipped by him? Why wasn't this caught before it even became an issue?
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.
Corporate managers have customers.
Doctors have patients.
Lawyers have clients.
Pols have constituents.
Kernel maintainers have userspace.
the shit (and furniture) that flies in redmond with ballmer in charge.
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.
Sounds like he's becoming a crotchety old cranky geezer in his middle age... much like myself ;-)
I can remember back in 1995 when he was quite friendly, encouraging, and helpful with me when we had a brief email exchange while I was modifying some kernel PPP networking and serial driver stuff to be able to support two 16-channel Boca Board serial interfaces to make a 32-channel Linux-based PPP dialup server to replace/compete with a Livingston Portmaster 24-port commercial PPP dialup networking device.
Any bets the anonymous reader who submitted this was the guy Linus was chewing out?
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.
WE DO NOT BREAK USERSPACE! Seriously. How hard is this rule to understand?
Swearing to 100 percent backwards compatibility may be endearing to customers, but it is not a formula for keeping a project on the cutting edge. This is the kind of promise we might expect from the maintainers of Minix, not Linux. Since a large, complex codebase like the kernel represents tens of thousands (at least) of such decisions, some are going to have been unfortunate, or the implementation will have been wrong (but still relied upon by some customers who took the behavior as the de facto specification). At some point, a clean break has to be made with some of the bad decisions, bad code, or simply obsolete behavior of the past.
Your comment intrigues me and I would like to subscribe to your newsletter.
I see on the web that Linus Torvalds might have from $2million to $20 million dollars or even $150, well, this one is a stretch. There have been about 8,000+ who contributed to the linux kernel and yet he is the one walking rich while the rest get shit and their heads chewed by Torvalds. This guy should have said "Fuck You asshole" to linus and walk away from the project.
first time i've seen it this year!!!
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!
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.
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
Once again Linus being Linus. Why anyone hires him is still a mystery to me. Yes, he originated Linux, but once again he shows that he's incapable of being objective. What's more interesting to me is the calmness of the replies to Linus's tirade. Like Steve Jobs/Apple its hard to say if Linux is good because of him or despite of him. I really wish Linus would learn some interpersonal skills to match his programming skills like most devs out there.
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
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
Or at least another company that used M$ products like Oriface. He's a traitor, and needs to die in a hole. Even RMS hates his guts for stealing the impact of free software away from him.
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.
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.
[...] writes Linus, and that's just the part we can print.
What's the part you can't print? Pretty please...
Linus this and Linux that.
One of my admins does the same thing, and they are likely to get the same response, and here's why:
Mistakes happen. I get that. Fix it and move on.
Multiple mistakes even happen, as frustrating as it can be.
Mistakes that violate policy even happen, and it leads to a one on one discussion.
Blame someone else for your mistake in public? Expect to get reamed in public.
The rule was simple. "WE DO NOT BREAK USERSPACE!" Mauro broke user-space and blamed someone else for it, publicly. Pulse-audio and V4L aren't exactly what I consider core components (but that's just my opinion) but what would happen if it broke something like, oh, SMP, E1000, or any of the ICH drivers?
Take away here - If you fuck up, own up to it. Don't blame your mistakes on others.
> 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.
Seriously Slashdot ?
Don't you have anything better to do ?
Linus, with respect, calm the fuck down.
First of, the problem was found early enough.
Secondly, your email shows no respect for the work Mauro already contributed - your email is worse than the bug.
Bugs should be found as early as possible - so in this case, it sounds like in the future when this particular kind of bug happens, it will be caught earlier since the testing tools will be fixed.
There is no reason to get all excited, you unhappy man.
...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 !
Deplorable. In the many project I've led, I've always stuck to the principle that public humiliation doesn't serve any purpose whatsoever.
Even if I had physically remote team members, I've stuck to the same principles: someone who screws up gets a private conversation with me - I refuse to chew out someone in public. The only thing I do in public is (sparingly) compliment people when they have done good.
It's a matter of style.
Nothing to be seen here.
Don't hey do code reviews when committing to the kernel? There must be at least two people involved in this hiccup.
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.
Make the linux kernel developers switch to pair programming now! With only one chair! And make them wear pink tutus and high-heels!
That's why Linus has to make a point with him. T break userland, and in particular to beak KDE userland is very bad. KDE is the flagship of open source window managers not that Unity (crap) is around. KDE is unwanted by the dark forces as soon there will touch devices running it smoothly, and a whole new fully open source touch software market will open up through that.
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.
Bollocking someone for a mistake isn't wrong but only if you're willing to be as hard on yourself as you are on others.
Therefore when he says " I bet it's the same kernel bug. " he had better be ready to be as bollocking over his assumption if it turns out not to be correct.
If you go apeshit on someone but dismiss your own errors you are an arrogant and violent arsehole. If you're as rough and noisy on your own mistakes (which he hasn't been wrt bitkeeper), then you get "firm but fair".
I rather suspect that Linus isn't much of a one for admitting his own mistake and recusing himself as incompetent to decide in an issue. That was the case with BitKeeper where he not only ignored the warnings over a closed product but also defended the arsehole mate of his when he did something that if MS had done to SMB would have seem LT going ape in defending Tridge.
He does buy into his own personality cult.
While I think Linus behaved like a total arse, I would think the reason he got so upset was because of all the promises he's made to a lot of important people in the past.
Large Corporation X: "We thought you promised us, on many occasions, that you guys would never break our applications?... Our customers are very unhappy with us right now."
I'm just speculating wildly here, but I think that's a pretty large part of it.
captcha: knives (fight!)
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.
It boils down to this:
1. You never break the stable ABI to userspace for gratuitous reasons. Ever.
2. You can only break the stable ABI to userspace for extremely good reasons, and even then only when the alternatives either don't exist, or are (much) worse AND the damage is not too widespread (as in too many applications will need to be fixed).
3. You can do it at most once or twice a decade, no matter the reason.
4. Your ego WILL suffer for it. If it is not worth the suffering, then it is clearly not important enough to warrant breaking the ABI in the first place.
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.
So "WE DO NOT BREAK USERSPACE" doesn't seem to apply to Nvidia video drivers. The userspace is completely unusable when they intentionally keep breaking 3rd party drivers like that. Stable ABI should have been standardized in 90s already damnit, only hypocrisy and militant license extremism are blocking that :(
"I'm sure he'd be receptive to criticism, arguements and second guesses"
Look how Linus acted during the BitKeeper debacle.
This indicates you would be wrong unless he's learned from his mistake there. His tantrum indicates he hasn't.
Maybe Linus woke up on the wrong side of the bed or had a night terror in which XP logon sounds were looped throughout.
It is a shame that so many people think being a good programmer gives them licence to act like a drama queen and treat their colleagues with contempt. what an asshat
So basically what you said is you suck at managing and in fact have someone else do it for you in the form of HR.
You make the same threats statements, you just try to sugar coat them.
You just don't have the courage to say what you mean.
Sugar coating?
What you said is so stupid and shows no knowledge on how to manage or lead people!
If you treat them like shit, they become defensive, dig their heals in, and tune out!
Are you some blue collar uneducated ditch digger who's used to working with the low life of society!?!
I mean really, take a course on people skills!
..
I think I've made my point.
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
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.
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.
on a side note, I HATE pulseaudio, I hate the way it screws with alsa and especially alsamixer!!!
Politics is Treachery, Religion is Brainwashing
--That's an interesting way of phrasing your point, because of the parallels that can be drawn with Linux itself. Linux has been "crap" for well over a decade, in the sense that it has never made much headway against competing OSes in some key markets. In the past, Linux's competitors -- from Apple, Microsoft, and Sun to vendors of RTOSes that everybody uses but few people have heard of -- were all just too effective at meeting the needs of their customers.
but you're completely bonkers.
Sun has died over the last few year, primarily because of Linux (imo). I know of major corporations that switched from high-end Sun boxes to low-end Linux boxes.
Of the other Unixes (HP, AIX, SGI)...they're all gone (with the exception of AIX).
If you're stuck in the land of desktops, cell phones and other consumer electronics, you might not realize how significant this is. ~20 years ago, 80 percent of the Internet server were Sun boxes (not just Unix...but Sun specifically).
"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.
Funny thing is that a small proportion do actually seem to understand management.
All people do NOT respond the same:
A polite request for more care will sometimes work with an individual while with another, ranting and raving IS needed.
Yes, there are people who are talented enough in their field that it is worth a GOOD managers' effort to figure out how to manage them.
The classic "Public Praise. Private Shame" method is effective and true.... usually.
There are times when a manager needs to decide that dealing with one individual and/or situation is actually less of a priority than sending a widespread message about similar situations to anyone and everyone who may be involved, be it a military unit, corporate office or worldwide development community.
In such situations, the message to all and sundry is more important than the method of dealing with the single individual, or even keeping them around. The choice is to convey a STRONG message to all.
Yes, this will doubtless annoy many others but it has proven time and time again to also be effective- it is called setting a precedent.
It will make few friends and cause a lot of controversy any time it is done.
But it will be effective.
The message was clear:
Ok, you screwed up, but you screwed up in a way you KNOW is absolutely not allowed and then you tried to blame others for your shoddy work. This behavior is not allowed around here and the only method I have of reinforcing this message to the worldwide community is acknowledging what happened publically and forcefully.
Thank you to Linus Torvalds for being himself and maintaining the quality of the linux kernel.
Linus is acting in a completely unacceptable manner here. There is no excuse for being this rude to a person, regardless of their errors. Calling them out for bad code or bad behaviour is one thing, personal attacks is quite something else. It's a shame most people here don't understand that. Linus could just as easily have said, "This was a bad move, this is why it was a bad move, here is what I want you to do." No news, no bad publicity, no unprofessional rants. It is stuff like this that keeps a lot of qualified developers from working on the kernel, they have enough self respect not to put up with Linus' attitude.
I'd also like to point out that the Linux kernel has broken userspace before. Linux needs to get down off his high horse about "we don't break userspace". Yes, you have, yes it sucked for the users and it shows Linus is not only being rude but also being inaccurate. Anyone else remember when early 2.6.x kernels broke the k3b burning app? Or the new threat model broke games relying on pthreads?
Who is Rafael? I thought Mauro got chewed out.
"Oh... to eat pizza again..." by erroneus (253617) on Saturday December 22, @05:20PM (#42371769) from http://slashdot.org/comments.pl?sid=3335159&cid=42371769 since that disgusting fatbody pig's an obese swine with no dick!
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.
... 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.
Take away the computers and give Linus some rocks.
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.
Mauro keeps his cool and remains professional, unlike Linus.
I'm glad to see engineers holding each other accountable. When someone checks in bogus code, call them on it. I've worked in too many systems with shit-tastic code that was there because nobody cared about a high-level of quality. Especially for the kernel, accept no bullshit. If you can't hang with the big boys, and the occasional tongue lashing, don't be a kernel developer.
It reinforces and explains the trust we all have into the Linux kernel. A broken or insecure Linux kernel would affect business to the tune of trillions of dollars (e.g. the Eurex exchange the Tokio stock exchange). It would affect billions of end-users.
Well done Linus !
I think the problem is that technically speaking, that man was not operating in a function of developer, but Quality Assurance.
A different kind of mindset, a sense of conservatism, a responsibility to not break things that worked before.
In such a function you can't get away with playing the blame game. *YOU* are responsible for keeping video and audio working on Linux (or, limping along as well as it did before).
Otherwise, a bad QC person can poison the morale for hundreds of actual developers: "it doesn't matter if your code works well or not, because look at that one developer's crap patch, and the QC passed it along anyway, and now PulseAudio doesn't work in 3.8".
..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.
Did it ever occur to your that the "polite" business world is full of buggy software and hardware which is essentially never, ever fixed ? Windows is just the tip of that iceberg.
The business world is full of polite liars who care about politics instead of proper products and processes. That's why there are these spectacular failures, security lapses in almost all industries.
The quality of free software strongly argues in favour of BEING RUDE !
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.
..Windows, Acrobat Reader, Flash Player, Oracle RDBMS, Internet Explorer and the like.
They all suck because these projects are led by slimy, lying, calculating, schemeing, politicking managers.
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.
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.
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.
WE DO NOT BREAK USERSPACE!, except when we do. Linux is notorious for introducing changes that break all kinds of compatibility. I've been using it almost exclusively since 1995 and the constant breakage is really frustrating and is the biggest reason there is poor support by commercial vendors. I would love to use a Linux machine for our data acquisition but drivers become incompatible as soon as they are released so companies stop supporting Linux.
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.
Serves him right, imagine that dude working in CERN, Linus was soft on him and the little bastard just went on crying over the internet, what a puss.
I just wish they would follow the same rules in kernel space and kernel APIs.... Sometimes maintaining a driver is such a PITA.
He's correct, he acted in a manner that showed he cared about the person and about his work,
and about the kernel.
If we didn't have Linus at the helm, the kernel would turn into a mess. I've seen it happen before.
Thank you Linus.
Thorvalds is not a police officer, judge or the like. And even they can be rude to get what they legitimately want.
Both BSD and Linux are led by people who are rude against submitters of crap. The result *does* justify the means, if you look at the very, very real espionage going on due to Windows being as impenetrable as a sieve.
The business world is full of nice talkers, liars and other smooth slimebags. That's why their products are generally utter crap when it comes to security,
"..when you consider Linux is not leading the pack."
It appears the Linux kernel is #1 pain in M$'s ass these days. Why do you think they want to force-feed everyone with some sort of touch interface. Not because of the Linux-powered Android eating the future of Windows ??
So putting someone in their place when they fuck up royally is now considered "childish" in this day in age? Breaking an entire operating system and blaming it on someone else is something to just take lightly ?
You probably don't have any in your world, but in the real world they call them "standards". And if they are intentionally fucked up, and not only intentionally fucked up but not even taking the blame for the fuck-up, then someone with responsibility will suffer - at worst - verbal consequences..
Honestly, you remind me of a spoiled, entitled, MTV watching, constantly posting on twitter american girl. How about you lay off your estrogen therapy and come back to earth? Where real men account for their mistakes and take responsibility. Pussy. This was not a diffucult driver and hardware issue. it was stated plain and clearly where the problem was.
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.
'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
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.......
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
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?
...clearly they have no such policies in place since Steve died. Maybe that would save their stock from becoming junk in the next few years.
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.'"
He has explicitly stated many times that the goal is to "not break userspace". Even programs that rely on buggy behavior. (*Not* what was happening in this specific case, but that's neither here nor there.)
This is a recipe that, down the road, leads you to do things like checking if SIM.EXE is running when free() is called* and permitting X just cuz you want to avoid breaking an obviously broken userspace program. It leads to absurd amounts of complexity.
Now, I'm not arguing that breaking userspace is *good*, but the categorical rejection of such breakage *is* bad.
(*) I may have the details wrong, but I distinctly remember that there was some bug in Sim City which Win9x famously worked around by checking for the executable name.
This was really uncalled for.
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.
if you all know how stressful software development can be sometimes, you would understand...
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.
A well known boor chewed out a developer who introduced some patches that damaged PulseAudio. The Question to be answered is this "Does the boor talk to his wife and kids that way?
The developer, you can be sure, tested his code. Did he test thoroughly or did he skimp. I bet you dollars to donuts he did test as best he could. So, in a git merge, the bug was discovered as being more apparent than in unit testing.
So, to the developer, don't take the boor as an example of how to deal with people. Most people know politeness and diplomacy.
FYI, not every one i desiring to stomp on you. If I was you, just change the I in FYI to FYL.
Have a happy New Year, Enjoy this festive season, and note that I recognize that all kernel developers do their best all the time.
I may not account for much, but the boor has to learn that you get more with honey than you do with vinegar.
Leslie from Montreal Quebec
I'm not a developer so I can't speak to the protocol used there. My perception is that Linux got frustrated with Mauro. Mauro since it appears has worked for large corporations in the past is used to the culture there where you admit nothing, deny everything, and look to shift blame elsewhere. I see it every day working for a large corp. When I worked in a smaller company mistakes happened and what was refreshing was to actually be able to stand up and say "Hey, that was me I screwed that up." "Here's how I think we can fix it, if anyone sees an issue with the fix give me an alternative."
If Mauro screwed up he should own it vs. passing blame, if he's ignorant then you have to make sure he's open to learning and then teach him. I certainly don't agree with his approach from what I read, but then again I haven't seen the whole thread on what's happened. When someone behaves the way Mauro did and at your core you do not work that way it can be very frustrating.
Linus I think would have been better off to cool off think it through and ask for more details. (I'm guessing he did.) Then respond with factual data, this is wrong for these reasons.... Try this instead... Then again maybe he did try that, which would really lead to anger and a lot of WTFO.
I never really understood why "opportunity" was adopted in corporate culture until about 4 years ago. This is a prime example of why it is used.
This is an opportunity for both to not take it personally (very difficult to do) and move to learn from the experience. If Mauro is unwilling to learn and keeps up with the blame game then he's in a bad way. Linus is most likely under a bunch of pressure and has been doing this for so long that it's second nature to him to follow things the way he does. Mauro, needs to take that to heart and try to uphold those things. May make sense to have others that don't code what you code to review what you've done, it's just like creating process documentation. You've done an operation so many times it's second nature and easy to forget or leave out a step thinking "everyone knows that" when that isn't the case.
Just my opinion.
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
You either die a hero or you live long enough to see yourself become the villain.
It is obvious to me, and consistant with decades of experience, that you do not treat people in this way. I have had lots of bosses, and I have been word whipped by a few for decisions I made. But this is new to me. The Internet is the fastest. most ubiquitous medium the world has ever seen. The programmer made a mistake. He violated a primary design principle. But really, what chance has the guy got to learn and grow, especially at Red Hat. I understand that Red Hat depends on Linux, and Linus is the BD. From their standpoint, they exist to provide a value added version of Linux, and to base your business on a single sourced product is to place yourself in a difficult position. If Linus wasn't satisfied with the quality of the work being done on Linux by an employee of a major contributor to the Linux movement, he should have considered the chain of command. He should have started by contacting Red Hat and speaking with the department head of the group the guy works for. Things should have trickled down to his direct supervisor, who should have given the guy some choices about how to proceed. The communication between Linux and Red Hat should have been private. The conversation between the supervisor and the guy should have been private. The only reason Linus got away with treating someone this way is because he is a bully who feels indispensable. Some portion of all this is probably actionable. What kind of slander is larger than badmouthing someon on the open Internet. This event could affect this fellow's career in a very negative way, well beyond the scope of the situation. My father taught me that if you cannot do your best for an employer, you should leave. There are so many aspects of this that are improper that I cannot count them all. I wonder if it is part of his employment agreement that he has to take a beating in front of the whole world by someone who is not even his employer. Having thick skin is not all that desirable. If you want to turn your body into one giant callous, that is a personal decision, but normal people have sensibilities. I just lost most of my remaining respect for Linus. I would rather respect someone who can remain calm and focused and deal in a positive way with problems. Linus is in a position of responsibility, being the supreme architect and BD of Linux. He is responsible to all of us, who depend on him to make clear, reasonable decisions that effect everyone downstream. When he behaves this way, it causes disharmony all the way, up and down the community. It reflects badly on everyone involved. It m I wouldn't work for someone who would shame me publically and mercilessly in this manner. Can this fellow trust his employer in the future? Does he still have a job? As far as I am concerned, Liinus pulled out all the stops, and hurt this fellow the most he possible could, doing as much damage as he was capable of using the power of his position. I would say Linus has an "Anger Management" problem of huge proportion. I don't trust Linus any more. I will think twice before I become dependent on Linux for my future.
It's sad to see someone get mauled by a legendary much larger-than-life being out of forgotten Nordic Mythology. But it's really nice to see a primal force uncompromisingly on the user's side, for once. Thanks.
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.
Developers can sometimes be smug and incredibly wrong and they need to be set straight before they F up an entire kernel. Can't happen? Just look at the vast numbers of crap software out there, at the long list of open source software that got unit tested then made GA.
Mauro, SHUT THE FUCK UP!
And concluded I don't need to read the rest of the bickering between a couple of fags acting like bitches. I think everyone should just let Linus work on his own pet project if this is how he treats volunteers.