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.
Exactly. I've worked under terrible managers and some great ones. Great ones get pissed off but they never, ever try and let emotions out. They were all to the point and knew what worked for every guy.
No, not at all. I appreciate that of her. She doesn't even look scary when I'm being told off. Which is why I put the word angry in quotation marks. She tries to sound angry and look scary but we kind of brush it off. Not that I didn't respect her authority.
Being directly a cunt actually causes sabotaging employees who work the minimum letter of the contract until they can quit via a text 5 minutes after start of day because they got another job lined up.
Dumb managers poison the well by acting like this.
If you can't express yourself without expletives, it just means you have a small vocabulary or lack the maturity to express yourself without getting emotional, or both. It is a major sign of incompetence, unprofessionalism, and ignorance.
Direct != being an asshole. If you don't understand that, you have a lot to learn.
I hate passive-aggressiveness, because I want to know what people really think of me. How can you feel secure if you know that somebody might secretly hate you and is just waiting for the right time to put a knife in your back?
Being polite doesn't mean being passive-aggressive. I can tell you that I completely disagree with your opinion without calling you "a brainless ape that should've fucking stayed in school because your dumb ass cannot comprehend the simplest matters".
Yeah, that's a hard pass on passive aggressiveness, constructive criticism isn't either of those things nor rude and angry ranting. Love Linus, but he really did need to chill out a bit more with these things. He could have gotten the same point across without coming across as yelling at the guy, just firmly pointing out that it was caused by the patch, the patch did things it shouldn't ever do, and don't break userspace or blame userspace programs
Yeah this kind of attitude is never a productive strategy unless you want to surround yourself only with assholes. It also demonstrates a complete lack of ability to manage humans and keep your values straight when you become upset and stressed out, which is a massive red flag to hold up as someone running a project.
In general it seems like a lot of people get into computers because they think it is a magic fantasy land where you don't have to practice people skills and interact with other humans.... when like every other industry after a certain seniority in a project it always, always, always comes down to managing humans and human interaction skills. The idea of the tech wizard programmer who can be an asshole because they are a genius at coding is just so tired at this point.
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.