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)
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.
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.
Although didn't he sleep with or almost sleep with Dr. Crusher? Maybe Linus shouldn't emulate that part.
 - https://scifi.stackexchange.com/questions/141670/what-are-th...
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.
He has certainly rallied many to his cause.
As much good as he has done, could he do some things better? Linus certainly feels so. Interesting that so many here seem doubt Linus' own assertion.
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
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.
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.
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).
Linux is not an OS. It's a kernel. The OS was GNU, and Linux was only the missing piece.
I maintain that any kernel that worked with GNU would have taken off.
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.
If Minix (or at least the Minix kernel), used the GPLv2 from the start, I wouldn't bet on Linux.
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?
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?
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!
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.
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.
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.
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.
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.
- 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.
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.
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.
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.
- 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.
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.
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?"
Personally though, it also really irks me when someone carefully explains me something I already know, so I understand the mindset.
Hence denying the author the possibility to improve. Eventually the author will be let go, and they will have no idea why or what they did wrong.
This is called "being polite."
...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.)
I think a better word is "respectful." You can be direct and blunt, as long as you're respectful.
I mean there are really two axes here, right? You can be rude+vague, or polite+precise, etc.
Rudeness <-----|-----> Politeness
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")
> 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.
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.
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.
Yes, obviously in some fields tough peer review is also common.
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.
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.
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.
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.
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
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.
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.
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.
This is what I'm saying: https://www.npr.org/2018/06/04/616127481/when-everything-cli...
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!
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
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.
LOL. I think you mean you can't stand working with people who don't get right to the point. I'm guessing anyone reading HK agrees.
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.
Woz seems like a nice guy and Warren Buffet likewise. Both seems to have worked in small teams.
Since we're talking about the open source world, how about Guido van Rossum?
Paul Graham seems like he's probably a direct yet civil guy.
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.
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.
 - https://www.businessinsider.com/googlers-say-larry-page-is-a...
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Not ruling out that a true believer might have deceived themselves! (It's turtles all the way down when trying to answer that about yourself.)
The distinction can be quite hard and might take some time.
"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."
Not quite sure how you got there from charisma.
I was actually looking for the term sociopath.
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.
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:
Then the discussion on "Leadership Presence":
(I mean, to be clear: what the fuck do I know? I've never been in the position Linus is in.)
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.
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.
"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.
If student is lazy or didn't think his work through - is it personal to call student on that - call him/her lazy? Tell him/her "you're not thinking!"?
Surprisingly - some people take personally critique of their work.
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.
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
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.
a former kernel developer
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.
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.
WE DO NOT BREAK USERSPACE!
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)  - or rather my patch interacted badly with a pre-existing mistake in the thp code and caused this. Oops.
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.
I think he has known about his behavior for a long time, and someone with influence has explained the impact.
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.
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.
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)
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.
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.
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.
Enjoy your day.
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
(that said, what do I know either)
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.
And hell, there are people who are both abrasive AND ineffective in real life. We know that.
Put another way, people have probability distributions of alignments based on context.
So 2D is still too simple. It is like a horseshoe, one can be so abusive that the project fails because of it.
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.)
This comment is fairly irrelevant to the topic at hand.
What is recommended by modern management theory instead?
The problem is that Engineers aren't taught this, whereas lawyers have (like rules of engagement).
We call it the shit sandwich.
Don't make value judgements, point out what's wrong and how it causes problems
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!
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.
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.
> 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 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.
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.
When we elevate and accept these behaviors we all lose.
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.
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.
You don't have to be a prick to comand respect and to get the best results.
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.
He should be the judge of that.
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 , 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.
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.
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.
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.
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.
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.
Abusive people are always, without fail, at their ugliest when there are no witnesses and they have plausible deniability.
I'm aware that dressing someone down in public has its own problems.
The actual suggestion was for all one on one interaction.
People who don't mean "brutal" shouldn't use the word "brutal".
Let's hope you are correct.
That does not make it right.
No it isn’t. From Merriam-Webster:
Definition of abuse
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.
2: improper or excessive use or treatment
The OP self assesses their private behavior as brutal. I would call that improper or excessive.
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)
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'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.
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.
My point was not necessarily that that was what they were saying, but rather, that that is a likely outcome of that approach.
I've added an edit to my original comment clarifying this.
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 :)
I get this label often and was wondering where was that coming from. Thanks for the insight.
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.
>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.
Many of his attacks, especially long ago, were quite vitriolic and very much not technical. Oftentimes they weren't rants, just flat out insults, short and mean (I remember, in particular, posts directed towards PaX). They weren't productive, there wasn't a brash technical take buried in them - they were just insults.
Many people seem to just remember snippets of his more popular, more recent rants, which sometimes have some technical take in there at the least, but also, in my opinion, cross well over the line into personal attacks.
Glad he's owning up to the fact that he has some serious social baggage to deal with. I don't foresee the linux kernel community changing much in the near term though.
When I see another on HN I scroll past it, because I’m not interested in the sensation. I can’t imagine I’m the only one.
Then there are people who do see his rants as a model, or who do like the sensation and do like the spice. Those people are far more likely to discuss it, repeat it, mimick it or indeed condone it.
In the case of PaX, there is definitely a conflict between the later commercial concept (pay to receive these patches to a GPL2 product) and the integration of security features in a comprehensible way in mainline. Brad Spengler is right that big corporations use his work for no recompense (gotta love the cancer that is Oracle), but tbh many of the patches are hard to grok. And Linus had a ridiculous 'security bugs are just bugs' attitude, opposed to the additional complexity added in some patches. I think many of the mitigation techniques are painful and have ramifications on many other areas -- but the larger redesign just wasn't being done. And they are both ascerbic individuals.
I thought his rants directed at Kees Cook were worse. He is allowed to reject everything insufficiently tested, so why doesn't he just do that? Anyway, Kees was a model of restraint.
(to me) it made him appear honest and dedicated to (his own) goals, and I always felt like that was respectable. (mostly) whenever he was proven technically wrong about how to do something he would concede to the technically better solution, and if he didn't do so he gave reasons for his conclusion.
in other words : his technical brilliance, in my own opinion, was a far larger boon than the problems stemming from having to deal with his knife-like personality.
One thing that is true in all successful organizations over time is that for any given person, no amount of genius will make up for being an asshole.
It may take time, etc, but eventually, it ends up a significant net negative for the organization.
The sooner folks are forced to deal with it, the better off the organization ends up in the long run.
It also turns out you can be effective at dealing with people and still be brilliant, and it usually doesn't take a lot more than spending more energy in being self aware and trying to see the perspectives of others.
If Linux gets measurably worse after this, then would you support sending Linus to a second therapist to make him more of an asshole again?
(I hold the position i do precisely because it's backed by research, not just my own random thoughts and experiences)
It's probably not that being an asshole is good. It's that if you are a genius/visionary and nice, your genius gets diluted by the people around you. Let's build a genius/asshole map:
1. Genius, non-asshole: You start a genius-level thing, it is brilliant and awesome. As it progresses, less brilliant people get involved. They start wanting power and influence. You know that the things they want to do kind of suck, but you're too nice to tell them that. Over time, they ascend to positions of power, because you, out of niceness, allow them to, and your thing descends into mediocrity.
2. Non-genius, asshole: You're just mean to everyone. If you start any sort of thing at all, it goes nowhere, because it's not very good, and nobody wants to work with you.
3. Non-genius, non-asshole: You're nice, but so are lots of people. This goes nowhere.
4. Genius, asshole: You start a brilliant thing, because you're brilliant. You're mean to people who deliver anything but the absolute best results. So who stays with you? People who always deliver the best results, or, alternatively, people so enamored with your genius or the thing you've created that they're willing to tolerate it. Congratulations, you've managed to filter your underlings to only the best and most passionate people - you have a high probability of achieving something great.
Note that this is not an endorsement of this behavior. Just an attempt at explaining why it is that these types of personalities seem so common among highly successful people.
However, what about a genious which politely replies something along the lines of "I'm very sorry but I don't think your contribution aligns with the goals and/or philosophy of this project.". That is not a nice nor an asshole response. After reading Linus' text, it seems to me he intends to get somewhere near this point.
I agree that, in principle, someone could do that. But I think in practice the people who can stand firm in that response, while remaining polite over many years, are pretty unusual.
Do you really think you can provide that kind of consistent response to different types of people? Your reply is most of the time dependent on the people you are interacting. It is very easy to draw a nice person to a fight or being rude. It is very hard to analyze because the scenario sample space is infinite.
I think that now, today, Linus could afford to be less of an asshole. But I honestly wonder if the project would've have succeeded so well without him being so strict and demanding in the beginning.
EDIT: Yes, I think that it is possible to be strict and demanding without doing ad-hominem attacks and without swearing. It's just that it's very rare.
As someone once said, "If the person who made your computer wasn't an asshole, it probably wouldn't even turn on."
Obviously, that quote is utter hogwash, but it might be worth saying explicitly, at least for HN culture: cooperation is essential, and would you cooperate with an asshole?
Wouldn't Steve Jobs be a counterexample to this? And possibly Bill Gates?
Remember that Apple (etc) have been troubled at many times through their history with him at the helm :)
Gates also eventually left in part because he was doing more harm than good (and has tried to turn himself into a more reasonable person it seems).
Compare that to the organization that MS is now under a leader who isn't an asshole?
I'm certainly not going to claim you can't make a successful company or organization by being a brilliant asshole.
I'm only claiming it eventually catches up with you, and over time, ends up a net negative for the organization.
To give an example: Elon clearly drives tesla in it's current position. Do you think at some point he will not be a clear net negative to the organization?
(It's also interesting to me that essentially the only counterexamples people have tried to raise are CEO's - i'm curious if this means people believe what i say is true for lower levels but not founders/ceos/etc, or what)
Am I downplaying his donations? Not at all. It's just that doing a good thing does not cancel out the bad.
The second is what people are working for - which is to say themselves or the firm. My definition of an "arsehole" is someone who fights to get themselves up the corporate ladder, treating the exercise as a zero sum game. So if they see someone above them occupying a desirable spot, they will back stab, white ant them in an effort to dislodge them from the spot so they can take it.
All this has very little to do with their demeanour. Some people are good at communicating. Some are bloody hopeless. It's nice to deal with people that area really good at handling others of course, but you can't be an expert at everything and if someone is really good at a particular thing it's often because they have a passion for it, focusing a great deal of their time on it. If that area happens to be technical that means they have spent effort on it rather than most other on learning how to interact with others.
Sadly, people who devote most of their efforts at shaking the corporate tree do others fall off it are usually very good at interacting with others. Being effective at manipulating others sort of requires it. The worse of them, psychopaths, are well known for their superficial charm.
Time cures most things and in the end smart people learn the easiest path through life despite their obsession with other things. When it comes to interacting with others, that means learning to use words that engender cooperation rather than conflict. It appears Linus has reached this point. That he did is testament to just how good he is. Most of us can learn these things by watching our superiors over time. (If these people are good at their job, they will both be very good a getting people to work together and instilling it others.) Linus didn't have a corporate ethos he could learn from. He's had to invent it himself.
So we end up at the curious juncture were some introvert who spends all their time playing with things rather than people is likely to be a good asset to the organisation and if given time (decades) will learn how to interact well with others to. A psychopath on the other hand who is focused on human interactions and is really good at it, but if the firm is to survive should be excised at the earliest opportunity.
I dunno, Steve Jobs sure managed for a long time. I think they quite often end up being a net negative for the people who work there, but I don't think it necessarily hurts the organization (though maybe it should sometimes).
All successful organizations? Really? Definitely not hyperbole.
Even here it's clear that Linus hasn't been a net negative, not even close.
Only a Sith deals in absolutes.
Personally I take the anti-jerk sentiment with a grain of salt. People like you were probably just manhandled by one like ten years ago and still haven't let it go.
That's why Linux usage and contributions have collapsed over the last 30 years.
I'll take an asshole over a pushover any day, and most of us are pushovers.
This is a false dichotomy. There’s no need to be an asshole to not be a pushover.
Have you been to a corporate meeting? It feels like soul death for precisely this reason -- nobody is saying the thing they want to be saying at all.
Tech/open-source was one of very few domains where people did say the thing they wanted to say. The culture selected for people who want to interact that way, and then encouraged that form of interaction.
Now that's dead. Codes of conduct, inclusion, and caring about people's feelings are lofty ideals, but if people can't say "it's a stupid idea" when they think "it's a stupid idea" the whole thing will disintegrate into a dilbertesque nightmare along with the rest of the corporate America.
For example: When the design team added 10MB of web fonts to the app, I said something like, "Users don't care whether the font is Open Sans or Arial. They care whether things load quickly and don't re-flow. This is a bad decision." I got nothing but condemnation for pointing this out. Today, every user downloads several megabytes of web fonts which have broken kerning and hinting on some platforms.
It was a similar story when people wanted to change our build artifact to be based on RHEL instead of Alpine Linux. This would have bloated the build artifact from 11MB to 200MB, introduced a host of security concerns, and drastically increased CI build times. In a meeting I said, "This decision seems totally braindead." I was immediately taken aside and given a stern talking-to by my manager. If that's not a braindead decision, then I don't know what is.
I also got in trouble for this comment pointing out flaws in PatternFly. I was told that some of my coworkers felt insulted by my comment, and that I should be more civil and tactful. Who was insulted? What parts of the comment were insulting? I never got answers to those questions.
Encouraging civility sounds like a good thing, but in my experience the people leading the charge are doing it to suppress criticism.
1. https://github.com/openshift/console/pull/3 My bullet point about reducing the build artifact from 11.3MB to 7.6MB was incorrect. It actually reduced the build artifact from 40MB to 7.6MB.
IME there are only 2 reliable ways to get people to do what you want: you have authority to tell them to do it, or you can convince them that it's the best course of action.
People often treat their ideas like their children - and calling someone's child "stupid", or "braindead" isn't going to make you popular with them. Good luck convincing them it's a bad idea now - it's a matter of pride, and they'll obstruct you every way they can. Is this rational? No - but it's a reality of working with people, and denying it is futile. I've done it myself in the past, without being aware of my biases, and even then I'll probably do it again in future.
If you're actually working with people (and those people's bosses) who can't be reasoned with using facts and data, presented without calling the idea names, then the rational thing to do (which, it seems, you did) is to find a different team or company. Either you're wrong or they are, and time will prove someone right.
> Who was insulted? What parts of the comment were insulting?
I read the comment and my opinion is "It's a CSS framework! How can it take over a year to make?!" and "The speed and quality of development leaves much to be desired. For example: It took them five months to merge a TTY component. We wrote a similar component in two days." might have been the insulting parts.
Those comments could be construed as calling those devs slow and incompetent. I don't know if that was your actual meaning, but it's hard for me to read it any other way - sorry :-( maybe I'm missing some context.
Sorry also if any of what I said seemed rude. It took me years of insulting people to learn this stuff, and I'm still nowhere near perfect :-), but I thought I should share - it's possible I'm wrong. I also understand if you feel differently.
P.S. I checked out Floobits and it looks super-cool. I'm looking forward to trying it out sometime.
If a person has a political or other opinion and is very strident about it in every sphere (twitter, personal blog, facebook etc.) outside of the project, the convenant should explicitly allow this. That way, it sounds more like a "this is our house and these are the rules you should follow if you want to enter" vs. "you should be a certain kind of person in all aspects of your life to be allowed in here". The latter has too much overreach IMHO.
That is a different thing altogether from what you're saying.
You have decided to recommend counselling.
Who of the two of you is being "uncivil"?
That's Robert A. Heinlein, hardly known for being a social justice activist.
There's a big difference between reformatting the message and changing the message.
The result is that it spawned a new code language for HR people (there are dictionaries) that "translate" the review.
Everybody is polite..
For instance the level of praise in with the various points indicates a scoring.
Here are a few examples:
He showed understanding for his work. -> He did not do anything.
He did all the work with great diligence and interest. ->
Eager, but not very efficient.
He tried to do his job justice. -> The will was there, more unfortunately not.
He has used his skills. -> He did what he could. That was not much.
Here is a Google Translated page about it:
"This code is wrong. We should not be doing things this way, and I'm rejecting the patch."
"You are a fucking retard for submitting this patch. Anyone who thinks like this should be retroactively aborted."
The first style is blunt and to-the-point. The second is unnecessarily mean.
But I'm sorry you are dealing with an unhealthy culture where "politeness and respect" require you to walk on egg shells. To my mind, that's not what should be happening.
I talk to my sons at times about the following idea:
I say "chair" and maybe my mind conjures up a wooden kitchen chair and the person I am speaking with envisions an overstuffed living room chair. Then we start to argue because we aren't even really talking about the same thing, but we think we are because we don't realize the word "chair" means something so different to each of us.
So I will suggest that some people here have experienced environments where communicating clearly was not "asshole" behavior and others have not experienced that. Such people can be equally convinced they are correct and failing to understand they really aren't talking about the same thing.
Growing up, I hated pineapple. But I had never had anything but canned pineapple and it was awful. While living on the West Coast, I began eating fresh pineapple, not canned. And it's incredible.
Sometimes, it's a bit like people are arguing about whether pineapple is wonderful or awful and not realizing that one party has only ever had canned pineapple and the other has only ever had fresh pineapple and neither side ever thinks to specify that detail because it seems like a given.
What is no longer acceptable is to personally insult a developer for breaking things, poorly designing an API/implementation, etc. By "personally insult" I mean call someone names, curse at them, sarcastically suggest they should have been aborted, and many other such tactics.
Judging from Linus' post, he agrees that stuff like that is unprofessional.
And there are plenty of examples of Linus' posts where he clearly called particular developer stupid, as opposed to calling their ideas stupid. I can provide examples if you've never read one of them.
That's a positive change. But it also ought to be possible to say "this is a dumb idea" or to engage in friendly ribbing when someone does something dumb. These are good, healthy mechanisms in normal groups of people. Eliminate all teasing, and everyone is friendly on the outside and bitter and resentful on the inside. People should be teased for breaking things. There is such a thing as attempting to be too professional.
Calling an idea dumb is candid, I'd consider it a breath of fresh air from corporate speak. I left my prior position for similar concerns, specifically 'Architects' who I'd called out (and rather abruptly so) when they quoted AWS as being 'not redundant and only have one DataCentre'.
We're not talking a conversation from 10 years ago either. This was June last year!
Comments or statements like that need to be shouted out of the room.
I feel there's a finesse to be drawn and understood here.
If some one states, AWS is single site and no one else in the room challenges the stupidity of the claim. Some one ought to. That guys/girl is a fucking idiot.
But some one who perhaps needs to be coaxed or massaged into a different angle because their code base will grow 90% in size? Depending on the context that might be for the best. Or it might not be.
Coming back to my earlier analogy. Hammers and scalpels are both honest. Different tools for different needs.
"Friendly ribbing" doesn't translate well on a public mailing list, especially one with an international audience.
> People should be teased for breaking things.
Again, that doesn't work very well on a public mailing list, especially one with an international audience. If people break things they should be told clearly and precisely what they did wrong.
> There is such a thing as attempting to be too professional.
Do you have an example of a current FLOSS project that is too professional?
"This seems stupid to me" is a considerably lazy statement. What's worse, it doesn't have any meaningful content beyond "I don't like it." I've yet to see anyone's feelings hurt with the following:
"I'm rejecting your proposition because I believe it will lead to X, Y and Z (problems)"
"Your proposal is not going to work because of X, Y and Z".
"I'm not seeing the benefit of this. Can you explain what we have to gain by it?"
And probably a dozen other direct statements.
At the workplace, I don't care who thinks what idea is idiotic. I care whether they can speak for or against it. And I care whether they are open or close minded about it. Saying "This seems stupid to me" is providing zero contribution to the process.
>I'm not seeing the benefit of this
are very indirect statements in my vocabulary.
Edit: Of course being constructive with your criticism is even better.
There are two pieces here: one is the message you intend to convey, and the other is the manner in which you convey it. The two are not the same. The idea that as long as you speak the truth it doesn't matter how you say it ignores that how (and whether) people will accept what you say depends on the vessel in which the message is carried. The idea that others should just take it because it's the truth is at its heart just naive and inhuman (not to mention inhumane), and ineffective. If being true to your inner self is getting in the way of you being effective, it's ultimately counter-productive to your own ends: it's not actually being true to your self.
Yes, lying (including white lies), is detrimental. So is bottling things up. I completely agree. However, this is not zero-sum, either/or. You can both express how you really feel and convey it in a way that others will receive your message in the manner in it's intended.
The fact is resorting to insults and name-calling is toxic. If you can't provide constructive, honest feedback without being an asshole, you need to work on yourself.
Talking about why something shouldn't be done or why another way is preferable is way better.
Saying something is stupid will only work if you have complete power. If you explain why you think one approach is better than the other you can actually affect change without just holding the power.
It's not even about caring about other people's feelings because it's the right thing to do or whatever. It's just a more productive work environment. Attacking people personally triggers defense mechanisms in their brain that almost always lead to bad outcomes. The overwhelming majority of people have brains that work like this, and denying that reality is not going to lead to anything good.
You have to be willfully ignorant to read it otherwise.
As blatant support of this,
"People give up ability to say certain things in the name of inclusion, and then lose ability to think those things in the first place."
This is a clear testament that there are two sides and you must 'give up' something (ie: become a pushover) to not be an asshole.
This is a personal insult. Ironic given what you are arguing "for" in theory.
Or: "A hammer is no more or less honest than a scalpel."
I had the same sense of reality as Linus is having now, fortunately I was only 26 when it was brought to my attention.
Previously I took pride in calling a spade a spade. I was abrupt, people actually praised me in this behavior before I realised it was holding me back. To be specific, some close friends who were in Senior positions to me gave me a reality check.
My behavior was not genetic, it was nurture and not nature. The Finish brash is not too far from the Northern English brashness.
I've had my ego checked on a few occasions and I've changed my tact accordingly when I realised it wasn't a win/lose or a zero sum game. It's about working together. I shouldn't escalate to a combative state so eagerly. The above quote resonated with me when it highlighted I need to better at communicating. 'Disagree and commit' is one such method that I've been trying to practice. Anothe
I'm glad he's been given a reality check, though I hope it doesn't take anything away from his matter of fact way of speaking. He doesn't need to sink to ab hominem based attacks to get his point accross.
The flipside of being too diplomatic is that everything shifts too slowly for people to notice, and by the time they have noticed they're boiled like a frog. That's why SF police basically doesn't work at all, there are tent cities and needles on the streets, and a tiny bedroom costs $2k/mo. That's why everyone is using Jira and nobody likes it. That's why 90% of corporate meetings are a complete waste of time.
Small diplomatic concessions compound and lead to equilibrium traps where it's no longer possible to say "enough is enough". There are plenty of situations where being an asshole is much, much better than the alternative.
No, that's not entirely true. Sometimes I do. I take pride in my work, I take pride in where I've come. If some one comes out and says something that's so moronic that it makes me cringe, I consider it my civil and/or professional duty to bring this around. How I bring this around depends on many factors.
I replied to one of your other comments about an 'Architect' who claimed AWS was single site. Those type of comments... I will never harbor. This particular gentlemen needs euthanising and forced into retirement. He and his cronies will single handedly destroy the company I left but, after 4.5 of years of fighting them. I gave up and quit. I can't fix stupid. And his bosses couldn't see through their bullshit. My mental health deserves better.
I'd consider those arguments described above and opinions like that to be up there with fucking anti-vaccers and (I hate to say it... contentiously) global-warming deniers.
But there's a nuance there. I can't go around talking to people like they don't know what they're talking about all of the time. I could be wrong. I have been. Even when I was absolutely certain I was correct. Even if it's not that binary and there's something in the grey between what they're saying and I'm saying. You can be delicate sometimes. Sometimes you need to be. Sometimes you need to be a hammer and destroy some one with words. Sometimes you need to be a feather duster. Or a scalpel. And sometimes you need to shut the fuck up and quit.
Edit: I'm speaking here amongst like minded people and the comment about euthanasia was entirely sarcastic for the sake of humour. In the context of this conversation I'd never say this to anyone. I however, did quote Full Metal Jacket ("What is your major malfunction, numbnuts?") and expresses my shock and embarrassment that we both represent the same company.
It's evident I'm still figuring out the syntax around the word 'tact'.
>The man who could call a spade a spade should be compelled to use one
Literarily, fantastic usage. But it has all the hallmarks of something which looks to have deeper meaning than it does, even more so when the preceding line is omitted.
It was Oscar Wilde..from wiki:
>...character Lord Henry Wotton remarks: "It is a sad truth, but we have lost the faculty of giving lovely names to things. The man who could call a spade a spade should be compelled to use one. It is the only thing he is fit for."
How do you figure? Genuinely curious. I think you have to take into account where in the world you're talking about. Perhaps in metropolitan parts of the world this is true, but for other large swaths of the world, especially in politics not just individuals, the opposite is happening with authoritarianism prevailing. It's a pretty stark contrast between cultural mores these days.
> Popov said that all of that "kills my motivation" to work on Linux.
Total aside, I'm a spoken word poet and performer. The original Poetry Slam started in Chicago and it's still run by the original guy; a dude who is kinda a dick and encourages the audience to be rude and boo people off stage who are bad.
I use to think this was kinda neat; you know where you stand right? I went up on the open mic several week and did really well. I saw some people get booed off stage that were really terrible, but a few that I really enjoyed -- they typically got booed off due to people not liking the content.
Then I eventually did a narrative about a prostitute in LA. I almost changed what I was going to do since I realized it was an x-mas show and maybe I should do something brighter/happier. But I've had other experiences where changing last minute was a bad idea, so I stuck to my guns and got booed off stage.
I was told I went too long, but people were already hissing at me for all the parts about the prostitute growing up on the streets.
I've gotten good feedback every other time I've done this story. I misread the audience, theme and time of the year.
I thought the booing was a good thing, until it happened to me. I've literally done shows in Dublin, Edinburgh, Melbourne, Denver, Vegas and I've never seen any other venue do anything remotely similar at their open mics. Some have a timer and go are pushed off stage if you go over, but the audience is never encouraged or praised for being rude.
In the comedy circuit, we stopped heckling and booing people off stage years ago. You can push the edge of jokes, but you don't disrespect people on stage .. unless they go over time.
The guy who runs the Chicago scene is the first and the original in this concept of Spoken Word, and the scene is crusty and old just like him. I know a number of performers who hate going there and I think I'm included too.
I still think the master/slave thing with Redis was/is dumb. But with Torvalds .. I am glad that he said this, in the way he did. I think he could benefit from the basic rules on StackOverflow. You can simply say, "I don't think that's going to work because of x, y, z. Look at commit x and try doing a, b and c instead and resubmit," compared to the yelling we've often seen.
I've generally been against code of conducts, maybe because I've only seen them misused or people get pushed out for non-clean/arbitrary reasons. But maybe we're moving into a new era? Who knows, but I hope we find a balance in the middle.
And I still don't think the Redis guy should have made that change; but asked the issue requester to submit a patch with all the changes if they wanted them.
I think there is a balance in the middle.
This is the "rock polisher" thesis of life, which I've also called the "bully thesis." I grew up swapping between different parts of America that approached "how to generate a functional adult" differentally. Some places, it was "love and care for your fellow man. Work together to make a better world." Other places it was "we believe the world is harsh and unforgiving, therefore we're gonna beat you to get you ready for it."
What I've learned is that society is exactly how you make it. If you allow kids to bully and beat the shit out of each other in the playground, you're gonna get a society of Biggest Fist Wins. If you go the other direction, you'll get one where people work together and work to see the best in each other.
Once you've been raised one way though, the other way seems a weakness, so I generally don't have hope of doing anything other than preach to the choir.
In your example - what's the point of thicker skin if people simply don't say mean things to each other?
You can never control other people's behavior, only your own. Learning to deal with mean comments is a valuable skill.
This is another way to say
> we believe the world is harsh and unforgiving
You seem to have internalized this perspective completely.
Ergo, sufficient resources to forgive everyone, do not exist.
Ergo, it is best for any person to not expect forgiveness.
It's not a perspective; it logically follows from reality.
Second, your logical proof is wrong. The existence of resource scarcity in the global scale does not mean the global resource scarcity, some places may have enough resources.
I wasn't being fully literal, either: when someone makes enough mistakes in life to deplete their private resources, they seek "forgiveness" in either handouts or in finding some new unusual opportunity to ply. It is, at worst, narrow terminology.
> Second, your logical proof is wrong. The existence of resource scarcity in the global scale does not mean the global resource scarcity, some places may have enough resources.
Such local situations are self-removing; if a good is locally in such sharp surplus as to be post-scarce, then the only logical action is to export it to somewhere else, as such post-scarcity is such an extreme condition that the price differential will certainly outweigh almost any terrestrial transit costs.
(Notable exception: one disadvantage of the Soviet economy was that it sometimes required supplies be post-scarce in their own production facilities or warehouses but ultra-scarce elsewhere.)
How do you plan to educate everyone to be cooperative when you need to disengage whenever you meet bullies? You will need a closed-off society that ostracizes its members when they stray from the golden path.
At least your solution doesn't require global dominance and authoritarianism to bring everyone in line, which is a big plus.
My theory also doesn't require society adoption. It's simply how I deal with it. Yea, if everyone did it, bullies would be ostracized. Actually,if everyone did it, there wouldn't be bullies, so if the majority did it then yes, bullies would be ostracized. This is ok with me.
The problem isn't that Linus is legendary in his abrasiveness.
The problem is that other people (mostly young) imitate his behavior, starting with the belief that it's okay to be a jerk as long as you're right.
> be able to tolerate harsh words without taking them personally
This is an essential life skill.
If he's correct: I'd be upset at being wrong about something, but hopefully i'd have willpower to sober up to the fact that I may in fact be wrong once in awhile.
If I'm correct: I'd be upset because a person I respect is technically wrong about something, and then decided to rant about it.
Choice C: What if the question is non-technical? Answer : Don't ask Torvalds. He's not an expert in that domain.
(truthful answer: I've been a member of a project criticized by him. It felt terrible, but not because of some personal sleight; he just happened to be correct about the inappropriate-ness of what was being used, and being wrong is a tough pill to swallow when you're young and cocky.)
As I wrote in a different comment in this thread: I would never consider contributing to the kernel because of the chance (minute as it may be) of getting the Linus-of-old treatment.
Bullying is a sustained pattern of targeted verbal or physical aggression.
A person insulting your work is not "bullying" unless they're doing it in a targeted, continuous way in order to get at you personally. It's just "insulting".
More on why you should not be using concept creep: https://www.theatlantic.com/politics/archive/2016/04/concept...
Should he cut down a bit on the angry rants? Sure, but in general he seems like a really nice guy and I do not think they are a big deal.