Honestly, I maybe get why some people are too sensitive to work in such conditions, but from my professional experience, I’d much rather prefer getting angry mail explaining why my actions are stupid, than everyone being nice to one another but the codebase is utter garbage and everything falls apart, which happens a lot in private companies.
I would tell you that you haven't worked with enough people. I don't disagree but occasionally you find people that need a really really good reminder that they not only suck but you've tried to be nice multiple times and it didn't penetrate.
I agree that some people need harder tones, but I don't think anyone needs the abusive language that Linus used. If that feels like the only option, I think it probably means the person has gaps in their social toolbox.
And also if you are a manager and one of the team members perform poorly and you cannot help the person improve, you should rather let that person go before you get to a state, in which you write such mails.
You can be polite or just straightforward and still get your message across.
"We don't blame bugs on user programs", "This is not an error code that should be used here", "Your coding standards may have relaxed over your tenure, be sure to maintain quality code.", etc. I get the annoyance, but you can be firm without yelling, especially in a professional environment.
Edit: Seeing the full context of Mauro's message (posted below), I can see why Linus took this tone. Mauro was being pretty condescending to a dev.
you seem to have created a false dichotomy where it's impossible to fix bad code without being abusive. would you like me to call you "dumb motherfucker" or is this explanation enough?
I think you've missed what the sin was, as well as the context of the players.
The sin was not the bad code. Let me say it one more time for clarity: the issue was not the code
The issue was that, when presented with the defect (inevitable outcome of any software project: not intrinsically sinful) Mauro started blaming other people on a public mailing list
Mauro, being a maintainer, was in a position of authority. Like a police officer, their bad behaviour reflected poorly on the organization*as a whole.
If a cop was abusing their power (publicly or not), I expect the chief of police to come down on that abuser; to make clear that this abuse is absolutely unacceptable, not only within the accute instance, but within the greater context of the expectation of the behaviour of the whole organization.
Mauro chose the context of his abusive behaviour as the public mailing list.
Him getting slapped down in that same forum is the direct result of his own choices.
In the same way that I would be upset with the chief of police not publicly and harshy denouncing an abusive police officer, so would I be upset with the absence of such a response in this situation
I didn't miss the sin. The sin isn't relevant to me. You don't treat people like that. Whatever you hope to accomplish, you can accomplish without treating people like that. If someone else is being abusive, that's not license for you to be abusive in response. If a cop was abusing their power would you expect the chief of police to publicly berate and insult him, or would you expect the standards to be enforced without resorting to that?
When you abuse someone for being abusive you don't make it clear that abuse is unacceptable. In fact, you do the opposite. You establish that abuse is a part of your culture. If I was considering contributing to the kernel and saw this exchange, I'd walk away. I don't need that shit, not from Mauro, not from Linus, not from the Lord hisownself. It damages the organization long-term.
It was a hash admonishment for the specific choices and actions that the person did that were wrong , and that the person, based on their position of authority should absolutely know to be wrong.
The confluence of factors here are what differentiates this from abuse. By calling this abuse, you're actually diminishing what actual abuse is.
You don’t need to tell each other to shut the fuck up in all caps and call each other idiots to get the point across. It’s possible to instruct your peers in a much more professional manner.
I don’t know the full context, but that message doesn’t sound like it was his first reaction to a first patch he got from that guy. I’m not implying anything, but I’m also no stranger to people resilient to reasoning. I’m not a fan of this tone or language, but I don’t think it’s that big of a deal either
Programmers are sensitive enough. All you have to do is raise your voice slightly, and they'll think you're yelling. You could probably make one cry just by saying their patch isn't good, without having to resort to aggressive language.*
I don't know the whole history, but this seems highly unnecessary, and typical Linus. Didn't he resolve to be better a few years ago?
It's all fun and games till the baby blows up when it really really shouldn't blow up. And I personally, would rather have people learn that pain an email than learn that a million people are in pain because of their ignorance/bad work.
Or nice in person, then all the toxic bakstabbing behind the scenes.
This reads like the Sh*t My Dad says book. The author said it seemed harsh to some people, but the bonus was there was never any passive agressiveness, and you always knew exactly where you stood.