Linus is stubborn, persistent, and unyielding to what he sees as bullshit. These I believe are all very valuable qualities for the head of a massive software project, and may be part of the reason as to why Linux is where it is today.
However, Linus is also a bit of an asshole, turning technical criticism into personal seemingly personal attacks. I believe those 2 sets of qualities are separable, but I would guess it's uncommon to find many people who are capable of being as tough as Linus without in some way alienating those around them, it's a fine line at times.
Anecdotally, one of the most effective engineers I worked with, who asked penetrating questions during code and design reviews, did come off as a bit of an asshole at times. Whether by genetics or through childhood, I'd bet people tend to cluster onto the line separating "agreeable and lax" and "rude but firm" (as a sweeping generality). We often label people who are all smiles while simultaneously extremely strict as passive agressive. Add to that the fact that many technical people are less socially adjusted than average and I can see why we have so many examples of mean but effective project leads.
I'd bet people tend to cluster onto the line
separating "agreeable and lax" and "rude but
firm" (as a sweeping generality)
Consider this:
A third category of people who are able to accomplish their goals by rallying others to their cause. They are essentially imposing their will on others, but are able to do it in a way that is not "rude." This is called charisma.
- "Agreeable and lax"... you allow them to paint the fence however they want, even if their work is shoddy. you may wind up doing it yourself because you don't feel comfortable enforcing your will on others. or perhaps you just wind up with a crappy looking fence.
- "Rude but firm"... you don't care about others' feelings and force them somehow to to paint the fence to your specifications. either by physical force, economic force (you have money they need) or some other means
- "Charisma"... you convince them that painting the fence the way you want it painted is the best possible thing they could be doing. they willingly paint it for you because they believe it is a good cause and a good use of their time. (note: this does not necessarily imply dishonesty or trickery. arguably, the most charismatic people might be those that are true believers)
Somewhat tangential, somewhat related: Sun Tzu wrote that the most perfect form of victory was adding the enemies' forces to you own by convincing them to support your cause.
I personally like calm, rational logical inspirational leaders. I would like the fictional Captain Picard! Those are very hard to find.
In my humble opinion, I believe you will find a lot of disagreement on methodologies throughout this thread as some folks are introverts, some extroverts and a wide range in between. Each person here will have had their own personal experiences that were a result of a mix of personality types. If we just go by Jung, that's a matrix of 16 types. The possibilities and interactions are quite extensive.
I believe that each org filters down their group to a certain mix of personalities that are tolerable (cultural fit). The more critical someone is, the slightly more that people will tolerate in exchange for what they contribute.
I suppose what I am suggesting is that there is no single form of leadership that is entirely optimal in any org. The mix of personalities can block rational discussion. There are some websites where people discuss the toxic results in their org.
I personally like calm, rational logical inspirational
leaders. I would like the fictional Captain Picard!
Those are very hard to find.
Great example! He was fictional, of course, but he was a good example of a leader who took no shit and held his crew to high standards, yet cared deeply for his crew and did not resort to petty rants.
Although didn't he sleep with or almost sleep with Dr. Crusher? Maybe Linus shouldn't emulate that part.
Why would it be, though? It's two adults having consensual relationship. May be you think the rule should be there because the current society haven't developed enough.
> I believe that each org filters down their group to a certain mix of personalities that are tolerable (cultural fit). The more critical someone is, the slightly more that people will tolerate in exchange for what they contribute.
While I think that's true, I don't think it's scalable. You can get a startup off the ground with a team of 20 and a serious bro culture. But the bigger you get and the more touchpoints you have with the outside world, the more an inclusive company culture becomes an advantage.
It's not as simple as saying inclusivity is necessary. It obviously isn't. After all, you can build large systems on architectures that scale poorly, too. But I do believe it's a long-term advantage.
Agreed. I believe that as companies get bigger, this behavior narrows down to specific orgs in the company. Dev teams and operations teams will each have their own filtered set of personalities too. Even then, I know I am over simplifying.
Have you ever worked with brilliant assholes? It sucks the life out of you - and it really sucks when they get idolized and rewarded heavily.
It creates a vicious cycle of absurdity - the one where people appease the anger to try and achieve some good not realizing how much the bad influences the culture of the movement/organization/group.
No one is perfect, but the community for far to long treated an imperfect man as if he could do no wrong - to its own detriment. Not in quality of software, no one disputes that - but in quality of life and respect for other human beings and other views/ideas.
I think it's terrible we accept this idea that it takes an asshole to make a community
> Have you ever worked with brilliant assholes? It sucks the life out of you - and it really sucks when they get idolized and rewarded heavily.
I have. The problem was not so much the things he wrote in public but what he said (that couldn't be documented) or probably told the bosses (which also could not be documented.)
He was a (mostly) well mannered and soft spoken guy esp. compared to the image of Linus, but he made me quit my then dream job and I'm pretty sure I'd preferred working with Linus.
Also in school I had another one: well behaving, soft spoken (mostly) but who turned out didn't care about others except as a way to get what he wanted.
I'm really happy to not work a place where I get yelled at either but at least Linus seems fair so I think I'd prefer him.
It's also interesting to see him admitting it might be a problem in his own way: wanting to ralk to someone, joking about tooling, asking for ideas.
Have you ever worked with brilliant assholes? It sucks the life out of you - and it really sucks when they get idolized and rewarded heavily.
I've worked with a few people I'd consider brilliant. But none whose accomplishments really compare to those of Linus. He's more or less a sample size of one as far as I can see in terms of building out such successful software on such a large community and without being inside a megacorp.
I've worked with many more people who feel the need to be involved, steer projects towards failures or dead ends, who seem to live by the CIA manual on field sabotage and have to be managed to not cause a net detrimental effect. Some of those were really nice people too.
I'm amazed at how he's built Linux without more clashes, but if he feels he can be a nicer guy about some of it and still do the job effectively, more power and credit to him.
> He's more or less a sample size of one as far as I can see in terms of building out such successful software on such a large community and without being inside a megacorp.
Much of this can be explained because he was at the right place at the right time. Two very important reasons why Linux is so successful are GNU and the GPLv2. Any decent kernel could have taken off at that time. Linux was the first that actually worked.
Now the ability of Linus to retain leadership is remarkable. Just, let's not forget that he got a hell of a head start with the FSF's work. Both technical (GNU) and legal (GPL).
While true, I think this would not have stopped Minix, because you could compile and run all GNU tools on it. I just read that Linus developed Linux on a machine running Minix.
However, what I got wrong: in the first years, Minix was not free. Users had to either buy the book, or pay a license fee of $69.
The kernel was missing for quite a while, wasn't it? linus is the one who did it; and he enabled other people to contribute effectively.
Also: I was thinking he's remained the leader of this very successful project, for a long time - he deserves credit for that. But perhaps that's a part of software's durable unfair advantage, that e.g. made so much money for Oracle, Microsoft. Similarly, BDFL, as for perl, python, ruby etc tend to stay there. So, perhaps it's more just not stuffing it up, than special credit?
What do ypu think of how esr explained linus's success in the cathedral and the bazaar?
> I think it's terrible we accept this idea that it takes an asshole to make a community
Or, even if you want to think that sometimes it requires someone to be an asshole, that's still different than thinking that this should always be the case in that same community.
I didn't use or even know about Linux when Torvalds first created it, so I won't presume to say he was an asshole back then or that he shouldn't have been one. But I'm assuming the set of contributors back then was much smaller than what it is now. And that Torvalds largely appreciates and maybe even depends on this bigger community -- if he's accepting their pull requests.
Why should we believe that him changing his views on personal and management behavior is some kind of surrender on his part, rather than a rational assessment that this will materially benefit the software and its community?
>Have you ever worked with brilliant assholes? It sucks the life out of you
There's a vast difference between a "Steve Jobs type asshole" and a "Linus type asshole". The rants I read from Steve Jobs were all petty, domineering and often arbitrary.
The rants I read from Linus were (mostly) about senior developers who tried to defend broken designs and breaking simple, well thought out rules. They were entirely predictable and avoidable.
The former would suck the life out of me but I wouldn't mind the latter.
I'm more generalizing stuff our industry is bad at accepting because we all know a brilliant asshole who can appear to be nice but is locked and loaded ready to burn you at the slightest whim. In fact, i'd wager that the most difficult people to work with are the ones that can be nice at times because their unpredictability just ads to the confusion & chaos. The worst is if/when they do apologize but don't follow that up with action - i'm thrilled to see Linus committing to action!
The world "loves" the persona and all the legend around him not the real person because they never had to deal with him other than WWDC and a few sightings in a random coffee shop.
I feel many jump to judge Linus as a brilliant asshole too quickly. He obviously has charisma and great leadership qualities. In addition he is blunt and speaks his mind, also when he is emotional and maybe irrational.
I feel assholes are people who make decisions and take actions ruthlessly. I've not seen Linus do that, though perhaps I missed it.
edit: hey Chris! Love your work :D I don't think Linux would have been as successful under his leadership if he went around insulting people like that everyday. So I still think he has charisma even if he gets ugly every now and then.
Well, then don't work with brilliant assholes and start your own company where the culture is different. This is not meant to be snide. Be a creator if you believe so strongly in your principles. Lead by example.
If enough people start enterprises with your attitude things would change.
Trying to impose your principles in others breeds resentment and conflict. This is human psychology.
Have you ever worked with brilliant assholes? It sucks
the life out of you - and it really sucks when they
get idolized and rewarded heavily.
Yes and yes. Dear god, yes.
A bit tangential, but I'm not sure that Linus is generally thought of as an asshole in general? Is he?
My outsider's perspective is that he's admired and liked besides these occasional rants that sometimes get kind of weird and insult-y.
I'm not excusing those moments by any means! I've just never gotten the impression that they're the rule, or that he's generally some sort of unbearable tyrant.
Most great people have a flaw that hinders them or even brings them down. That same flaw is also part of the trait that drove them to greatness. Linus's flaw fits that model and he's self aware enough to grok it and try to mitigate the problem. That said, if you removed 100% of the asshole from Linus you'd have removed the drive that made him a hero. I hope he finds the balance. Regardless, he'll always be one of my heroes.
Is that a fact from psychology or statistics or something, because it sounds to me like making excuses for his bad behavior? I don't see how being an asshole should have much correlation with success.
It seems that not suffering fools gladly could well be correlated with success. It reduces time wasted (although doing so extremely impolitely may have other negative results).
I acknowledge it's just my feeling not based on any psychology research that I know about, though if you'd seen any of the other comments I've made in this thread you'd see that I absolutely don't make excuses for Linus's bad behavior. Quite the opposite.
And I don't think you understood what I was trying to say regarding the dark side of what drives a successful leader, I didn't communicate it particularly well.
Is anyone really rallied to the cause by Linus himself? I think the product is the only real draw. With the exception of a select few that simply want to work with someone as high profile and legendary as Linus.
Personally, and maybe I’m in the minority when thinking this, but I can’t stand working with polite people.
They not only slow down the progress of a project by often causing unneeded busywork, from simply not halting bad ideas, they often slow my learning progress down by not telling me I’m wrong.
If you see something stupid, call it out. If I’m doing something stupid or say something wrong, call me out!
There’s obviously a happy medium somewhere in there, and Linus isn’t it, but I would much prefer working with a Linus than someone polite. From the history I’ve read, he’s not holding grudges, or necessarily attacking people, he’s attacking dumb approaches and ideas, which happen to be authored by people. At least that’s how I’ve always interpreted his rants.
So you are equating politeness with not halting bad ideas. That is not politeness, that is incompetence. Competent people would halt bad ides, but it can be done in different ways:
- Abrasive: This idea is the dumbest ever and you are an idiot that deserves to die.
- Constructive: This idea have problems X, Y and Z.
- Polite: Thank you for the effort, but I see problems X, Y and Z with the idea in its current form.
A lot of the discussion here is confusing the question of competence with the question of tone. You can be competent and have a nice tone and you can certainly be incompetent and have an abrasive tone. I can understand not having the patience for politeness, but personal insults are obviously counterproductive.
Your "polite" has moved way too far into manipulative / passive-aggressive with weasel words like "I see" and "in its current form". If you are in a position of power like Linus, where your perception is the project's reality, couching such realities as if your perception is the only problem will lead to fights and a lot more resentment. Just saying, "Thanks, but I won't accept this until X, Y, and Z are corrected," is still polite, but also gives a clear course of action for the recipient. And yes, some people read directness as rudeness. You can't help them.
Why would you start fighting and/or feel resentment if you received a reply like the "polite" example? Genuine question, I don't see the issue but I'm ready to learn.
Not the parent - but I think it's because it can be seen as too subjective and too open for debate. Like: Oh, so one person opines that x, y, and z are not for them, let's debate it (or outright dismiss it).
And the resultant debate might well be polarising or destructive by itself.
Without knowing what the parent experienced to cause their take on this type of politeness I'm just guessing, though.
It is interesting because I think I see a cultural thing here too: in some cultures "I feel" and "I see" and "currently" are as firm as "unacceptable until it changes" - just worded in a way that conveys respect for the author. But in other cultures it is read as vacillating. Dunno. Guesswork, as I said.
As I said, some people will interpret directness as rudeness. Those are the ones that expect for the language to be couched. But, in my opinion, it's better to be seen as occasionally rude than allow for those other negative behaviors to occur.
It's not a direct decision to fight. It's more that the weak language opens the possibility of action where none really exists.
What they see is a chance to convince you ("I see...") or refactor ("... in its current form"). What you see is someone who is being stubborn and just not making the changes. So, it leads to a lot of friction and talking past each other.
I guess this depends on the context, but I don't really see the problem. If I reject a patch due to some specific problems with the code, then surely I should reconsider if the submitter could refactor to avoid the reasons for rejection? And if I was actually wrong about X, Y or Z, then I would like to have that pointed out. Everybody can make mistakes.
Nothing about saying, "Thanks, but this won't be accepted until X, Y, and Z are fixed," precludes having a conversation. By all means, if you think X is not a problem, I would expect a response along the lines of, "I don't think X is a problem because insert mitigating factor here." Or, perhaps, "I don't understand the issue with X; could you explain?" In other words, allow directness to beget directness. Enumerating all the possible ways you might be wrong, just in case one of them is actually true, seems silly to me.
I don't understand this... I used that exact phrase in my original response, calling it an example of being polite, but without passive-aggressive or manipulative weasel words.
I wanted to get back to my main point which was not the particular turn of phase in my example, but just that politeness have nothing to do with incompetence. This was in response to the comment that stated that politeness would mean accepting bad code, which I strongly disagree with. You show that a patch can be rejected with a polite and still technically relevant on-the-point message, so we agree about the important point. I don't think politeness implies passive aggressiveness either, so my example sentence might have been badly chosen.
Anecdotal, but I'd enjoy feedback in that "polite" form.
Of course, it might also depend on that person's reputation and my previous interactions with them. If I have had 50 negative interactions in a row with them, getting such feedback might make me want to throw my laptop into the toilet.
But in most cases I think it would be a good way to phrase feedback.
my understanding is your politeness would be interpreted in essence as saying that the issues are subjective rather then objective. when later in the process this is revealed to not be the case, this will lead to friction: hence fighting and resentment
I think it depends a lot on the context. Some examples:
- Someone injects an obviously inferior idea for political reasons (e.g. the recent TLS 1.3 debate). Then, a rude response might be your best option to deter the opponent. I think, some of Linus's attacks from the past fall in this category.
- Someone is just inexperienced and proposes a bad idea with good intentions. Then go for factual "This is flawed, here is why".
- Someone proposes an idea with flaws, but you see potential beyond the current proposal. Then, one should politely point out the current weaknesses, and at the same time encourage the proposer to improve on it.
As successful leader, you need a repertoire of responses.
For someone acting in bad faith (e.g. trolling, deceptive agenda) insults are probably justified. On the other hand, this is probably the actors who are not really deterred by insults, so I wonder how constructive it is.
>So you are equating politeness with not halting bad ideas. That is not politeness, that is incompetence.
In some cultures, direct comment on an idea is the norm, but in others it might be very rude. Even engaging in what you might find to be polite critique can be a challenge; even the most well intentioned comments might not transit cultural boundaries unscathed.
Worse, there might be some context you're missing that causes you to trigger someone without any intent to cause offense.
Example:
A new, senior developer transfers to my team. He puts up a CR and asks me for review. As I comb through it, I find a couple small bugs and take the time to explain why they are bugs, thinking perhaps he did not understand a subtlety in a library we are using. This same library has tripped up a number of developers on occasion, as there is a state that is being manipulated, but under certain circumstances it can be put in a state that is not intended. It's part of a language standard library and not something we can wrap in a safer way, sadly.
He apparently knew about it but just didn't account for it, and he took my explanation to be very patronizing and condescending, given that he already knew the problem. He then read into the rest of the review a hidden malice.
This is partly my fault; perhaps I didn't need to fully explain how the function works, though with the misuse I thought it could be a chance to teach. I probably should have taken more care in some of my verbiage; I tend to be somewhat direct, which comes across stronger than I intend it to. Not "You're a moron, delete this bad code" but more "This function call will not do X, Y, and Z. It will do W instead. Why not use ABC instead?"
Well if there actually was a bug, as you state, you are clearly in the right to point it out. Both parties in a communication have a responsibility. The party criticizing the code has a responsibility be factual, concrete and constructive, and to only criticize the code, not the personality of the author. The recipient of criticism on the other hand have the responsibility to listen and not become defensive or take criticism of the code personally.
Personally though, it also really irks me when someone carefully explains me something I already know, so I understand the mindset.
If you criticize the code by pointing out factual issues, then the the author can lean and improve by understanding these issues and improving the code. Calling the author an idiot does not help to improve anybody.
> If you see something stupid, call it out. If I’m doing something stupid or say something wrong, call me out!
...but that can be done politely, or not(†). In my experience, being polite doesn't add a high cost to calling someone out, makes the person being called out less upset on average, and generally improves the quality of ensuing answers/discourse (because those involved aren't burning emotional energy on pushing their anger to the background). Both of those latter two things are good.
Sure, there are some people who can take a flaming load of unfiltered criticism to the face and remain unfazed, but assuming that that's the _norm_ doesn't seem especially realistic.
(† = Or in between - "polite" is not a boolean. It's not even a numeric measurement; one can be polite/rude in different sorts of ways.)
The cost of excessive politeness can be that the person doesn't get the message. I've seen people waste hours on the wrong problem because the person giving feedback was overly polite, and also things just reach an impasse with no progress made because everyone's being too polite to point out the elephant in the room.
I think a better word is "respectful." You can be direct and blunt, as long as you're respectful.
You're in the minority but you're not the only one. You can see the sentiment expressed about Rust community a lot. Super nice - don't ever say anything that may upset someone - kind of atmosphere is off-putting to many. I for one wouldn't want to work in such environment but I would love to work with Linus.
The problem is that people who prefer direct non-bs communication are also usually more emotionally mature and better at adjusting to others. They will keep quiet or look to move somewhere else but will rarely complain. Meanwhile easily upset and less stable people complain more readily and usually louder to force others to adopt their preferred style of communication (which often comes down to "don't criticize me and use the kind of language I prefer")
You can be super nice and not upset anybody without compromising on technical rigour.
> The problem is that people who prefer direct non-bs communication are also usually more emotionally mature and better at adjusting to others.
I would argue this is entirely false. If they can't adjust to others finding their behaviour offensive by not being offensive, they're not "better at adjusting to others". Yes, this is a two-way street, but that doesn't automatically mean everyone has to be comfortable with the guy who swears at you and calls you an idiot for writing a patch they didn't like.
We can have technical discussions without personal attacks, without rude language, without racial or sexist slurs. We manage it at my work all the time, although I for one think I could still do this better.
It's difficult when we grow up in a culture which glorifies violence and "macho" behaviour, where most of us in the field are male and have been told all our lives that we're expected to be strong and independent and assertive.
And honestly, if you can't find a way to explain why an idea is bad on a technical level without offending someone, maybe you don't have a good enough reason to criticise it, or you need to think about it some more to figure out why you don't like it apart from your initial reaction.
You can be super nice and not upset anybody without compromising on technical rigour.
That's the ideal. In practice there are always people, a minority, who can't or won't separate criticism of their work from criticism of themselves regardless of how nicely it's put. And then you have a problem.
Fortunately these people are mostly outside the technical realm, where direct criticism of work is very rare.
>Fortunately these people are mostly outside the technical realm, where direct criticism of work is very rare.
I think this sort of special snowflake attitude is part of the problem. There are plenty of other fields where people's work gets directly criticized. Tech is not uniquely (or even unusually) rational or meritocratic.
That's extremely rare, in my experience. Nowhere near what developers go through.
It's rare even for basic things like spelling errors or typos to be pointed out, let alone more serious problems like a presentation containing statements that are wrong or vague, meaningless, etc. If people get their work criticised so easily why are there so many spreadsheet errors around, why are there so many vacuous PowerPoints and business processes that go round in circles leaving behind furious customers?
I've witnessed all this first hand. I've also seen what happens when programmers and non-programmers in a tech firm get accidentally mixed together: the programmers start pointing out mistakes in the non-programmers work and cause an "incident" because the others aren't used to being peer reviewed like that.
> Fortunately these people are mostly outside the technical realm, where direct criticism of work is very rare.
No, no, no. Why do you think that?
Example: a central part of artistic practice in art/design schools and professional work is what is known as "the crit". It's where they gather and show their work to each other and then proceed to shred the fuck out of it (with widely varying degrees of politeness).
Similar kinds of things happen with writers, marketing and film-making.
The only place where this stuff doesn't happen is perhaps some business/finance domains where outcomes are strictly evaluated by some ROI measure and maybe compliance.
Art? Any criticism of art is always inherently subjective, it can easily be blown off as the critic not getting it, not liking that style of art, etc. I mean if someone presents to me some totally abstract splashes of paint style work, and I criticise it by saying it doesn't look like anything and can they please redo it to be much more photo-realistic, are they going to accept the correctness of my words and the failure of their efforts, or are they going to rationalise it away as repolfx not being the kind of guy who likes modern art so why even bother?
To receive the sort of criticism I'm talking about, you need to produce things that are objectively good or objectively bad, and you need to be forced to accept when you produced something objectively bad on a regular basis. Criticism that can be easily written off doesn't count.
Go look at most people in a business, and the most or all of what they produce is ultimately evaluated by other people. It's not something the laws of physics have any say in. Whenever work is being subjectively evaluated by other people the standards and levels of criticism involved are way, way lower than anything engineers get subjected to. I've only very rarely seen business documents get put through the wringer in the way complex code reviews are every day.
> Art? Any criticism of art is always inherently subjective, it can easily be blown off as the critic not getting it, not liking that style of art, etc.
I chose Art as an example simply because it was the farthest thing from a technical field and thus refutes the assertion that "direct criticism" in non-technical realms is rare.
All I am stating is that criticism of work is a central component of art (and other non-tech domains). It is not "rare".
You are saying that art criticism is "subjective" and that therefore it "doesn't count"-- that's your personal opinion that I don't care to argue about. Subjectivity is as much a part of the human experience as anything else.
> I mean if someone presents to me some totally abstract splashes of paint style work, and I criticise it by saying it doesn't look like anything and can they please redo it to be much more photo-realistic, are they going to accept the correctness of my words and the failure of their efforts, or are they going to rationalise it away as repolfx not being the kind of guy who likes modern art so why even bother?
Is there really such a big difference to criticizing a software design? Or a UX decision? Most creative work takes places in areas where taste/style/culture and craft/precision/technique meet.
In practice there are always people, a minority,
who can't or won't separate criticism of their
work from criticism of themselves regardless
Sure, absolutely.
But consider the topic at hand. We're talking about Linus referring to people and/or their work as "brain dead" and things like that. It really doesn't take one of your snowflakes to take something like that personally.
There are a lot of times (in sports as well as software development) when I've received harsh feedback and been 100% fine with it. But it's not always appropriate.
Your explanation of it relating to emotional maturity doesn't really resonate with me.
I prefer direct, but polite, communication. I've not taken any sort of test to measure my "emotional maturity" but if my career has been any sort of measure I'm reasonably emotionally mature (more years spent in leadership than not, plenty of folks following me from one organization to the next).
My take: I think a lot of this is a cultural thing, particularly relating to showing respect. You either grow up in that sort of culture, or you don't. Or otherwise, you lack the emotional EQ to pick-up up the commonly accepted cultural mores. How do I know this? Share some of your exciting exchanges with friends and family and see how they react.
When I share what I consider to be some of the more abrasive experiences with folks that I grew up (or are otherwise friends outside of the industry) they're always curious how it doesn't come to fisticuffs. We just never talked to one another that way. Where I grew up, it's fucking rude to talk to one another the way Linus and others like him do. Give respect, get respect.
But personal insults are not direct non-bs communication. Saying to someone they should have been an abortion is not a sign of emotional maturity. Accepting denigriating insults without complaint is not a sign of strength or emotional maturity.
Politeness should be low-cost. People going out of their way to make everything super nice are treating everyone as though they have fragile egos.
What people really want is to just know technically and precisely what is right and what is wrong so they can improve — leaving out all of the personal crap, positive and negative, except in the ways that people working together have normal human social relationships. So, like we can chat about our lives in downtime, water-cooler talk, and we can get to know one another. Extra politeness doesn't do that, it's just superficial.
In the email Linus indicated that this is result of a confrontation with his community. They basically performed an intervention and he has accepted it.
The guy himself admits that something is seriously wrong, and for years he clearly has attacked people, personally, and folks have quit, and many have called him out for it.
This is a positive change. No need to convert it into an slam on politeness. It's not like the world is being overrun by well-meaning polite people being ineffectual. Assholes who don't know when to stop, on the other hand, that's a serious problem!
I don't know that I agree with your idea of polite
To me, at least, polite in a code review is, "This commit is bad because of [X]"
Brilliant assholes are the the second best to work with because they give the information polite coworkers do concatenated with ", and that's because you are a completely incompetent engineer and should rethink your career" or something similar.
The kind of polite you are referring to would be one of two people.
Option A:The sociopaths trying to control their image in an organization so they can gain more money/power
Option B:Actually incompetent people trying to protect their job because the brilliant asshole who is the leader would rather fire anyone who annoyed them instead of mentoring them
I think people get confused. They see people they think are hard-assed, no nonsense types, but don't exactly get what's happening. They conflate how they felt with what was said.
For instance, Bob is just starting out as a junior dev. He gets pulled in by Carl. Carl is project lead and everyone admires him. Carl is smart, quick, and insightful. He's seen as a bit of a hard-ass, but he's never wrong. He cuts through bullshit. So he pulls Bob in. And he tells Bob, "I've reviewed your last commit, and here are problems X, Y, and Z with it. X causes this. Y is deprecated and B is how we should be handling the issue now. Z gives the wrong result for this set of cases."
And Bob leaves and Bob feels bad. He feels just reamed. Seemed like nothing he did was right. So he gets this impression in his head that Carl really laid into him. Fast forward 10 years and Bob is now a project lead and he wants to emulate Carl. Because despite how hard Carl was, Bob learned a lot. He's a lot better than he was back then. Now, he doesn't think he'll ever be Carl, but he's still good.
And Bob is reviewing Dave's code, and Dave's code is just as bad as Bob's was 10 years ago. So Bob calls in Dave. And he lays into Dave, "Just what the fuck do they teach in school now? Look at what you did here. You fucked it up. Don't you know about A? Or B? You have to do better."
And Bob feels good, he gave a "Carl"-style rant and now Dave will get better.
But reread how each approached their junior. Carl didn't attack Bob at all. He focused on the code itself. Bob internalized the criticisms of the code and took it personally. So when it was Bob's turn to criticize, he made it personal. Of all the lessons he was given that day, he missed the most important one.
So, you see "This commit is bad because of [X]" as polite, because you aren't the type to internalize criticism of work as criticism of you. People who do internalize it, see it as one and the same and feel that comment as "brilliant asshole".
The kind of brilliant asshole you describe, aka Bob, hangs on a bit longer because he's not bad at his core job, it's just that he has a tendency to handle people poorly.
A big part of the problem with many projects, or even companies, is that leadership is too soft and so you end up surrounded by incompetent individuals who either through delusion, or Dunning Kruger, have difficulty assessing their own ability. This results in incredibly inefficient and 'noisy' (as in signal:noise ratio) working environments. 'Hard' leadership gets rid of the slack and is willing to tell people when they're screwing up. This means you're going to be surrounded by the best, and anybody that's not carrying 100% of their weight is going to get removed. Of course you can have a problem there if the leadership is brutal and incompetent, but brutal and competent is a phenomenally desirable mix -- and that really sums up Linus, perhaps to extreme on both sides of the equation.
And in my opinion that really sums up many of the most successful leaders, both past and present. Though of course one huge difference between a Steve Jobs and a Torvalds is that Linus' work and behavior is, like Linux, completely open. Steve Jobs' was able to keep his persona restrained to within corporate avenues, with the rest of the world shown an extremely sculpted and fake image, the depths of contrast between the two only coming out after his death.
There are plenty of examples of great leaders who were direct, driven, and hard, yet still treated people with respect. It's not an easy trick to pull of, which is why people like Steve Jobs just said fuck it.
Elon Musk isn't abusive. He extremely driven and demanding but that's not the same as abusive.
I could expand the list quite a bit if you want but do you really believe it'd be a challenge for me to list important leaders who aren't assholes? BTW, I don't know these people so I might get it wrong regarding some of the people I'd list.
Googlers/Xooglers describe Larry Page as "rude" "egomaniacal" "jerk". [1] And fitting the typical pattern, the same individuals also describe him as "brilliant", an "intellectually honest person" and with a "vision stronger than arguably anyone in the industry." The reason you listed Brin and Page is because you know nothing about them outside of their carefully crafted public personas, which again tend to contrast quite starkly to these individuals' private behavior. But with Linus he acts as he is rather than crafting some fake public persona.
---
As an aside, this is all very reminiscent of politics. We collectively claim we absolutely hate politicians who give nonanswers or focus tested and completely 'fake' responses to practically everything. Yet oddly enough, these people make up very near 100% of all politicians elected. Why might this be? It's because when we find a politician that does actually give his honest view on things we freak out and look for somebody 'better'. And who's better? The liar that tells you what you want to hear, instead of what he really thinks. And we get people that are smiles and honey on the surface, and two-faced corrupt liars on the inside. And then we act confused about why what they do and what they say don't match up.
Just eccentric and annoying to you. This entire discussion is largely about the fact that different people interpret the same style of feedback either as offensive or as refreshingly direct.
For instance, Page one told someone that what they did was boring. Eccentric or abusive and jerkish? Probably the latter. What about the time he suspended work across the entire company and told everyone to work on latency because their products were fat and slow, and there was no higher priority than latency? Probably not offensive because it was targeted at the whole company? But if the same feedback had been given to an engineer one on one, maybe offensive.
I'd expect that anecdote was not the reason for the declarations. The vast majority of Googlers will never have any 'real' interaction with Page/Brin, thus giving intimate examples of their behavior in private would be unwise. I think this is part of the reason that the flood gates for Jobs only opened once he died a premature death.
So you think that the founders of Google are abusive assholes based on no real evidence then. It's easy to make claims about anyone applying your loose rules of evidence. It's flimsy, sloppy thinking, not to mention unfair to the people you're talking about.
The real issue isn't about any one or two individuals, though, it's the principle. The question is are there good leaders who are direct yet exercise self control? The implied question is do you have to be an asshole to succeed? I can list more examples if you think the ones I chose were inadequate, or you could acknowledge that I have a point. This isn't a contest. We are all here to learn.
No, I think that people that have had personal experiences with Larry Page have described him varying as egomaniacal, rude, and a jerk, which is relevant to this conversation. My personal opinion is, however, based on something different. I tend to judge individuals by actions, not words. Words are too often fake. This can be both 'good fake' as in people who build up artificially positive personas, and bad fake. I have no doubt that the individuals who had these experiences with Page genuinely believe him to be as they said, but one person's jerk is another's honesty, one person's egomaniac is another confidence, and so on.
So what can we judge Page/Brin on? Due to stock structuring they still have disproportionate control over Google and so Google's actions are going to be heavily attributable to their personal views and values. If you think the direction of Google is 'good' then that ought reflect accordingly upon your view of their values. And similarly if you think the direction of Google is something less than 'good'. There are numerous issues there as well of course but lacking superior alternatives, it's better than nothing.
You're fixated on these guys. They aren't really the point, though i don't think anything described rises to the level of abusive behavior. Calling someone's work boring doesn't do it, though even if I'm completely wrong about those guys it's not crucial to my point. I even acknowledged I might get it wrong about some of my examples, but unless you think such a list isn't possible, then the matter of Google's founders amounts to a red herring, a distraction.
The assertion is that there are a lot of examples of strong leaders who did not abuse those who worked for or with them. The subtext states that abusive behavior is not a prerequisite or driver of sucess. It's the dark side of ambition. We could talk about Steve Job's rocky career where he was his own worst enemy setting his own vision back years.
I can give examples of abusive leaders chasing away key players, setting back projects with rippling consequences felt for years, recovering slowly, never quite getting there. These leaders accomplished a lot but ultimately left with a sense of a partially realized vision. Unfinished business.
These same leaders also often hurt those closest to them who actually did need them, neglecting or even abandoning children, a reprehensable act for any reason but even more so to gratify ego. This is just not how a man acts.
At the same time, you likely don't see the succesful leaders who became fully realized adults. I coud list 50 and you'd pick out some to fixate on because of their flaws. This tells me that your opinion is received truth. You defend it with the sophistry a partisan uses to defend an ideology.
The point was not about 'these guys' but about your example, even in so few given, being a perfect example of the problem. It's difficult to know whether your perception of a person is genuine or based on a facade. The fact that you listed Larry Page was just a particularly good example of the issue. You listed him not because you knew he was a person who fits your criteria, but because you assume by default that the lack of evidence indicates somebody must therefore be notably upstanding. And this assumption is fundamentally where we disagree.
Yes, it's always hard to dicern facade from reality but we can't make assumptions that the facade hides abusive behavior. In some cases it does, but just because someone maintains a public facade doesn't mean they're doing something bad behind the scenes.
And, critically, no matter how hard you try to maintain a perfect public facade, the truth comes out eventually if you're abusing people.
Anyway, I think we can agree to disagree on this whole topic. I enjoyed discussing this with you and I don't expect to convince anyone I'm right on anything.
>It's flimsy, sloppy thinking, not to mention unfair to the people you're talking about.
And yet you're dismissing the opinions of those with apparent first hand experience working with said leaders, while having no first hand experience yourself.
You gain followers when you work for a the benefit for others.
You lose followers when you treat people badly.
Belittling people in a public forum is bad behaviour. I'm amazed its taken so long for the penny to drop. This is in any half decent company's Anti-Bullying training. It's not like you need to be particularly empathetic to learn this stuff.
Those thing are not mutually exclusive. You can be both Charismatic and Rude.
Many people are happily following Linus' directions. Sometime he enforces those directions rudely, which drives some people away. It also prevents crappy patches from stubborn contributors from going through.
Totally. I've always felt that's the price for having the Linux kernel be what it is today. Just imagine what kinds of shit would get merged into the kernel if it was run by a council of submissive, overly-polite people with soft handshakes.
I always considered certain kinds of programming to be like smithing on a hot forge: If you can't handle the occasional burn, then it's not for you. I mean this idea is not even a little bit controversial when it's about tangential things, for example people that are unable to work with tight deadlines in stressful situations. Either you can do it, or you can't. Nobody would reasonably suggest changing the market or the business model to accommodate. Because you can't reasonably suggest that, because reality just doesn't work that way. We can only get a Linux kernel of the caliber we have today by using a hot forge. Now it's certainly true that some good ideas will be deflected in these kinds of environments -- just as happens in all environments -- but nobody would reasonably suggest that any kind of environment could achieve perfect meritocratic efficiency, either. Because it's not possible to do that anymore than it's possible to make financial markets less stressful places to work with looser deadlines. This is a roundabout way of saying that this (and everything like it) boils down to innate competitive humanity and as we all know, when it comes to anything that involves more than one person, you can't make everyone happy all the time.
I think the comparison with the workplace doesn't work really well. Linux is an Open-Source project, with the exception of some people that get paid by their employer to hack on the Linux kernel, people work on it voluntarily. This is a whole different universe.
To be honest, I don't see any point in overly hot forges in the workplace. People hopefully go to work because they like what they do there. But on the other hand it's sometimes difficult to prevent, like as you might suggest in financial market jobs, or of course in many Startup jobs which don't have much money.
Anyways, Linux is a project made by Linus Torvalds and it developed along his Philosophy of doing this. If someone doesn't like that, there are enough choices like Windows or macOS. Or for more tech-savvy people there are other options like for instance the BSD flavours.
I agree with your third paragraph, but I disagree with the others. But interestingly, where I slightly disagree with your third paragraph, it's because of reasons that essentially boil down to your first two paragraphs (heh). I feel this is sort of related to people that say "If you don't like it, go write your own" which is at this point really not possible with something like the Linux kernel, and so choosing another option just isn't an option, really. But mostly I agree that if you don't like the way the Linux kernel is run, there are other options and after all, nobody said it's a community anybody's forced to be involved in. On top of that it's not an all-or-nothing proposition, either. If your kernel patch gets shot down, it's actually deliberately built to make it very easy to just compile it yourself, with your patch, and then just rebase your patch anytime upstream changes.
But with respect to your first couple of paragraphs, I think it's really a lucky set of circumstances that allow a person to work a job in a workplace that they enjoy, and I will say for the both of us (presuming of course that you feel the same way) that we are very lucky to work in the industry we work in. But I also feel very strongly that jobs are -- for most of the rest of humanity -- something that people do because they have to and not because they particularly enjoy it. There are obviously workplaces with hot forges and I would argue that there are more workplaces with figurative (and literal) hot forges than workplaces without. I worked a job for a number of years which required me to carry (and use) various kinds of machine guns. Now I can't say I didn't enjoy it personally, but it's true that most guys were there because they had few other options. They were working a job with a hot forge because if they didn't, their kids would go hungry. I mean I'm pretty sure there would be no humans working at McDonalds in the Star Trek universe.
"Psychopathy, sometimes considered synonymous with sociopathy, is traditionally defined as a personality disorder characterized by persistent antisocial behavior, impaired empathy and remorse, and bold, disinhibited, and egotistical traits."
I met several seemingly charismatic "leaders" in my professional life that turned out to be manipulative egoists that didn't care about the effects of their doings, unless it affected them or their plans. We, that were affected went on to call them sociopaths. I am not a health professional, so we might have misused that term.
I'm finding it hard to think in these categories. The success of Linux is down to something Linus does and/or gets right. Even more fascinating, it might not be down to anything about him but the product he first created. So, anyone might claim "charisma" for getting the wall to be painted in their choice color but the painters just wanted a painted wall, and regardless of the attitude of the wall builder they were going to paint it.
To me it seems that there is a weird kind of paradox. While Linus often say very mean things to people, most people I think still feel welcome regardless of it.
He has also routinely said and explained that he wants work with everyone, regardless of whether he thinks they're playing fair or not. I'm referring here to his stance of not pursuing legal action against GPL infringers. He'd rather work on the relationship than write them off. This I think has been very important in driving Linux adoption and cooperation. This is something almost any leader probably would not have done. So I think we can be very grateful towards Linux for this.
On the other hand, you get people who insist strongly on being nice, but are super quick to write off relationships or ban people from their organisations and projects when they're not following rules. This probably tends not to be great for the longevity of these projects.
> "A third category of people who are able to accomplish their goals by rallying others to their cause. They are essentially imposing their will on others, but are able to do it in a way that is not "rude." This is called charisma... does not necessarily imply dishonesty or trickery; arguably, the most charismatic people might be those that are true believers"
I find it helpful to distinguish between charisma and presence.
Charisma can be on the surface, think marketing. Pop biz lit tends to focus on this aspect.
Presence comes from within, confidence from mastery grounded in centeredness and integrity.
This distinction comes from Scouller's "The Three Levels of Leadership", 2011.
See the synopsis on "Attitude towards others" here:
He's not just stubborn, persistent, and unyielding: he's performatively so. In his most notorious attacks, he's clearly playing to an audience. That could be the problem. He clearly can separate the blunt stubbornness ("we do not break userland, period") from the performative rudeness ("SHUT THE FUCK UP MAURO").
(I mean, to be clear: what the fuck do I know? I've never been in the position Linus is in.)
I received a master's degree from an art program in which the (male) professors had a great deal of license to performatively take down students, from the initial admissions interview through two years of group critiques. It wasn't unusual for a professor to reduce students to tears. Graduates of the program brought this culture to their own teaching.
Recently I worked at a school whose critiques were set up explicitly not to replicate this harshness. I discussed this with a few friends from grad school, and we were mystified: "How can anyone produce good quality work unless they are constantly being torn apart?" "Is there another way to learn besides being humiliated?" Which led us to look at each other and think, well, we certainly don't choose to live that way otherwise.
And that is the question -- and maybe we'll discover on lkml: is there a better way to create something remarkable. And to replicate that behavior in whatever projects we take on.
FWIW, I'm pretty sure that "tearing someone's work apart" doesn't require "tearing the person apart / humiliating them"... and I suspect it's the former rather than the latter which is, in the right contexts, useful in learning / improvement.
I found that a good way to do this is to try and guide the person's thoughts carefully towards the point that you are trying to make. The monent of realization that this hopefully creates is a strong teaching moment. And they tend to experience this as emotional high points themselves when they manage to take up your train of thought and complete it.
I may have misunderstood or be misremembering, but isn't that what's called “the Socratic method”? Which seems to imply that this ought to be known pretty generally, even among Linux kernel developers. It's not as if it were some new-fangled weird idea out of left field...
If your aim is to make yourself feel better by putting someone down, then sure, I guess the person is responsible for the code, go nuts.
The aim of any adult should be to get a contribution without the flaws. If that's your aim, then telling someone they are stupid or whatever, at best, does nothing. At worst, they never contribute again.
How can you produce good work if you never improve yourself? If going personal can improve someone and then improve their work, whats the argument again that we shouldn't go personal?
"Going personal", as the grandparent pointed out, doesn't help anyone improve themselves. You can point out issues with someone's contribution without attacking them, and that's all they need to improve.
If someone is incapable or refuses to learn from that, then you can say that they need to before you can accept contributions from them, but attacking them personally is just unacceptable.
Telling someone they are lazy or they didn't think isn't critique of their work, it's a statement about them as a person.
If the work is wrong or bad, explain why. Insulting someone doesn't help them improve.
If you argument is people won't change unless they are made to feel bad, people said the same thing about physical pain - banning corporal punishment would mean no child would learn again. That was nonsense, and so is the idea that making people feel bad is necessary for them to improve.
> He clearly can separate the blunt stubbornness ("we do not break userland, period")
For what it's worth, he doesn't even avoid breaking userland. Off the top of my head, we had a problem at work a few months back where kernel 4.3 and below rounded up listen(fd, 0) to something nonzero, kernel 4.4 didn't, and a piece of commercial software was (inexplicably) using listen(fd, 0). https://ldpreload.com/blog/git-bisect-run is a post I wrote about tracking that down. (We're slow enough at kernel upgrades at work that it didn't seem worth reporting the regression upstream several releases later.) Also last summer Linus himself merged a commit that very intentionally broke a userspace feature that he didn't like but that Julia and rr both depended on, and got a very polite email (https://lkml.org/lkml/2017/5/29/541) requesting that the behavior be reverted, to which he replied:
Oh, we'll just re-instate the kernel behavior, it was more an
optimistic "maybe nobody will notice" thing, and apparently people did
notice.
which sounds like planning to break userspace to me.
I think that saying he could still be stubborn without being rude is doing everyone a disservice. It's clear that "do not break userspace" isn't actually a rule, and while it's a lot better than cursing out people in public, saying a fake rule very nicely is still going to hurt people, drive away contributors, and fail to attract enough eyeballs to make a high-quality product.
That quote is more accurately read as, "we change things all the time, including user-visible features, and very occasionally, even in breaking ways -- but only because it's impossible to know every single consumer of every single quirk in behavior, and as soon as we learn that one of our changes did in fact break userspace, then we'll change it back".
It's how the kernel community attempts to continue cleaning up decades of tech debt while maintaining the contract with userspace. Honestly, sometimes you just don't know until you try.
It's an inefficient process, but it does sound like the right outcome occurred in this case.
No offense but this seems like blinding fanaticism for a man who is, admitedly right 99.99999% of the other time, not perfect.
In this case however you are arguing that when he said, "we don't break userland, period" he instead meant the opposite? There was no asterix on his statement saying to read the fine print.
What he said was (AFAICT, the exact "we don't break userland, period" wording only appears in this HN thread. Let's go with the rant that I believe the GP was referencing):
The "first rule of kernel maintenance":
If a change results in user programs breaking, it's a bug in the
kernel. We never EVER blame the user programs.
Then later, to drive home the point:
WE DO NOT BREAK USERSPACE!
So, sure, "there was no asterix on his statement saying to read the fine print"--he did better than an asterisk and fine print, he made it part of the main content.
By "userland" Linus meant actual users of the Linux kernel, not all possible theoretical users of the Linux kernel. For example, if there is a program that just uses quirks of implementation to fingerprint the kernel version, it will get broken all the time and will need updating every kernel release, but as long as people's actual servers, phones, desktops and IoT devices keep working without changes, that's not a breaking change.
There's a bit back story there, so as a fun historical note, let me recount it here. In 2016, there was the Dirty CoW exploit (CVE-2016-5195), which got fixed by Linus in 19be0eaff [1]. Unfortunately, in that patch he forgot about transparent huge pages (they're easy to forget ;), which caused processes to lock up if you were using FOLL_FORCE on a memory range that happened to be backed by thp. That patch was widely backported to stable kernels, so I soon noticed my processes randomly freezing on various Linux machines. With a bit of debugging, I sent in a patch to fix that (https://lore.kernel.org/patchwork/patch/748110/), though I'm not sure that Linus ever saw it (or I guess he could have assumed we were using ptrace). Nevertheless, I assume that this being a common exploit vector for DirtyCoW made him want to remove it. As a result that was of course the second time within the course of six months that this stopped working (plus Linus' fault both times), so that email was written from a bit of a "you've got to be kidding me" mindset.
As an addendum in writing this comment, I became aware that my patch to fix FOLL_FORCE with thp actually re-introduced a version of the original DirtyCoW exploit apparently known as HugeDirtyCoW (CVE-2017–1000405) [2] - or rather my patch interacted badly with a pre-existing mistake in the thp code and caused this. Oops.
I understand "do not break userspace" differently than you do.
You seem to understand it as "do not make a change that could hypothetically break userspace." I understand it as "do not make a change that is known to break userspace."
There are hundreds, if not thousands, of little behaviors that a userspace program could hypothetically depend on. In many cases, it would be impossible to change things without breaking observed behavior.
A great many changes fall in to the bucket "visibly changes behavior, but it is unlikely that anything depends on that specific behavior." When the assumption that no userspace program is broken turns out to be false, the correct response is to revert that change, and avoid breaking the userspace (hopefully this happens in an RC, before a stable release). What's incorrect, is to insist that the userspace program shouldn't have relied on that behavior.
In the referenced rant ("Mauro, SHUT THE FUCK UP!"), the problem wasn't so much that Mauro had changed the errno used (though Linus did take issue with the new errno); the big issue was that when Mauro learned that the change broke pulseaudio, Mauro tried to argue that it was a bug in pulseaudio for relying on what the errno was.
> There are hundreds, if not thousands, of little behaviors that a userspace program could hypothetically depend on. In many cases, it would be impossible to change things without breaking observed behavior.
Is there an idiomatic phrase for the opposite of "damning with faint praise"? Praising through faint damnation? Maybe the "exception that proves the rule"?
I've always assumed that when he really goes after someone it was him blowing off steam to maintain his own mental health rather than trying to put on a show. He's been managing a pile of complexity for over two decades that would have crushed most of us long ago. If it has been even moderately for show then sure, he should work on dialing it back (just a bit... i.e. short of getting personal).
See, I felt like I was giving him more credit by saying that his rants were performative: at least that would have an ostensible purpose. If you're abusing other people to "blow off steam", that's kind of a no-brainer "you should go see someone about not having to do that anymore".
You're right about it (objectively) being a no-brainer. Unfortunately, it's often hard to see things objectively from a first-person perspective. It sounds like Linus is acknowledging there's a problem and hopefully he can work on whatever the issue is without shaving off too much of the edge that makes him so effective.
He said that he was going to get professional help. I doubt that a dose of empathy would take off his edge. I'm expecting that he'll come back a much more effective leader.
Twenty years is pleanty of time to realise the impact of behaviour. I've seen his noteable rants posted here and on Reddit for years. There no way he didn't know.
I think he has known about his behavior for a long time, and someone with influence has explained the impact.
When you are doing something no one else has done before, it can be very challenging to figure out which pieces of what you do are essential secret sauce and which could stand to be improved.
I changed my HN handle from Mz to this one after more than 8 years and only after hitting the leaderboard. I appear to be the only woman to have ever spent time on the leaderboard. It genuinely took me that long to conclude that my handle was a real problem in part because I was so dramatically outperforming other women in terms of being accepted here that, for the longest time, it honestly wasn't clear to me that it particularly mattered.
Changing my handle was so very well received that I'm sure I did the right thing. But, no, I honestly didn't see it as a big issue until after I hit the leaderboard. A few weeks later, I changed it.
Linus is a man with no real peers and there are few people who are anything close to a peer. It is hardly surprising to me that he lacks perspective on some details. It would be quite shocking if he didn't lack perspective about some things, given the path he has walked.
I'm somewhat intrigued by your comments about a leaderboard because I'm not familiar with it. Please say more about that.
With regards to not having perspective, because he's so unique (or doing something unique), you may be right. I wonder if in fact he has been enabled for many years by his closest collaborators. People who should have said, "Hey Linus don't be a dick".
There's a debate going on in Australia, about whether it's ok to bully a bit, in parliament, because it's that sort of place. It's also a workplace and bullying is illegal in a workplace.
It's ok to be a dick if your a successful, influencial genius, not ok if your not successful, not influencial or not a genius. Maybe. He's a member of a broader community, where norms exist, and courtesy costs very little.
> When you are doing something no one else has done before
Leading people?
Fair enough, he ceated something remarkable, but at the end of the day people have been leading others for literally millennia. So I'm not willing to cut him slack on that account.
(Having said that, I'm deeply impressed by the step he took in that email, and did it publicly)
What he is doing is fundamentally unlike being a CEO of a traditional corporation, being the founder of a standard charity or similar. Because it is an open source project, a great deal of what he says is available for public consumption.
When most CEOs have a cow, a few people witness it and then they sanitize the message before releasing a PR statement of what the CEO would like to see happen. When Linus has a cow, it can end up on the front page of Hacker News with everyone talking trash about him.
As far as I know, he actually handles that piece of it remarkably well. Most people would not cope too well with such a situation. I have never heard of him then going on a screed about "assholes on Hacker News" or whatever. Instead, what I have seen is "polite" and "well behaved" people nastily referring to it as "the peanut gallery," which is incredibly insulting and dismissive. I have yet to personally see Linus do such a thing.
Given how much people here like to talk trash about him, I infer this suggests it is something he doesn't do.
Thanks for the thoughtful reply. You have very good points.
It wouldn't be in my personality (I think) to lash out at people publicly like that, precisely because it's a public channel. It is in his personality, however, and I think it's fair to observe the negative aspects of this behaviour, and call him out on it.
And I particularly dislike the "if you can't stand the heat, get out of the kitchen" apologist crowd (which you are not part of, I know). Not sure if I'm blowing this out of proportion, but to my ears it sounds not very different from "if you don't want to be sexually assaulted, you shouldn't have dressed like that".
Having said all that: I'm actually really impressed by Linus' email. Proud of him, even. Like all of us he has his vices, but he has become aware of them and tries to improve. What more can you ask.
To me, this has pretty much taken all of the negativity out of future blowups he might (will, probably) have: because he's now on record for not intending to be this way, I personally could overlook any personal attacks and filter them as unintentional, reacting only to the factual content.
Let me just discuss the argument about being this way in public vs. in private. IMO even traditional CEOs shouldn't be that way, whether it becomes public or not. For one thing because it's "not nice" (which they might not care about), but for another because it might foster a climate that is detrimental to the company.
A good example might be VW, whose exhaust cheating fiasco seems to have come about in part because engineers didn't dare push back against impossible demands from top management.
It wouldn't be in my personality (I think) to lash out at people publicly like that, precisely because it's a public channel.
When you live in a fish bowl, it gets much harder to figure out where to draw that line. Big celebrities can't take a piss so to speak without the rumor mill going crazy. They do not have the kind of privacy ordinary people take for granted. If they eat dinner with someone, all the gossip rags explode with speculation that there is a business deal in the making or this is their new love interest.
If everyone talks smack about you for taking a piss, "just hold it" isn't actually a solution. You will eventually explode.
I suggested elsewhere in this discussion that he would probably benefit from a creative outlet. I'm very sincere about that and I have good reason to think it would actually help him.
But, hey, my name is mud and I'm a big fat nobody. So I won't be wasting my time or his by trying to track down his email address and shoot him an email.
There are a lot of ways to blow off steam. If the way one picks is performative public abuse, then it's not just about relaxation. One can maintain one's own mental health without damaging that of others.
This is the interpretation that makes sense to me - his rhetorical choices are intended to communicate the gravity of the content of whatever he’s saying to a large group, not just to the person he’s immediately replying to, or even lkml.
Commenters here and elsewhere frequently compare his interaction with maintainers to a code review, or similar, and proceed to excoriate him on that assumption. Rather, he’s managing a team of managers whom are all (successfully) guiding the resources of dozen(s?) of (more or less) competitors, none with a strong natural interest in giving away software, and each using and contributing to the kernel only insofar as it benefits themselves toward a common mutually- and societally-beneficial end. That doesn’t justify his rhetoric, but it may have made it an effective communication strategy
Yeah, I think that there's a line between being terse and assertive vs seeming to derive pleasure from going off on people. It sounds like Linus is recognizing that here and hopefully works on it some.
That's right. The standards of human decency don't change for people in leadership positions. What Linus seems to have is some self awareness, which will serve him well in tapping the brakes on his assholish tendencies.
I think the performant rudeness is part his way of keeping the herd in line. A big display once in a while can take less energy and be more effective than continual small corrections. Consider the actions of the lead bull in a herd of elk. Consider that Linux has been developed by a group of men using male ways of interaction, which have remained unchanged since Homer.
Think back to the arguments between Torvalds and Tannenbaum. Linus earned his place through a combination of technical prowess and forceful personality.
Consider that Linus can now afford to transition to the role of the wise elder. That role traditionally adopts a more considered and politic view when resolving conflict.
It doesn't exactly count as insight to observe that there's value in minimizing bullshit. Meanwhile, Linus just got done explaining to you why he's unhappy with the balance he's struck there.
You're claiming is (and the common trope is) the actual distribution is in fact a straight line with a -1 slope (y=-x). I think there's a general possibility that the distribution is focused around the y=-x here, but there are outliers (imagine the line blurred out) with some wings escaping the lines, with probably what people want the most being in the 3rd quadrant (y<0 && x<0).
And hell, there are people who are both abrasive AND ineffective in real life. We know that.
To take it one step further, I'd say that it's more of a probability function than a 2d chart. I think of it more as your chart, plus a 3rd dimension of "context", then a density cloud.
Put another way, people have probability distributions of alignments based on context.
If you populate these quadrants most points might lie in QII and QIV (along the -1 diagonal) with few in QI and QIII (though maybe we all know many QI's in our lives...).
I think that's obersavtion bias. We tend to remember people who are either abrasive or ineffective. The former because their behavior stands out and the latter because they tend to get in our way. People who are effective and kind tend to be forgettable because we get exactly what we want without any conflict. It just magically appears to work.
I think there's a delicate way to be both "firm" and "polite" - and that's to not be pretend to be "agreeable", but rather to separate the firmness on technical issues from politeness on personal description. That is, to say "this code is awful" while also a) going out of your way to praise the things co-workers/subordinates do well, and b) when it is appropriate to make general judgments on their performance, make it clear that they are appreciated.
The core of the idea of someone being "passive-aggressive" is the idea that you never know where you stand with someone; if you're very clear about what things you're unhappy about and also what you're happy about, that's less of a concern.
For specific structures, I've often heard people involved in military leadership describe a formula of "praise-criticise-praise", which seems to be an attempt to run this balancing act on a personal level. "Whew, this was a big project you got done! This bit of code is absolutely bonkers. Everything other than that looks great to me, though."
Another technique is to make sure that people hear things from you not just when you're annoyed about something, but also when you're impressed. (Or, when you're not super impressed, talk up their areas of basic competence.) That gives you more leeway to criticize bluntly without impacting morale, and also makes people more eager to please. (Yes, a lot of leadership practices are manipulative as hell. Try to manipulate people without destroying their mental health and happiness please, that's super abusive and also counter-productive.)
To me, the most important thing is to a) seperate the person from their product b) be constructive. By that I mean saying "this code you wrote is bad and here's why" instead of "you are a bad coder and you should feel bad".
Much modern management theory recommends against the praise-criticize-praise format, FWIW -- I noticed this while I was taking a required management course at the Mouse. Everyone knows what it is, so you wind up dissipating the value of the praise because it feels like something that you're just saying for the sake of the formula.
This comment is fairly irrelevant to the topic at hand.
Yup - that's the downside to any formula. I think it's more important, therefore, to understand the reasoning behind the formula so that you can play things a little more "authentically" and fluidly.
Something like "start soft and grow loud slowly, cuz if you start loud you can't tone it down later without looking weak or overplayed" is what my ex (a lawyer) used to say.
YES! Saying "this code is awful" in a code review is absolutely the wrong approach. What's your expected outcome? For the person who wrote it to say "oh yeah, silly me, I'll rewrite it so it's good"? They probably thought it was good, that's why they submitted it.
Don't make value judgements, point out what's wrong and how it causes problems
100% agree, assertive but kind is a wonderful skill and one which needs to be cultivated. My point is just that for whatever broad psychological reason, this seems to be a somewhat rare trait among very technically proficient people. It's the sort of personality trait that leads people to like and respect you.
I totally disagree that "assertive but kind" is a rare trait amongst the "technically proficient". Anecdotally, I know plenty who exhibit all of the above in spades.
The key is culture. Technically proficient people working within a community where "assertive but kind" is the norm tend to follow that norm.
I'll mention Doug Cutting as the ideal who melds technical proficiency, assertiveness, and kindness. I've often thought of Doug as a better role model for Open Source leadership than Linus Torvalds -- but it looks like after today I'll have an opportunity to reassess!
> Whether by genetics or through childhood, I'd bet people tend to cluster onto the line separating "agreeable and lax" and "rude but firm" (as a sweeping generality). We often label people who are all smiles while simultaneously extremely strict as passive agressive.
I often wrestle with these dynamics when trying to respond to community proposals, and I think there's a hidden variable: the cost of the time to respond. As a sweeping generality, the short-term cost of writing a straight "yes" (agreeable, lax) or straight "no" (rude, firm) is cheaper than the short-term cost of writing a "yes...but" or "no...but" (politely acknowledging the other side while critically discussing the merits of particulars).
Sometimes, someone can quickly come up with an explanation that is both incisive and pithy. That's awesome, and it's a good skill to develop, but (for mere mortals like me) you can't bank on it all the time. There will be scenarios which require a trade-off (time XOR quality).
I'd wager that those two clusters ("agreeable, lax" and "rude, firm") have normal people who are pressed for time. I don't think people are generally stuck in one of those clusters, but getting out... takes time and attention.
>Anecdotally, one of the most effective engineers I worked with, who asked penetrating questions during code and design reviews, did come off as a bit of an asshole at times.
How do you see the view that you are/were mixing his questions as an attack on you yourself (or against someone else) unnecessarily ("Does he not trust me?", "I know how these things work"), perhaps subconsciously.
It is what I've experienced a lot when dealing with North Americans, criticism is taken as an attack on your person.
> stubborn, persistent, and unyielding to what he sees as bullshit
> also a bit of an asshole
It probably comes with being a perfectionist; by definition they're intolerant of bullshit and don't like to leave things half-baked, which can make them harsh or cold to more lax people (the majority of us.)
You hear the same shit about Steve Jobs, but without someone like him, you can see many [more] annoying little things in Apple's products that only an ""asshole"" would tell their teams to fix.
Things like UI elements being off by 1 pixel here and there, that to even complain about them you'd have to have what is considered a disorder.
If you point them out even as a user you will get shut down by other users; "There are bigger problems to worry about!"
Now imagine convincing the people who work under you to take care of such seemingly-insignificant things. How would you not come off as a tyrant?
I've worked with people who are extremely exacting in their standards and absolutely reject any half-arsed attempts. But they have been a joy to work with because the sweep you up in your respect for quality and help you become better. Think of the strict teachers at school, who nonetheless everyone really liked.
I think Linus has done great things and I would like to shake him by the hand for taking this no-nonsense approach with himself. I have no doubt that he will retain his commitment to technical excellence.
I dont think the term "asshole" is fair. Linux lost it when people went against well known principles on which the kernel is built (for example don't break userland), so he always had good reasons to voice his disagreement.
I think we can say that he can be "rude", "apathetic", but he was nevertheless fair in his criticism and that's not what you usually say about assholes.
Agreeableness is the attribute imo. There’s a scale from “spineless” to “actively squelching dissent”. Agreeable side of the scale people always get rolled in direct confrontation.
>Anecdotally, one of the most effective engineers I worked with, who asked penetrating questions during code and design reviews, did come off as a bit of an asshole at times
Those are simply the people that stand out. It's harder to appreciate professional and nice leadership because if it works it does not even stand out.
If we just take some of the most successful businesses, projects or ventures around and look at their leaders, are most of them abrasive or rude? I wouldn't say that's true. There are certainly some, but they seem to stand out negatively rather than positively, and there is very little to rudeness that actually helps running human organizations.
It's popular to like renegade stories, but Linus outbursts don't improve his leadership, he's a good patron of the Linux project despite of and not because of it.
It really does depend upon what you are trying to achieve. I'm not familiar with the operation of the Linux kernel team so my comments are more from experience with large organisations.
You want your team lead/manager to mentor, encourage guide and assist towards a goal that she has clearly defined.
You want your leads manager to provide the resources your team lead has identified as being needed.
You want the senior (ultimate) manager to set the goals, provide extensive praise when goals are met and come down like a ton of bricks when they are not. He or she is the "boggy man" who must be pleased and carries the big stick, and the one the team lead insulates the team from. In most cases the boggy man is a big act, but it is an effective tactic to get all the teams working in one direction. Problems happen when the subordinate managers start hiding or changing information that the senior manager may not like. This can be avoided by having a senior manager who actually knows how things work, and can test the water on his own.
I think that the rudeness/politeness axis is orthogonal to the attention-to-quality axis. I've plenty of colleagues who are rude and pushy and produce shitty work.
Yeah. Also, I think one should consider context. And I mean not only purely technical context, but also human context. A person that has a personality that's disagreeable enough to be able to be tough, while usually staying civil might just have a bad day now and then. Having personal problems, being overworked - whatever - that might push them over the boundary into straight up rudeness on occasion. You just can't get it right all the time.
Let me take a guess being part of this kind of enviornment and also sometime being cause for this (i.e., I was on the on both side of table).
Most likely this originates from the belief that things are being done for "greater good", and usually "collateral emotional damage" is rationalized away (consiously or subconciously) as acceptable in the cause for a holy mission.
Anyhow Linus shows great self awareness and I'm walking away thinking that it maybe very painful but I would be a net gainer if I work along with him.
Excerpt from the mail:
I am not an emotionally empathetic kind of person and that probably doesn't come as a big surprise to anybody. Least of all me. The fact that I then misread people and don't realize (for years) how badly I've judged a situation and contributed to an unprofessional environment is not good.
This week people in our community confronted me about my lifetime of not understanding emotions. My flippant attacks in emails have been both unprofessional and uncalled for. Especially at times when I made it personal. In my quest for a better patch, this made sense to me.
I know now this was not OK and I am truly sorry.
I worked with a CTO once who was both determined that anything customer facing was the best it could be without being rude. If we didnt make the best user experience it would be rejected but we would work harder to get it right, if he was an arsehole like linus we wouldn't have.
You don't have to be a prick to comand respect and to get the best results.
I too believe those 2 sets of qualities are separable. I'm less concerned about that fact that Linus' exist as I am about the fact that some of those traits are often correlated with success, and people idolize the successful ones without separating the 2 qualities. I've seen people emulate Steve Jobs to the point of dressing like him and using his mannerisms during presentations, and then also lash out at colleagues for not meeting some arbitrary quality bar with vague comments about it not being perfect enough. Assholes often make it to the top. You gotta admire the parts of them that aren't assholes.
Or maybe that tech in general has a toxic culture problem and Linus definitely contributed to it by making it ok to be an asshole as long as you are skilled.
I often see people complain that 'soft' topics are not worth being included in conferences.
Being tough and being an asshole are two very separate things. The best engineers I have had the pleasure to work with were both technically skilled and great mentors/teammates.
Last time I have checked, software engineering is almost exclusively teamwork, it is time we start treating it as such.
Not every person that _starts_ and _makes_ a project successful grows _with_ the project. Being the person you were yesterday doesn't guarantee that fit the pattern tomorrow. I think that Linus should be the person to make this call. Perhaps Linux is where it is today because of Linus's low tolerance for BS, and he just notices that the components of the 'old' Linus are no longer acceptable/necessary going forward.
> Add to that the fact that many technical people are less socially adjusted than average and I can see why we have so many examples of mean but effective project leads.
But why should we assume or believe that the status quo we currently observe is the natural order? Or that it is the optimal one going forward? Many people who are now project leads started in a time when both computing and computers were far less ubiquitous in the world. As the world that software interacts with continues to grow and change (or, to use the cliche, as "software eats the world"), we should expect that how software is made, and who makes it, will change too.
To think of it another way, it's well-known that decades ago, women dominated the nascent computer programming field -- e.g. the first of ENIAC's primary programmers were all women [0], and "software engineering" as a concept was coined by NASA lead engineer Margaret Hamilton. Those who want to believe that systemic and societal bias weren't significant in pushing women out of the field as it became more lucrative, have suggested that women left because programming became much more than...well, whatever it apparently was when it was entrusted to women.
So it shouldn't be beyond belief that contemporary programming and software development may be even better served by engineers and developers who put an emphasis on empathy and inclusiveness.
The key, I find, is to be extremely direct and brutal in one on ones. Don't hold back, but be very supportive and positive when more than two people present. I try to explain this to be people I work with, but I don't think everyone appreciates it.
Horrible people, in my opinion, are those that do the opposite.
I am much more comfortable with people being publicly blunt. At least there is no gaslighting involved where the victim wonders if they imagined it because everyone keeps telling them "he would never do that" or whatever.
If you are on excellent terms with someone and they trust you, etc, it can work to be more blunt in private. But most people doing that are just hiding their own bad behavior and that's it. Which makes it a form of corruption.
I think it needs to be acknowledged that many people don't get subtle feedback. If you give me subtle feedback, either positive or negative, chances are I will miss it all together. I need feedback that is clear and obvious, what others could categorises as being blunt or abusive otherwise I will walk away scratching my head wondering if I've done well or otherwise.
Reminds me of advise that was given to my Wife by a friend when I got married.
Subtle hints don't work,
Hints don't work,
if you have something you don't like that he is doing, make sure you are bloody obvious when you talk to him about it.
See, this is the piece that makes me assess this as an abusive thing to do:
The key, I find, is to be extremely direct and brutal in one on ones.
I have two special needs sons. I'm a former military wife. I tend to err on the side of being super, duper blunt and, no, my kids don't get "hints." But that doesn't mean I have to be ugly about it most of the time either.
Real life example:
When they were little, I would say "The trash is overflowing and needs to go out." My oldest would look over his shoulder, see that this statement was factually true, acknowledge the veracity of it and continue playing his video game. The fact that my statement was intended to get him to take the trash out did not quite click.
There is nothing whatsoever abusive about changing that statement to "Son, you need to stop what you are doing right now and take the trash out." That's just clear communication.
I am well aware that some people think saying something like that is somehow emotionally abusive or some nonsense. I have spent plenty of time on parenting lists where people were horrified that I would tell my sons something directly instead of dropping hints or some nonsense.
I'm quite fond of the movie quote "I'm too truthful to be good." I'm also very fond of a rubric I learned long ago that "Those who believe in telling the brutal truth value brutality more than truth."
I can be very, very, very blunt. I try to always be kind, to the best of my ability. I see no contradiction between the two.
Learning to tailor your communication style to the needs of individuals on your team is just good management and doesn't require any meanness whatsoever. In fact, it's a kindness.
I'm aware there are people who feel that way. I think the difference is that, where applicable, I will also deal with the emotional piece and make sure they understand I mean X, but not Y in cases where bluntly stating X is typically presumed to also mean Y where X is something factual and Y is something ugly and judgemental.
My oldest son wasn't planned. I spent a lot of time thinking on how to talk to him about that and realized that most people equate unplanned with unwanted. So I figured out how to make it clear that he was unplanned while making it equally clear he was absolutely wanted and loved. It's never been an issue.
Perhaps you might prefer open debate or critique, but I think most people would prefer that negative speech not occur in public. I think even politely negotiated debates can end up looking embarrassing if other people who are watching can form a justifiably negative narrative.
When people are having a discussion in a visible business setting, to some degree, the precise words being spoken by either party become less relevant than the kinds of narratives people can form about either of you. It becomes a negotiation of PR rather than a discussion of ideas.
It is, it's just a different phrasing. I think you're reading more into "brutal" than blazespin intended. You might be more correct in your interpretation, but I'm pretty sure they just meant "blunt", not "vicious".
1 : a corrupt practice or custom — the buying of votes and other election abuses
2 : improper or excessive use or treatment : misuse — drug abuse
3 : language that condemns or vilifies usually unjustly, intemperately, and angrily — verbal abuse a term of abuse
4 : physical maltreatment —child abuse sexual abuse
5 obsolete : a deceitful act : deception
They explicitly said they were upfront with their peers about how criticism is delivered. Whether that is true is beyond the scope of discussion; what has been said is nowhere near gaslighting or other forms of abuse. I don’t understand what has happened as of late, but the western world has taken a very strange turn in redefining terms to make the smallest of infraction or abrasiveness a great harm. Criticism does not need to be laced with praise to be useful, and justified critique does not equal abuse. That’s complete nonsense. Delivering it in private rather than publicly, if anything, seems more in consideration of the recipient’s feelings anyway.
With respect to the topic of this discussion, I will refrain from passing a judgment on Torvalds’ change of heart until we see quantitative data on how this has impacted the kernel.
Any variant that invites perspective sharing rather than brutality works fine to accomplish almost any direct feedback.
(IE brutality usually does not admit the possibility others may have a different perspective. You are going to get a lot farther in changing/helping people if you listen to their perspective instead of just yours)
So, being nicer when someone else is watching and could corroborate, while being brutal to people when it's your word against theirs?
I wonder why people don't appreciate that advice.
"Direct" does not need to go hand-in-hand with "brutal". Don't change your behavior based on who's watching; people deserve to be treated well regardless.
EDIT: For clarity, I'm not necessarily suggesting this is the intention, but rather, that this would be the net effect, and a problem with that approach.
I mean, you did just spin it into its worst interpretation. I read the grandparent post as meaning, "Be brutal when the least ego / public stature is at risk, but never cut people down in front of their peers."
I make no such assumption, and I'm not a fan of brutality. I'm not endorsing his position, I'm just rephrasing it as what I believe he meant to say.
I'm also not a fan of intentionally putting the worst possible spin on someone's words. Reading charitably is pretty much always a net positive for any thread.
arkades is right, and there's a site guideline that specifically addresses this: Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. It's easily plausible that one of blazespin's concerns is not to humiliate people in front of their peers.
This is a problem with this sort of discussion generally: a lot of the people arguing for others not to treat each other badly, treat others very badly indeed whilst arguing it.
Well, you avoid anyone losing face, which is important. Being brutal, however, is not a good advice in any situation except a rap battle. Direct != Brutal.
If you continue to post uncivil and/or unsubstantive comments to HN, we're going to have to ban you. We've already asked you several times not to do that. Could you please review https://news.ycombinator.com/newsguidelines.html and fix it going forward?
In an ideal world these people would all be persistent without being an asshole but I do honestly feel like contributors (whether employees or volunteers) need to handle being yelled at. Even the nicest people can appear to be assholes when you're not expecting a "no."
That's my impression from what I've read. But I have no personal experience, so ...
What's really cool here is that I think he's basically acknowledging that, and declaring his commitment to transformation. Recursion can be very useful :)
A more generalized way to put it is there is a perception of a disconnect between what you say and what you do. If you'd like to shake the label, try being more direct and make sure your words more closely match your actions.
I can summarize most of the responses to your comment with one group believing that one needs to be nasty/harsh to get the point across, and the other group pointing out that a false dichotomy is being invoked.
Even your comment:
> I'd bet people tend to cluster onto the line separating "agreeable and lax" and "rude but firm" (as a sweeping generality).
You are invoking that dichotomy by drawing that line.
Another person:
>Agreeableness in general is negatively correlated with career success.
(Hidden assumption that being "agreeable" means you're not getting the message across).
>I think it needs to be acknowledged that many people don't get subtle feedback. If you give me subtle feedback, either positive or negative, chances are I will miss it all together. I need feedback that is clear and obvious, what others could categorises as being blunt or abusive
Again: An implicit assumption that either the feedback has to be subtle, or it has to be abusive. Interesting conflation of "blunt" with "abuse".
There are a few others.
FWIW, in the last 2 years I decided to read multiple books on effective communication. Pretty much all of them, at some point, will explicitly call out this false dichotomy. The mindset many tend to have is that either you have to preserve a relationship and risk the message not getting across, or be harsh while risking the relationship. The books say that at the very outset, this mindset is one of the main reasons people are poor communicators. As long as one believes in this reality, he/she is dooming him/herself to having poor communication skills.
One of the books even gives it a name: The Fool's Choice.
Once you spend time studying it, and then start observing real effective communicators (at work and in other arenas), you'll find many of them practice the skills in the books, and you'll suddenly see why they are effective.
Changing your own style, though - it will take a lot of work. Expect change to be slow, and it may take years for you to get there.
Finally, one other comment straddled this Fool's Choice:
>but rather to separate the firmness on technical issues from politeness on personal description. That is, to say "this code is awful" while also a) going out of your way to praise the things co-workers/subordinates do well, and b) when it is appropriate to make general judgments on their performance, make it clear that they are appreciated.
Please don't do this. At least not as stated above. Everyone hates this. Some feel the positive statement is insincere, and planted just to soften the blow. At the other end of the spectrum, some take the positive to heart and the positive message actually lowers the severity of the negative in their minds. "Yeah I screwed up there, but it's probably not a big deal. Overall I'm still doing OK"
If you want to highlight the problem, go ahead and do it. "For me, your code is problematic because X, Y and Z". Explain why X, Y and Z are bad things. Where you go from there depends on what X, Y and Z are, but usually the next step is to try to identify concrete actions the person can take to prevent the problem from recurring (e.g. use a static analysis tool, or a linter, etc).
On the side, code reviews are challenging conversations, because there are very few objective facts. Almost all the (nontrivial) good practices in programming are opinions (including modularity and cohesion guidelines). Never pass an opinion off as a fact. At some level, the team should have coding guidelines/standards. If the team doesn't, then the employee using poor coding practices is not the problem.
However, Linus is also a bit of an asshole, turning technical criticism into personal seemingly personal attacks. I believe those 2 sets of qualities are separable, but I would guess it's uncommon to find many people who are capable of being as tough as Linus without in some way alienating those around them, it's a fine line at times.
Anecdotally, one of the most effective engineers I worked with, who asked penetrating questions during code and design reviews, did come off as a bit of an asshole at times. Whether by genetics or through childhood, I'd bet people tend to cluster onto the line separating "agreeable and lax" and "rude but firm" (as a sweeping generality). We often label people who are all smiles while simultaneously extremely strict as passive agressive. Add to that the fact that many technical people are less socially adjusted than average and I can see why we have so many examples of mean but effective project leads.