Intel employee Sarah Sharp's outburst came after Torvalds, in his usual manner, pointed out to senior developer Greg Kroah-Hartman that he would receive less patches that were useful.
"Greg, the reason you get a lot of stable patches seems to be that you make it easy to act as a door-mat," Torvalds wrote.
"Clearly at least some people say 'I know this patch isn't important enough to send to Linus, but I know Greg will silently accept it after the fact, so I'll just wait and mark it for stable'. You may need to learn to shout at people."
"Not *f***ing* cool. Violence, whether it be physical intimidation, verbal threats or verbal abuse is not acceptable. Keep it professional on the mailing lists."
After some banter that went back and forth, Sharp reiterated how serious she was about her accusation, writing: " However, I am serious about this. Linus, you're one of the worst offenders when it comes to verbally abusing people and publicly tearing their emotions apart. I'm not going to put up with that shit any more." She provided two links to back up her assertion. (1, 2)
Torvalds, who is known for calling out developers when they make major errors, wasn't buying the argument that Sharp advanced though he did agree that he was an offender in this regard.
"Yes. And I do it partly (mostly) because it's who I am, and partly because I honestly despise being subtle or 'nice'," Torvalds responded.
"The fact is, people need to know what my position on things are. And I can't just say 'please don't do that', because people won't listen. I say 'On the internet, nobody can hear you being subtle', and I mean it.
"And I definitely am not willing to string people along, either. I've had that happen too - not telling people clearly enough that I don't like their approach, they go on to re-architect something, and get really upset when I am then not willing to take their work.
"Sarah, first off, I don't have that many tools at hand. Secondly, I simply don't believe in being polite or politically correct. And you can point at all those cultural factors where some cultures are not happy with confrontation (and feel free to make it about gender too - I think that's almost entirely cultural too). And please bring up 'cultural sensitivity' while at it. And I'll give you back that same 'cultural sensitivity'. Please be sensitive to _my_ culture too.
"Google 'management by perkele'."
According to Wikipedia, management by perkele "is originally a Swedish expression for a Finnish leadership approach that, according to its proponents, takes required actions in a quick and swift way, instead of a prolonged pondering of all possible alternative approaches and points of view before actually getting anything done."
Torvalds added: "Do you really want to oppress a minority? Because Finns are a minority compared to almost any other country. If you want to talk cultural sensitivity, I'll join you. But my culture includes cursing.
"And some of the above is written tongue-in-cheek, but all of it is also serious. I really fundamentally believe that being honest and open about your emotions about core/process is good. And because it's damn hard to read people over email, I think you need to be *more* honest and *more* open over email. I'm generally nicer in person. Not always."
But Sharp was't quite done. "Bullshit. I've seen you be polite, and explain to clueless maintainers why there's no way you can revert their merge that caused regressions, and ask them to fit it without resorting to tearing them down emotionally," she fired back, citing this as an example.
"You just don't want to take the time to be polite to everyone. Don't give me the 'I'm not polite' card. Go write some documentation about what's acceptable for stable. While you're at it, write some more documentation about why it's impossible for you to revert merges, so maintainers know not to send you crap, or piss away time trying to argue with you that they don't need to fix regressions. When maintainers challenge you, point them to it, and say, 'Fix this now'.
"If they protest, then you can bring out the big threats and say, 'If you don't fix this, I won't pull from you the next merge window. Go find a backup maintainer that can handle your tree, and train them for the next release. You may need to hand over your maintainership to them'."
Sharp went on: "*No one* deserves to be yelled at IN ALL CAPS in email, or publicly ridiculed. It doesn't matter if they are a minority or not.You are in a position of power. Stop verbally abusing your developers."
Torvalds, who admits that he likes to argue, said he was polite when it was called for. "But when people who know better send me crap, I'll curse at them," he added. "I suspect you'll notice me cursing *way* more at top developers than random people on the list. I expect more from them, and conversely I'll be a lot more upset when they do something that I really think was not great.
"For example, my latest cursing explosion was for the x86 maintainers, and it comes from the fact that I *know* they know to do better. The x86 tip pulls have generally been through way more testing than most other pulls I get (not just compiling, but even booting randconfigs etc). So when an x86 pull request comes in that clearly missed that expected level of quality, I go to town.
"Similarly, you will see fireworks if some long-term maintainer makes excuses for breaking user space etc. That will make me go into incoherent rages.
"The 'polite Linus' example that you point to? That was a maintainer asking for direction for when things went wrong and *before* sending me something dubious. Of course I'm polite then. Sarah, I don't have Tourettes syndrome. You seem to think that my cursing is uncontrolled and random. I argue that it has causes. Big difference."
Sharp offered her counter-points to this, ending with, "I've been through verbal abuse before. I won't take that shit from you, or any of the other Linux kernel developers. Tell me, politely, what I have done wrong, and I will fix it. You don't need to SHOUT, call me names, or tell me to SHUT THE F*** UP! I'm not the only one that won't take verbal abuse. Stop abusing your developers."
Torvalds replied to this post privately, but Sharp brought it back to the list. "I will repeat: this is not just about me, or other minorities. I should not have to ask for professional behavior on the mailing lists. Professional behavior should be the default," she wrote.
To this, Torvalds had a long reply, ending with, "Because if you want me to 'act professional', I can tell you that I'm not interested. I'm sitting in my home office wearing a bathrobe. The same way I'm not going to start wearing ties, I'm *also* not going to buy into the fake politeness, the lying, the office politics and backstabbing, the passive aggressiveness, and the buzzwords. Because THAT is what "acting professionally" results in: people resort to all kinds of really nasty things because they are forced to act out their normal urges in unnatural ways."