Incidentally, I find it very sad that we can't discuss this on HN. What has happened to Lennart, and the behaviour of Linus Torvalds as a bully, is probably something decent to talk about.
Incidentally, I find it very sad that we can't discuss this on HN. What has happened to Lennart, and the behaviour of Linus Torvalds as a bully, is probably something decent to talk about.
"Of course, I'd also suggest that whoever was the genius who thought it was a good idea to read things ONE F✦CKING BYTE AT A TIME with system calls for each byte should be retroactively aborted. Who the f*ck does idiotic things like that? How did they noty die as babies, considering that they were likely too stupid to find a tit to suck on?"
https://lkml.org/lkml/2012/7/6/495
then I don't think I'd ever contribute to the LKML.
(p.s. the irony of posting such an offensive post by starring out the u in fuck... does he not see the irony?)
Linus is fully capable of writing "fuck", as evidenced by e.g. [1]. If he stars it out, assume it is a stylistic choice for that particular message.
> then I don't think I'd ever contribute to the LKML.
If you can't handle a message like that, then perhaps it's just as well. Note the context (though I can appreciate it may not matter to you, and that you simply won't contribute regardless of it):
A senior developer who have repeatedly made Linus exasperated by submitting code that Linus have had massive issues with, up to and including unacceptable levels of breakage, appears to have written code so idiotic that it should not even have occurred to him. 1 byte reads with sys-calls is a beginner mistake. Kay was/is not a beginner. He also had at that point had repeated complaints from Linus about the quality of his code, and showed no sign of listening.
This conflict eventually culminated in Linus making it clear he'd had enough, and will no longer merge code from Kay until he cleans up his act [2]
While I don't think I'd be as caustic as Linus, I can totally understand the level of exasperation that saga must have caused him given the series of issues in question. And at the point of this outburst, nothing appears to have worked: the stream of crap had kept on coming.
[1] https://lkml.org/lkml/2012/12/23/75
[2] https://plus.google.com/u/0/111049168280159033135/posts/Kd57...
Then this is all Linus had to say. This, exactly, is a great sentence on why you'll no longer be accepting code from a party, and sums up both what they can do to get back in, and what other developers can learn from this. There's no need to sink to insults, especially at the level Linus can dish out.
We have to deal with clients so clueless, I don't know how they manage to even email us with the stupid questions. But we're polite to them and when speaking about them publically. We keep the abortion-comments private, between the developers whenever we go out for happy-hour. It's not very hard for the open-source community to do the same. (I know the majority of the open source community does not do this. But a vocal minority do, and the rest of the community seems to be okay with this, when it's not okay).
Linus has no incentive, financial or social, to be nice to Kay. Chewing him out, however, probably lowers his blood pressure and saves him the time of refactoring his immediate emotional reaction into a polite response, both of which are probably critical metrics to him.
Such conduct is not tolerated in workplaces, where people are paid to contribute, why do you consider it acceptable in an environment where people contribute for free?
On the other hand, in most open source projects you contribute what you want, where you want, and if you don't like the project lead, it takes you as much as closing the browser window to quit.
That said, I don't really know if this is the situation of the people working directly under Linus. ¿Aren't the key kernel developers usually paid by big corporations to work there?
Even between two coworkers of equal status, this behaviour would not be tolerated by a good employer.
I don't mean to put words in your mouth, but are you saying that being exasperated is justification to be arbitrarily caustic?
There are plenty of open-source project leaders who deal with incorrigible people and do not talk this way.
> There are plenty of open-source project leaders who deal with incorrigible people and do not talk this way.
And a lot of people who "do not talk this way" are a lot worse by dealing with these kind of issues through backstabbing or veiled insults.
While some are saint-like and never say or do a bad thing to contributors, I don't buy that the lack of abrasive language in any way is a reliable indicator of civility.
There is a choice to be made. The choice stems from the basic mindset: am I fundamentally ok with verbally abusing people around me, or should I try to stop doing that?
I don't know what's in Linus' mind. Perhaps he is utterly incapable of never resorting to verbal abuse. But I doubt that's true.
Most simply, refuse to merge their stuff unless it has quality. You don't have to hold their hand; say: "You are making the same mistakes over and over again. Your stuff isn't going to get merged, and we're not going to spend any time explaining to you why."
"any more time", please. The context should imply this, but some situations require high clarity.
Direct language, without verbal abuse:
"I am upset and angry that you keep making the same mistakes."
That's clearly communicating how he feels, without verbally abusing his audience.
No, remember the context: you've already used nice, direct words, and Kai has ignored them multiple times. Now you need to shake Kai's cage. Linus might have gone overboard, but his technique has more chance of success than yours.
Also, this is not a sterile corporate environment. The LKML is more like a dive bar than Applebee's and that's the way they like it.
What I want to firmly point out is the general community's level of acceptance of verbally abusive language.
There could be a debate about what constitutes verbal abuse, on a case by case basis. And that would turn into a mess.
What I'd love to see is the community acknowledge that using and even encouraging such language is bad for everybody, and it's bad for the open source movement, big time.
> There could be a debate about what constitutes verbal abuse, on a case by case basis. And that would turn into a mess.
Right now, a lot of people simply do not make the distinction between verbal abuse and direct language. In other words, they are arguing that we should not bother discouraging verbal abuse because it "shouldn't" affect targets any more adversely than direct but non-abusive language.
I guess it's a debate one can approach from many angles. But maybe you're right, perhaps focusing on highlighting why one thing constitutes verbal abuse and others don't is too semantic of an argument, and it's more productive to focus on the fact that just because one person has never been truly bothered by verbal abuse doesn't mean that should be the universal expectation.
Too many misunderstandings have been caused by well-meaning people reading too much into cherry-picked HN comments.
Hm. Because these comments are WAY off topic and have now drowned out the article and any rational discussion, I won't comment any further. Diederich, I hope you'll show more restraint with the Reply button.
My interpretation of that email chain reads: anyone who is stupid enough to continue reading byte-by-byte after being told that it's a bad idea should be retroactively aborted.
The implied subject makes a big difference. (I still think it's over the line but I understand that everyone makes mistakes in the heat of the moment)
And everybody, myself included, says things out of frustration, in the heat of the moment. That's not what I'm talking about here.
I'm talking about how many (most?) open source technical communities are very much ok with language that is abusive. Indeed, many take pride in that fact.
When I say something that's inappropriate, I'll make a point of retracting it later on when I'm calm.
Given that direct words were ignored multiple times, I would suggest that the next action is simply to not merge, without comment, after a final "You are ignoring us, we can't the time to keep correcting you. Your bad merges will be ignored without comment."
Such a path will get a developer's attention, and it involves no verbal abuse.
A problem with flinging abusive words around is that it artificially and needlessly limits the diversity of your community. Though, it might be that that's t he intent:
"The LKML is more like a dive bar than Applebee's and that's the way they like it."
Some people can form that understanding as the basis of their relationship and continue on happily, able to both give and receive this kind of criticism. To others, it is completely foreign and incomprehensible and they don't see the tongue-in-cheek at all and just interpret it as blatant, outright hostility, which is generally not the actual subtext.
Kay had then made /proc/kmesg semantics somewhat weirder, by not blocking but instead returning 0 when the available buffer wasn't big enough to read into; normally, returning 0 to a read indicates that the file has been closed, while if there simply isn't data available yet the call is supposed to block until it is.
So Linus was asking Kay to fix the issue, but also making an aside about how stupid it is to try to read one byte at a time from the kernel.
Now, there was the other incident you mention, in which Linus did get upset enough at Kay for not responding very well to a big report, but this one was not that; he was merely asking Kay to fix a bug, and cursing out some unnamed other developer for having done something as dumb as byte-at-a-time reads.
Not really defending either side here. I find Linus excessively caustic on these issues, and Kay a bit too unwilling to admit when he needs to fix a bug. I feel like Lennart gets way more hate than he deserves; he can be a bit difficult to work with sometimes, but it's crazy how some people think that he's single handedly out to destroy the Linux ecosystem.
I run a lot of software originally written by Lennart (Avahi, Pulse, systemd, heck, I recently even started using ifplugd on systems that still needed to use ifupdown but we wanted to respond properly to network cables being connected and disconnected), and find that it tends to be higher quality, more well designed, and more stable than a lot of the other code in the stack. Due to the fact that much of it changes the "traditional" way that systems worked to a very different but friendlier way, there tend to be a few integration issues along the way for early adopters; if you don't want such integration issues, it's probably best to use a stable distro like RHEL/CentOS or Debian Stable, rather than a quickly updating distro that ships code that's not yet ready for primetime like Ubuntu, Fedora, or Debian testing/unstable.
Most people are not going to see the context of that statement. I'm sure he had his issues with the developer and the relevant code, but that doesn't excuse such a public display. All he did in that matter is make himself look bad and, to a degree, made his project look bad. As it's been stated elsewhere, such actions most likely just drives people away.
Open source software, especially the big projects, are a public facing entity. Just like any large corporation. A public lashing with this type of language should not be considered healthy for the project nor the open source movement. It only causes negativity within and towards the project with the additional issue, as you show yourself, of not always actually solving the problem.
Each to their own I suppose.
Most people are never going to contribute to the Linux kernel in the first place. Anyone who is likely to, is likely to 1) actually get at least some cursory knowledge about the community and the process, 2) not deal directly with Linus until they've spent a lot of time getting up to scratch, including submitting patches to sub-system maintainers, 3) get only polite responses from Linus if/when they do deal with him.
I don't think Linus has any reasons at all to be concerned about whether or not people see the context of the statement. The people who don't are not likely to affect his ability to do his job.
> All he did in that matter is make himself look bad and, to a degree, made his project look bad.
Any reasons why Linus should care?
> As it's been stated elsewhere, such actions most likely just drives people away.
Linux does not have a problem with lack of developers trying to get stuff into the kernel. If it drives away some good people, then so be it. If it makes some shitty developers think twice about ignoring repeated admonitions from Linus, then it seems to me like good use of his time.
> A public lashing with this type of language should not be considered healthy for the project nor the open source movement. It only causes negativity within and towards the project with the additional issue, as you show yourself, of not always actually solving the problem.
From my point of view, the negativity tends to show up in discussions like this, rather than in forums where people are actually concerned with these projects. The level of desire for political correctness annoys me greatly. I find a lot of the responses here far worse than the direct language Linus sometimes uses because of insinuations and underlying implications of the statements.
If someone involved in a public facing project open to the masses doesn't care in any way how they appear in public, then that's just a problem that will likely never go away. I suppose as long as people are willing to accept the abuse then it won't negatively affect the project that much in terms of contributions.
Another one, got it. As long as people still continue to desire to contribute then other people's behavior is totally acceptable.
So far, I have yet to see any one person's comment reach the level of the quoted statement. If you can't see that then I guess we'll have to agree to disagree. Also, you are assuming quite a lot about my level of tolerance for political correctness. Simply pointing out that someone behaves in a bad manner and suggest that maybe there was a better way is not political correctness.
Again, we shall have to agree to disagree. Projects will carry on regardless.
Therefore, I doubt that a random person on LKML that wasn't CC'ing Linus to complain about the bad performance of doing things wrong would draw random fire from Linus about his ability to suck a tit.
Meanwhile, Steve Jobs was a total asshole to many people, including family, and this has been approved in his hagiography as a condition for his incredible inventions which revolutionized all mankind. If that is true for Apple then presumably it is also true for Linux?
Or maybe we should be more uniform in criticizing for people being assholes, rather than singling out Open Source with an implicit double standard.
Usually when people cite Steve Jobs' (or Linus', or anyone's) asshole moments as being somehow constructive, it's because they wish they could act the same way towards the people around them but they can't get away with it due to their own lack of power. It's not an attractive quality for someone to have. It's one thing to be somebody's lousy manager, it's another thing entirely to be envious of lousy managers.
1. very nice. 2. receiver of whatever shit (including good shit) people send. 3. productive. 4. responsible to make a critical system work. 5. a filter of bad code. 6. ...
Without offending anybody?
I don't know Linus, but he seems a good, selfless guy, with the best intentions at heart. If he's not politically correct, who the fuck cares? Sometimes I get the feeling that even murderers are more respected, as long as they talk nice.
In my opinion the insistence on political correctnes has much more chilling effect than some passionate, if insulting, words.
I think that the OSS community (and IT community in a broader sense) has this idea that "they're just words," and so therefore, they should just be able to say what they want without consequence. But, words matter. A whole lot. Empires are built upon words. People rally around words. Words convey ideas, thoughts, feelings, and everything that goes with them. Why is rampant bullying accepted in this culture? Why is it the norm?
I'm not saying that things have to be all sunshine and rainbows. Yeah, sure, it's stupid to read a byte at a time, but you don't have to be an asshole about it. You can say, "Hey, that won't work," and be done with it. People should be treated with a modicum of decency. Remember the human, and all of that.
If I got dissed in such a hyperbolic way from a boss that was paying me, I would leave.
In a situation where I've toiled in a position of importance in a project I work on in my free time, and I screwed up, I think I'd be hurt if I was dismissed lightly and without creative ire. I mean, I want to know that if I screwed up, I screwed up enough for someone to admonish me creatively, since there isn't any method of management. Your tool is primarily shame, you can't suspend someone without pay from a mailing list.
Constructive criticism is helpful and should always be the first stop on the train. But if you should already know better, or that ground has already been well-trodden, then it just sounds patronizing. This is where being told to shape the fuck up is the kind of message I would expect to receive.
What would be even worse is being ignored or shunned.
EDIT: I find it quite amusing that I get downvoted for a fairly dispassionate and mostly objective explanation of context, yet several of my far more subjective and controversial comments elsewhere in this thread have gotten heavily upvoted. Figures.
You say that blocking these merge requests would benefit many; so be it. Being polite about doing that would benefit the same set of people, and may others at the same time.
There are also people involved on both sides, and people get angry and frustrated.
> Being polite about doing that would benefit the same set of people, and may others at the same time.
And a lot of people believe that sugar-coating it would reduce the benefit by signalling that Kays behaviour wasn't so bad after all.
And maybe this approaches the crux of the problem. It seems that there is a false dichotomy at work here.
Being polite (or, indeed, just not being verbally abusive) takes less time and energy, and is overwhelmingly more effective, than being overly abrasive.
I don't believe 'Sugar-coating' has anything to do with being polite and accurate. 'Sugar-coating' is all about being less accurate and on point.
The point is that the person in question was being rude and disrespectful by continuing to ignore the instructions he'd been given in the past, and repeatedly caused a lot of very real, very heartfelt anger from a lot of people over the time he wasted for them.
Pretending not to be angry over that is very much sugar-coating to me.
Now, there are nicer ways of being direct and expressing anger, but pretending there was no anger and no valid reasons to be angry would be flat out dishonest. And I really don't think the recipient in this case had any reason to expect any civility from Linus at this point, even if others might choose less direct language.
In other words, there's a pretty egregious double standard being applied here. In my experience, that typically favors the kinds of abusive personalities who have discovered some easily-exploited aspect of the social system to simultaneously provide cover for their own bad behavior while limiting their target's ability to retaliate.
If I were on a team stuck with this guy, and required by professional norms to bite my tongue, I can safely say I'd take supreme satisfaction in seeing such a nasty employee get this severely excoriated. And make no mistake, this isn't about "feedback" or "criticism". It's about driving the guy out of the shop in a way that provides a suitable catharsis for everyone who has had to put up with his actual and sustained unprofessionalism.
Of course, tf this were an arbitrary, unjustified, or otherwise baseless response, I could see how it would be hugely damaging to Torvald's authority, and the trust he relies on. But in a case like this, the opposite seems true. And if it puts others who present similar problems on notice, so much the better.
This is also revealing: the idea that it is somehow dishonest if one chooses to not publicly verbalize one's own internal state.
We should think about that for a moment. This is the proposal: "I am being dishonest unless I verbalize my anger about a topic."
I would submit that dishonestly would require a more direct statement.
"I am not angry about your continued choices for ignorance."
That would be dishonest.
In my opinion, not saying anything about one's internal state can't be dishonest. No information was given.
As for his "passion", I don't think that resorting to public humiliation is any way to lead a project. Rather, it sounds like an item out of that "How To Minimize Employee Retention" article that made the rounds last week.
Linus certainly has many good qualities that have contributed to the success of Linux. He's diligent, he's technical, and he's great at solving problems. But it's important to acknowledge that Linux has thrived despite his abrasive outbursts, not because of them.
No, you don't really know that! These outbursts may bother you and other people but it is also possible that they have been very, very beneficial to the community. Like it or not, they are a form of humor to many people and that may improve team cohesiveness.
I for one think that the reaction to this particular retroactive-abortion-outburst as "not treating people as human beings" is taking things absolutely way too seriously.
Would you tolerate a manager who talked to you this way? I wouldn't. Not even Linus. And then I'd point out all the pretty crappy code Linus had checked in.
It becomes a lot harder to call someone a 'fucking moron' if you imagine it as a guy standing in front of you.
I don't think Linus would care. Everyone makes mistakes. Linus is a gatekeeper of sorts and he has to "point out crappy code" whether people like his language or not. The outside world just needs to decide how seriously they take these outbursts. I don't think there's any evil dimension in that.
It's a double loss. It makes the code weaker and less innovative, and it makes the culture seem unappealing to outsiders.
You might not think that's significant. But how can you know what you're missing by not being more exclusive?
Consider: open source could be set up on a semi-formal apprentice/mentor basis. It could easily become a way for programmers at all levels to develop professional standing.
Code on a GitHub profile is not the same as being able to say "I worked on X and was mentored by Y and Z."
And "You're a moron, fuck off" is maybe not the best way to create a culture of collaborative support.
I don't see any evidence of a huge number of people, that could otherwise contribute anything meaningful, avoiding Linux kernel because it's "hostile". They avoid it because they simply don't have anything meaningful to contribute, or are not able to contribute with the level of quality required in Linux kernel, or they are unable to handle the inevitable criticism.
Also, I'm pretty sure Linus has never used those words to tell people to get lost. Don't invent stuff. He might use strong language but in many cases it is humor or he knows the receiver personally.
I just think his hyperbole is a way of expressing good discussion and reason.
> Disdain for "political correctness" is often positioned as a concern that some important truth is not being spoken for fear of offending someone. But that concern is nothing but smoke and mirrors. To invoke "political correctness" is really to be concerned about loss of power and privilege. It is about disappointment that some "ism" that was ingrained in our society, so much that citizens of privilege could express the bias through word and deed without fear of reprisal, has been shaken loose. Charging "political correctness" generally means this: "I am comfortable with my privilege. I don't want to have to question it. I don't want to have to think before I speak or act. I certainly don't wish to inconvenience myself for the comfort of lesser people (whoever those people may be--women, people of color, people with disabilities, etc.)"
> http://www.whattamisaid.com/2010/02/conservatives-political-...
I really hope you aren't. Posts that recast and interpret someone else's opinions like this are toxic to any political discussion. The framing makes the topic into an caricature you can easily oppose all while whispering in your ear "this is what's _REALLY_ going on."
Maybe you don't think this interpretation is wrong. Maybe you think I (like they) just can't realize or admit it's right. Maybe you don't think it's such a bad thing if this armchair psychologist is just a bit wrong. But have you ever seen someone post about how stupid social justice is when the thing they're trash talking isn't social justice at all? Have you never had someone disagree with you assert that you believe something you don't? Posts like that are exactly how it happens.
Now i imagine that Linus suffer a tremendous pressure to not let any bug pass, cause everybody in the world would eat his liver if there's a smallest security hole in the Kernel
Millions of lines of C code, that run in every gadget we can think of, the guy is stressed out; and you have a "code terrorist" do deal with?!
Also Linus has a strong personality, everybody knows that; so i dont see this as something bad as its being painted here; And we have to take the cultural background into account; i prefer the German/Nordic tought/transparent way than the hypocrisy/"you are great, but i will stab you when you turn your back" kind of culture (and im from a relaxed kind of culture)
I Think this is more of a cultural clash
Note that this happens because you can read it with knowledge of the writer's personality. If it were an anonymous author, your impression would be perfectly correct.
No, I know that the standard reply here is that no one is above being polite. I disagree. This is a Linus' flaw, of course, but one we can live with in the context of his hugely positive net contribution.
Said in response to a comment by Linus directly stating that someone should be retroactively aborted (murdered).
If you seriously believe he was advocating murder, I presume you have reported the matter to the police, as in that case it is a criminal offence.
Just kidding, I hope you die in a couch fire.
It's not that we "can't" discuss it, you just have to be prepared for the discomfort of disagreement from both reasonable and unreasonable positions. Bad positions will be argued well, and good positions will be argued poorly.
The empathy to understand issues from stances you disagree with is necessary to make arguments that sway people to your position. The ability to be as critical of your own positions as those you disagree with is how you ditch silly ideas and improve the defense of your good ideas.
The reader has to put in more effort than looking at a salty conversation and coming out the other end saying "gee, that was frosty, therefore I don't have to think about the issue seriously and can conclude the position I had going in was right all along." It may not be ideal, but making the best of a bad situation is a practical approach often necessary to get anything useful done. Do you want to change minds or do you want to indulge in the comfort of showing everyone just how right you are?
This has the side effect of divisive issues not getting the same exposure as stuff everyone agrees on.
Linus do not seems to be a person one should quote, as context seem to be critical important for anything he says.
It is intensely but shallowly interesting. Previous attempts to discuss it devolve into bad tempered argument.
No one learns anything from these discussions. No one has their mind changed.
The question is, is this method of selection conducive and is the use of obsessive aggression costing open forum projects like OSS through selective acceptance? There may have never been an alternative to the extremely abusive nature of white-male dominated cultures in the first place in regards to projects in open forums.
The vast majority of OSS projects that don't start from a strong core fail miserably and it's because of this. People extrapolate their real life professional behaviour to a virtual, open scene where assumptions of competence and commitment fall flat massively.
If anything, OSS needs more people like Linus Torvalds and Theo de Raadt managing projects and not post modern clowns with "white male" guilt. It's not by chance that Linux is possibly the biggest success in OSS history with real community contribution, and most of the others have been carried out by their respective cores with very little external output.
American PC behaviour is a disaster for OSS and that's why a lot of OSS is "awful" where it matters, which is in quality, in competitiveness and in leading the industry. Companies like Google and Mozilla lord it over OSS projects that are basically "glass house" corporative projects with extremely little external contribution (other than forking code from Linux, Apache, BSD, etc).
If anything the OSS is not dismissive enough of shit and this is holding us back.
Linus Torvalds is not a bully. He's in charge of one of the biggest and most successful project out there. And this project is open-source, and anyone can contribute to it. Anyone. Even your cat. Imagine the Windows codebase being opened to anyone, with anyone being able to suggest fixes and send patches, or ask questions, or make suggestions.
You do not want any idiot to commit insane things. You need to have some barriers. And these barriers are related to technical skills.
You have to understand that the alternative to "Linus is mean" is "Linus let a fucking patch enter the kernel, and it broke millions of machines around the world, causing millions of dollars worth of damage". Every single line committed in the kernel must be carefully checked, and if you lack the skills, just go away, because it will (1) spoil the precious kernel maintainers time and more importantly (2) do damages to millions of users.
So I am personally very glad Linus is "abrasive", because when someone screw up, he makes it perfectly clear, and this is totally appropriate considering how critical the linux kernel is nowadays.
And yes, if you want to live in a politically correct, nice, cheerful project, this is not the project you need to work for.
[Having said that, I do not think Linus has ever been dishonest (such as refusing a patch only because he did not like its author, unlike some C-library guy), which is precisely the reason why his abrasiveness is perfectly fine to me]
I think this notion - which Linus pushes - that the alternative to yelling at people and generally being short tempered is always "political correctness" ... well it's quite harmful. Yes, it CAN get that way, if people interpret criticism of their work as personal criticism and try to shut it down by complaining about it. I've seen that happen before. Some people don't know how to handle someone implying, even if politely, that their work sucks and can't handle it. But that doesn't mean it has to be that way and well functioning teams manage to avoid it.
I wonder about those projects sometime. If we took all of the conversations that ever took place at their office and stuck them online and in public. What would that be like? How many journalists and bloggers would find inflammatory quotes that can be published out of context to shame the person who spoke those words? How would Linus stack up next to John Doe of the Foo project?
Or, think about everything you read, said, wrote or heard at work over the last month. Now imagine hand wringing blogposts about all of it. Especially the things that you want to exclude from this thought experiment because they would have never been said if your only communication method was a public mailing list.
For example, this is what Linus wrote:
"Of course, I'd also suggest that whoever was the genius who thought it was a good idea to read things ONE FCKING BYTE AT A TIME with system calls for each byte should be retroactively aborted. Who the fck does idiotic things like that? How did they noty die as babies, considering that they were likely too stupid to find a tit to suck on?
Linus"
Instead, he might have been able to write something like this:"It is a very bad idea to read one byte at a time with a system call, for a variety of reasons, including and especially performance."
I would love to hear how being an abusive asshole actually does any good? I see it as a way to artificially limit the size and diversity of the potential contributor pool.
Nonetheless, my question still stands: how is a verbally abusive diatribe in any way better than a shorter, more reasoned, and perhaps final response?
It could have been "This code is bad. I will not accept this code.". Except that would not have communicated the same message.
It's not always desirable to strip away emotional content.
"It upsets and angers me that you're continuing to make the same mistakes over and over again."
vs. 'abortion', etc.
Both examples communicate emotional content. Only one of them is verbal abuse.
Consider which is more effective in person - the phrase "I am angry" uttered in a calm tone of voice or profanity and insults in an angry tone of voice. One of those states anger. The other communicates anger.
I've been through military basic training, and such language is routinely used because it is quite effective at communicating error by breaking down mental resistance and barriers to correction.
In that case, the potential for emotional harm is outweighed by the net reduction in the probability for physical harm on the battlefield if such lessons aren't learned absolutely.
Make no mistake: the kind of language Linus (and so many others in our community) uses can and does cause emotional harm, primarily to people who might be called 'thin skinned'. This is discriminatory against some personality types.
In the balance between using verbally abusive language to more effectively communicate error and not doing that, I believe there's no question: verbal abuse is wrong, and should be avoided, and not defended. There are other ways to accomplish the same thing, without all of the toxic side effects.
Remember, the goal of an open source project is useful code. A friendly and emotionally supportive community is only desirable if it aids in achieving that goal.
I concur that open source projects' primary and over-arching goal is and should be to produce good code.
When the leader of a project freely (though not so frequently in this case) uses verbally abusive language, that has the strong effect of limiting the diversity of potential contributors to the project.
I'm willing to assume that a more diverse project tends to be a project that will produce better code.
In this particular case, bad code wasn't included in the project. The abusive language did nothing to stop merge of bad code.
So did verbally abusing this developer somehow cause his/her future contributions to be of higher quality? I don't know the answer to that.
Or perhaps did this verbal abuse generally raise everyone else's code quality, because they didn't want to become a victim as well? Perhaps.
One thing I am certain of, though, is that such choices artificially and severely limit the possible side of the contributor pool, and that's bad.
I'm not willing to assume that a more diverse project and larger potential contributor pool will automatically produce better code. Not all contributors are of equal value. Some contributors are of net-negative value, particularly those like Kay who persist in such. It is highly desirable to limit the potential contributor pool to as few of those individuals as possible.
Size is not the sole meaningful measure of a contributor pool. Quality is equally - and often more - important.
When dealing with matters tangential to a core purpose, sometimes the ends do justify the means. When was the last time you thanked an open source developer for stopping development on features you needed (perhaps permanently so) in order to encourage the surrounding community to be nicer to one another?
The diversity I'm talking about is in personality types. There's a lot of people, even on Hacker News, even in this thread, that would be excellent technical contributors to the Linux Kernel, except they have a personality type that requires them to spend more emotional energy dealing with verbal abuse, either directed at them, or just being flung about.
As you say, size isn't the most important measure of a contributor pool.
In my mind, angry, hateful language, especially if it is accepted by the whole, will greatly limit the amount of talent available.
Good development and merge practices has and will continue to keep bad code out.
And note, I have not said anything about being warm, friendly or inviting. I'm not necessarily suggesting those be specific goals.
Finally, nowhere have I suggested that anybody stop working on features, and instead 'encourage the surrounding community to be nicer to one another'.
There is a very real possibility that angry language results in an increased ability to ship code by discouraging more net-negative contributions than net-positive ones.
I personally don't think that a reasonable person who is familiar with such emails could honestly say that Linus is not a bully or that such behaviour is ever acceptable.
Being in charge of a very important project doesn't make it OK to tell people that they're so stupid they should have been aborted.
What they don't seem to realize that its more likely they'll be on the receiving end of the negative traits they applaud. Either by an occasional screw up or because Mr Bossman is having a bad day. To be humiliated in public like this is often very painful, even for the thick-skinned. The day that happens, they're lawyering up and getting HR involved because, how dare someone yell at them. In their minds, the yelling only happens to someone else, the imagined dumb peons they see themselves as being above.
I think way too many techies seem themselves as John Galt-like supermen, and that the negative consequences are for the sub-humans. There's a real dynamic of here of dehumanizing others that's often swept under the carpet. I think this dynamic is sociopathic.
This is a false dichotomy. You can tell people to go away or get better without telling them it'd be better if they'd never been born or wishing violence upon them. I honestly don't have a problem with Linus telling somebody their code is terrible. Linus has often taken it to another level in belittling and abusing the people around him.
Linus has a pattern where his first (or second) reaction to an issue is to START SHOUTING AND NAME CALLING in an attempt to shut down discussion. If the issue blows up he comes back and gives a reasonable, considered response. It's a pattern that's not helpful.