In mid-September of this year, Linux creator Linus Torvalds announced he was taking time off from his day-to-day job leading Linux kernel development efforts to, as he put it, "get some assistance on how to understand people’s emotions and respond appropriately." Torvalds is notoriously abrasive on LKML, the email list that is, in essence, the workplace for Linux kernel development, often unleashing profanity-laden diatribes against code—and people—he deems unhelpful. It's a management style that's been controversial, but it's also been defended over the years, by Torvalds and others, not least because Linux's success can speak for itself.
In light of Torvalds' change of heart, we thought we'd take a look at some lessons you can take from how he's managed the sprawling, self-selected, volunteer community of Linux developers—both the successes, and what led to self-imposed exile.
Do: Be "trustworthy"
In a 2008 in interview with CIO, Torvalds emphasizes the importance of being trustworthy, though his definition is fairly specific. "In this context, 'trustworthy' is a lot about not surprising people," he says. "In other words, it's not some kind of fuzzy, feel-good Kumbaya trust where we all love each other; it's more about the fact that people know my opinions and where I stand on things. While they may not necessarily like or agree with them all, at least they can trust me to be reliable." In a heated 2013 exchange on LKML about his communication style, he contrasts that with what he sees as the dishonesty typical in more corporate or "professional" settings: "the lying, the office politics and backstabbing, the passive aggressiveness, and the buzzwords."
Don't: Forget that everyone is watching you
One of the defenses of Torvalds' notoriously aggressive behavior is that he only aims it at people he knows well and who have a long history of working on the kernel—people like longtime kernel dev Mauro Carvalho Chehab, whose run-ins with Torvalds we'll discuss in more detail in a moment. In other words, he takes on people he knows can take it. But when those blow-ups happen in public—and everythingon the LKML mailing list is public—everyone takes note, not just the people taking the brunt of your aggression. As SuSE's Neil Brown put it, "He is scolding senior developers in front of newcomers. That is not likely to encourage people to want to become senior developers."
Do: Fight passionately for things you think are important
Linux is almost certainly the most successful open source project in history, and that arises from Torvalds' laser-like focus on things that keep Linux working well. One of pillars of the system is that changes to the kernel shouldn't break the behavior of "user space," the part of the system where programs run—in other words, a user updating their kernel shouldn't find that their apps have stopped working afterwards. When Chehab made such a change in 2013 that broke user space, and tried to pass the blame onto the affected applications to boot, it set off a notorious and obscene diatribe from Torvalds in which he emphasized the sanctity of the user experience.
Don't: Go nuclear on the small stuff
On the other hand, one way to undermine an assertion that you only unleash the profanity and get abusive is because the stakes are high is to get just as worked up over trivia. Witness, for instance, a 2016 Torvalds diatribe about commenting styleaimed at the developers working on Linux networking code. You might think that the distinction between
/* * Comments that are formatted * like this */
/* Comments that are formatted * like this */
would be a mostly aesthetic choice, but the latter earned abuse as "half-a--ed
s--- for brains," " disgusting drug-induced crap," and something that "looks really nice if you are out of your mind on LSD."
Do: Recognize that emotions are part of the job
Some managers downplay the emotional lives of people in the workplace. This is especially true among techies, who often revere "logic" and refuse to examine their own emotional motivations. Torvalds, by contrast, told CIO that he's "not feeling shy about saying impolite things or showing some emotion. So I'd rather flame people for doing stupid things and call them stupid, rather than try to be too polite to the point where people didn't understand how strongly I felt about something."
To him, this is because that emotional expression carries unmistaken semantic meaning. "On the Internet, nobody can hear you being subtle... That's because, to be blunt, subtlety or sarcasm simply doesn't get through, or it may not translate to other cultures."
Do: Be consistent
Of course, just because you're living your emotional best life and letting it all hang out doesn't meant that makes everything OK for everyone else. In a 2013 LKML exchange between Torvalds and kernel dev Sage Sharp, Sharp called out Torvalds for being "one of the worst offenders when it comes to verbally abusing people and publicly tearing their emotions apart."
And even if you think getting emotional is an important part of your process, you should be aware if you're not being consistent. As Sharp said in the same exchange, "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. You just don't want to take the time to be polite to everyone."
Do: Recognize that you're setting the tone
There's a saying that "crap rolls down hill" (well, Torvalds would probably use a word other than "crap"), and you should recognize that if you yell at your subordinates, your subordinates will take that as a cue about how to operate. This is an instructive Reddit thread in which posters note that while Torvalds "doesn't yell at newbs," many of them had felt similar opprobrium from other high-level kernel devs—and, because that's the culture established from the top, they view those encounters as something of a badge of honor.
Don't: Assume everyone will get to act like you do
Torvalds has been somewhat flip in the past on diversity issues in open source, telling a 2015 conference that "the most important part of open source is that people are allowed to do what they are good at" and "all that [diversity] stuff is just details and not really important." But you can't ignore the fact that men get to do things and be regarded as brilliant, take-no-prisoner tough guys, whereas others would be perceived very differently for doing the same. Kernel dev Valerie Aurora told the New Yorker that she and Sage Sharp (who identifies as non-binary) tried deploying Torvalds-style tactics and got blowback for it "Sage and I can tell you that being an a--hole was not available to us," says Aurora. "We got smacked for it, got punished, got held back."
Do: Admit when you might be wrong
In the interview with CIO, Torvalds says that, despite how strongly he comes on, he knows he isn't always right. "Part of [being honest]... is ending up having to sometimes say, 'I was wrong.' That can be hard," he said. "But I make it easier for me by often writing my flames something along the lines of: 'You're a completely incompetent idiot, and I'm not going to apply this patch because it's obviously broken and is a total piece of s--. And here's why...' But then at the end I'll include: 'And hey, maybe I'm just being a d---, and you can prove me right, so please explain to me why you did that horrible thing. Please? Hmm?'"
Do: Be graceful about it
Revealingly, Torvalds concludes that section of the interview by saying, "This gives people the ability to tell me I'm being a d---head and I was wrong, and that all the reasons I called them idiots were actually bogus. Of course, it doesn't happen all that often. Or maybe it does, and people are just too polite to point it out in public." "Polite" may be the wrong word: it may be better to say that they're intimidated, or just fed up, like kernel developer Alan Cox who quit in dramatic fashion, or Sharp, who posted a much longer and more thoughtful piece after stepping away in 2015. And indeed, what Torvalds told the New Yorker was absent of that kind of defensiveness: " I am very proud of the Linux code ... I am not, however, always proud of my inability to communicate well with others—this is a lifelong struggle for me." Hopefully change is on the horizon.