Hacker News new | past | comments | ask | show | jobs | submit login
Linus blasts again (lkml.org)
48 points by reactor on July 16, 2013 | hide | past | favorite | 72 comments



I've never seen such fast buy in and process change when something goes wrong if someone is polite. Just read the comments replying to Linus' post. All parties involved realized how bad their mistake was and changed their build testing to make sure it doesn't happen again.

There's a reason Linux is such an awesome system despite its hobbyist nature and previously low budget, and Linus is likely that reason.

EDIT: Linus explains the reasoning behind his method far better than I could: http://marc.info/?l=linux-kernel&m=137392506516022&w=2


I think it's important to note that Linus' style isn't resumed just in "being an asshole", because the narrative he builds usually makes the issues he has overtly obvious.

I think a lot of people here seem to think that "being rude" is the same as "being Linus". But it actually requires a certain amount of skill to emulate. And if you don't do it properly, you end up being less than useless.

Dunno about his reasoning, though. If someone's attitude is too disruptive to the group, something has to change. Also, "acting professional" is more of a buffer to try to keep people's emotions from going too over the top. Linus seems to be able to control himself and keep the respect of people, but I think we can all agree that there are a good amount of engineers that, if not discouraged from doing so, would go a bit over the top in their actions, thinking they're just being "direct", when in fact they're just harming things.

Acting professional has always been first and foremost about separating issues from people. The clothes seem to help in that for some reason, who knows why. The lying and office politics is just human interaction.


I agree - most of the comments below are arguing over whether being an asshole is okay or not. I think that's completely missing the point as Linus isn't being an asshole here. Half the world runs on Linux. Hospital systems run on Linux. Peoples lives are literally at stake. If they're committing garbage with obvious errors because they want to head home for the weekend earlier, this is a serious problem that requires some serious action.

Linus calling out the problem and expressing just how badly the people responsible have fucked up is the best coarse of action. If Linus was just randomly insulting people he'd be an asshole. However, these mistaken commits cost Linus hours of time and probably hours of time for many other people as well, and likely slowed down the release of the kernel.

If the problem doesn't get fixed, the whole Linux project suffers. The only valid management styles here would be removal of everyone involved from the project, or making it as clear as possible how bad the mistake was. Linus chose the second option - and I'd say that is a better option than the 'professional' option of passive-aggressive removal of commit privileges / disciplinary action and starting real problems.


>better option than the 'professional' option of passive-aggressive removal of commit priveleges

Actually, the move Linus chose seems pretty "professional" in the "this is pretty good management" sense:

- The error was made public so that it won't be repeated

- The exposition was done in such a way to understand exactly how much he doesn't want this to happen again

The "calling it out in front of everybody" thing is.... I don't know how necessary/unnecessary that is. But he doesn't attack the person, he attacked the issue. That's the essential


>>The error was made public so that it won't be repeated

People don't read 2 decades full of email history before committing to a repo.

The best way to prevent such mistakes is to provide the commit access only to a branch- run your test on top of it, and merge it with the main branch only if all the test cases pass.

>>The exposition was done in such a way to understand exactly how much he doesn't want this to happen again

You can say what you what you want to say, without insulting someone.

>>I don't know how necessary/unnecessary that is. But he doesn't attack the person, he attacked the issue. That's the essential

It doesn't work that way.

You are your work. That's now people take it. Doesn't matter how you want them to take.

And that's not just with programmers. Try doing that with someone like a doctor, or a teacher, or a painter or anyone for that matter. Try telling them, how something they do should be done otherwise and watch how they react.


On the internet, nobody can hear you being subtle

If you want to talk cultural sensitivity, I'll join you. But my culture includes cursing.

http://marc.info/?l=linux-kernel&m=137391223711946&w=2

tldr: deal with it.


I hope he doesn't talk to his children that way.


No, but his children's friends swear like troopers when the adults aren't around.


Wont somebody please think of the children!


And it works.)

Actually, so-called polite-correctness is exaggerated. Of course, it is unacceptable to, say, constantly remind a person with some disability that he is somehow handicapped, comparing to other - he knows it perfectly well. But there is nothing wrong to point out to a healthy adult, who act like an idiot that he acts like an idiot - it is just an observation of what is.)

In case of a collaborative project, where an act of negligence or lack of attention could cause an unpleasant difficulties, such tactic is quite efficient, especially when you just cannot code-review everything.

Actually, it could be called a culture. Almost every, say, "primitive" community is using the tactics of mocking and languagely abusing each other to, so to speak, stay in a shape. A military unit or criminal gang are canonical examples.) Of course, some constructive feedback must be given, otherwise this would be regarded as offence and severely punished.

Psychology of lower classes isn't that sophisticated, and the methods they use are primitive but efficient to some extent. One could use /b/ as a working model.)


...and it worked. The replies that follow admit some error on their part and identify steps they are/have tak(ing)(en) to prevent it happening again.

What's with the obsession with his process?


Because that style has a cost: it drives away people who don't like being called a fucking motherfucker on a public mailing list (at least, that's how Google Translate translated his comment).

Perhaps the benefit (fewer commits like this) is worth the cost. I suspect it is.


Read it again. He doesn't call anyone any names. All his ire is directed at the commit.


"Read it again. He doesn't call anyone any names."

Yes he does:

"now I'll have to call you perkeleen vittupää"

And according to other comments in this thread, it is apparently quite a foul moniker.

This sort of management style has been lauded on HN ("It worked for Jobs!"), but I have to agree with foobarbazqux's comment[1]; I just don't understand why folks are so eager to not only overlook, but to praise this sort of behvior.

[1] https://news.ycombinator.com/item?id=6050411


Possibly because some people (myself included) would actually volunteer to work under someone like this--because "caring enough about the product to get angry" is actually a useful quality in a leader, if you believe in the product and want it to succeed (rather than just being there to make your pay and not make waves.)

Of course, if he also gets angry about not-the-product, he might be horrible to work with--but I've never seen this to be the case; Linus seems like a genuinely nice guy in every other situation.


I also quite like the bluntness in that it is very clear what his opinion is, I can easily understand where and how I went wrong and actively work to correct this.


> He doesn't call anyone any names.

"perkeleen vittupää"

> All his ire is directed at the commit.

If you made me dinner and I told you over and over that it tasted like crap, I would be attacking you, not the dinner. Plus there's this:

"you clearly never even test-compiled it, did you? ...I don't see how you could have avoided this honking huge warning otherwise."


You are not your productions, and you are not your creators (parents.) Criticism of what you've come from or what you've produced needs to be taken objectively if you wish to self-improve.


That never works, not just for programmers. But for any profession on earth.

People don't work like a fixed programmed rule engine. In the real world people have emotions.


Anyone who says 'real world' needs to be shot. Seriously. Emotions are mostly weaknesses in the professional ecosphere. Emoting to guilt co-workers into feeling sorry about criticism is unprofessional. There's a reason why sociopaths can thrive in power positions, they get stuff down without the drivel.


"you are not your code"

an important lesson, learn it fast.


Because a bunch of people in this industry try to emulate this style because it's "truer" to their style (read: they can't be bothered to actually try and be civil).

But whereas for most people this is "throw out all unfiltered thoughts, mixing the issue and the person". Linus' style is a lot more deliberate, where by using this direct style to really concentrate on the issue, and get rid of any illusion of passive-agressiveness towards the person.

I think he puts a lot more effort into these than he puts on, and is very aware of how it'll be interpreted. If you want to emulate this style, you have to think about this sort of thing as well.

It's not about being unfiltered, it's about filtering what's actually harmful (personal attacks) instead of what isn't really (your position).


I can tell you a billion different ways that would work too and in which most of them you won't like what happened at all. It's not because it worked that it's a good way.

The direct results are not the only things that matters, there's multiples indirect result that are not that great either. Psychological abuse is not acceptable.

You can achieve the same result without these verbal aggression.


What I don't understand about Linus Torvalds is why everybody is so quick to justify and forgive what is obviously emotional abuse.

If he was shooting people that submitted buggy patches, would you say that was awesome? Obviously not. How is a less violent form of abuse suddenly great?

Lots of shitty solutions are highly effective. Relying on them is the lazy and uncaring way of dealing with your fellow humans.


Oh come on. Everyone is so fucking sensitive these days. We now have psychological terms for every little emotion and behavior, but come on, put these into perspective.

Our grandparents would slap you in the face for calling this an abuse. Try sitting in a trench with tanks rolling by and bombs falling from the sky during WW2, at 18.

I could go on with examples of what 'emotional abuse' is, but I think you get my point. The submitter fucked up and he got a slap on the wrist. And it was good for the entire community. The 'abused' submitter will probably triple check his commits and will be a better programmer as a result. Everyone wins.


https://en.wikipedia.org/wiki/Psychological_abuse

Telling somebody that they are "so fucking sensitive" is abusive. I'd be offended by that comment if I was the recipient of Linus' wrath here.


And what would have happened due to getting offended? Your leg would fall off? Your eyes would bleed? "Getting offended" is a purely cultural and personal issue. Somebody out there in the world is offended because you wear shorts, so what. Got to find your way to deal with it or confront it. Those online wambulance calls are ridiculous.

http://marc.info/?l=linux-kernel&m=137392506516022&w=2

So as far as I'm concerned, the discussion is about "how to work together DESPITE people being different". Not about trying to make everybody please each other. Because I can pretty much guarantee that I'll continue cursing. To me, the discussion would be about how to work together despite these kinds of cultural differences, not about "how do we make everybody nice and sing songs sound the campfire"


> And what would have happened due to getting offended? Your leg would fall off? Your eyes would bleed?

> https://en.wikipedia.org/wiki/Psychological_abuse


> This wambulance calls are ridiculous.

This statement is also emotional abuse. Emotional abuse creates psychological pain. Psychological pain creates physical pain. That is all that happens. It's a biological process.

Why is it a problem if I say that I would feel pain in response to somebody's words? This is just a fact I know about myself.


If you have psychological issues, you should consult a specialist. You can't put guilt on everybody who doesn't meet your rhetorical or substantial standards - even for the purely technical reason that this solution simply won't scale.

Feeling offended is a buzzword way too often abused for selfish and discriminatory reasons, so don't be surprised many people refuse to accept it as an argument, especially the ones comming from different cultural backgrounds where they weren't indoctrinated by a political correctness bubble.


Emotions are what they are. They are not negotiable, you can't make them go away, they are simply things that are there. If I hit you in the face, you would feel a bunch of different emotions. Who am I to tell you that these are not real things you are feeling?

Yes, I agree that stating an emotion isn't an argument, because it is a subjective truth.


> If I hit you in the face, you would feel a bunch of different emotions.

Yes... but even here, context matters.

I do martial arts, and when I get hit in the face while sparring, it's useful feedback and something I can learn from. If my training partners weren't willing to hit me occasionally, they'd be doing me a disservice.


I agree that context matters, but Linus isn't a sparring partner. Maybe a better analogy would be your martial arts teacher suddenly hitting you for wasting his time because you were lazy the last time you put back your equipment. If another student kicked you for complaining about this treatment, it would be normal to feel upset.

It's normal to have expectations about human behavior, and it's normal to get upset when they aren't met. It's actually healthy to expect our superiors to treat us with civility when we screw up. We expect that from the cops, for example. If your underlings are continually screwing up, this generally indicates a problem with your process. It's similarly healthy to expect colleagues, friends, and partners to support us when an authority has misused their power.


> Our grandparents would slap you in the face for calling this an abuse. Try sitting in a trench with tanks rolling by and bombs falling from the sky during WW2, at 18

I've sometimes wondered if a case could be made that a society needs an occasional war to put things in perspective.

A couple years ago, I read about a poll that was conducted before elections in some European country (I don't remember which) that found that a large fraction of young people though that the most important issue to them was that candidates would make it easier for them to download free music. This beat issues like unemployment, government corruption, getting out of recession, climate change, the environment, the tensions between immigrants and natives in their country, and their country's participation in things like the war in Afghanistan.


You know, there is a theory, that kids growing in sterile environments have really shitty imune sistems and prone to all kinds of ilnesses. I think the same goes for the emotional environment and we are starting to see the results of this, I'd call it "knee-jerk ethics". It works like this: there is a list of words, which are triggers, and the default action: to feel "offended". Whatever that means. Why is it bad? Because it "outsources" ethics, removes emphaty and understanding and messes up semantics. Astonishing number of people are quick to yell "rasist", "sexist" at anything even remotely related to race of sex, no matter the context and the amount of real rasism or sexism (which my be zero). If anything and everything offends and abuses you, well, go cry in the corner.


Hey now--some words are in the linguistic toolkit precisely because they create offense. I would almost call it "fiat offense"--there's nothing offensive about these words, beyond the fact that we, as a culture, have agreed to react in an offended manner to them.† They can thus be used to "color" your language to make any statement seem offensive and lower-status, when that is your goal.

† The proof of this being that different cultures choose wildly different things to be offended about; nobody in America thinks "bloody" or "tabarnac" are offensive, even though we understand exactly the concepts to which the words refer.


Indeed, in fact in English it is interesting to note that words of Germanic origin are more likely to be viewed as crass than words of French origin. The word infernal in English is almost never considered rude, but the word hell(ish) can be, obviously not as much these days as it used to be. To really see this effect in motion go have a look at what the middle English equivalent of the word vagina is.


How do you expect one's boss in a startup/enterprise to behave if one:

- pushed some code that fired warnings all over the place and made the CI server go red on the main platform used out there

- developed said code in vague hopes that it is somehow useful, yet is admittedly "probably not" straight in the commit comment

hence time was 1. developer wasted time 2. team wasted time 3. boss wasted time

I'd expect 2 and 3 to be quite angry, and ultimately 1 to be angry at himself for having wasted everyone's time.


It's possible to express anger without being abusive. It is definitely harder to do this.


Being rational while delivering an emotive message almost always sanitises and diminishes its impact. In fact that quite often is the point. If you want / need to bare your fangs you might as well be honest about it. If Linus was indiscriminately being verbally forthright you might have a case; "offensive" words exist for a reason, Linus for the most part uses them wisely. Personally I'd much rather that people were honest and swore at me than be polite and backstab me. Sometimes the way to be most honest with people is to swear at them.


All Linus had to say was something along the lines of, "I lost 5 hours of my time because you didn't test compile your code. I trusted you to do this. I'm angry about the wasted time and breach of trust, so in future you need to test compile your code or I'm going to stop trusting you."

It's not perfect, but you get the idea.


Can you give some examples?


So based on the above case, something like:

"Your commit broke the build because it contained something you knew was probably not okay. This is costing us money because it wastes everyone's time. If you do it again I'm going to have to revoke some privileges, because it's my responsibility as CEO to keep us afloat. Is there anything I don't understand about what happened so we can prevent this from happening again?"

This is hypothetical of course, a less severe response may be called for, and obviously it would be more of a conversation. It isn't nice and friendly, but it isn't abusive either.


That's something you would say to a young child who has not yet learned to tell right from wrong, not yet learned to consider the consequences of his actions, and has not yet learned to act considerately toward others. It is belittling to speak to an adult that way. I would find that far more abusive than simply being sworn at for committing an act of stupidity.

If I got a Linus style dressing down, I would be embarrassed. But I would not feel like I was being treated like a child. I'd feel that I'm being shown respect--it would mean he believes that I do have the knowledge and skill to do it right, and that I just for some reason was a complete idiot in this case, and so all he has to do is let me know just how much it annoyed him and I can take it from there. I would acknowledge that he was right, I was a fucking idiot, and make sure it did not happen again. We'd then both move on, with my only fear being that if I ever receive an award or am given a going away party when I retire or something like that where people might get up and tell embarrassing stories about me, I've given them one more.


On the other hand, here's one of the comments at issue:

http://marc.info/?l=linux-kernel&m=135628421403144&w=2

And here's a rewrite that is shorter, conveys the same information, isn't patronizing, and avoids the "sins" (quotes because we apparently disagree) of the original:

I'm unwilling to discuss this further. The first rule of kernel maintenance is that if a change breaks userland, it's a kernel bug, full stop. WE DO NOT BREAK USERSPACE.

Additionally, commit f0ed2ce840b3 is incorrect. ENOENT isn't a valid ioctl return and never has been. ENOENT is reserved for path operations. ioctl works on descriptors and not paths; the use of ENOENT in this commit is incoherent.

It appears that this same kernel bug has broken all the KDE media applications. As a result, I must apply the fix directly and immediately myself.

Your incorrect patch which broke userspace combined with the confusion you caused by blaming the breakage on some external program is frustrating, and I expect not to have to deal with similar problems in the future.

The two problems I see with the original are:

(1) It's pointlessly emotional to its own detriment ("shut the fuck up" actually carries less information than "I'm unwilling to discuss this further", because "shut the fuck up" lacks finality) --- and is in this regard written in a way that only Linus Torvalds or someone of his status could get away with. It actually diminishes Torvalds --- as does any tirade in which someone simultaneously uses the words "insane", "idiocy", "crap", "fucking", and then... "seriously". No, really, he really means it!

(2) It calls its target names (idiot, incompetent) and does so publicly in front of the whole team, which speaks to a management style driven more by fear than by a shared understanding of goals.

Honestly I don't care how Linus Torvalds manages the Linux kernel, but as a case study for how to manage a development team, this is interesting, more so because you (among the very most level-headed of HN commenters) appear to approve of it!


I like your rewrite, at least compared to the original. It's still furiously angry, which may or may not be appropriate for whatever situation, but it isn't abusive.

"What do you think of Linus' management skills?" would be an interesting interview question.


I had honestly never considered the idea that it could be seen as condescending to express anger while taking pains not to humiliate the other person. At least I think that's what you're saying. Maybe there's another way to say it without the abuse?

In a boss-employee relationship, the boss is not your friend, so they are an authority figure, much like a parent is an authority figure to a child. So it could be in the nature of the relationship. I wouldn't talk to a friend or coworker like that, I do see how that would be condescending.


Emotional abuse? Blimey. How do you cope with watching TV? Driving anywhere? In busy shops?


Well it doesn't bother me nearly as much if it's not directed at me - I just feel bad for the recipient. If it is directed at me I pick my battles, and often just tolerate it. I'm not personally upset by Linus, I just find it strange that people speak so highly of his behavior.


Sometimes you need to escalate the consequences - otherwise groups just fall apart.

It is not easy to lead a group. I used to be the object of similar attacks by a leader that I believe were unjust (because I believe that technically I was right) - but I still think that leaders sometimes have to use this power.


I love Linus. I love his rants. But seriously, he's going to be one crazy old man by the time he hits the old-folk's home.


These rants are what make him a good leader. He has a clear mission/focus of how he wants things to work, and clearly communicates when he feels things are broken.


Swearing at other people is pretty easy, and lots of people do it, yet there are few people who create and manage something like Linux. My conclusion is that the rants are not what make him a good leader. Perhaps his style is part of the equation, but it's more complex than simply being good at ranting and calling other people stupid.


He is a crazy old man. Since he was 20. Look at his rants against Minix, before he created the first Linux kernel.

But yeah, I love his style too. It's certainly not for everybody, but he earned it.


You should hear him rant in Finnish.


"There aren't enough swear-words in the English language, so now I'll have to call you perkeleen vittupää just to express my disgust and frustration with this crap."

According to Google Translate, perkeleen vittupää means the following in Finnish:

http://translate.google.com/?hl=en&tab=wT#fi/en/perkeleen%20...


Finn here. That's a reasonable translation, but the original Finnish statement has a somewhat more drastic effect. The interlinear gloss to English would be something like "devil's cunthead".


I thought Linus was a Swedish Finn. But maybe Swedish is too polite!


I think many/most finlandssvenska use Finnish swearwords even when speaking Swedish exactly because the rather pathetic Swedish ones just don't quite cut it.


Hm, that's strange to me as a Dane, because Danish swear words can be quite terrible. I assumed it would be the same for Swedish.

Also, aren't they called 'Swedish Finns', as they are Finns (Finnish nationality) but speak Swedish?



> There aren't enough swear-words in the English language

I can second that as a Pole.


I remember watching the South Park film from the 1990s with Danish subtitles, and realised the subtitles' swear words were far worse than the English ones.

Stranger still, they air The Daily Show here uncensored.


Being French, I find this part of the English language ironic given how expressive and concise the remainder of the language can get, all the while swear-words feel like few and raw.


I'm fairly sure that's not right. If listening to Metal has taught me anything, Perkele is a Pagan god/the Christian devil. I suspect the EU legal texts that Google uses to train its translator don't use the phrase very frequently, and some other translation substituted a curse of similar magnitude, rather than a literal translation. http://en.m.wikipedia.org/wiki/Perkele

Maybe someone who actually speaks Finnish can enlighten us.


I'm a Finn.

"Perkele" is the archetypal Finnish swearword that's pretty much untranslatable without losing most of its power. "Fucking" seems too mild - perhaps "motherfucking" has some of the same weight behind it. It's not that "perkele" is particularly vulgar - those hard consonants P, R and K just carry some heavy emphasis.

"Vittupää" literally translated means "cunthead". "Vittu" is the most vulgar term in general use for referring to a vulva or a vagina - it is, however, more often used as a generic interjection with most of the semantics and versatility of "fuck".


Are we going to do this every time now?


Props to the replies. His team there are responsible professionals. Any one could have stopped after the first took the blame but they all stepped up and this is how it's supposed to work. Hopefully Linus won't rip their heads off =]


I'd be interested in seeing how many people here giving Linus a free pass were just fine with sweaty Ballmer throwing chairs. That's just his personality and it works because MS makes billions, right?


Abuse, swearing and provoking people(using stuff like taunts, shouting on them, publicly humiliating them, challenging them etc) to get some thing done never works. The only reason why its working for him, is his fame. And even that won't be put up by any guy who has problems giving away his self esteem.

Around 3 years back I worked under two very technically brilliant people, but their biggest problem was just the kind of stuff you see here. I remember the entire team would change every 6 months. The team was supposed to be some kind of an elite hand picked team from within the whole company, as they were supposed to focus on big revenue based projects. But I saw some awesome people, leave every 3-6 months of joining just because it was impossible to work with those two people. 'Do you know how he behaved yesterday with person X' kind of lunch/coffee table discussions were simply too common.

I recently happened to meet a guy who just left that team. He recalled the impossibility of working with those two people. Something that we both noticed, those two haven't seem to have anything substantial in the past decade. Almost any project that they touch crashes and burns and ever never proceeds anywhere beyond 30-50% mark.

The thing is plain and simple. You have no rights to behave that way with anyone(No matter who you are). Secondly, anybody who is good has no reason to put up with you, Why should they? So the net-net is these are team destroying activities.

If you are good, and then that is that. What can you do without a team in software these days?

Never resort to a impolite public engagement. Your best bet is to be calm(even in case of a big goof up) take the person to a room and explain to him the seriousness of his mistake and help him avoid making such mistakes in the future.


I think it depends. I'm inclined to agree with Linus' approach, but I'll just argue that sometimes "abuse, swearing and provoking people" is the best approach.

Some of the best lessons I learned was being chewed out by a manager. The magnitude of my stupidity or fuck-up would simply not have sunken in even if this manager had been factual and direct, without chewing me out.

The same goes for my youth. I remember some lessons mostly because they involved my father yelling at me. I recall very few lessons where he sat me down and provided a detailed, factual argument of why I was being a dumb-ass.

I don't get the impression that, in growing up, our ability to assess magnitudes of failure by factual analysis of the situation has improved enough to render 'chewing-out' pointless.


i would guess somebody sensed that linus had built up too much steam -- it happens to the best of us -- so they gave him a great reason to blow his stack and clear the air...

and they all got a good laugh with it.

yep, that's what i would guess... :+)

-bowerbird




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: