I agree with these points. It's completely fair for them to have a strong opinion, and express that opinion. I've not felt that any of the stuff I've read from Linus has ever been disrespectful, and they are all well formed and written to top it off. Just because they are not the welcome wagon, does not make them terrible people.
One of the reasons why it happens is because it's all too easy for someone to "make their bones" by criticizing someone famous. If you're a blogger, and you're trying to get attention (or trying to get karma points on Hacker News :-), what better way than to slam someone like Linus Torvalds by saying, "Shame, shame! You should suffer fools, and it's bad form to call people who are idiots for what they are."
On one end is that Linus is God and that he's untouchable. On the other end is that Linus is a asshole that tells everyone off.
The more reasonable middle being that Linus is a pretty smart guy with an incredibly history of accomplishment. He's should be respected and his way of conversing with people is particular to personality. Like, we deal with people with personalities all the time. I don't think Linus has ever, despite all his cursing, personally attacked anyone. He just attacks stupid ideas. I find his comments refreshing. You just need to give him some trust to understand why he is saying whatever he is saying.
I don't think that also implies that people should be unwelcoming or that people should have new ideas/opinions on what should be what. I think that Linus isn't some selfish jerk who doesn't want people to get involved with Linux. I think he just has reasonable expectations and isn't afraid to call you on your shit.
Well, his accomplishments and technical judgement should be respected. You don't have to respect a person's character to respect their accomplishments.
This has nothing to do with Linus... feel free to ignore.
A few years ago, oh hell looks like more than a decade ago, I was working with a brand new project manager. This guy was pretty fresh, saw the world "manager" and got all glossy eye'd. He walked around the office "cracking the whip" and liked to make statements such as "I'm not here to make friends" and "I'm here to get these projects done".
Do you think, if this was ProjectManagerNews instead of HackerNews this person would be idolized? Would be held in high regard? Would other ProjectManagers stick up for him? What if he led a successful project or two? Would that validate his decision to act that way?
...more importantly: Would you want to work for him? Is success a solid defense on being an asshole?
I'm perfectly happy to sit down and discuss a problem but I've got not time for assholes, tempers, or rockstars for that matter.
What if the manager was managing 2000 people instead of 20 ? Would you want him to sit down and discuss the problems with each and every one of them ?
In traditional companies there are heirarchies and such to avoid a single person being in charge of so many underlings.
In open source arena, there are parctically no hierarchies and the communication can be initiated by anyone contributing to the project. Sometimes it gets repetitive, sometimes it is not relavent.
Sometimes you have to be an asshole to make the other person to do a bit of self censoring.
In this case, what you really mean is that the Open Source model is broken. Perhaps he should spend time fixing it instead of bashing innocents?
I don't think the Open Source model is broken. I actually don't think the Open Source model is any different from a "traditional company". Reputation is used were titles were but in the end, when someone with either says something, people just follow or disagree and leave.
Linus is clearly having a case of XKCD #386 (aka. Someone is wrong on the Internet). There's no excuse for being bored of repeating the same thing and loosing temper. It's still loosing temper. He could as well stay silent after expressing his opinion once. It actually sounds pretty stupid to imagine Linus replying to each email disagreeing to express his opinion.
Some people are talking about the fact that he is opinionated. I don't think so. Theo de Raadt is opinionated. Linus is referred to as "the leader with no personality" in several BSD circles and I can't help but seeing each of his "famous emails" as an attempt at building
> "One of the arguments which gets dragged out every time is that they are role models, and as such should be doing their very best to create a welcoming environment for everyone... Bullshit"
+1
So called "rock star" developers, particularly the really prolific ones, are busy getting s#!t done. Linux has no shortage off helpful community members who are not otherwise primarily charged with governance of (possibly) the most important open source software ever made.
It's pretty easy to not be called an idiot by people like Linus: Don't be an idiot. It's strange that so many people can't manage to do that, and take offense when someone points it out.
This is true, but if you actually look into these "incidents" that linus and rms et. al have been involved in, instead of just reading the trashy tabloid blogs /about/ them, you'll find that they are not in fact, stepping outside of that basic principle.
I belive we should criticise ideas, not people. It's one thing to have an idiotic idea. Having an idiotic idea is OK. Saying that someone's idea is idiotic is OK.
It's quite another thing to be an idiot. Calling someone an idiot is not OK.
But I've found certain individuals tend to have a disproportionately high number of idiotic ideas. My frustration builds quickly with said individuals, and I'm only human.
I insist, however, upon giving everyone the benefit of the doubt for the first few idiotic ideas, because I expect the same in return. I'm not immune to bouts of idiocy myself.
I find it best to just stick to reading people's code and their documentation (if any) as opposed to reading what comments they make about computers, software, or any other subject.
This is because the more I learn about them as people the more likely I am to be disappointed. They will say something stupid. Or, e.g., I find out they like some OS, application or language that I just cannot stand. And I'm like WTF? In short, they are just very different people. I may never meet them in person. It's probably better that I don't. The code I am using as a model might have actually been written a dog, posing as a person, like the one in the NewYorker cartoon. Who knows?
Trying to view these authors as "models" (versus seeing only their _code_ as a model) is just setting yourself up for disappoinment.
That said, some of my all time favorite "coder prose" is the netcat source. Let's face it, programming can be very frustrating. And you need a sense of humor. I wish he was still actively writing and releasing software. And that program still compiles as smooth as any, 15 years later. Great stuff.
> I'm glad <insert name here> is a jerk because it allows him to spend more time doing <insert cool thing here>.
I'm convinced that's a fallacy.
Is "[Github's] pull requests and the online commit
editing, are just pure garbage, go file a bug report with them" that much easier to voice than "[Github's] pull requests don't provide the flexibility or formatting we need for the kernel, so please read up on the proper pull request procedure. thanks!"? Plus such courtesy eliminates the inevitable outrage of the anti-prick crusade.
Yes, because nobody can calculate in advance the thousands of ways any particular utterance might be interpreted by someone. It's rather neurotic to try, and much easier to just say what you mean, and accept that haters gonna hate.
There's a lot of ambiguity in your comment alone by taking things out of their context. "Git comes with a nice pull-request generation module, but github instead decided to replace it with their own totally inferior version. As a result, I consider github useless for these kinds of things. It's fine for hosting, but the pull requests and the online commit editing, are just pure garbage." If you think github people can school Linus at git usage, you're being delusional. There's a reason for that. The "moron" thing was targeted at a troll that deleted his comments. The "moron" comment starts with "Btw, Joseph". Now comes the 1000 points question: where's this Joseph fella in that thread? I've seen the original discussion before the troll deleted his comments. Did you?
If these were isolated incidents, I'd agree with you. We should give Linus the benefit of the doubt because of his substantial contributions to OSS.
Unfortunately, this behavior is very well established. To take a few random examples of Linus calling people morons (and mentally diseased, etc) before this:
The point at issue here is not whether Linus is right. Of course he's probably right -- he's Linus. The question is whether he's being civil. In the case you're referring to, pirtlj's comment was also out of line (although ironically apt to this whole discussion). Linus however did not have to respond the way he did.
I prefer the first version. Saying something is "pure garbage" gets the point across far more effectively than being polite. I doubt the latter would have resulted in any coverage on tech blogs or got the attention of anyone at github.
I don't agree with making direct personal criticisms towards people, but I think it's perfectly acceptable to be very blunt when responding to a bad idea (or patch, or whatever). In my own work I prefer blunt and honest feedback rather than attempts to avoid hurting my emotions. Of course it's always better if that criticism is combined with a constructive suggestions on how to fix the problem.
But Github pull requests are not pure garbage. They work very, very well for plenty of other open source projects. To call them "pure garbage" is clear exaggeration.
Honesty and courtesy are not mutually exclusive. "Github pull requests simply do not work for a project the size of the kernel" is terse, blunt, and still polite.
> To call them "pure garbage" is clear exaggeration.
If that's true then fair enough, and I think your version of the comment is a nice middle ground.
I've never actually used github myself, and was only commenting on his tone of voice. If something is truly pure garbage, I think it should be said so, but I guess that's not the case here.
I don't believe it is possible to get into a hub position without being a prick, because all else being equal, you will always get beaten by someone who /is/ willing to be a prick.
I don't think it's a matter of people rewarding the pricks for being pricks. I think that there are certain boundaries that "pricks" are willing to cross that "nice guys" are not willing to cross. Crossing the boundaries may not be nice, or ethical, or popular, but it could make the difference between leading an organisation full of talented people, or rewarding programmers in the team that actually /sap the productivity of others/ and letting them do that, simply because you don't want to be a prick to them.
In order to be the leader of a successful project, there are two key skills that you need to have: (a) you need to set very high standards for you and your development team, (b) you need to be able to rally talented developers to want to work with you and your team.
How you treat the less-talented people is not terribly important (at least not in terms of how it effects the success or failure of your project in a direct fashion); and if you are someone who has very high standards, and someone who does not have very high standards but which insists on wanting to "help", it's not surprising if you will end up giving them a short, even brusque answer.
Dealing with incompetent people who pester you with github pull requests with crap code or crap commit descriptions is an interesting problem. It's not like a startup, where you can fire them, or put them through a very careful interview screening process and refusing to hire the less talented. So combine this tendency towards perfectionism, and interactions with someone who is more persistent than competent. What do you think will happen?
So in answer to your question: Can you get into the hub position while being a prick to talented developers? No, of course not. Do you have to be equally nice and perhaps have to show even more patience to the idiots? No, of course not. And if taking the time to try to educate every single idiot which crosses your path and wants to "help", means that you don't have enough time to push your project ahead, ultimately that can end up hurting the success of your project.
People are not split into two buckets of talented and untalented. People learn, grow, get better (and worse) over time, and have emotions. That github pull request with crap code that "pestered" you could come from someone who turns out to be extremely talented in a year or two.
Psychologists have demonstrated that positive reinforcement causes lasting, long-term change, while negative reinforcement only impels temporary change.
At least at the hiring committees meetings that I've been at, people who advance that point are told, "so let them get more experience, and they can try again in a year or two".
Hiring the untalented can seriously demotivate the rest of the team; no company has the obligation to hire untalented people and hope they get better. As saying goes, "hope is not a strategy".
I'm not suggesting letting them commit, or accepting their patch, etc. I'm suggesting not being an asshole to them, so that once they are better, they consider contributing.
Why is it that nobody notices the selection bias? Linus sends hundreds, if not thousands, of e-mails every week. Does it really surprise anyone that we've been able to find fully four instances in the past six months in which he sounded somewhat angry? Is there anyone here who can claim a pristine post history?
You have a very valid point. Recently, it seemed that Linus couldn't go 5 minutes without calling someone a moron. So, I went to his G+ feed and read a few entries. It seems he does NOT call someone a moron in every post! edit: He must get quite frustrated sometimes.
It seems to be that there are pretty much "roles" that we expect public persona to fill. RMS is supposed to be a freedom nut, Linus is supposed to be a rude ranting geek, Palin is supposed to be a complete nut that never gets anything right and so on.
Somehow it seems that in the flow of news and information we turn all the individuals into characters from a sitcom. Not allowing information through when they are acting "out of character" or even appearing to be quite human.
I've seen posts here on HN lambasting Torvalds for being abusive, but on further examination, it was around comment #130 in a thread where he'd patiently and politely explained his point of view four times already in that thread, and was still hitting a brick wall with someone wilfully ignoring his points. Of course, this prelude wasn't indicated in the 'linus is an arsehole' tone of the story, it was linked directly and out of context.
And that's frequently how it is. There's a fascination that people seem to have with _proving_ that Linus (or RMS, or Jeff Atwood, or others) are jerks.
In almost every instance I've seen, it really is a case that someone has been pestering them, or out to pick a fight, and by the time the argument happens, all the back-story is forgotten (or, in the git-hub pull-request case, deleted by the original author).
The end result is that we have these tabloid-esque articles showing up on blogs telling us that we should be shocked and outraged at the actions of these people because they're "role models" and "shouldn't act like that". It's insane; it truly is.
What frustrates me is you young bucks confusing Linus' personality with his technical prowess. He is not (only) his code.
What if you found out Mozart ate little babies. Some of you would say that his music sucks. Some of you would say "Well, Mozart had to eat babies, to fuel his creative genius!" Few would accept that Mozart was a flipping musical genius who ate babies.
From what I've read online, Linus can be a churlish little bitch, obviously ignoring the issue at hand when it suits him. Sometimes, he calls someone a moron, because they have done something he doesn't like, for some social reason.
But he's a damn fine programmer, and can logic it up with the best of 'em. Often, when you get the the moron blessing from Linus, you have made a grave technical error, and you should be called on it. I wouldn't use the same style as Linus, but ey, to each his own.
Just enjoy him for what he is, and leave the cult of personality stuff for others.
Thank you. I don't know where the 'young bucks' demarcation point is, but I, at 34, can remember when I was either willing to forgive my idols for their transgressions or wasn't. And I also remember that feeling you pointed out of either rationalizing it or being unable to, and it mostly having to do with how I felt about them before I found out about whatever thing they did that crossed me.
I don't remember when it happened exactly, but I've since grown to the point that I can separate someone's good qualities from their bad. I hate Ben Roethlisberger for his off-field behavior (and because I'm honor bound by being a Ravens fan,) but I won't let that delude me from thinking he isn't a quarterback that most teams would kill to have.
Maybe it's just seeing more and more of your idols fall away as it's hard to find anybody who honestly doesn't do something that irritates you in some way, and in just the way your closest friends do. Everybody put on a pedestal will eventually fall off, or failing that, die.
Anyway, I'm rambling at the moment, but your post touched a chord, and hopefully people can appreciate the truth in it before rushing to rationalize it.
Bullshit right back. I don't pay attention to the others, but Torvalds is awful. His bizarro personal attack on C++ programmers when explaining why C++ isn't used in the kernel was wildly unnecessary. There are sufficient technical reasons alone. I watched his talk on git where he repeatedly said SVN sucked in order to make the case for git, but he never gave any example of why SVN sucks. In other words, the only people to benefit from his comments were git users who already shared his hate for SVN.
I like Linux. I cannot stand Linus, and I'll avoid him at every chance. He relishes in being awful to people and, regardless of his technical contribution, he seems like a terrible person.
Sure. But he didn't give any explanation for why SVN sucks. He merely repeated the mantra at every opportunity. Well, if you don't have problems with SVN, then he hasn't done much of a job explaining how git is an improvement, has he? Why even bring up the competition if you're just going to vaguely say "X sucks and we all know it!" without ever drawing a comparison or explaining why the competition is weak in an area?
This is a low-quality essay that is not worth discussing directly. (Meta-note: see, it's possible to have firm opinions without being abusive).
I just want to add that there are plenty of outstanding engineers with very high standards who lead projects without going on the kinds of abusive rants that Linus is known for. For example: Roberto Ierusalimschy (Lua), Matz (Ruby), Ian Lance Taylor (Binutils, GCC, Gold linker), Shawn Hargreaves (Allegro, works at Microsoft now), Jeff Dean & Sanjay Ghemawat (two of Google's most senior engineers), just to name a few.
These guys don't compromise their opinions or let crap into the code-base just to be nice. But they're all really nice guys who don't rip into people for being wrong. When you see messages from them on a mailing list, you get a warm feeling because you know they are going to be insightful, accurate, terse, helpful, and friendly.
Some people like the machismo that comes from people like Linus. It's like watching superhero movies and rooting for the guy who kicks ass against the bad guys. But I think ultimately this is not a healthy way to lead a community. If you speak in a way that triggers people's defense mechanisms, you make it harder to rationally evaluate the issues. If you ridicule people for their opinions, you aren't giving them an out that lets them change their mind later; a person is inclined to dig their heels in rather than look foolish.
As another commenter mentioned - it's somewhat of a selection bias; Linus doesn't go around spouting hate-speech, but when he has jack of someone pestering him with an idea/patch/whatever that he has (many times, repeatedly) turned down, then he'll stop being polite about it.
Could he ignore it? Perhaps. I prefer that he'll let you know, in no uncertain terms, to go away.
These rants aren't actually that frequent, but you'd think that they were constant from the way you hear about them.
It's not really about having firm opinions without being abusive. It's about being called abusive for having firm opinions.
"This is a low-quality essay that is not worth discussing directly" and "This is a stupid essay not worth my time" are saying the same thing, and providing the same level of abuse; one is just using more highbrow language in an attempt to feign politeness.
Avoiding coarse language does not mean you're not being snide or offensive, and people hiding snide commentary in nice prose is one of my pet hates.
Emphatically: NO! That is not how language and communication work. You can't strip away words and connotations and say 'these two sentences say the same thing'. The sentences use different words, with subtly different meanings, that convey different intentions and feelings. These different words all exist, specifically because we want to be able to convey such nuanced differences.
Your interpretation of these sentences only interprets the basic fact being communicated and discards all the other aspects of the communication. Interestingly, if that basic fact offends you, then there is nothing words can do, if you aren't sensitive to what those words are intended to do: soften the impact of criticism. Nuances in words are only meaningless to insensitive receivers.
In the context provided, with the smug 'educational' "meta note" appended, it is a patronising and demeaning comment. Haberman has effectively said "we won't discuss the merits of the piece, but I'm still going to score a political point at the article's expense". It's a bit like when Ebert said "Games aren't art, and there is nothing more to discuss". Either make your point and allow discussion, or avoid discussion. Saying 'you can't make your point but I can make mine' is hypocritical.
Also, the two comments I equate are the same in essence - both refuse to discuss the item citing poor quality. There is no real criticism in it, because there is no actual discussion of the merits. Where is the subtlety? What I'm pointing out is that his blanket shut-out without discussion is actually an offensive tactic - one I personally find more offensive than Torvald's direct 'that idea is stupid' style.
To be patronizing and demeaning require intent. You are reading intent in my comment that simply does not exist.
The article is low-quality because it does nothing but tear down strawmen. No one is arguing that people can't have opinions and defend them. No one is arguing that people should accept bad ideas or code just to be nice. No one is arguing that opinion is a democracy (!?). The whole thing is setting up a false dichotomy and then praising Linus and others for not being accommodating wet noodles.
Since the main premise of the essay is this false dichotomy, I noticed that my first sentence disproves this premise by counterexample. I didn't write this comment with a patronizing or demeaning attitude. I can see why you would take it that way, because I can see a person writing a thing like that with a snarky attitude, but I did not.
That intent need not be conscious. Second-class citizens the world over suffer from being demeaned without conscious effort.
What you should have said in your first comment is what you said here: why you think it's low quality. I do not agree with you about your several 'no one is arguing', because I think that they are. If you phrase it the way you do philosophically, of course people will say they're not doing that, but in their criticism of Tovalds (/RMS/whoever), many folks refuse to take content because of context. While no-one is saying he should take bad code to be nice, there is a sentiment of opinion-as-a-democracy.
Your counterexample is just as bad as that you decry because instead of Torvalds style (blunt but informative), you were just saying "I'm ignoring your comments without giving you any reasons". If I submit something and it's rejected, I'd much rather receive the former than the latter, because then at least I know why. Would people really prefer a stoic Torvalds that just stonewalled commits he didn't like without explaining why?
There was honestly no snark in that comment, I was simply explaining why I was choosing to make a comment that did not discuss the article directly. For it to be snide, I would have to have some emotional investment in putting the article or its author down, which I do not.
The popularity of those controversial comments seems to generate a lot of insightful discussion; whatever the merits of the original comments, I enjoy reading debates on Hacker News about C++ or GitHub pull requests.
A non-trivial percentage of "rock star" software engineers are not capable of behaving themselves. The causes are varied. Some have been so busy getting A's and working upwards that they never formed lateral bonds with their peers. Some have something clinically wrong them. Some have been told they're right so much that they don't know how to behave when they're wrong. Some tie so much of their self worth to the problem they're solving that disagreement becomes a personal insult.
Whatever the reason, the software industry repeatedly explains away debilitating personality flaws as a cute quirk or even a benefit. It reminds me of D1 football coaches defending players who behave like animals off the field.
There is almost never an acceptable reason for being an asshole. It may be worth it to hire an asshole but that does not absolve that person of being an asshole. It just makes them a smart asshole.
65 comments
[ 5.9 ms ] story [ 142 ms ] threadOn one end is that Linus is God and that he's untouchable. On the other end is that Linus is a asshole that tells everyone off.
The more reasonable middle being that Linus is a pretty smart guy with an incredibly history of accomplishment. He's should be respected and his way of conversing with people is particular to personality. Like, we deal with people with personalities all the time. I don't think Linus has ever, despite all his cursing, personally attacked anyone. He just attacks stupid ideas. I find his comments refreshing. You just need to give him some trust to understand why he is saying whatever he is saying.
I don't think that also implies that people should be unwelcoming or that people should have new ideas/opinions on what should be what. I think that Linus isn't some selfish jerk who doesn't want people to get involved with Linux. I think he just has reasonable expectations and isn't afraid to call you on your shit.
Cool post though.
A few years ago, oh hell looks like more than a decade ago, I was working with a brand new project manager. This guy was pretty fresh, saw the world "manager" and got all glossy eye'd. He walked around the office "cracking the whip" and liked to make statements such as "I'm not here to make friends" and "I'm here to get these projects done".
Do you think, if this was ProjectManagerNews instead of HackerNews this person would be idolized? Would be held in high regard? Would other ProjectManagers stick up for him? What if he led a successful project or two? Would that validate his decision to act that way?
...more importantly: Would you want to work for him? Is success a solid defense on being an asshole?
I'm perfectly happy to sit down and discuss a problem but I've got not time for assholes, tempers, or rockstars for that matter.
In traditional companies there are heirarchies and such to avoid a single person being in charge of so many underlings.
In open source arena, there are parctically no hierarchies and the communication can be initiated by anyone contributing to the project. Sometimes it gets repetitive, sometimes it is not relavent.
Sometimes you have to be an asshole to make the other person to do a bit of self censoring.
I don't think the Open Source model is broken. I actually don't think the Open Source model is any different from a "traditional company". Reputation is used were titles were but in the end, when someone with either says something, people just follow or disagree and leave.
Linus is clearly having a case of XKCD #386 (aka. Someone is wrong on the Internet). There's no excuse for being bored of repeating the same thing and loosing temper. It's still loosing temper. He could as well stay silent after expressing his opinion once. It actually sounds pretty stupid to imagine Linus replying to each email disagreeing to express his opinion.
Some people are talking about the fact that he is opinionated. I don't think so. Theo de Raadt is opinionated. Linus is referred to as "the leader with no personality" in several BSD circles and I can't help but seeing each of his "famous emails" as an attempt at building
Arguing rethorics is a fallacy - if you can't prove someone wrong, you raise political correctness issues.
+1
So called "rock star" developers, particularly the really prolific ones, are busy getting s#!t done. Linux has no shortage off helpful community members who are not otherwise primarily charged with governance of (possibly) the most important open source software ever made.
People who occasionally behave idiotically are not idiots. People who repeatedly behave idiotically are the true idiots.
It's quite another thing to be an idiot. Calling someone an idiot is not OK.
But I've found certain individuals tend to have a disproportionately high number of idiotic ideas. My frustration builds quickly with said individuals, and I'm only human.
I insist, however, upon giving everyone the benefit of the doubt for the first few idiotic ideas, because I expect the same in return. I'm not immune to bouts of idiocy myself.
This is because the more I learn about them as people the more likely I am to be disappointed. They will say something stupid. Or, e.g., I find out they like some OS, application or language that I just cannot stand. And I'm like WTF? In short, they are just very different people. I may never meet them in person. It's probably better that I don't. The code I am using as a model might have actually been written a dog, posing as a person, like the one in the NewYorker cartoon. Who knows?
Trying to view these authors as "models" (versus seeing only their _code_ as a model) is just setting yourself up for disappoinment.
That said, some of my all time favorite "coder prose" is the netcat source. Let's face it, programming can be very frustrating. And you need a sense of humor. I wish he was still actively writing and releasing software. And that program still compiles as smooth as any, 15 years later. Great stuff.
The real argument should be "I'm glad <insert name here> is a jerk because it allows him to spend more time doing <insert cool thing here>."
Personally, I think the extra work is worth it, but I'm also not the hub of a project like Linux, a movement like the FSF, or a company like Apple.
Above and beyond everything else, the most interesting question is: Can you get into the hub position without being a prick?
I'm convinced that's a fallacy.
Is "[Github's] pull requests and the online commit editing, are just pure garbage, go file a bug report with them" that much easier to voice than "[Github's] pull requests don't provide the flexibility or formatting we need for the kernel, so please read up on the proper pull request procedure. thanks!"? Plus such courtesy eliminates the inevitable outrage of the anti-prick crusade.
Unfortunately, this behavior is very well established. To take a few random examples of Linus calling people morons (and mentally diseased, etc) before this:
http://lists.gnu.org/archive/html/gnu-misc-discuss/2007-06/m... https://plus.google.com/102150693225130002912/posts/1vyfmNCY... http://yarchive.net/comp/linux/hibernation.html
https://lkml.org/lkml/2012/1/12/13
The point at issue here is not whether Linus is right. Of course he's probably right -- he's Linus. The question is whether he's being civil. In the case you're referring to, pirtlj's comment was also out of line (although ironically apt to this whole discussion). Linus however did not have to respond the way he did.
I don't agree with making direct personal criticisms towards people, but I think it's perfectly acceptable to be very blunt when responding to a bad idea (or patch, or whatever). In my own work I prefer blunt and honest feedback rather than attempts to avoid hurting my emotions. Of course it's always better if that criticism is combined with a constructive suggestions on how to fix the problem.
Honesty and courtesy are not mutually exclusive. "Github pull requests simply do not work for a project the size of the kernel" is terse, blunt, and still polite.
If that's true then fair enough, and I think your version of the comment is a nice middle ground.
I've never actually used github myself, and was only commenting on his tone of voice. If something is truly pure garbage, I think it should be said so, but I guess that's not the case here.
In a field of tit-for-tat always-defect players no longer win.
How you treat the less-talented people is not terribly important (at least not in terms of how it effects the success or failure of your project in a direct fashion); and if you are someone who has very high standards, and someone who does not have very high standards but which insists on wanting to "help", it's not surprising if you will end up giving them a short, even brusque answer.
Dealing with incompetent people who pester you with github pull requests with crap code or crap commit descriptions is an interesting problem. It's not like a startup, where you can fire them, or put them through a very careful interview screening process and refusing to hire the less talented. So combine this tendency towards perfectionism, and interactions with someone who is more persistent than competent. What do you think will happen?
So in answer to your question: Can you get into the hub position while being a prick to talented developers? No, of course not. Do you have to be equally nice and perhaps have to show even more patience to the idiots? No, of course not. And if taking the time to try to educate every single idiot which crosses your path and wants to "help", means that you don't have enough time to push your project ahead, ultimately that can end up hurting the success of your project.
Psychologists have demonstrated that positive reinforcement causes lasting, long-term change, while negative reinforcement only impels temporary change.
Hiring the untalented can seriously demotivate the rest of the team; no company has the obligation to hire untalented people and hope they get better. As saying goes, "hope is not a strategy".
I also appreciate how near this piece comes to channeling Philip Seymour Hoffman's rebuttal to Robin Williams in "Patch Adams."
http://www.youtube.com/watch?v=jNN6FI1Gcr8
The two easiest examples to provide are probably Guido van Rossum of Python and Larry Wall of Perl.
This certainly applies to RMS as well.
Somehow it seems that in the flow of news and information we turn all the individuals into characters from a sitcom. Not allowing information through when they are acting "out of character" or even appearing to be quite human.
In almost every instance I've seen, it really is a case that someone has been pestering them, or out to pick a fight, and by the time the argument happens, all the back-story is forgotten (or, in the git-hub pull-request case, deleted by the original author).
The end result is that we have these tabloid-esque articles showing up on blogs telling us that we should be shocked and outraged at the actions of these people because they're "role models" and "shouldn't act like that". It's insane; it truly is.
But if there is one advantage I see from the way he does it is that it drives careless and willfully ignorant people away from his project.
In my personal opinion, I think people are quickly judging Linus' personality based on some texts they see on their computer screen alone.
What if you found out Mozart ate little babies. Some of you would say that his music sucks. Some of you would say "Well, Mozart had to eat babies, to fuel his creative genius!" Few would accept that Mozart was a flipping musical genius who ate babies.
From what I've read online, Linus can be a churlish little bitch, obviously ignoring the issue at hand when it suits him. Sometimes, he calls someone a moron, because they have done something he doesn't like, for some social reason.
But he's a damn fine programmer, and can logic it up with the best of 'em. Often, when you get the the moron blessing from Linus, you have made a grave technical error, and you should be called on it. I wouldn't use the same style as Linus, but ey, to each his own.
Just enjoy him for what he is, and leave the cult of personality stuff for others.
I don't remember when it happened exactly, but I've since grown to the point that I can separate someone's good qualities from their bad. I hate Ben Roethlisberger for his off-field behavior (and because I'm honor bound by being a Ravens fan,) but I won't let that delude me from thinking he isn't a quarterback that most teams would kill to have.
Maybe it's just seeing more and more of your idols fall away as it's hard to find anybody who honestly doesn't do something that irritates you in some way, and in just the way your closest friends do. Everybody put on a pedestal will eventually fall off, or failing that, die.
Anyway, I'm rambling at the moment, but your post touched a chord, and hopefully people can appreciate the truth in it before rushing to rationalize it.
I like Linux. I cannot stand Linus, and I'll avoid him at every chance. He relishes in being awful to people and, regardless of his technical contribution, he seems like a terrible person.
They are two tools to do different (even if similar in some ways) task.
So I don't need reasons of why SVN sucks if I have no problem with SVN and I'm not doing distributed develompent.
Just my 2 cents
I just want to add that there are plenty of outstanding engineers with very high standards who lead projects without going on the kinds of abusive rants that Linus is known for. For example: Roberto Ierusalimschy (Lua), Matz (Ruby), Ian Lance Taylor (Binutils, GCC, Gold linker), Shawn Hargreaves (Allegro, works at Microsoft now), Jeff Dean & Sanjay Ghemawat (two of Google's most senior engineers), just to name a few.
These guys don't compromise their opinions or let crap into the code-base just to be nice. But they're all really nice guys who don't rip into people for being wrong. When you see messages from them on a mailing list, you get a warm feeling because you know they are going to be insightful, accurate, terse, helpful, and friendly.
Some people like the machismo that comes from people like Linus. It's like watching superhero movies and rooting for the guy who kicks ass against the bad guys. But I think ultimately this is not a healthy way to lead a community. If you speak in a way that triggers people's defense mechanisms, you make it harder to rationally evaluate the issues. If you ridicule people for their opinions, you aren't giving them an out that lets them change their mind later; a person is inclined to dig their heels in rather than look foolish.
Could he ignore it? Perhaps. I prefer that he'll let you know, in no uncertain terms, to go away.
These rants aren't actually that frequent, but you'd think that they were constant from the way you hear about them.
It's not really about having firm opinions without being abusive. It's about being called abusive for having firm opinions.
Avoiding coarse language does not mean you're not being snide or offensive, and people hiding snide commentary in nice prose is one of my pet hates.
Your interpretation of these sentences only interprets the basic fact being communicated and discards all the other aspects of the communication. Interestingly, if that basic fact offends you, then there is nothing words can do, if you aren't sensitive to what those words are intended to do: soften the impact of criticism. Nuances in words are only meaningless to insensitive receivers.
Also, the two comments I equate are the same in essence - both refuse to discuss the item citing poor quality. There is no real criticism in it, because there is no actual discussion of the merits. Where is the subtlety? What I'm pointing out is that his blanket shut-out without discussion is actually an offensive tactic - one I personally find more offensive than Torvald's direct 'that idea is stupid' style.
To be patronizing and demeaning require intent. You are reading intent in my comment that simply does not exist.
The article is low-quality because it does nothing but tear down strawmen. No one is arguing that people can't have opinions and defend them. No one is arguing that people should accept bad ideas or code just to be nice. No one is arguing that opinion is a democracy (!?). The whole thing is setting up a false dichotomy and then praising Linus and others for not being accommodating wet noodles.
Since the main premise of the essay is this false dichotomy, I noticed that my first sentence disproves this premise by counterexample. I didn't write this comment with a patronizing or demeaning attitude. I can see why you would take it that way, because I can see a person writing a thing like that with a snarky attitude, but I did not.
That intent need not be conscious. Second-class citizens the world over suffer from being demeaned without conscious effort.
What you should have said in your first comment is what you said here: why you think it's low quality. I do not agree with you about your several 'no one is arguing', because I think that they are. If you phrase it the way you do philosophically, of course people will say they're not doing that, but in their criticism of Tovalds (/RMS/whoever), many folks refuse to take content because of context. While no-one is saying he should take bad code to be nice, there is a sentiment of opinion-as-a-democracy.
Your counterexample is just as bad as that you decry because instead of Torvalds style (blunt but informative), you were just saying "I'm ignoring your comments without giving you any reasons". If I submit something and it's rejected, I'd much rather receive the former than the latter, because then at least I know why. Would people really prefer a stoic Torvalds that just stonewalled commits he didn't like without explaining why?
Snideness doesn't require an emotional investment. It does, however, require "slyly disparaging" remarks; you were quite direct.
Whatever the reason, the software industry repeatedly explains away debilitating personality flaws as a cute quirk or even a benefit. It reminds me of D1 football coaches defending players who behave like animals off the field.
There is almost never an acceptable reason for being an asshole. It may be worth it to hire an asshole but that does not absolve that person of being an asshole. It just makes them a smart asshole.