Linus is stubborn, persistent, and unyielding to what he sees as bullshit. These I believe are all very valuable qualities for the head of a massive software project, and may be part of the reason as to why Linux is where it is today.
However, Linus is also a bit of an asshole, turning technical criticism into personal seemingly personal attacks. I believe those 2 sets of qualities are separable, but I would guess it's uncommon to find many people who are capable of being as tough as Linus without in some way alienating those around them, it's a fine line at times.
Anecdotally, one of the most effective engineers I worked with, who asked penetrating questions during code and design reviews, did come off as a bit of an asshole at times. Whether by genetics or through childhood, I'd bet people tend to cluster onto the line separating "agreeable and lax" and "rude but firm" (as a sweeping generality). We often label people who are all smiles while simultaneously extremely strict as passive agressive. Add to that the fact that many technical people are less socially adjusted than average and I can see why we have so many examples of mean but effective project leads.
I'd bet people tend to cluster onto the line
separating "agreeable and lax" and "rude but
firm" (as a sweeping generality)
Consider this:
A third category of people who are able to accomplish their goals by rallying others to their cause. They are essentially imposing their will on others, but are able to do it in a way that is not "rude." This is called charisma.
- "Agreeable and lax"... you allow them to paint the fence however they want, even if their work is shoddy. you may wind up doing it yourself because you don't feel comfortable enforcing your will on others. or perhaps you just wind up with a crappy looking fence.
- "Rude but firm"... you don't care about others' feelings and force them somehow to to paint the fence to your specifications. either by physical force, economic force (you have money they need) or some other means
- "Charisma"... you convince them that painting the fence the way you want it painted is the best possible thing they could be doing. they willingly paint it for you because they believe it is a good cause and a good use of their time. (note: this does not necessarily imply dishonesty or trickery. arguably, the most charismatic people might be those that are true believers)
Somewhat tangential, somewhat related: Sun Tzu wrote that the most perfect form of victory was adding the enemies' forces to you own by convincing them to support your cause.
I personally like calm, rational logical inspirational leaders. I would like the fictional Captain Picard! Those are very hard to find.
In my humble opinion, I believe you will find a lot of disagreement on methodologies throughout this thread as some folks are introverts, some extroverts and a wide range in between. Each person here will have had their own personal experiences that were a result of a mix of personality types. If we just go by Jung, that's a matrix of 16 types. The possibilities and interactions are quite extensive.
I believe that each org filters down their group to a certain mix of personalities that are tolerable (cultural fit). The more critical someone is, the slightly more that people will tolerate in exchange for what they contribute.
I suppose what I am suggesting is that there is no single form of leadership that is entirely optimal in any org. The mix of personalities can block rational discussion. There are some websites where people discuss the toxic results in their org.
I personally like calm, rational logical inspirational
leaders. I would like the fictional Captain Picard!
Those are very hard to find.
Great example! He was fictional, of course, but he was a good example of a leader who took no shit and held his crew to high standards, yet cared deeply for his crew and did not resort to petty rants.
Although didn't he sleep with or almost sleep with Dr. Crusher? Maybe Linus shouldn't emulate that part.
Why would it be, though? It's two adults having consensual relationship. May be you think the rule should be there because the current society haven't developed enough.
> I believe that each org filters down their group to a certain mix of personalities that are tolerable (cultural fit). The more critical someone is, the slightly more that people will tolerate in exchange for what they contribute.
While I think that's true, I don't think it's scalable. You can get a startup off the ground with a team of 20 and a serious bro culture. But the bigger you get and the more touchpoints you have with the outside world, the more an inclusive company culture becomes an advantage.
It's not as simple as saying inclusivity is necessary. It obviously isn't. After all, you can build large systems on architectures that scale poorly, too. But I do believe it's a long-term advantage.
Agreed. I believe that as companies get bigger, this behavior narrows down to specific orgs in the company. Dev teams and operations teams will each have their own filtered set of personalities too. Even then, I know I am over simplifying.
Have you ever worked with brilliant assholes? It sucks the life out of you - and it really sucks when they get idolized and rewarded heavily.
It creates a vicious cycle of absurdity - the one where people appease the anger to try and achieve some good not realizing how much the bad influences the culture of the movement/organization/group.
No one is perfect, but the community for far to long treated an imperfect man as if he could do no wrong - to its own detriment. Not in quality of software, no one disputes that - but in quality of life and respect for other human beings and other views/ideas.
I think it's terrible we accept this idea that it takes an asshole to make a community
> Have you ever worked with brilliant assholes? It sucks the life out of you - and it really sucks when they get idolized and rewarded heavily.
I have. The problem was not so much the things he wrote in public but what he said (that couldn't be documented) or probably told the bosses (which also could not be documented.)
He was a (mostly) well mannered and soft spoken guy esp. compared to the image of Linus, but he made me quit my then dream job and I'm pretty sure I'd preferred working with Linus.
Also in school I had another one: well behaving, soft spoken (mostly) but who turned out didn't care about others except as a way to get what he wanted.
I'm really happy to not work a place where I get yelled at either but at least Linus seems fair so I think I'd prefer him.
It's also interesting to see him admitting it might be a problem in his own way: wanting to ralk to someone, joking about tooling, asking for ideas.
Have you ever worked with brilliant assholes? It sucks the life out of you - and it really sucks when they get idolized and rewarded heavily.
I've worked with a few people I'd consider brilliant. But none whose accomplishments really compare to those of Linus. He's more or less a sample size of one as far as I can see in terms of building out such successful software on such a large community and without being inside a megacorp.
I've worked with many more people who feel the need to be involved, steer projects towards failures or dead ends, who seem to live by the CIA manual on field sabotage and have to be managed to not cause a net detrimental effect. Some of those were really nice people too.
I'm amazed at how he's built Linux without more clashes, but if he feels he can be a nicer guy about some of it and still do the job effectively, more power and credit to him.
> He's more or less a sample size of one as far as I can see in terms of building out such successful software on such a large community and without being inside a megacorp.
Much of this can be explained because he was at the right place at the right time. Two very important reasons why Linux is so successful are GNU and the GPLv2. Any decent kernel could have taken off at that time. Linux was the first that actually worked.
Now the ability of Linus to retain leadership is remarkable. Just, let's not forget that he got a hell of a head start with the FSF's work. Both technical (GNU) and legal (GPL).
While true, I think this would not have stopped Minix, because you could compile and run all GNU tools on it. I just read that Linus developed Linux on a machine running Minix.
However, what I got wrong: in the first years, Minix was not free. Users had to either buy the book, or pay a license fee of $69.
The kernel was missing for quite a while, wasn't it? linus is the one who did it; and he enabled other people to contribute effectively.
Also: I was thinking he's remained the leader of this very successful project, for a long time - he deserves credit for that. But perhaps that's a part of software's durable unfair advantage, that e.g. made so much money for Oracle, Microsoft. Similarly, BDFL, as for perl, python, ruby etc tend to stay there. So, perhaps it's more just not stuffing it up, than special credit?
What do ypu think of how esr explained linus's success in the cathedral and the bazaar?
> I think it's terrible we accept this idea that it takes an asshole to make a community
Or, even if you want to think that sometimes it requires someone to be an asshole, that's still different than thinking that this should always be the case in that same community.
I didn't use or even know about Linux when Torvalds first created it, so I won't presume to say he was an asshole back then or that he shouldn't have been one. But I'm assuming the set of contributors back then was much smaller than what it is now. And that Torvalds largely appreciates and maybe even depends on this bigger community -- if he's accepting their pull requests.
Why should we believe that him changing his views on personal and management behavior is some kind of surrender on his part, rather than a rational assessment that this will materially benefit the software and its community?
>Have you ever worked with brilliant assholes? It sucks the life out of you
There's a vast difference between a "Steve Jobs type asshole" and a "Linus type asshole". The rants I read from Steve Jobs were all petty, domineering and often arbitrary.
The rants I read from Linus were (mostly) about senior developers who tried to defend broken designs and breaking simple, well thought out rules. They were entirely predictable and avoidable.
The former would suck the life out of me but I wouldn't mind the latter.
I'm more generalizing stuff our industry is bad at accepting because we all know a brilliant asshole who can appear to be nice but is locked and loaded ready to burn you at the slightest whim. In fact, i'd wager that the most difficult people to work with are the ones that can be nice at times because their unpredictability just ads to the confusion & chaos. The worst is if/when they do apologize but don't follow that up with action - i'm thrilled to see Linus committing to action!
The world "loves" the persona and all the legend around him not the real person because they never had to deal with him other than WWDC and a few sightings in a random coffee shop.
I feel many jump to judge Linus as a brilliant asshole too quickly. He obviously has charisma and great leadership qualities. In addition he is blunt and speaks his mind, also when he is emotional and maybe irrational.
I feel assholes are people who make decisions and take actions ruthlessly. I've not seen Linus do that, though perhaps I missed it.
edit: hey Chris! Love your work :D I don't think Linux would have been as successful under his leadership if he went around insulting people like that everyday. So I still think he has charisma even if he gets ugly every now and then.
Well, then don't work with brilliant assholes and start your own company where the culture is different. This is not meant to be snide. Be a creator if you believe so strongly in your principles. Lead by example.
If enough people start enterprises with your attitude things would change.
Trying to impose your principles in others breeds resentment and conflict. This is human psychology.
Have you ever worked with brilliant assholes? It sucks
the life out of you - and it really sucks when they
get idolized and rewarded heavily.
Yes and yes. Dear god, yes.
A bit tangential, but I'm not sure that Linus is generally thought of as an asshole in general? Is he?
My outsider's perspective is that he's admired and liked besides these occasional rants that sometimes get kind of weird and insult-y.
I'm not excusing those moments by any means! I've just never gotten the impression that they're the rule, or that he's generally some sort of unbearable tyrant.
Most great people have a flaw that hinders them or even brings them down. That same flaw is also part of the trait that drove them to greatness. Linus's flaw fits that model and he's self aware enough to grok it and try to mitigate the problem. That said, if you removed 100% of the asshole from Linus you'd have removed the drive that made him a hero. I hope he finds the balance. Regardless, he'll always be one of my heroes.
Is that a fact from psychology or statistics or something, because it sounds to me like making excuses for his bad behavior? I don't see how being an asshole should have much correlation with success.
It seems that not suffering fools gladly could well be correlated with success. It reduces time wasted (although doing so extremely impolitely may have other negative results).
I acknowledge it's just my feeling not based on any psychology research that I know about, though if you'd seen any of the other comments I've made in this thread you'd see that I absolutely don't make excuses for Linus's bad behavior. Quite the opposite.
And I don't think you understood what I was trying to say regarding the dark side of what drives a successful leader, I didn't communicate it particularly well.
Is anyone really rallied to the cause by Linus himself? I think the product is the only real draw. With the exception of a select few that simply want to work with someone as high profile and legendary as Linus.
Personally, and maybe I’m in the minority when thinking this, but I can’t stand working with polite people.
They not only slow down the progress of a project by often causing unneeded busywork, from simply not halting bad ideas, they often slow my learning progress down by not telling me I’m wrong.
If you see something stupid, call it out. If I’m doing something stupid or say something wrong, call me out!
There’s obviously a happy medium somewhere in there, and Linus isn’t it, but I would much prefer working with a Linus than someone polite. From the history I’ve read, he’s not holding grudges, or necessarily attacking people, he’s attacking dumb approaches and ideas, which happen to be authored by people. At least that’s how I’ve always interpreted his rants.
So you are equating politeness with not halting bad ideas. That is not politeness, that is incompetence. Competent people would halt bad ides, but it can be done in different ways:
- Abrasive: This idea is the dumbest ever and you are an idiot that deserves to die.
- Constructive: This idea have problems X, Y and Z.
- Polite: Thank you for the effort, but I see problems X, Y and Z with the idea in its current form.
A lot of the discussion here is confusing the question of competence with the question of tone. You can be competent and have a nice tone and you can certainly be incompetent and have an abrasive tone. I can understand not having the patience for politeness, but personal insults are obviously counterproductive.
Your "polite" has moved way too far into manipulative / passive-aggressive with weasel words like "I see" and "in its current form". If you are in a position of power like Linus, where your perception is the project's reality, couching such realities as if your perception is the only problem will lead to fights and a lot more resentment. Just saying, "Thanks, but I won't accept this until X, Y, and Z are corrected," is still polite, but also gives a clear course of action for the recipient. And yes, some people read directness as rudeness. You can't help them.
Why would you start fighting and/or feel resentment if you received a reply like the "polite" example? Genuine question, I don't see the issue but I'm ready to learn.
Not the parent - but I think it's because it can be seen as too subjective and too open for debate. Like: Oh, so one person opines that x, y, and z are not for them, let's debate it (or outright dismiss it).
And the resultant debate might well be polarising or destructive by itself.
Without knowing what the parent experienced to cause their take on this type of politeness I'm just guessing, though.
It is interesting because I think I see a cultural thing here too: in some cultures "I feel" and "I see" and "currently" are as firm as "unacceptable until it changes" - just worded in a way that conveys respect for the author. But in other cultures it is read as vacillating. Dunno. Guesswork, as I said.
As I said, some people will interpret directness as rudeness. Those are the ones that expect for the language to be couched. But, in my opinion, it's better to be seen as occasionally rude than allow for those other negative behaviors to occur.
It's not a direct decision to fight. It's more that the weak language opens the possibility of action where none really exists.
What they see is a chance to convince you ("I see...") or refactor ("... in its current form"). What you see is someone who is being stubborn and just not making the changes. So, it leads to a lot of friction and talking past each other.
I guess this depends on the context, but I don't really see the problem. If I reject a patch due to some specific problems with the code, then surely I should reconsider if the submitter could refactor to avoid the reasons for rejection? And if I was actually wrong about X, Y or Z, then I would like to have that pointed out. Everybody can make mistakes.
Nothing about saying, "Thanks, but this won't be accepted until X, Y, and Z are fixed," precludes having a conversation. By all means, if you think X is not a problem, I would expect a response along the lines of, "I don't think X is a problem because insert mitigating factor here." Or, perhaps, "I don't understand the issue with X; could you explain?" In other words, allow directness to beget directness. Enumerating all the possible ways you might be wrong, just in case one of them is actually true, seems silly to me.
I don't understand this... I used that exact phrase in my original response, calling it an example of being polite, but without passive-aggressive or manipulative weasel words.
I wanted to get back to my main point which was not the particular turn of phase in my example, but just that politeness have nothing to do with incompetence. This was in response to the comment that stated that politeness would mean accepting bad code, which I strongly disagree with. You show that a patch can be rejected with a polite and still technically relevant on-the-point message, so we agree about the important point. I don't think politeness implies passive aggressiveness either, so my example sentence might have been badly chosen.
Anecdotal, but I'd enjoy feedback in that "polite" form.
Of course, it might also depend on that person's reputation and my previous interactions with them. If I have had 50 negative interactions in a row with them, getting such feedback might make me want to throw my laptop into the toilet.
But in most cases I think it would be a good way to phrase feedback.
my understanding is your politeness would be interpreted in essence as saying that the issues are subjective rather then objective. when later in the process this is revealed to not be the case, this will lead to friction: hence fighting and resentment
I think it depends a lot on the context. Some examples:
- Someone injects an obviously inferior idea for political reasons (e.g. the recent TLS 1.3 debate). Then, a rude response might be your best option to deter the opponent. I think, some of Linus's attacks from the past fall in this category.
- Someone is just inexperienced and proposes a bad idea with good intentions. Then go for factual "This is flawed, here is why".
- Someone proposes an idea with flaws, but you see potential beyond the current proposal. Then, one should politely point out the current weaknesses, and at the same time encourage the proposer to improve on it.
As successful leader, you need a repertoire of responses.
For someone acting in bad faith (e.g. trolling, deceptive agenda) insults are probably justified. On the other hand, this is probably the actors who are not really deterred by insults, so I wonder how constructive it is.
>So you are equating politeness with not halting bad ideas. That is not politeness, that is incompetence.
In some cultures, direct comment on an idea is the norm, but in others it might be very rude. Even engaging in what you might find to be polite critique can be a challenge; even the most well intentioned comments might not transit cultural boundaries unscathed.
Worse, there might be some context you're missing that causes you to trigger someone without any intent to cause offense.
Example:
A new, senior developer transfers to my team. He puts up a CR and asks me for review. As I comb through it, I find a couple small bugs and take the time to explain why they are bugs, thinking perhaps he did not understand a subtlety in a library we are using. This same library has tripped up a number of developers on occasion, as there is a state that is being manipulated, but under certain circumstances it can be put in a state that is not intended. It's part of a language standard library and not something we can wrap in a safer way, sadly.
He apparently knew about it but just didn't account for it, and he took my explanation to be very patronizing and condescending, given that he already knew the problem. He then read into the rest of the review a hidden malice.
This is partly my fault; perhaps I didn't need to fully explain how the function works, though with the misuse I thought it could be a chance to teach. I probably should have taken more care in some of my verbiage; I tend to be somewhat direct, which comes across stronger than I intend it to. Not "You're a moron, delete this bad code" but more "This function call will not do X, Y, and Z. It will do W instead. Why not use ABC instead?"
Well if there actually was a bug, as you state, you are clearly in the right to point it out. Both parties in a communication have a responsibility. The party criticizing the code has a responsibility be factual, concrete and constructive, and to only criticize the code, not the personality of the author. The recipient of criticism on the other hand have the responsibility to listen and not become defensive or take criticism of the code personally.
Personally though, it also really irks me when someone carefully explains me something I already know, so I understand the mindset.
If you criticize the code by pointing out factual issues, then the the author can lean and improve by understanding these issues and improving the code. Calling the author an idiot does not help to improve anybody.
> If you see something stupid, call it out. If I’m doing something stupid or say something wrong, call me out!
...but that can be done politely, or not(†). In my experience, being polite doesn't add a high cost to calling someone out, makes the person being called out less upset on average, and generally improves the quality of ensuing answers/discourse (because those involved aren't burning emotional energy on pushing their anger to the background). Both of those latter two things are good.
Sure, there are some people who can take a flaming load of unfiltered criticism to the face and remain unfazed, but assuming that that's the _norm_ doesn't seem especially realistic.
(† = Or in between - "polite" is not a boolean. It's not even a numeric measurement; one can be polite/rude in different sorts of ways.)
The cost of excessive politeness can be that the person doesn't get the message. I've seen people waste hours on the wrong problem because the person giving feedback was overly polite, and also things just reach an impasse with no progress made because everyone's being too polite to point out the elephant in the room.
I think a better word is "respectful." You can be direct and blunt, as long as you're respectful.
You're in the minority but you're not the only one. You can see the sentiment expressed about Rust community a lot. Super nice - don't ever say anything that may upset someone - kind of atmosphere is off-putting to many. I for one wouldn't want to work in such environment but I would love to work with Linus.
The problem is that people who prefer direct non-bs communication are also usually more emotionally mature and better at adjusting to others. They will keep quiet or look to move somewhere else but will rarely complain. Meanwhile easily upset and less stable people complain more readily and usually louder to force others to adopt their preferred style of communication (which often comes down to "don't criticize me and use the kind of language I prefer")
You can be super nice and not upset anybody without compromising on technical rigour.
> The problem is that people who prefer direct non-bs communication are also usually more emotionally mature and better at adjusting to others.
I would argue this is entirely false. If they can't adjust to others finding their behaviour offensive by not being offensive, they're not "better at adjusting to others". Yes, this is a two-way street, but that doesn't automatically mean everyone has to be comfortable with the guy who swears at you and calls you an idiot for writing a patch they didn't like.
We can have technical discussions without personal attacks, without rude language, without racial or sexist slurs. We manage it at my work all the time, although I for one think I could still do this better.
It's difficult when we grow up in a culture which glorifies violence and "macho" behaviour, where most of us in the field are male and have been told all our lives that we're expected to be strong and independent and assertive.
And honestly, if you can't find a way to explain why an idea is bad on a technical level without offending someone, maybe you don't have a good enough reason to criticise it, or you need to think about it some more to figure out why you don't like it apart from your initial reaction.
You can be super nice and not upset anybody without compromising on technical rigour.
That's the ideal. In practice there are always people, a minority, who can't or won't separate criticism of their work from criticism of themselves regardless of how nicely it's put. And then you have a problem.
Fortunately these people are mostly outside the technical realm, where direct criticism of work is very rare.
>Fortunately these people are mostly outside the technical realm, where direct criticism of work is very rare.
I think this sort of special snowflake attitude is part of the problem. There are plenty of other fields where people's work gets directly criticized. Tech is not uniquely (or even unusually) rational or meritocratic.
That's extremely rare, in my experience. Nowhere near what developers go through.
It's rare even for basic things like spelling errors or typos to be pointed out, let alone more serious problems like a presentation containing statements that are wrong or vague, meaningless, etc. If people get their work criticised so easily why are there so many spreadsheet errors around, why are there so many vacuous PowerPoints and business processes that go round in circles leaving behind furious customers?
I've witnessed all this first hand. I've also seen what happens when programmers and non-programmers in a tech firm get accidentally mixed together: the programmers start pointing out mistakes in the non-programmers work and cause an "incident" because the others aren't used to being peer reviewed like that.
> Fortunately these people are mostly outside the technical realm, where direct criticism of work is very rare.
No, no, no. Why do you think that?
Example: a central part of artistic practice in art/design schools and professional work is what is known as "the crit". It's where they gather and show their work to each other and then proceed to shred the fuck out of it (with widely varying degrees of politeness).
Similar kinds of things happen with writers, marketing and film-making.
The only place where this stuff doesn't happen is perhaps some business/finance domains where outcomes are strictly evaluated by some ROI measure and maybe compliance.
Art? Any criticism of art is always inherently subjective, it can easily be blown off as the critic not getting it, not liking that style of art, etc. I mean if someone presents to me some totally abstract splashes of paint style work, and I criticise it by saying it doesn't look like anything and can they please redo it to be much more photo-realistic, are they going to accept the correctness of my words and the failure of their efforts, or are they going to rationalise it away as repolfx not being the kind of guy who likes modern art so why even bother?
To receive the sort of criticism I'm talking about, you need to produce things that are objectively good or objectively bad, and you need to be forced to accept when you produced something objectively bad on a regular basis. Criticism that can be easily written off doesn't count.
Go look at most people in a business, and the most or all of what they produce is ultimately evaluated by other people. It's not something the laws of physics have any say in. Whenever work is being subjectively evaluated by other people the standards and levels of criticism involved are way, way lower than anything engineers get subjected to. I've only very rarely seen business documents get put through the wringer in the way complex code reviews are every day.
> Art? Any criticism of art is always inherently subjective, it can easily be blown off as the critic not getting it, not liking that style of art, etc.
I chose Art as an example simply because it was the farthest thing from a technical field and thus refutes the assertion that "direct criticism" in non-technical realms is rare.
All I am stating is that criticism of work is a central component of art (and other non-tech domains). It is not "rare".
You are saying that art criticism is "subjective" and that therefore it "doesn't count"-- that's your personal opinion that I don't care to argue about. Subjectivity is as much a part of the human experience as anything else.
> I mean if someone presents to me some totally abstract splashes of paint style work, and I criticise it by saying it doesn't look like anything and can they please redo it to be much more photo-realistic, are they going to accept the correctness of my words and the failure of their efforts, or are they going to rationalise it away as repolfx not being the kind of guy who likes modern art so why even bother?
Is there really such a big difference to criticizing a software design? Or a UX decision? Most creative work takes places in areas where taste/style/culture and craft/precision/technique meet.
In practice there are always people, a minority,
who can't or won't separate criticism of their
work from criticism of themselves regardless
Sure, absolutely.
But consider the topic at hand. We're talking about Linus referring to people and/or their work as "brain dead" and things like that. It really doesn't take one of your snowflakes to take something like that personally.
There are a lot of times (in sports as well as software development) when I've received harsh feedback and been 100% fine with it. But it's not always appropriate.
Your explanation of it relating to emotional maturity doesn't really resonate with me.
I prefer direct, but polite, communication. I've not taken any sort of test to measure my "emotional maturity" but if my career has been any sort of measure I'm reasonably emotionally mature (more years spent in leadership than not, plenty of folks following me from one organization to the next).
My take: I think a lot of this is a cultural thing, particularly relating to showing respect. You either grow up in that sort of culture, or you don't. Or otherwise, you lack the emotional EQ to pick-up up the commonly accepted cultural mores. How do I know this? Share some of your exciting exchanges with friends and family and see how they react.
When I share what I consider to be some of the more abrasive experiences with folks that I grew up (or are otherwise friends outside of the industry) they're always curious how it doesn't come to fisticuffs. We just never talked to one another that way. Where I grew up, it's fucking rude to talk to one another the way Linus and others like him do. Give respect, get respect.
But personal insults are not direct non-bs communication. Saying to someone they should have been an abortion is not a sign of emotional maturity. Accepting denigriating insults without complaint is not a sign of strength or emotional maturity.
Politeness should be low-cost. People going out of their way to make everything super nice are treating everyone as though they have fragile egos.
What people really want is to just know technically and precisely what is right and what is wrong so they can improve — leaving out all of the personal crap, positive and negative, except in the ways that people working together have normal human social relationships. So, like we can chat about our lives in downtime, water-cooler talk, and we can get to know one another. Extra politeness doesn't do that, it's just superficial.
In the email Linus indicated that this is result of a confrontation with his community. They basically performed an intervention and he has accepted it.
The guy himself admits that something is seriously wrong, and for years he clearly has attacked people, personally, and folks have quit, and many have called him out for it.
This is a positive change. No need to convert it into an slam on politeness. It's not like the world is being overrun by well-meaning polite people being ineffectual. Assholes who don't know when to stop, on the other hand, that's a serious problem!
I don't know that I agree with your idea of polite
To me, at least, polite in a code review is, "This commit is bad because of [X]"
Brilliant assholes are the the second best to work with because they give the information polite coworkers do concatenated with ", and that's because you are a completely incompetent engineer and should rethink your career" or something similar.
The kind of polite you are referring to would be one of two people.
Option A:The sociopaths trying to control their image in an organization so they can gain more money/power
Option B:Actually incompetent people trying to protect their job because the brilliant asshole who is the leader would rather fire anyone who annoyed them instead of mentoring them
I think people get confused. They see people they think are hard-assed, no nonsense types, but don't exactly get what's happening. They conflate how they felt with what was said.
For instance, Bob is just starting out as a junior dev. He gets pulled in by Carl. Carl is project lead and everyone admires him. Carl is smart, quick, and insightful. He's seen as a bit of a hard-ass, but he's never wrong. He cuts through bullshit. So he pulls Bob in. And he tells Bob, "I've reviewed your last commit, and here are problems X, Y, and Z with it. X causes this. Y is deprecated and B is how we should be handling the issue now. Z gives the wrong result for this set of cases."
And Bob leaves and Bob feels bad. He feels just reamed. Seemed like nothing he did was right. So he gets this impression in his head that Carl really laid into him. Fast forward 10 years and Bob is now a project lead and he wants to emulate Carl. Because despite how hard Carl was, Bob learned a lot. He's a lot better than he was back then. Now, he doesn't think he'll ever be Carl, but he's still good.
And Bob is reviewing Dave's code, and Dave's code is just as bad as Bob's was 10 years ago. So Bob calls in Dave. And he lays into Dave, "Just what the fuck do they teach in school now? Look at what you did here. You fucked it up. Don't you know about A? Or B? You have to do better."
And Bob feels good, he gave a "Carl"-style rant and now Dave will get better.
But reread how each approached their junior. Carl didn't attack Bob at all. He focused on the code itself. Bob internalized the criticisms of the code and took it personally. So when it was Bob's turn to criticize, he made it personal. Of all the lessons he was given that day, he missed the most important one.
So, you see "This commit is bad because of [X]" as polite, because you aren't the type to internalize criticism of work as criticism of you. People who do internalize it, see it as one and the same and feel that comment as "brilliant asshole".
The kind of brilliant asshole you describe, aka Bob, hangs on a bit longer because he's not bad at his core job, it's just that he has a tendency to handle people poorly.
A big part of the problem with many projects, or even companies, is that leadership is too soft and so you end up surrounded by incompetent individuals who either through delusion, or Dunning Kruger, have difficulty assessing their own ability. This results in incredibly inefficient and 'noisy' (as in signal:noise ratio) working environments. 'Hard' leadership gets rid of the slack and is willing to tell people when they're screwing up. This means you're going to be surrounded by the best, and anybody that's not carrying 100% of their weight is going to get removed. Of course you can have a problem there if the leadership is brutal and incompetent, but brutal and competent is a phenomenally desirable mix -- and that really sums up Linus, perhaps to extreme on both sides of the equation.
And in my opinion that really sums up many of the most successful leaders, both past and present. Though of course one huge difference between a Steve Jobs and a Torvalds is that Linus' work and behavior is, like Linux, completely open. Steve Jobs' was able to keep his persona restrained to within corporate avenues, with the rest of the world shown an extremely sculpted and fake image, the depths of contrast between the two only coming out after his death.
There are plenty of examples of great leaders who were direct, driven, and hard, yet still treated people with respect. It's not an easy trick to pull of, which is why people like Steve Jobs just said fuck it.
Elon Musk isn't abusive. He extremely driven and demanding but that's not the same as abusive.
I could expand the list quite a bit if you want but do you really believe it'd be a challenge for me to list important leaders who aren't assholes? BTW, I don't know these people so I might get it wrong regarding some of the people I'd list.
Googlers/Xooglers describe Larry Page as "rude" "egomaniacal" "jerk". [1] And fitting the typical pattern, the same individuals also describe him as "brilliant", an "intellectually honest person" and with a "vision stronger than arguably anyone in the industry." The reason you listed Brin and Page is because you know nothing about them outside of their carefully crafted public personas, which again tend to contrast quite starkly to these individuals' private behavior. But with Linus he acts as he is rather than crafting some fake public persona.
---
As an aside, this is all very reminiscent of politics. We collectively claim we absolutely hate politicians who give nonanswers or focus tested and completely 'fake' responses to practically everything. Yet oddly enough, these people make up very near 100% of all politicians elected. Why might this be? It's because when we find a politician that does actually give his honest view on things we freak out and look for somebody 'better'. And who's better? The liar that tells you what you want to hear, instead of what he really thinks. And we get people that are smiles and honey on the surface, and two-faced corrupt liars on the inside. And then we act confused about why what they do and what they say don't match up.
Just eccentric and annoying to you. This entire discussion is largely about the fact that different people interpret the same style of feedback either as offensive or as refreshingly direct.
For instance, Page one told someone that what they did was boring. Eccentric or abusive and jerkish? Probably the latter. What about the time he suspended work across the entire company and told everyone to work on latency because their products were fat and slow, and there was no higher priority than latency? Probably not offensive because it was targeted at the whole company? But if the same feedback had been given to an engineer one on one, maybe offensive.
I'd expect that anecdote was not the reason for the declarations. The vast majority of Googlers will never have any 'real' interaction with Page/Brin, thus giving intimate examples of their behavior in private would be unwise. I think this is part of the reason that the flood gates for Jobs only opened once he died a premature death.
So you think that the founders of Google are abusive assholes based on no real evidence then. It's easy to make claims about anyone applying your loose rules of evidence. It's flimsy, sloppy thinking, not to mention unfair to the people you're talking about.
The real issue isn't about any one or two individuals, though, it's the principle. The question is are there good leaders who are direct yet exercise self control? The implied question is do you have to be an asshole to succeed? I can list more examples if you think the ones I chose were inadequate, or you could acknowledge that I have a point. This isn't a contest. We are all here to learn.
No, I think that people that have had personal experiences with Larry Page have described him varying as egomaniacal, rude, and a jerk, which is relevant to this conversation. My personal opinion is, however, based on something different. I tend to judge individuals by actions, not words. Words are too often fake. This can be both 'good fake' as in people who build up artificially positive personas, and bad fake. I have no doubt that the individuals who had these experiences with Page genuinely believe him to be as they said, but one person's jerk is another's honesty, one person's egomaniac is another confidence, and so on.
So what can we judge Page/Brin on? Due to stock structuring they still have disproportionate control over Google and so Google's actions are going to be heavily attributable to their personal views and values. If you think the direction of Google is 'good' then that ought reflect accordingly upon your view of their values. And similarly if you think the direction of Google is something less than 'good'. There are numerous issues there as well of course but lacking superior alternatives, it's better than nothing.
You're fixated on these guys. They aren't really the point, though i don't think anything described rises to the level of abusive behavior. Calling someone's work boring doesn't do it, though even if I'm completely wrong about those guys it's not crucial to my point. I even acknowledged I might get it wrong about some of my examples, but unless you think such a list isn't possible, then the matter of Google's founders amounts to a red herring, a distraction.
The assertion is that there are a lot of examples of strong leaders who did not abuse those who worked for or with them. The subtext states that abusive behavior is not a prerequisite or driver of sucess. It's the dark side of ambition. We could talk about Steve Job's rocky career where he was his own worst enemy setting his own vision back years.
I can give examples of abusive leaders chasing away key players, setting back projects with rippling consequences felt for years, recovering slowly, never quite getting there. These leaders accomplished a lot but ultimately left with a sense of a partially realized vision. Unfinished business.
These same leaders also often hurt those closest to them who actually did need them, neglecting or even abandoning children, a reprehensable act for any reason but even more so to gratify ego. This is just not how a man acts.
At the same time, you likely don't see the succesful leaders who became fully realized adults. I coud list 50 and you'd pick out some to fixate on because of their flaws. This tells me that your opinion is received truth. You defend it with the sophistry a partisan uses to defend an ideology.
The point was not about 'these guys' but about your example, even in so few given, being a perfect example of the problem. It's difficult to know whether your perception of a person is genuine or based on a facade. The fact that you listed Larry Page was just a particularly good example of the issue. You listed him not because you knew he was a person who fits your criteria, but because you assume by default that the lack of evidence indicates somebody must therefore be notably upstanding. And this assumption is fundamentally where we disagree.
Yes, it's always hard to dicern facade from reality but we can't make assumptions that the facade hides abusive behavior. In some cases it does, but just because someone maintains a public facade doesn't mean they're doing something bad behind the scenes.
And, critically, no matter how hard you try to maintain a perfect public facade, the truth comes out eventually if you're abusing people.
Anyway, I think we can agree to disagree on this whole topic. I enjoyed discussing this with you and I don't expect to convince anyone I'm right on anything.
>It's flimsy, sloppy thinking, not to mention unfair to the people you're talking about.
And yet you're dismissing the opinions of those with apparent first hand experience working with said leaders, while having no first hand experience yourself.
You gain followers when you work for a the benefit for others.
You lose followers when you treat people badly.
Belittling people in a public forum is bad behaviour. I'm amazed its taken so long for the penny to drop. This is in any half decent company's Anti-Bullying training. It's not like you need to be particularly empathetic to learn this stuff.
Those thing are not mutually exclusive. You can be both Charismatic and Rude.
Many people are happily following Linus' directions. Sometime he enforces those directions rudely, which drives some people away. It also prevents crappy patches from stubborn contributors from going through.
Totally. I've always felt that's the price for having the Linux kernel be what it is today. Just imagine what kinds of shit would get merged into the kernel if it was run by a council of submissive, overly-polite people with soft handshakes.
I always considered certain kinds of programming to be like smithing on a hot forge: If you can't handle the occasional burn, then it's not for you. I mean this idea is not even a little bit controversial when it's about tangential things, for example people that are unable to work with tight deadlines in stressful situations. Either you can do it, or you can't. Nobody would reasonably suggest changing the market or the business model to accommodate. Because you can't reasonably suggest that, because reality just doesn't work that way. We can only get a Linux kernel of the caliber we have today by using a hot forge. Now it's certainly true that some good ideas will be deflected in these kinds of environments -- just as happens in all environments -- but nobody would reasonably suggest that any kind of environment could achieve perfect meritocratic efficiency, either. Because it's not possible to do that anymore than it's possible to make financial markets less stressful places to work with looser deadlines. This is a roundabout way of saying that this (and everything like it) boils down to innate competitive humanity and as we all know, when it comes to anything that involves more than one person, you can't make everyone happy all the time.
I think the comparison with the workplace doesn't work really well. Linux is an Open-Source project, with the exception of some people that get paid by their employer to hack on the Linux kernel, people work on it voluntarily. This is a whole different universe.
To be honest, I don't see any point in overly hot forges in the workplace. People hopefully go to work because they like what they do there. But on the other hand it's sometimes difficult to prevent, like as you might suggest in financial market jobs, or of course in many Startup jobs which don't have much money.
Anyways, Linux is a project made by Linus Torvalds and it developed along his Philosophy of doing this. If someone doesn't like that, there are enough choices like Windows or macOS. Or for more tech-savvy people there are other options like for instance the BSD flavours.
I agree with your third paragraph, but I disagree with the others. But interestingly, where I slightly disagree with your third paragraph, it's because of reasons that essentially boil down to your first two paragraphs (heh). I feel this is sort of related to people that say "If you don't like it, go write your own" which is at this point really not possible with something like the Linux kernel, and so choosing another option just isn't an option, really. But mostly I agree that if you don't like the way the Linux kernel is run, there are other options and after all, nobody said it's a community anybody's forced to be involved in. On top of that it's not an all-or-nothing proposition, either. If your kernel patch gets shot down, it's actually deliberately built to make it very easy to just compile it yourself, with your patch, and then just rebase your patch anytime upstream changes.
But with respect to your first couple of paragraphs, I think it's really a lucky set of circumstances that allow a person to work a job in a workplace that they enjoy, and I will say for the both of us (presuming of course that you feel the same way) that we are very lucky to work in the industry we work in. But I also feel very strongly that jobs are -- for most of the rest of humanity -- something that people do because they have to and not because they particularly enjoy it. There are obviously workplaces with hot forges and I would argue that there are more workplaces with figurative (and literal) hot forges than workplaces without. I worked a job for a number of years which required me to carry (and use) various kinds of machine guns. Now I can't say I didn't enjoy it personally, but it's true that most guys were there because they had few other options. They were working a job with a hot forge because if they didn't, their kids would go hungry. I mean I'm pretty sure there would be no humans working at McDonalds in the Star Trek universe.
"Psychopathy, sometimes considered synonymous with sociopathy, is traditionally defined as a personality disorder characterized by persistent antisocial behavior, impaired empathy and remorse, and bold, disinhibited, and egotistical traits."
I met several seemingly charismatic "leaders" in my professional life that turned out to be manipulative egoists that didn't care about the effects of their doings, unless it affected them or their plans. We, that were affected went on to call them sociopaths. I am not a health professional, so we might have misused that term.
I'm finding it hard to think in these categories. The success of Linux is down to something Linus does and/or gets right. Even more fascinating, it might not be down to anything about him but the product he first created. So, anyone might claim "charisma" for getting the wall to be painted in their choice color but the painters just wanted a painted wall, and regardless of the attitude of the wall builder they were going to paint it.
To me it seems that there is a weird kind of paradox. While Linus often say very mean things to people, most people I think still feel welcome regardless of it.
He has also routinely said and explained that he wants work with everyone, regardless of whether he thinks they're playing fair or not. I'm referring here to his stance of not pursuing legal action against GPL infringers. He'd rather work on the relationship than write them off. This I think has been very important in driving Linux adoption and cooperation. This is something almost any leader probably would not have done. So I think we can be very grateful towards Linux for this.
On the other hand, you get people who insist strongly on being nice, but are super quick to write off relationships or ban people from their organisations and projects when they're not following rules. This probably tends not to be great for the longevity of these projects.
> "A third category of people who are able to accomplish their goals by rallying others to their cause. They are essentially imposing their will on others, but are able to do it in a way that is not "rude." This is called charisma... does not necessarily imply dishonesty or trickery; arguably, the most charismatic people might be those that are true believers"
I find it helpful to distinguish between charisma and presence.
Charisma can be on the surface, think marketing. Pop biz lit tends to focus on this aspect.
Presence comes from within, confidence from mastery grounded in centeredness and integrity.
This distinction comes from Scouller's "The Three Levels of Leadership", 2011.
See the synopsis on "Attitude towards others" here:
He's not just stubborn, persistent, and unyielding: he's performatively so. In his most notorious attacks, he's clearly playing to an audience. That could be the problem. He clearly can separate the blunt stubbornness ("we do not break userland, period") from the performative rudeness ("SHUT THE FUCK UP MAURO").
(I mean, to be clear: what the fuck do I know? I've never been in the position Linus is in.)
I received a master's degree from an art program in which the (male) professors had a great deal of license to performatively take down students, from the initial admissions interview through two years of group critiques. It wasn't unusual for a professor to reduce students to tears. Graduates of the program brought this culture to their own teaching.
Recently I worked at a school whose critiques were set up explicitly not to replicate this harshness. I discussed this with a few friends from grad school, and we were mystified: "How can anyone produce good quality work unless they are constantly being torn apart?" "Is there another way to learn besides being humiliated?" Which led us to look at each other and think, well, we certainly don't choose to live that way otherwise.
And that is the question -- and maybe we'll discover on lkml: is there a better way to create something remarkable. And to replicate that behavior in whatever projects we take on.
FWIW, I'm pretty sure that "tearing someone's work apart" doesn't require "tearing the person apart / humiliating them"... and I suspect it's the former rather than the latter which is, in the right contexts, useful in learning / improvement.
I found that a good way to do this is to try and guide the person's thoughts carefully towards the point that you are trying to make. The monent of realization that this hopefully creates is a strong teaching moment. And they tend to experience this as emotional high points themselves when they manage to take up your train of thought and complete it.
I may have misunderstood or be misremembering, but isn't that what's called “the Socratic method”? Which seems to imply that this ought to be known pretty generally, even among Linux kernel developers. It's not as if it were some new-fangled weird idea out of left field...
If your aim is to make yourself feel better by putting someone down, then sure, I guess the person is responsible for the code, go nuts.
The aim of any adult should be to get a contribution without the flaws. If that's your aim, then telling someone they are stupid or whatever, at best, does nothing. At worst, they never contribute again.
How can you produce good work if you never improve yourself? If going personal can improve someone and then improve their work, whats the argument again that we shouldn't go personal?
"Going personal", as the grandparent pointed out, doesn't help anyone improve themselves. You can point out issues with someone's contribution without attacking them, and that's all they need to improve.
If someone is incapable or refuses to learn from that, then you can say that they need to before you can accept contributions from them, but attacking them personally is just unacceptable.
Telling someone they are lazy or they didn't think isn't critique of their work, it's a statement about them as a person.
If the work is wrong or bad, explain why. Insulting someone doesn't help them improve.
If you argument is people won't change unless they are made to feel bad, people said the same thing about physical pain - banning corporal punishment would mean no child would learn again. That was nonsense, and so is the idea that making people feel bad is necessary for them to improve.
> He clearly can separate the blunt stubbornness ("we do not break userland, period")
For what it's worth, he doesn't even avoid breaking userland. Off the top of my head, we had a problem at work a few months back where kernel 4.3 and below rounded up listen(fd, 0) to something nonzero, kernel 4.4 didn't, and a piece of commercial software was (inexplicably) using listen(fd, 0). https://ldpreload.com/blog/git-bisect-run is a post I wrote about tracking that down. (We're slow enough at kernel upgrades at work that it didn't seem worth reporting the regression upstream several releases later.) Also last summer Linus himself merged a commit that very intentionally broke a userspace feature that he didn't like but that Julia and rr both depended on, and got a very polite email (https://lkml.org/lkml/2017/5/29/541) requesting that the behavior be reverted, to which he replied:
Oh, we'll just re-instate the kernel behavior, it was more an
optimistic "maybe nobody will notice" thing, and apparently people did
notice.
which sounds like planning to break userspace to me.
I think that saying he could still be stubborn without being rude is doing everyone a disservice. It's clear that "do not break userspace" isn't actually a rule, and while it's a lot better than cursing out people in public, saying a fake rule very nicely is still going to hurt people, drive away contributors, and fail to attract enough eyeballs to make a high-quality product.
That quote is more accurately read as, "we change things all the time, including user-visible features, and very occasionally, even in breaking ways -- but only because it's impossible to know every single consumer of every single quirk in behavior, and as soon as we learn that one of our changes did in fact break userspace, then we'll change it back".
It's how the kernel community attempts to continue cleaning up decades of tech debt while maintaining the contract with userspace. Honestly, sometimes you just don't know until you try.
It's an inefficient process, but it does sound like the right outcome occurred in this case.
No offense but this seems like blinding fanaticism for a man who is, admitedly right 99.99999% of the other time, not perfect.
In this case however you are arguing that when he said, "we don't break userland, period" he instead meant the opposite? There was no asterix on his statement saying to read the fine print.
What he said was (AFAICT, the exact "we don't break userland, period" wording only appears in this HN thread. Let's go with the rant that I believe the GP was referencing):
The "first rule of kernel maintenance":
If a change results in user programs breaking, it's a bug in the
kernel. We never EVER blame the user programs.
Then later, to drive home the point:
WE DO NOT BREAK USERSPACE!
So, sure, "there was no asterix on his statement saying to read the fine print"--he did better than an asterisk and fine print, he made it part of the main content.
By "userland" Linus meant actual users of the Linux kernel, not all possible theoretical users of the Linux kernel. For example, if there is a program that just uses quirks of implementation to fingerprint the kernel version, it will get broken all the time and will need updating every kernel release, but as long as people's actual servers, phones, desktops and IoT devices keep working without changes, that's not a breaking change.
There's a bit back story there, so as a fun historical note, let me recount it here. In 2016, there was the Dirty CoW exploit (CVE-2016-5195), which got fixed by Linus in 19be0eaff [1]. Unfortunately, in that patch he forgot about transparent huge pages (they're easy to forget ;), which caused processes to lock up if you were using FOLL_FORCE on a memory range that happened to be backed by thp. That patch was widely backported to stable kernels, so I soon noticed my processes randomly freezing on various Linux machines. With a bit of debugging, I sent in a patch to fix that (https://lore.kernel.org/patchwork/patch/748110/), though I'm not sure that Linus ever saw it (or I guess he could have assumed we were using ptrace). Nevertheless, I assume that this being a common exploit vector for DirtyCoW made him want to remove it. As a result that was of course the second time within the course of six months that this stopped working (plus Linus' fault both times), so that email was written from a bit of a "you've got to be kidding me" mindset.
As an addendum in writing this comment, I became aware that my patch to fix FOLL_FORCE with thp actually re-introduced a version of the original DirtyCoW exploit apparently known as HugeDirtyCoW (CVE-2017–1000405) [2] - or rather my patch interacted badly with a pre-existing mistake in the thp code and caused this. Oops.
I understand "do not break userspace" differently than you do.
You seem to understand it as "do not make a change that could hypothetically break userspace." I understand it as "do not make a change that is known to break userspace."
There are hundreds, if not thousands, of little behaviors that a userspace program could hypothetically depend on. In many cases, it would be impossible to change things without breaking observed behavior.
A great many changes fall in to the bucket "visibly changes behavior, but it is unlikely that anything depends on that specific behavior." When the assumption that no userspace program is broken turns out to be false, the correct response is to revert that change, and avoid breaking the userspace (hopefully this happens in an RC, before a stable release). What's incorrect, is to insist that the userspace program shouldn't have relied on that behavior.
In the referenced rant ("Mauro, SHUT THE FUCK UP!"), the problem wasn't so much that Mauro had changed the errno used (though Linus did take issue with the new errno); the big issue was that when Mauro learned that the change broke pulseaudio, Mauro tried to argue that it was a bug in pulseaudio for relying on what the errno was.
> There are hundreds, if not thousands, of little behaviors that a userspace program could hypothetically depend on. In many cases, it would be impossible to change things without breaking observed behavior.
Is there an idiomatic phrase for the opposite of "damning with faint praise"? Praising through faint damnation? Maybe the "exception that proves the rule"?
I've always assumed that when he really goes after someone it was him blowing off steam to maintain his own mental health rather than trying to put on a show. He's been managing a pile of complexity for over two decades that would have crushed most of us long ago. If it has been even moderately for show then sure, he should work on dialing it back (just a bit... i.e. short of getting personal).
See, I felt like I was giving him more credit by saying that his rants were performative: at least that would have an ostensible purpose. If you're abusing other people to "blow off steam", that's kind of a no-brainer "you should go see someone about not having to do that anymore".
You're right about it (objectively) being a no-brainer. Unfortunately, it's often hard to see things objectively from a first-person perspective. It sounds like Linus is acknowledging there's a problem and hopefully he can work on whatever the issue is without shaving off too much of the edge that makes him so effective.
He said that he was going to get professional help. I doubt that a dose of empathy would take off his edge. I'm expecting that he'll come back a much more effective leader.
Twenty years is pleanty of time to realise the impact of behaviour. I've seen his noteable rants posted here and on Reddit for years. There no way he didn't know.
I think he has known about his behavior for a long time, and someone with influence has explained the impact.
When you are doing something no one else has done before, it can be very challenging to figure out which pieces of what you do are essential secret sauce and which could stand to be improved.
I changed my HN handle from Mz to this one after more than 8 years and only after hitting the leaderboard. I appear to be the only woman to have ever spent time on the leaderboard. It genuinely took me that long to conclude that my handle was a real problem in part because I was so dramatically outperforming other women in terms of being accepted here that, for the longest time, it honestly wasn't clear to me that it particularly mattered.
Changing my handle was so very well received that I'm sure I did the right thing. But, no, I honestly didn't see it as a big issue until after I hit the leaderboard. A few weeks later, I changed it.
Linus is a man with no real peers and there are few people who are anything close to a peer. It is hardly surprising to me that he lacks perspective on some details. It would be quite shocking if he didn't lack perspective about some things, given the path he has walked.
I'm somewhat intrigued by your comments about a leaderboard because I'm not familiar with it. Please say more about that.
With regards to not having perspective, because he's so unique (or doing something unique), you may be right. I wonder if in fact he has been enabled for many years by his closest collaborators. People who should have said, "Hey Linus don't be a dick".
There's a debate going on in Australia, about whether it's ok to bully a bit, in parliament, because it's that sort of place. It's also a workplace and bullying is illegal in a workplace.
It's ok to be a dick if your a successful, influencial genius, not ok if your not successful, not influencial or not a genius. Maybe. He's a member of a broader community, where norms exist, and courtesy costs very little.
> When you are doing something no one else has done before
Leading people?
Fair enough, he ceated something remarkable, but at the end of the day people have been leading others for literally millennia. So I'm not willing to cut him slack on that account.
(Having said that, I'm deeply impressed by the step he took in that email, and did it publicly)
What he is doing is fundamentally unlike being a CEO of a traditional corporation, being the founder of a standard charity or similar. Because it is an open source project, a great deal of what he says is available for public consumption.
When most CEOs have a cow, a few people witness it and then they sanitize the message before releasing a PR statement of what the CEO would like to see happen. When Linus has a cow, it can end up on the front page of Hacker News with everyone talking trash about him.
As far as I know, he actually handles that piece of it remarkably well. Most people would not cope too well with such a situation. I have never heard of him then going on a screed about "assholes on Hacker News" or whatever. Instead, what I have seen is "polite" and "well behaved" people nastily referring to it as "the peanut gallery," which is incredibly insulting and dismissive. I have yet to personally see Linus do such a thing.
Given how much people here like to talk trash about him, I infer this suggests it is something he doesn't do.
Thanks for the thoughtful reply. You have very good points.
It wouldn't be in my personality (I think) to lash out at people publicly like that, precisely because it's a public channel. It is in his personality, however, and I think it's fair to observe the negative aspects of this behaviour, and call him out on it.
And I particularly dislike the "if you can't stand the heat, get out of the kitchen" apologist crowd (which you are not part of, I know). Not sure if I'm blowing this out of proportion, but to my ears it sounds not very different from "if you don't want to be sexually assaulted, you shouldn't have dressed like that".
Having said all that: I'm actually really impressed by Linus' email. Proud of him, even. Like all of us he has his vices, but he has become aware of them and tries to improve. What more can you ask.
To me, this has pretty much taken all of the negativity out of future blowups he might (will, probably) have: because he's now on record for not intending to be this way, I personally could overlook any personal attacks and filter them as unintentional, reacting only to the factual content.
Let me just discuss the argument about being this way in public vs. in private. IMO even traditional CEOs shouldn't be that way, whether it becomes public or not. For one thing because it's "not nice" (which they might not care about), but for another because it might foster a climate that is detrimental to the company.
A good example might be VW, whose exhaust cheating fiasco seems to have come about in part because engineers didn't dare push back against impossible demands from top management.
It wouldn't be in my personality (I think) to lash out at people publicly like that, precisely because it's a public channel.
When you live in a fish bowl, it gets much harder to figure out where to draw that line. Big celebrities can't take a piss so to speak without the rumor mill going crazy. They do not have the kind of privacy ordinary people take for granted. If they eat dinner with someone, all the gossip rags explode with speculation that there is a business deal in the making or this is their new love interest.
If everyone talks smack about you for taking a piss, "just hold it" isn't actually a solution. You will eventually explode.
I suggested elsewhere in this discussion that he would probably benefit from a creative outlet. I'm very sincere about that and I have good reason to think it would actually help him.
But, hey, my name is mud and I'm a big fat nobody. So I won't be wasting my time or his by trying to track down his email address and shoot him an email.
There are a lot of ways to blow off steam. If the way one picks is performative public abuse, then it's not just about relaxation. One can maintain one's own mental health without damaging that of others.
This is the interpretation that makes sense to me - his rhetorical choices are intended to communicate the gravity of the content of whatever he’s saying to a large group, not just to the person he’s immediately replying to, or even lkml.
Commenters here and elsewhere frequently compare his interaction with maintainers to a code review, or similar, and proceed to excoriate him on that assumption. Rather, he’s managing a team of managers whom are all (successfully) guiding the resources of dozen(s?) of (more or less) competitors, none with a strong natural interest in giving away software, and each using and contributing to the kernel only insofar as it benefits themselves toward a common mutually- and societally-beneficial end. That doesn’t justify his rhetoric, but it may have made it an effective communication strategy
Yeah, I think that there's a line between being terse and assertive vs seeming to derive pleasure from going off on people. It sounds like Linus is recognizing that here and hopefully works on it some.
That's right. The standards of human decency don't change for people in leadership positions. What Linus seems to have is some self awareness, which will serve him well in tapping the brakes on his assholish tendencies.
I think the performant rudeness is part his way of keeping the herd in line. A big display once in a while can take less energy and be more effective than continual small corrections. Consider the actions of the lead bull in a herd of elk. Consider that Linux has been developed by a group of men using male ways of interaction, which have remained unchanged since Homer.
Think back to the arguments between Torvalds and Tannenbaum. Linus earned his place through a combination of technical prowess and forceful personality.
Consider that Linus can now afford to transition to the role of the wise elder. That role traditionally adopts a more considered and politic view when resolving conflict.
It doesn't exactly count as insight to observe that there's value in minimizing bullshit. Meanwhile, Linus just got done explaining to you why he's unhappy with the balance he's struck there.
You're claiming is (and the common trope is) the actual distribution is in fact a straight line with a -1 slope (y=-x). I think there's a general possibility that the distribution is focused around the y=-x here, but there are outliers (imagine the line blurred out) with some wings escaping the lines, with probably what people want the most being in the 3rd quadrant (y<0 && x<0).
And hell, there are people who are both abrasive AND ineffective in real life. We know that.
To take it one step further, I'd say that it's more of a probability function than a 2d chart. I think of it more as your chart, plus a 3rd dimension of "context", then a density cloud.
Put another way, people have probability distributions of alignments based on context.
If you populate these quadrants most points might lie in QII and QIV (along the -1 diagonal) with few in QI and QIII (though maybe we all know many QI's in our lives...).
I think that's obersavtion bias. We tend to remember people who are either abrasive or ineffective. The former because their behavior stands out and the latter because they tend to get in our way. People who are effective and kind tend to be forgettable because we get exactly what we want without any conflict. It just magically appears to work.
I think there's a delicate way to be both "firm" and "polite" - and that's to not be pretend to be "agreeable", but rather to separate the firmness on technical issues from politeness on personal description. That is, to say "this code is awful" while also a) going out of your way to praise the things co-workers/subordinates do well, and b) when it is appropriate to make general judgments on their performance, make it clear that they are appreciated.
The core of the idea of someone being "passive-aggressive" is the idea that you never know where you stand with someone; if you're very clear about what things you're unhappy about and also what you're happy about, that's less of a concern.
For specific structures, I've often heard people involved in military leadership describe a formula of "praise-criticise-praise", which seems to be an attempt to run this balancing act on a personal level. "Whew, this was a big project you got done! This bit of code is absolutely bonkers. Everything other than that looks great to me, though."
Another technique is to make sure that people hear things from you not just when you're annoyed about something, but also when you're impressed. (Or, when you're not super impressed, talk up their areas of basic competence.) That gives you more leeway to criticize bluntly without impacting morale, and also makes people more eager to please. (Yes, a lot of leadership practices are manipulative as hell. Try to manipulate people without destroying their mental health and happiness please, that's super abusive and also counter-productive.)
To me, the most important thing is to a) seperate the person from their product b) be constructive. By that I mean saying "this code you wrote is bad and here's why" instead of "you are a bad coder and you should feel bad".
Much modern management theory recommends against the praise-criticize-praise format, FWIW -- I noticed this while I was taking a required management course at the Mouse. Everyone knows what it is, so you wind up dissipating the value of the praise because it feels like something that you're just saying for the sake of the formula.
This comment is fairly irrelevant to the topic at hand.
Yup - that's the downside to any formula. I think it's more important, therefore, to understand the reasoning behind the formula so that you can play things a little more "authentically" and fluidly.
Something like "start soft and grow loud slowly, cuz if you start loud you can't tone it down later without looking weak or overplayed" is what my ex (a lawyer) used to say.
YES! Saying "this code is awful" in a code review is absolutely the wrong approach. What's your expected outcome? For the person who wrote it to say "oh yeah, silly me, I'll rewrite it so it's good"? They probably thought it was good, that's why they submitted it.
Don't make value judgements, point out what's wrong and how it causes problems
100% agree, assertive but kind is a wonderful skill and one which needs to be cultivated. My point is just that for whatever broad psychological reason, this seems to be a somewhat rare trait among very technically proficient people. It's the sort of personality trait that leads people to like and respect you.
I totally disagree that "assertive but kind" is a rare trait amongst the "technically proficient". Anecdotally, I know plenty who exhibit all of the above in spades.
The key is culture. Technically proficient people working within a community where "assertive but kind" is the norm tend to follow that norm.
I'll mention Doug Cutting as the ideal who melds technical proficiency, assertiveness, and kindness. I've often thought of Doug as a better role model for Open Source leadership than Linus Torvalds -- but it looks like after today I'll have an opportunity to reassess!
> Whether by genetics or through childhood, I'd bet people tend to cluster onto the line separating "agreeable and lax" and "rude but firm" (as a sweeping generality). We often label people who are all smiles while simultaneously extremely strict as passive agressive.
I often wrestle with these dynamics when trying to respond to community proposals, and I think there's a hidden variable: the cost of the time to respond. As a sweeping generality, the short-term cost of writing a straight "yes" (agreeable, lax) or straight "no" (rude, firm) is cheaper than the short-term cost of writing a "yes...but" or "no...but" (politely acknowledging the other side while critically discussing the merits of particulars).
Sometimes, someone can quickly come up with an explanation that is both incisive and pithy. That's awesome, and it's a good skill to develop, but (for mere mortals like me) you can't bank on it all the time. There will be scenarios which require a trade-off (time XOR quality).
I'd wager that those two clusters ("agreeable, lax" and "rude, firm") have normal people who are pressed for time. I don't think people are generally stuck in one of those clusters, but getting out... takes time and attention.
>Anecdotally, one of the most effective engineers I worked with, who asked penetrating questions during code and design reviews, did come off as a bit of an asshole at times.
How do you see the view that you are/were mixing his questions as an attack on you yourself (or against someone else) unnecessarily ("Does he not trust me?", "I know how these things work"), perhaps subconsciously.
It is what I've experienced a lot when dealing with North Americans, criticism is taken as an attack on your person.
> stubborn, persistent, and unyielding to what he sees as bullshit
> also a bit of an asshole
It probably comes with being a perfectionist; by definition they're intolerant of bullshit and don't like to leave things half-baked, which can make them harsh or cold to more lax people (the majority of us.)
You hear the same shit about Steve Jobs, but without someone like him, you can see many [more] annoying little things in Apple's products that only an ""asshole"" would tell their teams to fix.
Things like UI elements being off by 1 pixel here and there, that to even complain about them you'd have to have what is considered a disorder.
If you point them out even as a user you will get shut down by other users; "There are bigger problems to worry about!"
Now imagine convincing the people who work under you to take care of such seemingly-insignificant things. How would you not come off as a tyrant?
I've worked with people who are extremely exacting in their standards and absolutely reject any half-arsed attempts. But they have been a joy to work with because the sweep you up in your respect for quality and help you become better. Think of the strict teachers at school, who nonetheless everyone really liked.
I think Linus has done great things and I would like to shake him by the hand for taking this no-nonsense approach with himself. I have no doubt that he will retain his commitment to technical excellence.
I dont think the term "asshole" is fair. Linux lost it when people went against well known principles on which the kernel is built (for example don't break userland), so he always had good reasons to voice his disagreement.
I think we can say that he can be "rude", "apathetic", but he was nevertheless fair in his criticism and that's not what you usually say about assholes.
Agreeableness is the attribute imo. There’s a scale from “spineless” to “actively squelching dissent”. Agreeable side of the scale people always get rolled in direct confrontation.
>Anecdotally, one of the most effective engineers I worked with, who asked penetrating questions during code and design reviews, did come off as a bit of an asshole at times
Those are simply the people that stand out. It's harder to appreciate professional and nice leadership because if it works it does not even stand out.
If we just take some of the most successful businesses, projects or ventures around and look at their leaders, are most of them abrasive or rude? I wouldn't say that's true. There are certainly some, but they seem to stand out negatively rather than positively, and there is very little to rudeness that actually helps running human organizations.
It's popular to like renegade stories, but Linus outbursts don't improve his leadership, he's a good patron of the Linux project despite of and not because of it.
It really does depend upon what you are trying to achieve. I'm not familiar with the operation of the Linux kernel team so my comments are more from experience with large organisations.
You want your team lead/manager to mentor, encourage guide and assist towards a goal that she has clearly defined.
You want your leads manager to provide the resources your team lead has identified as being needed.
You want the senior (ultimate) manager to set the goals, provide extensive praise when goals are met and come down like a ton of bricks when they are not. He or she is the "boggy man" who must be pleased and carries the big stick, and the one the team lead insulates the team from. In most cases the boggy man is a big act, but it is an effective tactic to get all the teams working in one direction. Problems happen when the subordinate managers start hiding or changing information that the senior manager may not like. This can be avoided by having a senior manager who actually knows how things work, and can test the water on his own.
I think that the rudeness/politeness axis is orthogonal to the attention-to-quality axis. I've plenty of colleagues who are rude and pushy and produce shitty work.
Yeah. Also, I think one should consider context. And I mean not only purely technical context, but also human context. A person that has a personality that's disagreeable enough to be able to be tough, while usually staying civil might just have a bad day now and then. Having personal problems, being overworked - whatever - that might push them over the boundary into straight up rudeness on occasion. You just can't get it right all the time.
Let me take a guess being part of this kind of enviornment and also sometime being cause for this (i.e., I was on the on both side of table).
Most likely this originates from the belief that things are being done for "greater good", and usually "collateral emotional damage" is rationalized away (consiously or subconciously) as acceptable in the cause for a holy mission.
Anyhow Linus shows great self awareness and I'm walking away thinking that it maybe very painful but I would be a net gainer if I work along with him.
Excerpt from the mail:
I am not an emotionally empathetic kind of person and that probably doesn't come as a big surprise to anybody. Least of all me. The fact that I then misread people and don't realize (for years) how badly I've judged a situation and contributed to an unprofessional environment is not good.
This week people in our community confronted me about my lifetime of not understanding emotions. My flippant attacks in emails have been both unprofessional and uncalled for. Especially at times when I made it personal. In my quest for a better patch, this made sense to me.
I know now this was not OK and I am truly sorry.
I worked with a CTO once who was both determined that anything customer facing was the best it could be without being rude. If we didnt make the best user experience it would be rejected but we would work harder to get it right, if he was an arsehole like linus we wouldn't have.
You don't have to be a prick to comand respect and to get the best results.
I too believe those 2 sets of qualities are separable. I'm less concerned about that fact that Linus' exist as I am about the fact that some of those traits are often correlated with success, and people idolize the successful ones without separating the 2 qualities. I've seen people emulate Steve Jobs to the point of dressing like him and using his mannerisms during presentations, and then also lash out at colleagues for not meeting some arbitrary quality bar with vague comments about it not being perfect enough. Assholes often make it to the top. You gotta admire the parts of them that aren't assholes.
Or maybe that tech in general has a toxic culture problem and Linus definitely contributed to it by making it ok to be an asshole as long as you are skilled.
I often see people complain that 'soft' topics are not worth being included in conferences.
Being tough and being an asshole are two very separate things. The best engineers I have had the pleasure to work with were both technically skilled and great mentors/teammates.
Last time I have checked, software engineering is almost exclusively teamwork, it is time we start treating it as such.
Not every person that _starts_ and _makes_ a project successful grows _with_ the project. Being the person you were yesterday doesn't guarantee that fit the pattern tomorrow. I think that Linus should be the person to make this call. Perhaps Linux is where it is today because of Linus's low tolerance for BS, and he just notices that the components of the 'old' Linus are no longer acceptable/necessary going forward.
> Add to that the fact that many technical people are less socially adjusted than average and I can see why we have so many examples of mean but effective project leads.
But why should we assume or believe that the status quo we currently observe is the natural order? Or that it is the optimal one going forward? Many people who are now project leads started in a time when both computing and computers were far less ubiquitous in the world. As the world that software interacts with continues to grow and change (or, to use the cliche, as "software eats the world"), we should expect that how software is made, and who makes it, will change too.
To think of it another way, it's well-known that decades ago, women dominated the nascent computer programming field -- e.g. the first of ENIAC's primary programmers were all women [0], and "software engineering" as a concept was coined by NASA lead engineer Margaret Hamilton. Those who want to believe that systemic and societal bias weren't significant in pushing women out of the field as it became more lucrative, have suggested that women left because programming became much more than...well, whatever it apparently was when it was entrusted to women.
So it shouldn't be beyond belief that contemporary programming and software development may be even better served by engineers and developers who put an emphasis on empathy and inclusiveness.
The key, I find, is to be extremely direct and brutal in one on ones. Don't hold back, but be very supportive and positive when more than two people present. I try to explain this to be people I work with, but I don't think everyone appreciates it.
Horrible people, in my opinion, are those that do the opposite.
I am much more comfortable with people being publicly blunt. At least there is no gaslighting involved where the victim wonders if they imagined it because everyone keeps telling them "he would never do that" or whatever.
If you are on excellent terms with someone and they trust you, etc, it can work to be more blunt in private. But most people doing that are just hiding their own bad behavior and that's it. Which makes it a form of corruption.
I think it needs to be acknowledged that many people don't get subtle feedback. If you give me subtle feedback, either positive or negative, chances are I will miss it all together. I need feedback that is clear and obvious, what others could categorises as being blunt or abusive otherwise I will walk away scratching my head wondering if I've done well or otherwise.
Reminds me of advise that was given to my Wife by a friend when I got married.
Subtle hints don't work,
Hints don't work,
if you have something you don't like that he is doing, make sure you are bloody obvious when you talk to him about it.
See, this is the piece that makes me assess this as an abusive thing to do:
The key, I find, is to be extremely direct and brutal in one on ones.
I have two special needs sons. I'm a former military wife. I tend to err on the side of being super, duper blunt and, no, my kids don't get "hints." But that doesn't mean I have to be ugly about it most of the time either.
Real life example:
When they were little, I would say "The trash is overflowing and needs to go out." My oldest would look over his shoulder, see that this statement was factually true, acknowledge the veracity of it and continue playing his video game. The fact that my statement was intended to get him to take the trash out did not quite click.
There is nothing whatsoever abusive about changing that statement to "Son, you need to stop what you are doing right now and take the trash out." That's just clear communication.
I am well aware that some people think saying something like that is somehow emotionally abusive or some nonsense. I have spent plenty of time on parenting lists where people were horrified that I would tell my sons something directly instead of dropping hints or some nonsense.
I'm quite fond of the movie quote "I'm too truthful to be good." I'm also very fond of a rubric I learned long ago that "Those who believe in telling the brutal truth value brutality more than truth."
I can be very, very, very blunt. I try to always be kind, to the best of my ability. I see no contradiction between the two.
Learning to tailor your communication style to the needs of individuals on your team is just good management and doesn't require any meanness whatsoever. In fact, it's a kindness.
I'm aware there are people who feel that way. I think the difference is that, where applicable, I will also deal with the emotional piece and make sure they understand I mean X, but not Y in cases where bluntly stating X is typically presumed to also mean Y where X is something factual and Y is something ugly and judgemental.
My oldest son wasn't planned. I spent a lot of time thinking on how to talk to him about that and realized that most people equate unplanned with unwanted. So I figured out how to make it clear that he was unplanned while making it equally clear he was absolutely wanted and loved. It's never been an issue.
Perhaps you might prefer open debate or critique, but I think most people would prefer that negative speech not occur in public. I think even politely negotiated debates can end up looking embarrassing if other people who are watching can form a justifiably negative narrative.
When people are having a discussion in a visible business setting, to some degree, the precise words being spoken by either party become less relevant than the kinds of narratives people can form about either of you. It becomes a negotiation of PR rather than a discussion of ideas.
It is, it's just a different phrasing. I think you're reading more into "brutal" than blazespin intended. You might be more correct in your interpretation, but I'm pretty sure they just meant "blunt", not "vicious".
1 : a corrupt practice or custom — the buying of votes and other election abuses
2 : improper or excessive use or treatment : misuse — drug abuse
3 : language that condemns or vilifies usually unjustly, intemperately, and angrily — verbal abuse a term of abuse
4 : physical maltreatment —child abuse sexual abuse
5 obsolete : a deceitful act : deception
They explicitly said they were upfront with their peers about how criticism is delivered. Whether that is true is beyond the scope of discussion; what has been said is nowhere near gaslighting or other forms of abuse. I don’t understand what has happened as of late, but the western world has taken a very strange turn in redefining terms to make the smallest of infraction or abrasiveness a great harm. Criticism does not need to be laced with praise to be useful, and justified critique does not equal abuse. That’s complete nonsense. Delivering it in private rather than publicly, if anything, seems more in consideration of the recipient’s feelings anyway.
With respect to the topic of this discussion, I will refrain from passing a judgment on Torvalds’ change of heart until we see quantitative data on how this has impacted the kernel.
Any variant that invites perspective sharing rather than brutality works fine to accomplish almost any direct feedback.
(IE brutality usually does not admit the possibility others may have a different perspective. You are going to get a lot farther in changing/helping people if you listen to their perspective instead of just yours)
So, being nicer when someone else is watching and could corroborate, while being brutal to people when it's your word against theirs?
I wonder why people don't appreciate that advice.
"Direct" does not need to go hand-in-hand with "brutal". Don't change your behavior based on who's watching; people deserve to be treated well regardless.
EDIT: For clarity, I'm not necessarily suggesting this is the intention, but rather, that this would be the net effect, and a problem with that approach.
I mean, you did just spin it into its worst interpretation. I read the grandparent post as meaning, "Be brutal when the least ego / public stature is at risk, but never cut people down in front of their peers."
I make no such assumption, and I'm not a fan of brutality. I'm not endorsing his position, I'm just rephrasing it as what I believe he meant to say.
I'm also not a fan of intentionally putting the worst possible spin on someone's words. Reading charitably is pretty much always a net positive for any thread.
arkades is right, and there's a site guideline that specifically addresses this: Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. It's easily plausible that one of blazespin's concerns is not to humiliate people in front of their peers.
This is a problem with this sort of discussion generally: a lot of the people arguing for others not to treat each other badly, treat others very badly indeed whilst arguing it.
Well, you avoid anyone losing face, which is important. Being brutal, however, is not a good advice in any situation except a rap battle. Direct != Brutal.
If you continue to post uncivil and/or unsubstantive comments to HN, we're going to have to ban you. We've already asked you several times not to do that. Could you please review https://news.ycombinator.com/newsguidelines.html and fix it going forward?
In an ideal world these people would all be persistent without being an asshole but I do honestly feel like contributors (whether employees or volunteers) need to handle being yelled at. Even the nicest people can appear to be assholes when you're not expecting a "no."
That's my impression from what I've read. But I have no personal experience, so ...
What's really cool here is that I think he's basically acknowledging that, and declaring his commitment to transformation. Recursion can be very useful :)
A more generalized way to put it is there is a perception of a disconnect between what you say and what you do. If you'd like to shake the label, try being more direct and make sure your words more closely match your actions.
I can summarize most of the responses to your comment with one group believing that one needs to be nasty/harsh to get the point across, and the other group pointing out that a false dichotomy is being invoked.
Even your comment:
> I'd bet people tend to cluster onto the line separating "agreeable and lax" and "rude but firm" (as a sweeping generality).
You are invoking that dichotomy by drawing that line.
Another person:
>Agreeableness in general is negatively correlated with career success.
(Hidden assumption that being "agreeable" means you're not getting the message across).
>I think it needs to be acknowledged that many people don't get subtle feedback. If you give me subtle feedback, either positive or negative, chances are I will miss it all together. I need feedback that is clear and obvious, what others could categorises as being blunt or abusive
Again: An implicit assumption that either the feedback has to be subtle, or it has to be abusive. Interesting conflation of "blunt" with "abuse".
There are a few others.
FWIW, in the last 2 years I decided to read multiple books on effective communication. Pretty much all of them, at some point, will explicitly call out this false dichotomy. The mindset many tend to have is that either you have to preserve a relationship and risk the message not getting across, or be harsh while risking the relationship. The books say that at the very outset, this mindset is one of the main reasons people are poor communicators. As long as one believes in this reality, he/she is dooming him/herself to having poor communication skills.
One of the books even gives it a name: The Fool's Choice.
Once you spend time studying it, and then start observing real effective communicators (at work and in other arenas), you'll find many of them practice the skills in the books, and you'll suddenly see why they are effective.
Changing your own style, though - it will take a lot of work. Expect change to be slow, and it may take years for you to get there.
Finally, one other comment straddled this Fool's Choice:
>but rather to separate the firmness on technical issues from politeness on personal description. That is, to say "this code is awful" while also a) going out of your way to praise the things co-workers/subordinates do well, and b) when it is appropriate to make general judgments on their performance, make it clear that they are appreciated.
Please don't do this. At least not as stated above. Everyone hates this. Some feel the positive statement is insincere, and planted just to soften the blow. At the other end of the spectrum, some take the positive to heart and the positive message actually lowers the severity of the negative in their minds. "Yeah I screwed up there, but it's probably not a big deal. Overall I'm still doing OK"
If you want to highlight the problem, go ahead and do it. "For me, your code is problematic because X, Y and Z". Explain why X, Y and Z are bad things. Where you go from there depends on what X, Y and Z are, but usually the next step is to try to identify concrete actions the person can take to prevent the problem from recurring (e.g. use a static analysis tool, or a linter, etc).
On the side, code reviews are challenging conversations, because there are very few objective facts. Almost all the (nontrivial) good practices in programming are opinions (including modularity and cohesion guidelines). Never pass an opinion off as a fact. At some level, the team should have coding guidelines/standards. If the team doesn't, then the employee using poor coding practices is not the problem.
I feel like anyone who says "Linus was harsh but fair" never really read much of what Linus said.
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.
It might be worth noting that the people who do say he’s harsh but fair are people who actually comment on his rants.
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.
I never understood the vitriol, because he could have just said they weren't up to spec. And when people don't fix bugs, just suspend taking their patches and say that.
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.
I'm probably going to be alone in saying so, but I always enjoyed Linus and his attitude.
(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.
"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.
Sure, but every study i've ever read currently backs it.
If you are aware of any that say "very smart assholes make organizations better in the long run" or even "very smart assholes don't meaningfully hurt them in the long run", i'd actually love to see it!
(I hold the position i do precisely because it's backed by research, not just my own random thoughts and experiences)
Strong-personality-assholes have been making successful things for a very long time now (Linus, Steve Jobs, Larry Ellison, come to mind).
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.
Only when reducing the entire spectrum of personalities to your 2-bit representation, your argument holds.
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.
> 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."
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.
> 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.".
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 wanted to say something similar to this. But I think you articulated it much better than I could have.
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.
Do you have a larger set than just famous assholes? Its entirely possible they represent the exception and not the rule. In fact since they themselves then to be extraordinary I would believe that they are influential in spite of being an asshole instead of because of it.
I'm not trying to make a real empirical claim. It may very well not be true that they are over-represented among highly successful people. It may be that they're simply better known, because they're such strong personalities. Would be curious as you are to see some data if anyone has it.
What research? This seems pretty much impossible to scientifically measure since there are no two organizations that are the same, let alone two organizations that have leaders identical in everything but their attitude.
This takes on a particularly hilarious tone now that lots of people assemble their own computers.
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?
> 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.
Wouldn't Steve Jobs be a counterexample to this? And possibly Bill Gates?
No, actually (at least, IMHO). Jobs organization failed more than once due to him?
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.
No, as I said, i think it eventually would have caught up with them and ended up a net negative compared to not being an asshole.
It did in the past, why would it not in the future?
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)
Suggesting the largest philanthropic donor in history (Bill Gates at 27 billion USD) is an asshole ('MS is now under a leader who isn't an asshole') seems like an oversimplification.
I don't have the time to find the comment now, but being the largest philanthropic donor does NOT infact make up for being an asshole or the amount of damage microsoft has done to the computing industry.
Am I downplaying his donations? Not at all. It's just that doing a good thing does not cancel out the bad.
Doing a good thing doesn't cancel out the bad, but I don't think it's fair to anonymously call people assholes on the Internet when they are actively trying, and succeeding, at doing good in the world. Especially when their sins are immaterial things like whatever damage you think MS did to the computer industry.
It depends on how you define arsehole I guess. When it comes to how well an organisation works I've found there are only two things that matter. The first is how good the people there are at their jobs. (If most people are competent, there has been some pretty ruthless pruning going on which is not pleasant when it happens.)
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.
> 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.
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).
> 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.
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.
> 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.
Same. Linus always called a spade a spade, and I always respected that. In a culture where the Overton window has shrunk considerably and people habitually hide their thoughts, I think this kind of attitude is more important, not less. 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.
I'll take an asshole over a pushover any day, and most of us are pushovers.
Actually, it isn't. For example in today's environment when someone suggests something stupid, it is no longer acceptable to say "this seems stupid to me" because it might hurt someone's feelings. So instead you walk it back and say things diplomatically (which is a tiny form of a white lie). Then people reply to your diplomatic statement with another diplomatic statement, and pretty soon nobody is saying the thing they want to be saying at all.
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.
I totally agree with this. I actually quit my job at Red Hat because of the culture of non-criticism. I kept getting in trouble for pushing back against stupid decisions, even though I never insulted a single person.
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.[1]
It was a similar story when people wanted to change our build artifact to be based on RHEL instead of Alpine Linux.[2] 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[3] 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.
Effectively critiquing ideas without hurting feelings is a powerful skill, hard to master, and shouldn't be written off.
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.
A related point that occurred to me about the convenant which Torvalds has included is the "Scope" section. It looks like it leaves most of the details to the project maintainer which I suppose is a good thing. However, an explicit statement about where the whole thing doesn't apply would be useful.
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.
This is definitely not what coffeemug was saying though. He was complaining about all the people who don't appreciate him calling them stupid, so we has to "be more diplomatic" which he considers lying.
That is a different thing altogether from what you're saying.
This is where civility culture annoys me. @ggreer provided a technical assessment of a platform and found it lacking. The only non-technical comment was that it was corporately mandated.
"Moving parts in rubbing contact require lubrication to avoid excessive wear. Honorifics and formal politeness provide lubrication where people rub together. Often the very young, the untravelled, the naive, the unsophisticated deplore these formalities as "empty," "meaningless," or "dishonest," and scorn to use them. No matter how "pure" their motives, they thereby throw sand into machinery that does not work too well at best."
That's Robert A. Heinlein, hardly known for being a social justice activist.
There are different ways to oil the machine, I'm not throwing out the baby along with the bathwater in naivete. Lots of cultures encouraged being direct, were insanely productive, and oiled the gears in a different way. The current cultural trend is just fashion, it will pass, but things will get worse before they get better.
Heinlein wrote "honorifics and formal politeness". I interpret this as things like saying "please", "thank you", and other straightforward ritualistic decorative words - not as actually changing what you're actually saying to avoid hurting feelings.
There's a big difference between reformatting the message and changing the message.
What's described in the comment I responded to is exactly "reformatting the message" - you still communicate the same thing, ultimately, just in a way that allows the person on the receiving end to save face.
And of course, things like this only erode language semantics over time by making more and more words and phrases seem sarcastic; we have "/s" but there is no reliable marker of non-sarcasm (cf Poe's Law).
Yes, that's right. They haven't been in enough situations to see the good that civility can do and the wreckage that incivility can leave in its wake. I'm not speaking specifically about the Linus situation here but more as a general observation that most people have when they've been out in the world for more than a few years.
I agree with you but I think in the meetings coffeemug is describing, the first quote above would also be considered beyond the pale. You'd have to change it to something like, "I wonder if this patch could be improved somehow."
Well, I agree that it’s bad if you can’t say such things! But it doesn’t have much to do with Linus Torvalds whose rants were closer to the second example than the first.
I think "It's a stupid idea" is not a great criticism. It lacks detail as to why you think it won't work. I think in a healthy culture, you should be able to say why you think it won't work, even if you don't call it "a stupid idea."
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.
> For example in today's environment when someone suggests something stupid, it is no longer acceptable to say "this seems stupid to me" because it might hurt someone's feelings.
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.
> call someone names, curse at them, sarcastically suggest they should have been aborted, and many other such tactics.
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.
> 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.
"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?
>it is no longer acceptable to say "this seems stupid to me" because it might hurt someone's feelings.
"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.
There is a middle ground though. Linus wasn't just direct, he was outright derogatory. If Linus stops saying (not an actual quote) "this is a stupid idea and you are a retard for suggesting it" and starts saying "this is a stupid idea" instead, then that's a massive improvement.
Edit: Of course being constructive with your criticism is even better.
Ok, can I just ask, what do you think people are lying about when they’re being diplomatic about criticism? You said being diplomatic is a “tiny form of a white lie”, so I’m wondering who you think is being deceived, and what you think they are they being deceived about.
When you think a specific thought, feel a specific feeling, but express it in a way that really doesn't feel true to you deep in your core, you're deceiving the other person about who you are. That's how many relationships fall apart. You tell each other tiny white lies, and five years later you've discovered the lies have compounded and the relationship is too poisoned to recover. The same thing happens to cultures at scale.
If the way you truly feel at your core is expressed in a way that has unintended consequences, this "being true to yourself" can get in the way of you being an effective leader, five (or thirty) years later.
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.
You can give honest, useful feedback without using words like "stupid."
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.
I say exactly what I think all the time and have never had a problem with it. If "I think this is stupid" is all you can come up with, then the problem is with you. You can simply say "I think we should do X instead because of Y and Z" and get the same exact point across. You're still being direct and not skirting around the issue at all.
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.
It’s a straw man meant to excuse bad behavior as the only way to provide strong direction. Pushovers are not the under discussion here: Torvalds’ behavior is.
Or perhaps an acknowledgement that people are imperfect and the world is imperfect and, if you want to accomplish things, x all-too-common defect is preferable to y all-too-common defect.
I disagree that that level of asshole behavior is all-too-common. I've never encountered anybody like Linus professionally and if I did I simply wouldn't work with/for/over them.
In other contexts, perhaps. I don’t read the comment I initially replied to as supporting that interpretation, even reading charitably. They explicitly separate people into (primarily) two groups: "I'll take an asshole over a pushover any day, and most of us are pushovers."
They very clearly are setting up a false dichotomy. They support one side by stating that it is preferable to the other (when there are no sides to begin with).
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.
"A man who says a spade is a spade is only fit to wield one" - I can't recall who this quote is from but it had a profound impact on my how I conduct myself.
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.
If calling a spade a spade is defined as being an asshole for the enjoyment of being an asshole, then I agree with you. If that's what you were doing, then good on you for growing out of it (seriously!)
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'.
Not related to your growth or realisation but I really dislike that pithy usage of the phrase:
>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."
>In a culture where the Overton window has shrunk considerably
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.
Reality is more important than one's feelings which is why he has been effective in making linux what it is today. Throwing that out the window and caving to the postmodernist "feels" will not bode well for the project as a whole... and in the end the activists will try to find another reason to push him out of the project he founded even if he completely capitulates to them.
Reading this demonstrates perfectly well why "direct" and "brutal" are not at all synonymous. Direct communication wouldn't have required Popov to "extract the technical complaints from them".
It's easy to enjoy a spectacle like that from the stands but if you had a boss like that you'd be a nervous wreck. Linus realizes that his behavior's far from optimal, though changing isn't easy as we all know.
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 agree. I liked his rants, I found them entertaining, and I wish I was the target of one! (I would probably need to work on my coding skills first.) I wish people would grow thicker skins and get more emotionally mature, and be able to tolerate harsh words without taking them personally.
> I wish people would grow thicker skins and get more emotionally mature, and be able to tolerate harsh words without taking them personally
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?
First, you are intentionally limiting the scope of my claim.
"Unforgiving" is just a synonym of "harsh", "challenging" or "adversarial", not about actual person forgiving someone.
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.
> First, you are intentionally limiting the scope of my claim. "Unforgiving" is just a synonym of "harsh", "challenging" or "adversarial", not about actual person forgiving someone.
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.)
My solution to dealing with people of the "rock polisher" mindset is that I politely refuse to participate in any sort of society with them, professional or private. Would this be a valid method for dealing with these sorts of people?
Okay, but what if you are the most pleasant and caring cab company in the world, and suddenly a giant, well-funded bully comes into the scene and starts competing with you? Do you just fold and go into a different business("refuse to participate in any sort of society with them"?)
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.
I don't understand your example - does Lyft ever engage with Uber? Perhaps I wasn't clear - existing next to each other is ok in my theory.
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.
ignoring your emotions and the emotions of others and seeing all of life as an exercise of pure rationalism is not emotional maturity, it's emotional cowardice.
Parent didn’t say ignore them. I’m pretty sure they meant not be an emotional child completely incapable of surviving the slings and arrows of life. Rule your emotions instead of being ruled by them.
See my other comment; if you had been the receiver you'd probably have a totally different attitude. Especially if you felt it was totally unjustified.
I too appreciated his style of candor at times. I hope that he is able to find a way to keep being Linus while also not resorting to personal attacks, and I applaud him for reflecting on his actions.
In this thought experiment, which one of us is correct (technically)?
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.)
There are plenty of people who can deal with a rational explanation about why they are wrong, but who are not able to deal with being bullied.
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".
Yes, he has always seemed like a kind and empathic guy, but prone to angry rants and sometimes uncalled for insults. I can handle such people just fine in real life so I do not think I would have any issue with being called out on a mailing list when I fucked up.
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.
There's a whole lot of people who don't have the luxury of just being able to assume a baseline level of trust, because they feel out of place for whatever reason. Think about what groups of people that might be, in the kernel context.
Way to go Linus... this is a great lesson for all of us!
It's easy to get caught-up in the heat of the moment and say and do things that we regret. We've all done it. It's part of being human. The key is to realize it, apologize and do better.
I have the impression that a combination of https://lwn.net/SubscriberLink/764325/09702eb949176f55/ and some discussions on the Kernel Summit mailing list led to it, and almost certainly some private discussions as well.
You would think and yet.. Did none of John Lasseter's friends call him out and tell him to take the T down a notch over the past 20+ years?
I've pondered over this a bit and have come to the conclusion that a lot of people simply don't have close enough friends exposed to their work behavior, or they simply accept it.. Feedback from randos isn't the most likely to instigate big personal change and reflection.
I'm a SIGGRAPH rando who implemented a clone of RenderMan in 1992 or so on Sun Workstations. (It wasn't that great of an implementation (Pat Hanrahan helped me with one bit), but because of the Sun's networking capability - it could parallelize as well as anything else at the time).
I don't every recall seeing Lasseter doing anything inappropriate.
To your point: The company was going through a hard time, and randos would have been the PERFECT feedback to him. The company would have died without their support.
But, who could be there to tell him to take it down a notch[0], when he acted like a professional all day long?
Net-net: I disagree with what you just said.
[0] I generally know who was working on that project at that time, but I don't think it advances this conversation...
I call it the Impact Wrench[∆] theory of Engineer Management. It's widely practiced, sadly to modest success. This turns pressure into torque, so the harder you come down on your engineers, the faster they spin - right until they burn out.
It takes a lot of people in the community to have that frank discussion, "How do we tell the head of our project, in this non-for-profit/open source world, that they're a toxic asshole sometimes and should not be proud of that?"
I disagree strongly with his personal 'no BS' attacks. For some people, it's a huge deterrent to make contributions.
I've participated in a number of open source projects. I like to think that I've made useful suggestions and contributions, in addition to making dumb ones. When I make a dumb suggestion, I expect to corrected in a respectful way.
There have been cases where a project maintainer answered in an aggressive, passive aggressive or belittling way.
These kind of reactions stress me out, make me lose a night of sleep etc. I can handle a rejection on sound arguments, but I don't handle stress and confrontation well at all. I wish it were different, but that's just not the way I am.
They are sufficient to make me stop contributing to and leave a project.
A public rebuke by somebody like Linus is my worst nightmare, and I would never consider working on the Linux kernel because of them.
I image there are many more technically capable potential contributors out there who have the same reaction.
I also hate personal confrontation. In the past, I have even had my own sub-ordinates (I hate that word - but they were the engineers that reported to me) confront me, leaving me, from time-to-time to go home and vomit and not sleep. So - yes - I understand.
I've never looked at a rebuke from Linus in the same way. I don't know why. I guess I'll go think about that...
EDIT: After (very) short reflection, I think (for me) the difference is whether it is a close personal person rebuking me, vs. some sort of distant character....
> the difference is whether it is a close personal person rebuking me, vs. some sort of distant character
Yes, this is an important distinction.
Being verballed by a stranger (even a famous one like Linus) might be embarrassing, but it wouldn't hurt like being rebuked by some who actually knows me.
Well, it's certainly not my style, but I would generally take it as an expression of intense feeling about the topic.
If it were my wife or my child or my parent saying this, it would probably reduce me to tears.
If it were a community leader, it would probably certainly make me feel really really bad. But I wouldn't be suicidal over it. Depending on the topic, and how strongly I felt about my position (I have felt strongly about memory allocation approaches on certain 68K-based machines before), I might reply in kind.
I think one has to be fair about what sort of asshole Linus is. He is not like Steve Jobs, Balmer and Gates who could be vindictive and get personal.
For Linus it is more about being far too blunt. But you can clearly see Linus himself being aware of it and having some humbleness about it. Jobs in contrast would never admit his bad behavior.
As a fellow Nordic (Norwegian) I feel a significant component of this is simply Nordic cultural trait. We are quite blunt. We value honesty and directness. However Finns I believe are farther out on that spectrum.
The second parts is that I think he has probably mild asperger traits. I have that, my wife and oldest son. That does not make you an asshole. I don’t talk like Linus but it can mean you often are not able to pick up other people’s emotional state.
Keep in mind this is very different from being a psychopath. They can pick up other people’s emotions but don’t care of they are hurting them. Somebody with asperger don’t want to intentionally hurt others but may do so accidentally by not reading the person properly. Somebody with Asperger is willing to admit they have a problem that needs fixing just like Linus.
A psychopath does not think he/she has a problem that needs fixing.
I agree, he seemed to only get personal when he knew the developer, and it seemed like it was mainly because he knew that they knew better, but were still submitting bad patches anyway. I still remember seeing an email response to someone who was just starting college and was telling Linus that he thought the way they were using spinlocks in the kernel was wrong. Linus knew they didn't know any better, so he didn't insult them, and went into a lengthy email about why they were doing things the way they did, and how the student's professor had taught them wrong.
Even though Finns can be much more blunt than people are used to, I think he recognized a while ago that he was going beyond being blunt. During a conference in Australia, someone asked him about how people perceived his attitude and it's effect on the kernel community. He told them that he's not a nice person, he doesn't know why people think he would be, and that if people enter the community with that in mind, they'll stop feeling like they're being personally attacked.
Agree. I also think it's very important to point out that he has been doing an insane amount of work, under an insane amount of pressure (and not just external, also internal, by his own character), for decades. Anyone who is minimally obsessive and has been leading a project involving a lot of people for a while knows the feeling. Now, with open source it can get even trickier, and the scale of the work he has been doing is comparable to few other projects.
This is not to excuse him. But when he acknowledges it himself, I think everyone should be empathetic with that. I think that judging without taking the context into account is outright cruel. Universal morality standards are cool, but we shouldn't forget that in the end we are all still just humans. We all make unforgivable mistakes. Only some of us realize and admit them.
Have certainly experienced much more direct communication styles, e.g. in Holland, than are the norm in say UK.
I remember a seminar taught by US lady in Holland where at the end of the first day she said she had never experienced so much of what she perceived as aggression. We talked it through at the beginning of the second day and put most of it down to cultural differences.
I also got the impression from the way he described the situation about him not being good at reading emotions that it could be aspergers. That would be a good thing since there are many ways for him to mitigate issues around his emotional awareness, mostly by just understanding how he is different.
Here is an example that I believe is more than just "being far too blunt"[0], it's not the worst example I can remember but it is the first one I found. In my opinion his major issue is that he grandstands, he goes beyond being just blunt and becomes unnecessarily derogatory. If his issue was with being too blunt (and I suspect you'll find that most people don't consider being too blunt to be that much of an issue compared to his other faults) that email would look something like this:
> The conflict I get is due to stupid new gcc header file crap. But the
> reason I'm rejecting this is that I just don't think it brings in any
> positive value.
> This is the old code in net/ipv6/ip6_output.c:
> mtu -= hlen + sizeof(struct frag_hdr);
> and this is the new "improved" code that uses fancy stuff that wants
> magical built-in compiler support and has silly wrapper functions for
> when it doesn't exist:
> if (overflow_usub(mtu, hlen + sizeof(struct frag_hdr), &mtu) ||
> mtu <= 7)
> goto fail_toobig;
> The above code generates shit code
> <insert evidence that generated code is shit>
> and it's a lot more difficult for people to read.
> The code could easily have been done with just a single and
> understandable conditional, and the compiler would actually have
> generated better code, and the code would look better and more
> understandable.
> <evidence of this statement too>
> Why is this not
> if (mtu < hlen + sizeof(struct frag_hdr) + 8)
> goto fail_toobig;
> mtu -= hlen + sizeof(struct frag_hdr);
> which is the same number of lines, doesn't use helper functions that
> most people are unfamiliar with, and is much more obvious what it
> actually does.
> The second more obvious version is easier to read and understand. Does
> anybody disagree with this?
> Obviously you still could have overflow issues if the whole "hlen +
> xyz" expression overflows, but the "overflow_usub()" code had that
> too. So if that's the reason that this change was introduced then
> it hasn't actually fixed anything.
> I really do feel like this code was designed to use that
> new "overflow_usub()" code, it seems to be an excuse to use that
> function. Am I missing something here?
> Just to be clear I will always try to make sure that code which offers no
> positive value does not make it into the code base, regardless of where
> in the code it's being added.
> Linus
This is still just as blunt (I do think this would be more effective if it wasn't as blunt, I just wanted to try to show that being blunt wasn't the main issue), but it doesn't have the unnecessary grandstanding and derogatory comments. The main problem with the was Linus used to conduct himself is that he puts people on the defensive, and when people are on the defensive they have a much harder time admitting that they were wrong or learning anything.
I don't actually expect Linus to come back any less blunt, I expect him to come back less aggressive and derogatory.
Yes. Tech people the world over need to remember the person. I don't even mean in a slightly soppy 'everyone is a real person with real feelings' way. I mean that in a practical sense you really hit productivity if you're rude. Simple exchanges or corrections become arguments because one party was acerbic or inflammatory which caused the second party to be defensive. The discussion gets derailed, the point gets lost. Nobody learns. The project deviates.
Social skills and emotional intelligence aren't fluff that smart people don't have to deal with. If you want to make great software and create great organisations you have to treat people with professionalism and respect.
I don't treat people the same way, but I appreciate the blunt honesty. If we're having a few drinks as friends and you tell me that I'm an idiot, of course I will take that personally; however, tell me that as a developer and I'm motivated.
So far as that goes, my mind works the same as Linus. I err on the side of praise, which makes me different - although my lack of praise for some individuals probably speaks as loud as Linus' vitriol. Your ability is not a reflection of your character, i.e. "you are not your code."
I have no interest in maintaining Linux, maybe I would 20 years prior to now when choices were generally more than "drivers." That being said, Linus would make an excellent mentor for those who can separate their code and themselves.
He is an artisan, in the most classical sense. Every one of his maintainers is an apprentice. It's an incredibly unpopular perspective to have - but the epitome of professional decorum is to attack a person's work without attacking their life.
Smart people are able to discern the difference between their work (which is fallible) and themselves (which is infallible). I am a great developer, but the fact that even better ones exist is inspiring and I'd hope they would tell me what I'm doing wrong.
My assignment for the next N sprints is to clue up employees on debugging prod. I will destroy that assignment but, hell, I would prefer to work with people who cared enough to research it themselves; as I did.
There is a difference between blunt honesty and being rude. Honesty is pointing out that you're not pulling your weight, or how you did something was incorrect and not up to the teams standards. Rude is calling you names or otherwise insulting you. The insults also often lack any reference to the issue. Telling someone they are an idiot does nothing for that person or the team.
We’ll be here all day. He would associate the code to the person, which goes against the “I am not my code.” that many adhere to. Linus is stepping up and finally owning up to his behavior. We owe him a lot so we gave him a pass before. Now we won’t hopefully need to anymore.
To be fair, he has incredible judgment and we defer to him when it comes to being the road block to merging bad code.
The more exaggerated the cursing, the more problematic is the subject according to Linus. Linus' over the top cursing is a means to transmit his evaluation of how problematic some code is. It's never personal.
Show me an instance where his cursing is not related to kernel code.
The key here is not to take the cursing personally. He's cursing the code not the coder. He don't hate specific persons. He can curse you on one not-so-good patch and praise you on another. The anger it's not directed at the person.
He didn't mean to direct it at a person, but he used a language that everybody would understand as statement directed at a person. And he is apologizing for the fact that he didn't realize that.
>I'd also suggest that whoever was the genius who thought it was a good idea to read things ONE F*CKING BYTE AT A TIME with system calls for each byte should be retroactively aborted
"retroactively aborted" is a dark joke, if you have a sense of humor, and conveys how bad a decision Linus think is to make a system call to read each byte.
saying "should die as a baby" is a spin. To be precise is important.
I'm not empathetic and have poor EI (medical reason) and have concluded similarly that being rude as a general rule is unproductive. First, I don't want to be on the receiving end of it myself(!), but nor do I want the time sinks of drama, a mutiny, or a revenge attack. Being thoughtful about your words seems to be a good idea for anyone, whether they're emotionally intelligent or not :-)
I've worked with assholes, that think they are god's gift and really they are just hampering the business goals of the company and don't realise it. They were constantly like a petulant 5 year olds during a tantrum, and I don't work with people like that. I quit such jobs. Done that 3 times now, first time took me 6 months, second time 3 months, last time 18 hours. Note - this is not rage quitting - they were a reasoned decision based on the likelihood of being about to resolve the problem through negotiation, and comparing that to opportunity cost. Fuck it life is too short.
Similarly would I contribute to an Free/OS project with such people for free? Hell no.
..and if productivity was better from disrespecting people, then that would be the way to go?
Well...That seems to be the actual case. Our current system seems to not to respect people, or the planet (or other animals besides humans.) It seems to respect money, 'productivity', 'efficiency' and 'growth'.
Sorry, I don't know what you mean. I was trying to say something about my feeling that having a policy of respecting people because it's good for productivity seems obscene to me. Once you are thinking that way, whether you decided it's good for productivity or not, you no longer respect people, it seems to me. That is often called "losing your soul".
Just to clarify, I'm definitely not trying to suggest that this is the only reason you should be respectful. This is more a message about people within tech, who are numerous, that get frustrated with working with other people due to actual or perceived incompetence. The parent comment mentioned the 'it's ok to be an asshole if you're right' myth, which is particularly prominent in software projects or in tech related discussions. I would deduce that the only reason that smart, capable people do not invest the time or the energy into moderating their tone and choosing their words is because they don't see value in it. My point is that there is empirical value in it even if you're purely seeing it as a means to an ends.
Absolutely the rest of us who are just nice and pleasant as part of our day to day should continue to do so, we just need to remember that their isn't really a justification for ad hominem attacks as part of professional discourse.
I have to wonder if Linux would even be remembered other than as a footnote at this time without his forceful personality being in the mix.
He probably would, because he's a fairly prodigious developer working on hard problems. He was already noteworthy long before the modern era of the Internet, simply for getting early Linux working.
Being a jerk didn't create Linux and git. Hard work did.
In reality, being 'forceful' will almost always be perceived as being kind of an asshole.
BUT - there's a world of difference between being 'forceful perceived as jerk' and 'demeaning and needlessly insulting or derogatory'.
Never a reason to put people down.
In Linus' 2008 speech at Google talking about Git, he said he created it partly to avoid politics - he can just have people copy his stuff into their own repo and go off yonder and not have to deal with them.
Sure, but can you be successful in the context in which he was successful? He succeeded against all odds, and has done something great. He's no saint, but none of us are. Like it or not, who he was was instrumental in this success. The parts you admire and the parts you disagree with.
I agree it's mostly pointless to argue one way or another what Linux would be in a hypothetical timeline in which Linus was less rude/brash. But it seems ironic to bring up Jobs as a counter-example, because he most definitely was known to be an asshole who said and did things far more reprehensible than what Linus has been accused of. But Jobs has no shortage of first-hand witnesses who testify that his force of personality (e.g. the reality distortion field) was pivotal to Apple's success. I'm a Church of Woz worshipper myself, but it seems clear he would not have (reluctantly) agreed to quit his anonymous HP engineering job to join Apple, had Jobs not literally thrown a crying tantrum (and IIRC from one of his biographers, he did this in Woz's own home).
I'm mostly parsing this as external pressure forcing him to change, rather than a comment on the value of the behavior one way or the other. I suspect on net this is going to be seen as martyrdom, with a vocal minority of people who will bring it up in every conversation as a suppression tactic.
EDIT: That having been said, my personal opinion is that Linus could stand to tone it down a bit. He often goes beyond "unrelentingly firm on quality" and into "personal attack", the line between them can be subtle but hopefully he'll figure it out without becoming a pushover.
Of course, no one is suggesting he become a pushover. I don't think it's really that hard to not be a weakling and at the same time not be a douche. It's not a "gray line" either, unless the extremes are either 31 Kelvin and 1000 KeV.
It's not a myth, and Linux is an unmitigated success to this point. Torvalds' admission is a reminder that, for all but the most callous, it's not sustainable way to behave. It catches up with your conscience. It took almost 30 years for it to catch up with Torvalds'.
It certainly will if Linux kernel development continues successfully. I don't see why that wouldn't be the case, but you can't really use this to end the myth just yet.
Is that really a myth though? Being surly and right can be workable indefinitely. As opposed to success via being polite and flattering while being wrong. Fundamentally they would be a parasite. Not a dichotomous extreme though in that it is better not to be rude unless it is called for. And rudeness can be very called for in response to evil.
The point being that rude isn't evil in itself although it may be inappropriate. The proper response to someone wanting to hold a klan meeting in your house is "get the hell out". Rudeness is a feedback mechanism.
The point being that while less than ideal it isn't unsuccessful in itself. Extremes are useful for extrapolation - even if it will never reach that point it is helpful to have the worst in mind to be vigilant of the flaws it may start to drift into.
There's no dichotomy here - you can be both right and wrong, and rude and polite. These are not related, and frequently not correlated at the least either, these are just two independent coordinates. Moreover, in many cases, you yourself is not in the position to know where on the right-wrong spectrum you ended up. Linus tends up to end closer to the right than wrong end, usually - but this is not universal, and it's not correlated with rudeness. Since being in rude-wrong quadrant makes you a jerk, and being in rude-right quadrant is no better than being in polite-right one, it is a good rule to try and stay on the polite half-plane as much as you can. Linus seems to realize that too, which is especially great because he is one of the few that can actually get away with many things. So his realizing he still should not is IMHO a positive development.
Depends on if right and wrong are defined via instance or percentage. A doctor who operates based upon germ theory may get a few diagnosises wrong or too late but he is fundamentally operating on "right".
A quack no matter what redeeming factors they may have is in the "wrong" even if his potions help via placebo effect or sheer accident like treating unrecognized dehydration simply by being water based.
Indefinitely was defined in the sense of viablility in flows. An actual business who provides a real product for sufficient margins can sustain itself indefinitely. Others may do better or circumstances may conspire against it but there is nothing stopping its success. It is a matter of ratios of course - right but rude may succeed with a sufficient base but if he alienates too many they are still doomed.
One which is fundamentally based on something wrong like say Theranos would collapse inevitably. Even if the entire world bought in. No matter how much they tried to work on fingertip blood testing they would find it inaccurate because the composition isn't the same as veinous blood. If they never lied about their viability it would merely be a noncriminal failure that ends when investors pull the plug or they run out of money. Unless they shifted to something viable successfully of course in which case they are no longer wrong.
Ironically noninvasive scanning of blood would have more potential for research success - while a very hard problem there is at least the data hidden within to be decoded. Alt-Theranos that shifted to it may still go bankrupt before they get a viable product from the tech not being ready but they would be on the right track and success before others were ready would pay off. Doctors loved noninvasive blood pressure measurement and would love a second by second view of blood chemistry.
> You can absolutely be rude and insulting as long as you're right.
What is the basis for this "might makes right" axiom when it comes to collaboration? I mean, obviously, anyone -- winners and losers -- can choose to be rude and insulting for any reason they'd like, they aren't barred by law or regulation. What tangential or moral benefits do you believe come from adopting a "winner has the right to be rude" mentality, particularly in an open source community? I think it's almost self-evident what the drawbacks are -- for example, that the risk of humiliation might stifle people's willingness to debate at all -- so what are the upsides to fostering that kind of environment?
Many people are so afraid of ending up in the bottom right (just giving in) that they head for the top left (zero-sum competition).
This underlies some of the things people fear about codes of conduct; they're afraid that they're being pushed into that bottom right corner, rather than striving for better collaboration.
Be direct. Be clear. Seek the best solution. Don't be awful to people while doing it.
The problem here is that the "Collaborating" sector is the wrong goal for the Linux kernel. Linus Torvalds is uniquely qualified to be concerned about matters concerning the kernel; if his interlocutors "win" too much on their side of the "win/win", every user loses.
The public embarrassment of lazy and dishonest actors, especially those who are paid to collaborate, is an effective tool for maintaining order and standards on behalf of the quality of the product, and provided nobody gets hurt permanently at the end of the day, it is easily justified.
> if his interlocutors "win" too much on their side of the "win/win", every user loses.
You seem to be trying to find a way to turn this back into "win/lose".
Try another interpretation.
For instance, a patch might call attention to a problem, but it takes the wrong approach to solve it. Could we find a better solution to the problem?
Nobody is suggesting giving bad code or bad ideas a pass. Are you under the impression that it's impossible to reject a patch or give technical feedback without being brutal or toxic?
A large chunk of frequent contributors are paid by companies to heave features/drivers at the kernel with no regard to doing it the right way. To them it's about landing code ASAP.
Linus is already working in the win/win quadrant by default by merging these things all in the name of making the kernel better.
Occasionally a frequent contributor who has gained trust will start to merge trash in the name of meeting deadlines. This is usually when linus loses his shit at the people responsible.
This has nothing to do with a silly quadrant of being competitive/neutral/anything towards the collaboration itself. Linus is still looking for a win/win, but he's requiring people to fix their shit.
That quadrant is irrelevant about Linus's behavior because he's always collaborating. What you need is a quadrant describing how feedback is delivered to subordinates.
I think generally you're right, but the comment you're replying to has something to it as well. If two parties are not "equals" in the arena they are in, things get Complicated. I'm not sure true collaboration is possible in situations where parties are on such uneven footing (and I mean this in the abstract sense as well: I don't think the model you've presented is complete as is does not give you a productive way to structure this kind of relationship).
In the situation where Linus is far more qualified, and obviously so, and someone is trying to get him to "approve" a patch, there's no way it's ever really going to be a truly collaborative dynamic.
This doesn't mean Linus has to be a dick about it, but it's definitely not collaboration between equals.
If you read what Linus said, nowhere did he conflate technical merit with social merit. Your comment very much does this. He specifically said there haven't been pain points around technical issues, but around process issues, which is what he's personally trying to fix.
Open source is about the community, and I think Linus figured this out later than most. Sure, you can dump some code out there and maybe even get users, but you won't have built a community that improves software until you've shown people can file bugs reports and patches or otherwise be a part of the community without being personally insulted. This is a pretty low bar tbh.
The public embarrassment of lazy and dishonest actors,
especially those who are paid to collaborate, is an
effective tool for maintaining order and standards on
behalf of the quality of the product, and provided nobody
gets hurt permanently at the end of the day, it is easily
justified.
Can you explain why you feel rants and insults are necessary to maintain high technical standards?
Literally nobody is asking Linus to relax his standards for what makes it into the kernel.
I suppose the theory is that fear of embarrassment makes people put in extra effort before submitting anything. This would reduce the time spent politely rejecting submissions.
I think fear also hinders innovation as it hinders thought and disruption at times. I am sure, to a certain degree, it's good to be fearful and understand the stakes but I doubt this has to be something maintained through verbal attacks, public humiliation and other forms of _abuse_.
I like Linus Torvalds. It's hard not to have a soft spot for him when his counterparts always were Bill Gates and Steve Jobs (for the longest time). But for this, there is no necessity of asshole-behavior.
> Can you explain why you feel rants and insults are necessary to maintain high technical standards?
It is possible that they are not truly "necessary", but they are one often-effective way to discourage disruptive/unproductive behaviour. Linus ultimately should not be asked to review changesets he will be far from willing to merge; and for him there are only so many hours in the day. It is, as a practical matter, necessary to communicate that there is a cost to wasting his time with work that somebody should have known was substandard, and it is important that that cost is borne primarily by the originator of that substandard work (i.e. it needs to suck more for the committer to waste Linus' time than it sucks for Linus to spend time responding).
It is a high-risk, unappealing technique, but we should be careful not to impose alternatives which fail to meet the same criteria at least to some extent.
there are only so many hours [for Linus] in the day. It
is, as a practical matter, necessary to communicate that
there is a cost to wasting his time with work that
somebody should have known was substandard
This is a really a restatement of the old (yet still relevant) "Linus doesn't scale" issue, right?
It's true: Linus' time is a valuable resource and shouldn't be wasted. This is of course true of any project maintainer, or any person at all really -- it's just that the stakes are a higher in the case of the Linux kernel because of the scope and impact of the project.
it is important that that cost is borne primarily by the
originator of that substandard work (i.e. it needs to suck
more for the committer to waste Linus' time than it sucks
for Linus to spend time responding)
This is a nearly universal problem.
Imagine suggesting "hurl insults at the perpetrators until they learn" as a solution in any other field. Ridiculous!
The answer of course is to proactively reduce the number of time-wasting things that are raised to Linus' attention, not to reactively be meaner when those sorts of things do happen.
Typically you'd do this in Linux or any software project by:
(a) making sure that the other kernel maintainers are trusted and skilled
(b) making sure that everybody has a solid understanding of what is and isn't a good contribution
(c) discussing contributions ahead of time so that there are fewer surprises at review/merge time
(d) solve the "Linus doesn't scale" issue by delegating more of his responsibility elsewhere, cloning him, etc.
I should note that I have no idea about how the kernel maintainers function on a daily basis. Maybe they're already doing a really great job of those things, and it's only 0.001% of merge requests that result in spectacular Linus rants and therefore show up on HN or whatever. Since it seems like kernel development is humming along pretty well for the mooooooost part I'd put my money on that, but who knows.
Gotta stop you right there. Hero worship should not be considered a good thing in our industry.
The kernel subsystem maintainers, who actually review the code prior to getting it merged, are the ones with the real power and the necessary knowledge, and I'd argue they are more qualified to oversee the project's future than Torvalds.
2) Known to be mainly motivated by technical concerns
If you role the dice with another governance structure, you might get one that is motivated by "collaboration" and then the integrity of the kernel might get compromised by corporate interests. We have no idea how the subsystem maintainers would deal with the politics of a situation without Linus calling shots. We know how Torvalds reacts; rudely :P.
The choice isn't ever going to be Torvalds vs. Sunshine & Roses, the choice is Torvalds vs. Unknown. Because of that, he is practically (but not technically) unique.
I am in complete agreement that Linus is one of the best we have, and I personally think it would be a huge loss if he were to pull back from the project, and not only for technical reasons. Without sounding like I’m engaging in hero worship, I think him being around is usually positive. However, I’m not convinced—and it would seem he isn’t convinced either—that treating other humans as if they’re inhuman is a fundamental part of what makes him him.
I don’t know how we ended up at a point where we believe the only way to tell someone “No” or “You need to do better.” is through incredibly aggressive interactions. I suspect it’s just another hold over from a different time period, and we just never asked “Why?”
It sounds like he believes that treating other humans with respect won’t shatter him and I tend to agree with this assumption. His fundamental personality won’t go away and his skills certainly won’t suddenly disappear.
I’m interested to hear more regarding your comments about corporate interests. While I strongly and completely agree that we must resist letting their interests work their way into being driving forces, I’m not clear why some believe his most egregious behaviors are needed to keep these separations of intersts in place.
I think that when a company reaches a certain size and stability level, as long as the CEO is competent and understands how to balance external and internal issues, the particular CEO doesn't matter that much. The real power over product direction comes from the PMs, VPs, etc. That's my argument -- Linus isn't uniquely qualified to run the Linux kernel project, since he's barely even involved in the direction of the project.
Business history & Jack Welch disagree with you. Individual project success is incredibly nuanced and individuals - even in 10k+ orgs - can have massive impacts. Trying to pretend that outliers don't massively influence company success is naive, and MBA programs study these individuals because they are the exception and not the rule.
There's a reason we have Madison Square Garden, Rockefeller Center and Carnegie Mellon. It's not hero worship to acknowledge the contributions of individuals - recognizing a great general doesn't diminish the accomplishments of his army.
What do "genius CEOs" have to do with anything? Most successful CEOs were only responsible for a single business. Multiple successes don't change what Gates, Ellison, Knight et el. accomplished because they only did it once. Plenty of instances of people that failed plenty before eventually succeeded elsewhere (Ray Kroc).
Well, if CEOs didn't have that much bearing on the success of businesses, or don't have much bearing on the success of businesses once they reach a certain size, then seeing a wildly successful CEO completely flop at the next company would make sense.
> Yeah, just like regular employees are better qualified to run a company than the CEO.
I think you could pretty easily adapt Tolstoy's argument to business and say that the primary role of a CEO is to ratify all the on-the-spot decisions his subordinates made as events got away from them.
I think that's what he's good at. They know they'll get called out if they try any BS so they mostly don't. And sometimes Linus overdoes it, but Linux keeps getting better.
Anyone who can do better can make their own fork. So far, everyone still follows Linus.
> The public embarrassment of lazy and dishonest actors, especially those who are paid to collaborate, is an effective tool for maintaining order and standards on behalf of the quality of the product, and provided nobody gets hurt permanently at the end of the day, it is easily justified.
It may be effective, but aren't there other equally effective alternatives? How are hard situations handled by maintainers of other operating systems/kernels like FreeBSD? Do they also need public embarrassment?
This has absolutely nothing to do with Linus winning or losing. Only with how he goes about winning. If he wins an argument in ways that alienate contributors, then he’s ultimately losing. There’s no reason he can’t be assertive without being toxic. I for one give him more credit than that. Calling people names is he laziest and least productive way to argue your point.
You're an idiot if you think insulting someone is effective shaming or the only way to do so. As the CoC points out, you can reprimand a community member in any number of ways and keep track of it.
I think this can be further generalized, that there is a tier of talent that we must excuse from having to filter themselves and that this may serve humanity even if it rubs some the wrong way.
This mindset is a bit too fascist for the modern workplace. I still see this attitude a lot, so I think it's good to recognize and call it out for what it is.
Newton was an asshole too. The whole "apple fell on his head" story came about because he was so mean to people.
I won't say that most geniuses are inempathetic, but many are. Einstein wasn't, some say Gauss was. Beethoven was. Linus is. And we'll accept Linus's attitude for being an aversion to bullshit, just the quality that we need in a kernel maintainer.
I'm glad to see that Linus finally realizes that he has a problem, but truth be told I'd selfishly rather that he keep his problem because I doubt that he could steer his ship without it. I hope to be proven wrong.
Thinking that Newton's success is caused or strongly correlated to him being an asshole seems to be begging the question. Why can't we just as well argue his achievements were intrinsically linked to his fanatical religious belief? After all, we can at least quantify the latter -- it's said that at least half of his writing was on religious subjects.
Newton was an asshole in an era when men being assholes was, in essence, acceptable. There is no evidence that being an asshole is a requirement for being a successful innovator or leader.
It takes effort to be not be an asshole because you have to expend energy to model and simulate the feelings of others outside of you. That's an objective fact. Being a genius may require not expending such energy.
Of course there are other geniuses that find things easy and they behave very nicely, but then they may not be reaching their "true" potential, heh.
It's really quite surprising how much energy/effort can be required to wind back that lizard brain in all of us when we're particularly agitated.
It's really hard to respond effectively when someone is doing the WRONG thing or they completely misunderstand your stance & modus operandi.
It takes a lot of effort to mentally model the other parties in the conversation and generate the empathetic response that hopefully is interpreted by the others in exactly the way you intended, so that everyone is back on the same page. An impossible endeavour.
Yes, the assholishness probably comes from the same place as the drive that makes things happen. However, Linus isn't a lone scientist, he's a leader, so exercising more self control will make him more effective. He isn't going to lose his drive, he's just going to discipline his expression of emotions. He does seem to grok this so I'm not worried.
> just the quality that we need in a kernel maintainer.
I disagree this is the case. "This is how it's been done" is a terrible excuse for anything. This attempt at protection of the status quo is wrong because almost without exception the status quo is sub optimal.
> because I doubt that he could steer his ship without it
Its an analogy, not a classification. If you want to go by that logic then no one can be in the same category as Newton as he was the ultimate genius who revoutioned maths and physics singlehandedly.
He's not really a scientist - at least one as theory heavy as the names above.
However, his work with linux and git is at least comparable to that of other big scientific names known more for their engineering impact - like Van Leeuwenhoek. I'd also say the impact of Linus is greater, in part because of his insistence on making Linux GPL early on, rather than the secretive approach taken by someone like Van Leeuwenhoek.
The other huge news here, both for Linux and for numerous other communities trying to make similar changes:
The most recent commit, right before the release, deletes Linux's "Code of Conflict" and replaces it with a real Code of Conduct, the Contributor Covenant.
> Explicit guidelines have demonstrated success in other projects and other areas of the kernel.
> Here is a Code of Conduct statement for the wider kernel. It is based on the Contributor Covenant as described at www.contributor-covenant.org
> From this point forward, we should abide by these rules in order to help make the kernel community a welcoming environment to participate in.
Something worth emphasizing here: adopting a code of conduct, and choosing to be welcoming and inclusive, does not mean a project and its developers avoid disagreement, or avoid feeling passionate about their work, or avoid discussing and fixing issues. It just means not letting things turn heated or hateful, and treating people well.
Was there a public discussion that led to this change? The 'Contributor Covenant' contains this line:
> Other conduct which could reasonably be considered inappropriate in a professional setting
which is essentially a carte blanche for any actions based on 'violation of the code of conduct', especially with the inclusion of public spaces in it's scope. We've seen it being (ab)used many times recently in open-source projects.
Most recently it's been considered legally binding, and the wide net it casts seems to be a huge liability for contributors (not a lawyer, so feel free to school me on this one).
Every good thing must come to an end. Sounds like linux is going to go down this path and the industry and innovation will suffer as a result of this. They've been gunning for Linus for a long time. My guess is that they got some dirt on him.
Who would that be? I'm asking because you seem to be implying something more than just a general "anti-SJW" movement or belief system, if you do think that there could be a concerted effort to blackmail Linus and usurp his position.
I don't think the language of the Contributor Covenant [1] contains anything really objectionable by anyone, even people who wouldn't consider themselves left-leaning. "Trolling, insulting/derogatory comments, and personal or political attacks" is arguably the only ambiguous part. That said, I am a bit skeptical of the CC creators' motives and goals.
The contributor covenant is fairly in-objectionable. Yes, the list of 'privileges' is a bit of a checklist for left-wing soapboxes, but it's not necessarily a bad thing to explicitly list traits commonly targeted by bullies and harassers.
The problem many people have with it, as you imply, is that it's the thin end of a doorstop, at the thick end of which is the Post-Meritocracy Manifesto:
Written by the same author and often championed by the same people as the Contributor Covenant, it espouses some rather more radical ideas which, while carefully stated to sound superficially agreeable, are not ones I would consider beneficial to the open source community.
Just one example from that manifesto: “We have an ethical responsibility to refuse to work on software that will negatively impact the well-being of other people.”
This a terrible slippery slope. It eliminates any military, security or even anything useful.
A thief’s well-being is meant to be negatively impacted by a security measure. A guidance system in a missile is intended to negatively impact the well-being of the enemy.
I feel negatively impacted by this manifesto. So by definition every signatory is in violation of that manifesto.
The Contributor Covenant says nothing of the sort. It is entirely reasonable for developers to believe that the statements in the Covenant are a baseline for professionalism and, at the same time to disagree amongst themselves about whether they should contribute to military projects (or whether they buy into a "post-meritocracy" philosophy).
I wouldn't say it has nothing to do with it. It's not part of the explicit language of the Code of Conduct, but the first few paragraphs of https://www.contributor-covenant.org talk about the same concepts.
I think these attempts at redefining meritocracy are concerning, and I don't blame anyone for questioning the Contributor Covenant as a result, even if the Code of Conduct itself is reasonable and pretty much common sense.
This rhetorical technique where you pretend not to understand what people are talking about does not reflect well on you. And I normally respect your comments quite a bit.
Your direct reply to DC-3 was fine, if combative. Everything you posted below Ws32ok is ugly.
The three comments in question can be argued as technically correct, but they're also deliberately ignoring that people are talking about a different document, and the reasons they are talking about the different document.
It's not useful to repeat that those words are not in the kernel code of conduct when nobody thought they were. It muddies the waters of the conversation. What really bothers me is the statement that it has "nothing to do with" the philosophy. From a certain point of view this is true, but the implied message is that the other person has not even a ghost of an argument because they're mixing up codes. That implication isn't right at all. He's also implying that he doesn't even know what this document is.
But before he made any of those comments, he made a reasonable reply to DC-3 that addresses the argument. His response was very simple, that the code should be treated as separate from its author.
So he clearly understands the argument and read the post explaining what this manifesto is and why it's being discussed.
But he comes in under Ws32ok's comment not to point out the difference between the two documents, but to instead imply that people are confused and accidentally opened the wrong file, and he's never even heard of this file.
And once again, read https://postmeritocracy.org/ and you’ll find the text I quoted verbatim. And my comment still stands in reference to the URL I provided. The wording is quite clear in that manifesto and I responded to that.
What's wrong with agreeing not to build military hardware? I have an explicit understanding with my company that I will leave if they take defense contracts and it hasn't affected my employment whatsoever, so clearly it's not an outlandish requirement.
> It eliminates any military, security or even anything useful.
Haha, I love the implicit signaling you're doing. I mean not only is it just not true but your qualifications for "useful" and "not useful" are really stupid.
If everyone refused to build guidance systems for missiles, perhaps the missiles would never get built?
I think likely yes, because if the zeitgeist among engineers was strong enough to make it nearly impossible to find one willing to build a missile guidance system, it would also be strong enough to make it impossible to find someone willing to build the actual missile.
To directly answer your question: no, I believe no weapon of war is OK. The reasons are all of the typical pacifist ones but I don't think it's necessary to reiterate verbatim here unless you feel otherwise.
> If everyone refused to build guidance systems for missiles, perhaps the missiles would never get built?
Correct but incomplete.
In that scenario, unguided rockets get built instead of missiles. Rockets, being unguided, will miss their targets more often than missiles. Rockets, being unguided, will also tend to be used in slightly-scattered volleys, so as to increase the chance that at least one rocket hits the target.
Any explosive ordnance that misses its target has some chance of instead killing some civilians.
> but it's not necessarily a bad thing to explicitly list traits commonly targeted by bullies and harassers.
I see a big problem by them omitting protection for people of different political opinions (whereas e.g. religion, which is essentially opinion, is protected).
That's a common problem, and one heavily abused and weaponized.
If you want to argue about the level of taxation, the right size of government, regulations on business, whether public or private is the most efficient way to accomplish a goal, or myriad other areas of policy like those, go right ahead. Those kinds of things are absolutely reasonable subjects for healthy and reasonable debate. (They're rarely on-topic for a software project, but in some types of communities, or in companies, or in random side conversations, sometimes they are.) Those are almost never the kinds of political opinions that people have in mind when they're suggesting that "political opinions" should be an explicitly protected category, though.
It's funny how the people worried most about whether they'll feel unwelcome for their political opinions are often those whose political opinions revolve around making others unwelcome, or hurting others, or questioning (or asking with superficial politeness about) others' right to exist. Those kind of "political opinions" do not and should not get any protections, in a code of conduct or anywhere else. You're legally allowed to say them, but you should not expect to do so without any consequence.
> If you want to argue about the level of taxation, the right size of government, regulations on business, whether public or private is the most efficient way to accomplish a goal, or myriad other areas of policy like those, go right ahead.
You list a bunch of self-approved topics that you believe are okay to talk about. How about arguing for stricter immigration laws, anti-abortion, anti-gay marriage, skepticism on transgender orthodoxy, skepticism about the existence of a female wage gap, anti affirmative action, anti gun control, climate change skepticism etc. Are those not okay?
These are common political opinions that are routinely twisted into "questioning other's right to exist", or denial of basic human rights/decency, or sexist/racist, while they are usually no such thing. Even partial disagreement and skepticism is often elevated to that level. This is the real abuse and weaponization here. I think you'd need to look long and hard to find anyone in open source projects seriously advocating for some group to be wiped off the face of the earth.
Yet these topics are likely to make some uncomfortable, or depending on the person, even unwelcome. So are they verboten? Remember this CoC explicitly states it applies both inside and outside project spaces. Ask Brendan Eich how that turned out.
The problem, put simply, is that very often people will take someone's political opinion, even nuanced disagreement, as a personal attack, regardless of the actual interpersonal relationship. This is why either "political opinion" needs to be protected, or the whole thing scrapped. IMO preferably the latter, then we can once again realize that everybody has opinions that others might consider outrageously wrong and stupid, but can still work together/be friends as long as people are not actively dicks to each other.
> anti-gay marriage, skepticism on transgender orthodoxy
> routinely twisted into "questioning other's right to exist", or denial of basic human rights/decency, or sexist/racist
Interesting list. Doesn't take much twisting.
You're providing a good demonstration of the point here. You don't get to feel comfortable advocating those things, at the expense of the people who live those things. Your comfort, versus their lives.
(Forestalling the obvious response: yes, I did intentionally select the most problematic points you raised to respond to, because they demonstrate the primary problem with attempting to protect "political opinion" in a code of conduct.)
> So are they verboten? Remember this CoC explicitly states it applies both inside and outside project spaces.
Inside a project they're almost universally off-topic. In the rare cases where they're not, it's often because a project actually intersects with such issues, such as needing to handle personal data or similar.
As for outside a project, the topics you listed vary greatly. I seriously doubt you'd find anyone's role in a project at risk because of their thoughts on climate change. On the other hand, if you actively campaign against other people's rights, you may well find that people don't want to work with you.
> I think you'd need to look long and hard to find anyone in open source projects seriously advocating for some group to be wiped off the face of the earth.
Not particularly long nor hard, no; I run into them regularly.
> This is why either "political opinion" needs to be protected, or the whole thing scrapped.
Even leaving aside whether there's any problem here at all, since when have the choices been "perfect solution or no solution"?
If you've got a limited amount of water you start by using it on the houses that are on fire, not the ones who want their grass watered.
See, you saw "anti-gay marriage, skepticism on transgender orthodoxy" and instantly took it to "an attack on people's rights and lives". Almost no one is saying gay and trans people should not have rights, or lives. They are saying things such as: "I don't believe it is ethical to give emotional children hormonal blockers and encourage eventual gender reassignment" or "I think made-up pronouns are stupid" or "I believe gay people should not be able to marry but get legally equivalent civil-unions".
Should people not be able to feel comfortable discussing such opinions outside of work or project spaces? I'd also like to point out that being against gay marriage is extremely common among devotes of the Abrahamic religions, which is a category that appears in the "protected list".
Opinions such as those have already been used to try to oust (not sure how it turned out) a member of at least one open source project (Opalgate, no CoC needed ironically) speaking entirely unrelated to the project. He was not directly maligning anyone from the project itself, in fact an outsider had to come in to stir drama (and that outsider happened to be the author of the Contributor Covenant. Hmm...).
What people do on their own time that does not personally affect you is their own business. Remember that principle is how gay rights came to be accepted in the first place. And no I don't need a link to the Paradox of Tolerance.
> I seriously doubt you'd find anyone's role in a project at risk because of their thoughts on climate change.
I would not be so sure. As before, often any skepticism of prevailing climate change wisdom is instantly escalated to "science denial". Not a good label to have in a tech project, and besides you'd be advocating for "crippling temperature rises, mass natural disasters, entire cities wiped away by see-level rises, destroying the planet basically". That sounds kinda life changing, if you believe it.
> Not particularly long nor hard, no; I run into them regularly.
Would be really interested to see some examples of this. Not just random twitter twattery, but people actually involved in OSS projects, literally advocating genocide.
> Even leaving aside whether there's any problem here at all, since when have the choices been "perfect solution or no solution"?
Well you said it yourself, there's no problem, thus no need for a solution. The Contributor Covenant is a solution in search of a problem. Are there any examples of the Linux kernel project being bogged down by external social politics (not that this CoC would fix that, much the opposite), or excessive trolling? Far as I can tell the problem was Linus's own abrasive attitude.
And let me tell you, he's hardly alone with that attribute. There's plenty of people out there who are difficult to work with because they are full of themselves and have little tolerance for dissent. At least Linus was upfront about this, rather then preferring to feign politeness then stab you in the back via bureaucratic bullshit, kinda like this CoC encourages.
> Well you said it yourself, there's no problem, thus no need for a solution.
You misread my comment rather heavily there. Codes of conduct are (one part of) a solution to a very real problem. There's no problem to be solved with "protecting 'political opinions' that hurt people", and even if there were it'd be far lower priority than people's lives.
And to answer your first sentence: people have learned to couch their intolerance in less blatant ways, but that doesn't make them less of an attack on other people's rights. People regularly think, incorrectly, that their discomfort is more important than other people's lives and rights. People push back, point-by-point, on each individual right or ability to exist and thrive in society. And most commonly (though not always), the people saying such things already have their own rights respected.
> Should people not be able to feel comfortable discussing such opinions outside of work or project spaces?
No, they most certainly should not. They should feel about as "comfortable" as people slinging around slurs and advocating segregation. That's nearly unthinkable today; there was a time when it wasn't. People's comfort "discussing" such things comes directly at the cost of the people they're hurting or advocating against. (And in any case, don't overestimate the weight due your opinion if you're not part of the group in question.)
You're basically arguing that people should fear for being run out of their jobs or hobbies or both for expressing wrong opinions. That is much greater harm than the mere knowledge that someone holds opinions that might hurt someones else's feelings. Actions, not words. The Contributor Covenant explicitly legitimizes actionable punishment for the mere possibility of offense towards certain groups (hint, it's always possible).
People who seek to hurt others will find that others don't want to work with them. Indignance will not change that fact. You cannot force people to put up with you; freedom of association is just as fundamental.
Nobody is being run out of a project over the slightest misstep; the first response to most issues will be communication, not bans. Bans from a project are the last resort, not the first. People who work in projects with codes of conduct don't go around afraid they're going to be booted.
Beyond that: what work do you need to do that you can't possibly accomplish without hurting people? It's really not hard.
"Explicit guidelines have demonstrated success in other projects and other areas of the kernel."
Many people do not start out sharing a common understanding on this topic. This HN thread is more than enough evidence for that. Hence writing down a framework to give people that common understanding.
What about religions that make others unwelcome, hurt others, or question their right to exist? Should they get protections in a code of conduct or anywhere else?
The freedom to propose ideas that don't offend anyone is no freedom at all. You're arguing that people can discuss among themselves what doesn't matter much, but only an ideologically correct few get to weigh in on topics that really matter.
This is the governing philosophy of the Ayatollahs of Iran, who let lay people debate and hold elections, but who reserve real power for themselves. What you've proposed is no different.
I would cite many of the critiques of the so-called paradox in that Wikipedia article as reasons not to give it too much credence. I think it's more something to be considered philosophically rather than any sort of hard rule.
It's obviously true to an extent, like for some rhetoric which directly leads to violence, but a lot of people seem to use this concept as justification to suppress all speech they could consider remotely intolerant.
People may divide neatly into factions, but ideas don't. The notion that an un-objectionable code of conduct is somehow allied with a far-reaching political philosophy is reductive and unhelpful. What you're saying is that you'd be comfortable with Linus adopting a code of conduct that made exactly the same statements, so long as the word order was changed to keep it from literally being the Contributor Covenant.
I'm not opposed to the adoption of this CoC. I think it's a positive for the Linux community, and I think it will be helpful (so long as Linus changes his attitude too). I would not like to see this ideological wedge driven any deeper into the gospel of the Linux community, however.
The fact that you think that it's an "ideological wedge" says more about you than anything about the evolution of linux community. Some people see threats everywhere, they go through their whole lives insisting X is really Y, and A will lead to B and therefore nothing should ever change. Since these people are irrational and provide no rational basis for their paranoia (or even historical examples) healthy organizations will tend to completely ignore them.
I’m very skeptical of the CC creator’s motivations as well, but ultimately its application is only as insidious as the body that adopts it and enforces it.
And a couple of decades of unchecked (and finally acknowledged and admitted) poopy behaviour from the lead of one of the biggest open source projects was a seed and open invitation for what, do you figure? Harmony and universal happiness?
I don't see any FreeBSD developers in any of the four links you provided. In one of them I see a specific claim that the people in the thread don't seem to be connected with the FreeBSD community.
This is why a governing body codifies their interpretation of the matter into rules that everyone who wants to be part of the community has to abide by.
It's a nice theory, but the reality is that those rules tend to get enforced differently for different people, so it fails to entirely stamp out problem behavior.
Shit runs downhill. Whomever is at the top is the DNA for how things actually work.
To me, the good news is Torvalds is taking some time to figure himself out. That is likely to make a major difference.
Few people bother to really deal with the man in the mirror in earnest.
Yea. I fail to see how something like CoC can ensure a truly harmless community, when it is the covert power (the unspoken vibes, ambiance, etc.) that ultimately dictates the level of malice in a community.
Personally I remain skeptical, because in one community I saw first-hand how the people at the top used something like CoC to justify their malicious acts, in the name of being welcoming.
It is the same old morality game that does not ensure any genuine harmony.
> Of course, but it's a start and a symbolic gesture.
In Germany, they say: "'Gut' ist das Gegenteil von 'gut gemeint'" ("'Good' is the opposite of 'well-intentioned'"; I am aware that the pun does not translate well into English).
I don't care about Torvalds's intentions one way or another, or whether or not he's had a true change of heart. I'm a social justice warrior, not a social virtue warrior, and I am not yet celebrating results that may or may not come one day. I just ask one question: When a man who symbolizes a certain behavior that has led to unjust outcomes professes he was wrong, is that something that, at this point in time, is in the service of a greater or lesser justice? As I didn't see any wink in his statement suggesting that he's doing it only because he's been made to, I think that until it is shown that this is just a PR stunt to whitewash and preserve the status quo, it is an action that serves justice even if it is only symbolic in itself.
My mom is German. I was just helping out a "fellow German" (so to speak) with a little translation.
Also, this is my original comment above, where I make it clear that I don't really care about the code of conduct per se, but I'm thrilled to see Linus deal with the man in the mirror.
This is the really interesting part of introducing a code of conduct to me: that it flushes a particular type of person out of the woodwork. They are forced to reveal themselves. Forced. It's like you're playing one of those hidden role games, and suddenly you do something that means people have to reveal their concealed cards. It's almost magical.
It's a good practice to have some concrete guidelines regarding work environment. But this particular code of conduct is pure and utter garbage. I'm really not sure how Linus could ever willingly accept this.
> Other conduct which could reasonably be considered inappropriate in a professional setting
This statement here from the CoC is pretty much an open invitation to send whoever you don't agree with to the gulag/camp/whatever. What concrete definition is there of "reasonably be considered inappropriate in a professional setting"? These change across cultures and countries. Linux is a global effort. Not everyone on the planet follows the silicon valley, American or any single culture.
You either have fixed and clear guidelines on what is acceptable or not, or have no guidelines at all. Something open ended like this is nothing more than a potential witch hunt in the making.
There's a large overlap between hurtful people and rules lawyers. Writing down samples of bad behavior is helpful; treating it as an exhaustive list is an open invitation to come up with creative new ways to hurt people that aren't on the list.
Keep in mind that this is all based on the enforcement done by the project maintainers. If you're inclined to do things the project maintainers will consider unacceptable behavior, you're already going to have a problem. This just documents that.
> treating it as an exhaustive list as an open invitation to come up with creative new ways to hurt people that aren't on the list.
I am not saying that the samples should be very particular for particular situations. They should address a class of actions, like no racism or no sexism. But leaving it open to whatever the maintainer thinks applies is just too much power.
> If you're inclined to do things the project maintainers will consider unacceptable behavior, you're already going to have a problem.
As long as I am not openly abusing someone in the context of the project, the only thing that should matter is my code. The fact whether my political or personal views that I air on some other platform do not match those of the maintainer or some contributor should not matter at all. This CoC opens the gate for exactly this kind of abuse. Infact, it has been used for this kind of abuse. That is why I am hesitant about this.
Linus might not use it like this, but regimes can change.
Adopting a code of conduct for Linux is a worrisome move. Any code of conduct that purports to police what contributors do outside the context of the project is a totalitarian infringement on individual autonomy, especially since enforcers of codes of conduct tend to take an expansive view of their remit.
What CoC enforcement eventually becomes is a prohibition on project contributors professing political opinions that the CoC enforcers find reprehensible. You don't need a CoC to get civil behavior.
These things have nothing to do with civility etc. They are at their core as you said, mechanisms to try to force out political beliefs. Sounds like the culture wars have claimed another...and the community will not be better for it.
> What CoC enforcement eventually becomes is a prohibition on project contributors professing political opinions that the CoC enforcers find reprehensible.
If you want to argue about the level of taxation, the right size of government, regulations on business, whether public or private is the most efficient way to accomplish a goal, or myriad other areas of policy like those, go right ahead. Those kinds of things are absolutely reasonable subjects for healthy and reasonable debate. (They're rarely on-topic for a software project, but in some types of communities, or in companies, or in random side conversations, sometimes they are.) Those are almost never the kinds of political opinions that people have in mind when they're suggesting that "political opinions" should be an explicitly protected category, though.
It's funny how the people worried most about whether they'll feel unwelcome for their political opinions are often those whose political opinions revolve around making others unwelcome, or hurting others, or questioning (or asking with superficial politeness about) others' right to exist. Those kind of "political opinions" do not and should not get any protections, in a code of conduct or anywhere else. You're legally allowed to say them, but you should not expect to do so without any consequence.
> You don't need a CoC to get civil behavior.
If you're lucky enough to have a community that all has a common understanding of how to behave well and treat others well, perhaps. But even then, writing that common understanding down helps others in the future.
Usually, when we have undocumented information that people need to know, we call it "tribal knowledge", and we try to fix that by documenting it.
See my reply to that other comment. You are essentially acknowledging that you consider certain political opinions (which are, by the way, quite mainstream) to be so reprehensible that you're willing to use 1950s style industry blacklisting to suppress them.
This conduct was unacceptable then and it's unacceptable now. Nobody gave CoC enforcers a monopoly on virtue.
People can be, and usually are, completely uncivil to each other without invoking any politics or no-no words. All this CoC does is expand the scope of what is considered uncivil, and where.
The Contributor Covenant is horrific and harks back to the days of the Catholic Church(Or insert religion here) and morality and it's enforcement. It's a power trip that will end badly.
Morality should come from within, a learned and practiced behaviour, personally and within communities, not prescribed.
Manifesto's are purely implemented to bully people, they allow for the lynching and harm to others without remorse.
They also very quickly mutate once they take hold, they are evil at its worst.
Who has been lynched because of a Contributor Covenant, or other similar open-source code of conduct?
edit: You assert that "morality should come from within", though I'm assuming you're OK with projects and teams not reinventing things like PEP8 or language/framework best practices.
But then you complain about manifestos "mutating". Isn't mutation a consequence -- many would describe it a desired feature, i.e. iteration -- when a community decides to develop a rule framework from within?
(and I would argue that a community adopting something like the Contributor Covenant is quite clearly a decision made by that community)
> Who has been lynched because of a Contributor Covenant, or other similar open-source code of conduct?
The scope of the Contributor Covenant was widened in an attempt to l̶y̶n̶c̶h̶ harass and ban Elia Schito for an opinion he had expressed on his personal twitter[1].
Because Elia's twitter conversation wasn't connected with the project (beyond the project being listed in his bio), a new clause needed to be added to the Contributor Covenant in order to get him. To get it in, the new clause was presented to the Opal project as a pull request labelled "Update Contributor Covenant to include ethnicity"[2].
The Opal project noticed the extra change and guessed its real intent (that intent - needing it to go after Elia - was confirmed later by people arguing for the change[3]), so Opal edited that clause before accepting the change, but everybody else using a Contributor Covenant now has it, including Linux. (The Linux one has customized enforcement/judgement guidelines, so in its case the presence of the "Elia clause" might be less easily weaponizable by the twitter mobs it was written for)
The attack on Elia was instigated by the creator of the Contributor Covenant[4], who was unrelated to the Opal project but tagged in via twitter - it turned out this kind of drama was the Covenant's purpose.
After watching that I no longer see codes of conduct as community measures written in good faith. It hasn't just been the Contributor Covenant one that's bad faith either, however, projects that adopt them are changing and rewording them in good faith, so they can get better - it's just not the CoC intent.
Opal eventually got rid of their Contributor Covenant.
How are you interpreting that tweet? I see it as the creator's tweet as being facetious, if ungracious? Seems she's pointing out -- again, perhaps ungraciously -- how anyone in the Linux community who was anti-CoC now has to accept that a CoC is part of Linux.
I'd like to think ideally she could come off as less snarky, perhaps. You don't actually believe she's referring to an actual conspiracy, right? Usually infiltrators, even the most gloaty of ones, don't call attention to their current effort to infiltrate something.
If I'm reading your summation correctly, someone made edited the CoC in an attempt to indict Schito ad-hoc, and that bad faith attempt was foiled because the community was able to see the timing of the change. Doesn't your version of events strongly imply that having the CoC on file is what made it even possible to see how transparent this attack was?
Maybe you believe that the CoC is what made this attack possible, but that's a far-from-self-evident line of thinking, because such bad faith attacks and power plays have long existed in projects with no code of conducts. I'm not for now getting into the argument of how a CoC may be overall beneficial, I am simply challenging u/aaron695 on his claim that CoCs have led to "lynching" and "are evil at its worst". I'm assuming that he, like many programmers, believes terminology have meaning, and that his choice of words reflects actual quantifiable and tangible wrongs.
I'm not even particularly bothered by aaron695's implicit comparison of what CoCs' allegedly inflct compared to the violence of real-life lynchings. But I think his use of the overdramatic term is a symptom of poor thinking here. Lynchings generally imply acts of horror arising from the absence of agreed-upon norms, or actual law. People who advocate for CoCs in good-faith, ostensibly do so because they believe a CoC can instill some trust (because actual laws aren't possible nor desirable) that behavior won't be punished/ignored for nebulous/arbitrary reasons.
The two examples given so far are examples in which:
1. The attempt to use the CoC in bad faith failed, as in your example with Schito.
2. Both the CoC's impact and its correctness are debatable, if we attempt to avoid taking or refuting Vegg's side. For starters, Vegg resigned. And if he hadn't, there's no indication the Node.js overseeing committee felt empowered to take action to remove him. And yet if the CoC did provide for that action -- again, such a rules-guided process (even if ultimately stupid) is still the antithesis of what a "lynching" entails.
I'm not trying to just be pedantic here, nor am I arguing that you and aaron694 are morally bankrupt bigots for your anti-CoC positions. I am arguing, though, that you have taken this stance without justifying evidence or logical reason. For an example of the latter, look at how you bring up the problem of "everybody else using the Contributor Covenant" that now includes the "Elia clause". Think about how absolutely absurd it would be if, in that argument, you replaced "Code of Conduct" with "[some library well-known to be broken/insecure]", and then used that line of reasoning to assert that open source software is "evil at its worst" or even, "kind of evil".
edit: correction, the user who brought up Rod Vagg was not aaron695, but another commenter.
Apologies, I thought lynching was your choice of words and I was using your words, I did think it was rather extreme. I agree it's overdramatic and a poor choice, I had missed that you were calling it out.
Regarding the CoC, I had spared you the details. Opal didn't have a CoC when this happened, they were pressured into Ada's by the outrage mob from twitter - told it would help prevent problems like this. Upon success at getting it adopted the group from twitter realized the CoC didn't have the clause they needed, so they added it. Opal was spared by customizing their CoC. The CoC everyone else got means twitterers have a codified excuse to shift their harassment to smearing the maintainer if they don't side with the mob in censuring a target of a pile-on.
My example isn't that an attempt to use the CoC in bad faith actually failed (do you really think Elia was unaffected?), it's that the attempt nakedly exposed how the whole purpose of the CoC had been bad faith. That was the revelation to me - CoCs had appeared so positive and community-minded before.
Anyway, I mistook your call-out for a question, so I realize the intent/history of the CoC wasn't of interest here.
> look at how you bring up the problem of "everybody else using the Contributor Covenant" that now includes the "Elia clause". Think about how absolutely absurd it would be if, in that argument, you replaced "Code of Conduct" with "[some library well-known to be broken/insecure]", and then used that line of reasoning to assert that open source software is "evil at its worst" or even, "kind of evil".
Lets leave evil and awkward analogies out of this. I meant literally the projects that adopted the Contributor Covenant now contain a clause that was written specifically to be bendable to to attack Elia. The clause isn't there to improve communities, it wasn't worded for that, it's in there to help facilitate attacks.
Thanks for the reply, I could have been more explicit in saying that my argument (at that point) was meant to be narrow, because the parent commenter's starting assumptions were too unreasonable to lead to worthwhile debate.
That said, I think your framing of the Opal/Schito situation unfairly short-changes the pro-Schito side. Granted, while I do remember following the issue at the time, I now only vaguely recall its details. That its resolution isn't more memorable to me could admittedly mean that I think/thought Schito got what he deserved. But I don't (nor would other CoC supporters, I would think) claim that Schito was unharmed -- that's beside the point for now, since this isn't the time for a debate on what's offensive/exclusionary to the trans community. But if we just accept the premise that Schito should not have faced criticism (i.e. "harm") for tweeting (i.e. saying something across in a world-wide public channel) things that a community finds extremely offensive -- then there's no argument to be had.
I personally think that -- at least on the face of it -- what Schito said was more troubling than what people complained about regarding Torvalds and Rod Vagg.
But that issue IMO is orthogonal to the value of CoCs -- there is no CoC that would have stopped Schito from getting angry replies from the trans community. And as I read through that massive pull thread you referenced, I see that many of the prominent maintainers were in a state of reasonable debate and disagreement. Several pointed out that, as offensive as Schito's tweets might have been, there was hardly a "mob" in the pull request discussion; Coraline Ada is far outnumbered by people calling her unreasonable and accusing her of a "witch hunt".
Ada's pull request was closed and its discussion shut down. As you pointed out, there was no CoC before Schito got ripped on, so it is wrong, in a literal and figurative sense. Moreover, the opal project has since created and adopted a Code of Conduct. It is far less than what Ada pushed for. But I'm not trying to defend Ada's CoC, but to point out how it is beneficial to Schito and other maintainers of large, multi-collaborator projects to create and discuss a CoC, as Schito has apparently done, because it protects him.
The opal community was already lukewarm to Ada's complaints against Schito's 2015 complaints. Now anyone who wants to complain to opal's github community will be tolerated if they hate what Schito does on his personal Twitter account:
To me, this effort is beneficial to both sides; it protects community members from being punished by the project for breaking an "unwritten" rule. And it informs outsiders about the standards and decorum of the community, and they're free to join up or pass.
There are more benefits IMO to having a well-developed CoC, but I'll end my already wordy comment by saying that we should evaluate the value of CoC's independently from the political beliefs of their vocal proponents. Schito's situation isn't a good one; I'd like to see examples of how a community's agreed-upon CoC, whether it's the Contributor's Covenant or something lighter-weight, has led to capricious/unjustifiable action by that community.
If the one example you can think of is apparently one in which that there was a failed attempt to lynch someone, then maybe it's possible it is an outlier (ignoring for now the debate on how much the CoC itself led to the Node.js conflict).
The Contributor Covenant is basically just a lot of publicity grabbing faux FOSS addition. I mean if you can't contribute code why simply mess around with things like the Code of Conduct.
> there are many more parts to a community, even a community of developers, than just contributing code.
True, but OSS and business software development is frequently short-handed in people who can actually make the software, not the planners, organizers, etc.
The political debate gets polarizing because many of the "makers" think it's a lack of skill, and the other side comes across as blaming the maker's attitudes/community/etc.
> but OSS and business software development is frequently short-handed in people who can actually make the software
But you're begging the question here. I'm not the parent commenter, but it is not self-evident that the programmers/developers are the main class of "people who can actually make the software", not even in a literal sense, since software is not just its lines of code, anymore than hardware development is factory assembly.
For example, in "business software development", there are product managers and other business-facing people who have input on and make decisions, for better or worse, about software development. How is a programmer's contributions to making the software more significant than those of their product/business colleagues', if the latter have failed to cultivate paying customers?
that's why we need to have very clear, concise conversations about contributions and what goes along with those contributions. being able to have those conversations without being polarized on either end ultimately helps move the conversation forward.
Many (decent) developers believe a CoC improves the project, in much the same way that any documentation on the development process or release lifecycle does so.
> I am going to take time off and get some assistance on how to understand people’s emotions and respond appropriately.
Wow. Torvalds going to a therapy. I seriously couldn't be more impressed about him, because he always seemed too much of a narcissist to me. I understand how difficult it might be to decide to admit that you have a problem at this stage. And for doing that, he has my deep respect.
Which kind of brings me to the other point - would Torvalds be Torvalds if he was treated before? Is the same piece of his personality that made him a truly unpleasant person also the one that made him super motivated?
That's the second BFDL stepping down (this one claims to go just for a while), after Guido. And note that this is one is also about psychology.
> Which kind of brings me to the other point - would Torvalds be Torvalds if he was treated before?
Some years ago I had to go to therapy for some issues of my own and back then I was afraid that it would fundamentally change who I am in some way. In retrospect that was a foolish thought. It made me wait longer to seek help than I should and in the end I was still like my old self (but better).
> Some years ago I had to go to therapy for some issues of my own and back then I was afraid that it would fundamentally change who I am in some way. In retrospect that was a foolish thought. It made me wait longer to seek help than I should and in the end I was still like my old self (but better).
I've been in therapy off and on most of my post-adolescent life. In the beginning, it felt like its only use was to have a place to vent about life to an agent who is largely external to it (i.e., my therapist doesn't know my family or my friends), but who has your back and is interested in helping you succeed. That certainly had value, but it didn't especially change how I lived.
There was a point where my attitude towards therapy changed completely, when I started really listening and paying attention to what my therapist was doing. I might describe to him an incident which made me feel some unusually bad (or good!) emotion, and the therapist would ask just the right questions (and follow-ups) to get at the root cause of why I really felt that way.
Eventually, I started to experience these internal dialogues which resemble a therapy session when I felt angry or sad or upset for some other reason. I might ask myself, "Why is this trivial argument with Person X making me so angry?", then examine my relationship with Person X, and then other recent incidents with this person, etc. etc. These internal "therapy sessions" not only help to calm me down, but also tend to point in the right direction to improve the overall relationship with Person X. I think it's been an amazing turn in how I interact with other people and helps me enjoy life.
So, in conclusion, I think that's one way to really benefit from therapy: deducing, by observation, the system or process your therapist is using to help you, and applying that same system to yourself. In other words, good therapy helps you learn to be your own therapist.
I did the same thing for years, but it drove my own therapist crackers. He insisted that I "do the work" only during the 1 hour a week session. I told him "Its how my head works, I think constantly, hell, I even talk in my mind in my sleep, what do you want me to do?! Stop thinking?" He didn't care for it, but oh well, it was my therapy, not his. And yes, I found out that "naming the drama" was intensely helpful when I was bent all out of shape about things. Congrats on your personal growth, etc.
From what I understood of OP's description of the process, it sounds a lot like the sort of awareness that's cultivated through long-term and consistent practice of meditation (implicitly or explicitly depending on the school of practice).
I noticed after a couple months of initially starting daily zazen practice (just 10-15 minutes every night), that I went from reacting in a way that was originally: event -> (usually 'extreme') reaction, to something more like: event -> stepping back/observing what would've originally been my reaction -> choosing to engage with it or not. After a year of practice, this new pattern of reacting basically became muscle memory and would happen _even when_ I sometimes wanted to strongly react to things (i.e. music/art/social situations with friends/etc ).
After about 4 or 5 years of consistent practice I caved into what I had even read was a common pitfall for most practitioners in thinking that I had "achieved" most of the "benefits" I could from meditation and just stopped practicing all together. It took about a year for most of these benefits to even start decaying, but after about that 2 year mark, my pattern of thought/reacting had almost entirely gone back to how it was before I had ever started practicing.
I'm thinking there has to be some happy medium where you have the ability to observe as well as engage, but I'm not sure what the original philosophies of the practice actually "advocate" for as I never really delved too deep into the literature on this.
I think this was actually one of the main reasons I stopped practicing, because I was wondering if my 'artistic side' was being 'dulled' by meditation. This is still a question I want answered and have been wondering if it may be worth doing a deeper dive into the literature/having a teacher guide me through the rest of this journey.
Yeah, I've thought about meditation myself, but I don't really see how to effectively teach it, especially in a class-room (i.e. 1-to-many) - but maybe that's just because I've learned (well, tried to) meditation by myself, by reading, not from a teacher/mentor.
One other idea that crossed my mind, but it's far from fleshed out, is to teach people the exact same techniques that therapists use (i.e. "asking the right questions" to drill deeper in the direction towards understanding yourself), but with the purpose of using them on themselves. However, I've no idea if that's simply too much to learn, or if maybe "being a good therapist" comes only with "having a lot of life experience".
probably a very common fear, at least I felt it, at times being to willing to accept different viewpoints and renouncing your own emotions was like death.
> would Torvalds be Torvalds if he was treated before? Is the same piece of his personality that made him a truly unpleasant person also the one that made him super motivated?
This is a common trope in psychology known as the "ideology of creativity." According to the overwhelming body of research, the answer is "yes, he would still be Torvalds, and no, the same piece of his personality that makes him an unpleasant person is not also responsible for making him super motivated/successful/etc."
Success and intelligence are oftentimes cited as reasons to excuse bad behavior, but the evidence is clearly against that.
I remember criticizing Linus' sarcastic comments on here some time ago. I was surprised by the number of people that defended him saying stuff like "Linus is just Linus" or "he needs to be like that to keep Linux moving forward". I personally think his brilliance would be even more appreciated if he were a bit less sarcastic.
I'm known at work for being That Guy who will point out the elephant the room and discuss it face-on, but I invested decades into empathy work so that people now respect me for doing so rather than hate me. I'm glad to see Linus considering an investment in empathy, and I don't feel it will negatively impact his forthrightness long-term — the best of all possible outcomes.
> This is more like the time I got out of kernel development for a while because I needed to write a little tool called "git". I need to take a break to get help on how to behave differently and fix some issues in my tooling and workflow.
Oh nice, so he's going to write another ground-breaking piece of software that will change how we do software. :)
Kidding aside, I think his comment is well-thought and I wish him all the best. Btw. I don't think his (sometimes heavily criticized) way of communication is that bad, it's more a clash of different kinds of culture - he is Finnish and used to a very direct way of communication and confrontation (which can be good and bad). That doesn't excuse some of his (admittedly uncalled for) rants, but I don't think he wants to sound as harsh as he often comes across ...
The git thing is what I admire about Linus... He saw that existing version control tools don't do what he wanted, so he just sat down and wrote the best (ok, one of the best :) version control tool on the market, from scratch. Just like that. OK, I know I'm simplifying, but still. If he does something like that again, I'll start to think maybe he was sent to us from the future to help us.
Great. Everyone needs to work at being a nicer and better person, Linus perhaps a bit more than most.
But equally important is everyone on the other side working to avoid being consumed by emotion, and learn to control their emotions better, when people and things in the world end up being mean or distressing.
This doesn't happen so much with Linus anymore because everyone knows about him and the people most likely to go on tilt when Linus goes on tilt have adapted and avoid communicating with him. That would be a universal solution if you could get a list of all the potentially harsh communicators out there, but doesn't work at all when you don't have such a list, and anyway it would severely constrain your interactions with the world because a fairly large number of people are like that.
People will gain a lot more from, in addition to calmly pointing out how the hostility they're encountering is unwarranted, learning to self-reflect and switch mental states to avoid getting into self-destructive patterns of thought just because someone else or something else is being harsh or mean.
Various kinds of meditation-like practice seem to be a good way to pursue improvement for people on both sides of the problem.
It's not any easier for Linus to always be nice than it is for someone who takes personally one of his outbursts to not take it personally.
But equally important is everyone on the other side working to avoid being consumed by emotion, and learn to control their emotions better
You just described exactly what Linus needs to do.
It's not any easier for Linus to always be nice
He doesn't have to be nice. He just has to curb the sadistic and unnecessary meanness and maintain some minimal level of professionalism in his communication.
Wow. I can't count how many times people have tried to excuse Linus's outbursts by saying he doesn't mean them personally, but here he is explicitly admitting that he has done just that. Then he goes on to say that his behavior needs to change and that he will seek help doing so. Good for him. These are hard things to admit, and he's setting a great example.
> In my quest for a better patch, this made sense to me.
> I know now this was not OK
There are so many people in tech who need to read that a hundred times. Including a couple of his top lieutenants.
Linus and I draw our paychecks from the same place: The Linux Foundation. I've only been there three and a half years, but the "no brilliant assholes" line in the hiring process has always rung hollow.
There exists a tremendous danger of overcorrection here. Too much agreeableness is inimical to technical progress, which requires placing technical standards over egos.
While it's counter-productive to provoke people unnecessarily, we can't allow someone's claim to have been emotionally hurt to automatically trump technical criticism. We should strive to be as kind as possible, but not to the point where we begin to sacrifice the truth.
There are some people today who are so averse to negativity that merely saying "this code sucks" is enough to get the speaker called a "jerk". This level of sensitivity is not compatible with a pursuit of technical excellence. We have to be able to acknowledge that both bad and good code exist in order to make technical progress.
I hope Linus doesn't end up being guided by the kind of people who go so far toward protecting people's emotions that they demand we accept technical mediocrity.
And to prove how important it is to be respectful, empathetic and tolerant, the originator of the new Code of Conduct is gloating on Twitter and mocking those who disagree with this move.
This is not about being respectful to others, it's about forcing others to be respectful to you. Unfortunately respect is earned, not given, and anything else extracted under duress just breeds resentment.
A slowgoing development for him, still I sympathize and wish him the best while wondering ironically if personal issues aside what works best.
It brings to mind fundamental organizational and management. Is it better to have a "rude" organization? Calling bullshit early and often instead of polite everything is fine stacks of lies since it would be impolite to point out having O(N!) code just can't work for anything of appreciable size? The optimal approach likely varies on several variables.
Code reviews fly around our team without any trace of vitriol or insults, even when the mistakes are mindnumbling stupid or disagreement on approach is strong. You don't have to be insulting to maintain code quality. If insults are the only way you can make your point, you've got some way bigger personal issues to deal with.
The thing is, being insulting is largely counterproductive. Even where the best response from the person being insulted is that they shrug it off, it still modifies the relationship and attitudes towards the insulter.
Can’t you blend them? In other words I’d love to work in an organization that can politely call bullshit early and often. It is possible to fundamentally disagree without making it personal.
Really good to see him acknowledge this and tackle it head on. I hope he gains a better perspective. Thank goodness for Linus and Linux!
I think it's possible to blend a polite environment and a no-nonsense environment as long as you're physically working together, or at a minimum doing video conferences. IIRC, Linus said that one of the reasons he used such strong language and is so abrasive on the mailing list is because so many communication cues are lost when you don't have tone of voice and body language to add context to the actual words. Being over the top aggressive and harsh was his way of ensuring that his message was completely unambiguos. That said, most people don't want to work with someone like that, and he addresses this when he talks about people leaving kernel development specifically because of him. If they continue using the mailing list for development, I think we need to expect that development will slow a little at first since there will probably be more back-and-forth between developers. That said, hopefully having a better working environment will encourage more people to be kernel developers, negating the slowdown caused by a more cordial mailing list. I'm also really happy to see Linus setting a positive example for taking care of yourself in addition to your project.
I don't see why you'd ever need to go further than "I strongly believe that your view is incorrect, and here is why". Attacking people is not "calling bullshit"
In my experience saying the words "your view" often makes it personal for the other person, which can lead to them defending that view much stronger than if the criticism goes towards "this view", which invites objectivity.
Probably not a huge game changer, but it's definitely a little hack that I think has served me well over the years.
Why do so many people on this forum seem to believe that being polite inherently implies lying to each other? I just want to understand this line of thinking.
My workplace is extremely polite to each other AND we don't lie to each other. I recently submitted a code review that was full of violations of the style guide, and nobody was rude nor dishonest.
Criticize the behavior, not the person. Linus often included personal attacks against people who were making errors. You can get a message across without telling people that they are worthless scum.
If someone reviews your code, it will sting when they point out silly mistakes. The insults that the kernel devs fling about just aren't needed to drive home the point.
Agreed. What can be worse than having a comment to the effect of "if x is -1, which is feasible, this will cause undefined behaviour resulting in a crash". For most people this stings more than enough.
There’s a difference between negative feedback and being rude. The former is necessary when crappy work gets submitted, the latter drives people away before giving them a chance to improve. The way you phrased your question implies that there’s an exclusive choice to be made here, which is not the case.
How much toxicity a project can tolerate is in inverse proportion to how important it is, but every project has its limits no matter what.
I think this is a wise choice. Either Torvalds needs to figure out people better, or he needs to bring in a lieutenant who can handle people more effectively than he does.
Depends on how rudeness is defined as well. Based soley on people's feelings or above and beyond objective truth. Saying that Bob hasn't proven good at network programming and is prone to spaghetti code may be absolutely true yet he would likely take offense to it.
Linux is by far the most successful floss project in the history of mankind. God knows there are plenty of floss OS projects out there, most of which have far nicer leaders but a small fraction of the success. Either you're overplaying the effect on productivity or the relevance of being nice.
Correlation does not imply causation. It's absolutely possible that Linux is the exception. There are many oss projects which don't have the same level of abuse.
While I am glad this happened, I am surprised. I truly would not have expected Linus to ever write something like this. I am curious how this can happen so suddenly. Have people not tried to convince him that he can be critical without being insulting many times before? What was different this time?
Maybe he realized that his behavior would be against the new CoC.
Maybe he had a good conversation with people he respects, where they confronted him with his behavior, and he was finally able to view his behavior through the lens of an outsider.
Maybe he finally found and realized the "bugs" in his social interaction code and needs some time of to improve his mental tools.
He's tired. He's older. He mentioned several times how he's been developing this for decades. Maybe he is making a balance, maybe he thinks that the Kernel does not really need him so badly now, and he can take a time out.
It depends on how stable is the Kernel, the rate of external changes (e.g. new processors), new discovered vulns, and the capacity of the new leader.
If all of those things go in the wrong direction, Linux could lose its reputation. For example, imagine a new vuln discovered and Linux failing to fix it for more than a year, or imagine Linux becoming slower than other alternatives in new processors
A bit of unpopular opinion for HN the perception is highly culture specific and the way Linus conducts himself might be very controversial for US PC culture yet might be considered fairly mild by other cultures standards.
I don't think you need to add PC. US culture is very different from Nordic countries. The difference I think is that the US is way less tolerant of differing opinions, mostly due to the amount of people willing to disagree with you.
IMHO, this reads like an email from someone who finally grew up and regrets the mistakes of his youth ;-)
I think it is a good sign that Linus tries to improve upon his people skills and hope it will end with more than just 'a tool' (as building a tool is probably the wrong way of solving such problems).
Nevertheless, I also hope it won't water down his ability to give clear feedback. I mean, his rants were often too personal causing massive emotional damage to some humans, but for the technical side, it was probably beneficial to have a clear sentence about a given topic.
Agreeableness in general is negatively correlated with career success. Have you noticed that Fortune 500 CEOs tend to be extremely disagreeable, to the point of psychopathy in some cases. At the risk of sticking my neck out, it's also one of the many reasons for the gender pay gap, woman are more agreeable than men. And you have to be somewhat disagreeable to stand up for yourself and demand a raise (or quit and seek a better paying job.) But on the average it's a relatively smallish difference and only accounts for a small part of the pay gap. The biggest component of the pay gap is the difference between mothers and non-mothers. I've heard it said that woman who are not mothers earn 95 cents to every dollar a man earns. But I don't have a source on hand, so take that with a grain of salt.
I've heard it said that woman who are not mothers earn 95 cents to every dollar a man earns.
What I have read is that in the US, women who are childless and without a man earn 98 percent of what men with comparable education and experience make. My stats are probably out of date, so 95 cents on the dollar may be more accurate.
Just suggesting it probably isn't terribly far off, from what I gather, having read up on such a fair amount over the years due to my gender.
You can’t be 100% collaborative, or agreeable. There almost always has to be one solution out of many that needs to be be perused.
How does the group select one solution, without being disagreeable? “Ok we’ll choose that one just because we don’t want to rock the boat” is not an effective way to select. Conflicting thought will always exist, from conflicting observation and experience in the problem space. Those with the better perspective have to push, often hard, to make sure the correct path, which others may not see, is selected.
At some point bad ideas need to be halted. I think this is what “disagreeable” is. How you halt them is another matter, but charisma, manipulation, or favors, which are often the “agreeable” approach, just means you’re steering the path using emotion. I think that’s separate from being “disagreeable”.
There isn’t some function we can feed a different argument here to value agreeableness more highly though. I generally agree, but that more collaboration would be good isn’t so much the question - the question is HOW these tweaks can be done.
As a start, we could stop exalting and rewarding powerful sociopaths.
And slowly, I think, we are. E.g., the MeToo movement has forced some powerful sociopaths to face at least a small amount of accountability. Rich people at least occasionally go to jail if their crimes are egregious enough.
I wish people would stop spreading this myth and actually follow current science when calling out biological difference between women and men. Testosterone does not cause or create aggression. The link between testosterone has the same root as the link between emotional instability and estrogens, which is deeply seated into gender roles and gender discrimination.
Consistently when people look at aggression the same findings pops up. Men more likely to engage physical aggression, women are more likely to engage low-risk aggression, and women and men show to be equally likely to engage in verbal aggression. Unless Linus goes around and are physical violent with fellow developers then his gender has nothing to do with it.
Take a look at this nice lecture from a professor of biology, neurology and neurological sciences (https://youtu.be/2bnSY4L3V8s?t=30m17s). Recent studies into testosterone levels has shown that it has no relation to initiating aggression in both men and women. What it did find is that different level of testosterone impact how much of an defense behavior is triggered in response to social status threats. An interesting fact is that higher level of testosterone in women actually have a bigger impact compared to men, but men on average showed a larger response.
That might sound like aggression but here is the deal. If you create a social structure which rewards cooperation and social status is maintained through non-aggressive behavior then testosterone is correlated to lower aggression. That mean that it should tell you a lot about the community or company if testosterone correlate to aggression.
Perhaps more importantly, there is lots of evidence that exclusively male environments seriously amplify the effect and make aggression a fundamental part of the culture. Even very aggressive men tend to behave differently in mixed gender groups.
They would have to get themselves in such positions thus this is yet another place where it sounds nice to say but in practice it doesn't seem to be working. Atrificially placing them would harm the work force yet them making their own way seems to be also rather difficult thus we're stuck in a wonderful situation were it's not exactly clear how to get there.
There's also the change that this is not the solution as certain positions do require some form of aggression unless you're willing to persuade the other companies in different countries from the one you propose the change in to do the same. Otherwise it may prove to be a disadvantage even to have a more "argeeable" person in such a position.
I would love for the solution to be as simple "get more women into power" but as it currently stands from my perspective, we have deeper issues to deal with where it doesn't matter if it's a woman or a man. I'm open to be proven wrong though.
I hope for the sake of the stability of the ecosystem he doesn't apologise again. It's one thing to just change, and another to make a public gesture to seek out approval on weak terms.
As soon as it becomes about other people forgiving him, they will just pile on because it elevates them.
Good on him for recognizing what got him here isn't the tool to get him and the kernel where he needs to go. But that should be it.
Anything more invites a coup and hyper politicized governance of what is now a core internet technology.
I hope he draws a line under this and moves forward instead of being co-opted by a committee.
"I did that, and now I don't anymore, here is what we're doing next," is far better than, "I am afraid of some consequences of things I did in the past and I want your permission to continue." For a leader, the latter is death.
Congratulations to Linus; that's courageous, and posting is wonderful leadership for the Linux community and the IT community in general - many other leaders could take the hint.
A major challenge of top-level leadership is you have no boss, nobody setting high standards and helping you (including pushing you in a healthy way) to achieve them. Linus' job is leadership but his work product has had these major flaws. If someone subordinate to him turned in such flawed work, Linus would have let them know and wouldn't have accepted the patch. Linus and all leaders need to be equally demanding of the their own work product: it should be up to the highest standards of Linux kernel contributions - in design, implementation, quality, and effectiveness; in the effect on the component and in the ripple effects on the rest of the system; in its immediate impact and in its long-term 'technical'/organizational debt. Does that seem like a lot to take into account? Why should your engineers' work product have highers standards than yours?
The heart of the issue, IMHO, is how to do it. How can a human being, with all the limits we have, realistically maintain that focus and motivation on a day-to-day basis without someone else helping them?
This is actually great news. Shows that one of the most important leaders in tech is actually capable of introspection , admitting fault and changing their ways, even after many years, without a massive public scandal.
Massive kudos, Linus. I don't think this was easy.
I use and love linux, and have read many things about Linus being abusive and what not. I am on the spectrum and wasn't diagnosed til my 40s. Looking back on my earlier adult years, I was described as abrasive, obnoxious, and many others.
I tend not to suffer fools lightly, but somehow, on my own have learned better self-editing skills. Hopefully Linus will figure this out, because it truly will benefit everyone in the community.
Unbelievable. They got to him finally. He really shouldn't have to explain, let even apologize for his behavior, which wasn't wrong in the first place. Pathetic, whoever made him do this, shame on you.
This is more like the time I got out of kernel development for a while
because I needed to write a little tool called "git". I need to take
a break to get help on how to behave differently and fix some issues
in my tooling and workflow.
And yes, some of it might be "just" tooling. Maybe I can get an email
filter in place...
Comes back a month later announcing a revolutionary new email service that ends up displacing every other email service and people start putting it on their resumes because almost every company starts using it and Microsoft integrates it into TFS.
I'm generally a supporter, but this is a good step. I can speak from rough personal experience that this type of realization is brutal, and leads to hard work that "attaboys" don't reach because it just leads to you behaving like you should have been doing in the first place, and you know that.
It doesn't have to be either/or, you can be assertive without operating from fear and insecurity (which is usually the place venom like his classics comes from).
You can actually be _more_ assertive when it's not burdened with also protecting your ego.
Linus Torvalds has created and led teams that maintain software that has made a better world and has improved my life. I am grateful that he has used his talents in this way. Can you imagine a world without Linux and without Git? I've read the supposedly scandalous emails that Torvalds has sent out, and I fail to see what the big deal is. Whoever convinced him that he needs to take time away from creating software to get training in how to coddle the emotionally delicate has done us a disservice.
Hopefully this will inspire leaders of other projects to realize that it's not okay to be a toxic jerk just because you're smart and in-charge and confident that you're right.
He gets focused on a task at hand, and everything else is sight in the distance. Talented people can't be entirely social 100% of the time. That will burn you out real fast trying to keep a smile on your face all of the time. I'm the same way and I'm up-front with everyone I hire about this. That when I become so focused on a task, that sometimes, you just have to take what I may say "with a grain of salt" and move on. I've lost one person who couldn't handle it. The rest are still with me so far (it's been years).
There is never an excuse for being an ass, even less so when it's a known pattern of behavior. When you screw up without bad intentions once that's one thing, when you continue harmful behavior having been told by many that it's harmful then it's intentional.
I hypothesize that this change will make Linux (ie: the quality of the kernel) at least slightly worse in 20 years than it would have been if Linus never changed.
Linus has been a great steward of the Kernel. I have never seen any instance where he has trashed on someone for any other reason than Linux. Sometimes he's cringingly brutal, sometimes he offends people. Regardless, he's been immaculately consistent in motive during the time I've been paying attention. That two decades of casual observation has elevated him to the status of philosopher king of the Kingdom of Linux in my mind.
When Linus publicly shames a person or company, he's emitting antibodies to the cybernetic organism that is "linux".
Some folks abuse politeness to press ulterior, self serving motives. It's a lot easier for viruses like that to thrive in scenarios where there's no social cost for rolling the dice.
For a contrived example, imagine there's a person that gets paid every time he convinces a project to change to a specific color of blue. Is this easier to accomplish in project with very strict codes of conduct, or with an asshole BFDL and a hierarchy?
Virus: "I've done research (<link>) that suggests that #006699 provides a superior user experience than what's currently being used. This is a PR to affect that change."
Maintainer: "Uhh, I don't think so."
Virus: "But why not? Here's another whitepaper that shows that it's literally the best UX change you could make. #006699 is inclusive and egalitarian and your current colors are racist."
The virus can press their intent as long as their persistence holds out. Any transparent, clinical mitigation to this will be gamed. However, if the BFDL is an asshole, the Virus thinks twice about social brute-forcing. If you're publicly berated when you cross the BFDL's threshold, you lose social standing. The mere threat of it hamstrings privately pressing your objective at those in the middle of the pyramid!
In addition, when done with _some_ discretion, your lieutenants will learn the implicit contour of your policies and priorities. This provides MUCH greater defense against subterfuge and unity of action than explicit Codes of Conduct.
Over the long haul though it doesn't really matter. Philosopher Kings are rare and they die. It does exasperate me to see how slow we are to develop a consciousness for that category of social attack.
When we finally do, it'll be a subtle compromise between authority and egalitarianism. It'll usher in a golden age with a seemingly endless frontier of optimism. Then, in less than a generation people will lose the plot, take it too far and we'll rot from the other direction.
Where exactly is this conspiracy to make the kernel worse through ulterior motives coming from? Literally every large company relies on the kernel working well today, so "corporations" or "shills" aren't rational origin stories.
I wouldn't call this a conspiracy, unless I start selling T-shirts. My hypothesis wasn't even that people are trying to make linux worse. Just that it will be.
Intel pushed a half-baked mitigation for meltdown that Linus was real mean about recently. Linus made a remark that stuck out to me.. Something about calling into question the motives of Intel that would even push it. (Conspiracy time) it smelled to me like management pushing for a PR clot before their fix was ready.
Working well for your interests doesn't necessarily mean working well for everyone's. Linus's motives are transparent and for the Kernel.
Linux ran by a commission representing large companies would definitely behave differently...
I got the feeling reading that, that Torvald is burned out and frustrated.
I know as a kid helping father with a project, sometimes he could be a bit frustrated, maybe I wasn't grabbing the correct size tool, or holding the flashlight in the right place. Maybe Linus feels like that?
Ah good point, yea I can see how you could come to that conclusion. I understood that to mean that perhaps he felt like he wouldn't be missed (i.e. they would be able to manage without him).
Being combative rarely works out the way you want to, at least in my experience. That being said, it's still important to have standards beyond just empathy. I hope that Linus, and the Linux community can "do both" in some sense.
1. The Linux kernel is the most successful software project in history.
2. This is not the same as saying that it can continue to be so successful as it takes over the universe.
3. Most people including his detractors would say Linus' many good and bad qualities are a big part of why it has succeeded until now.
4. Linux would be better if as many smart people as possible can work on the project.
5. His self-admitted abusive email practices (mostly they are in email, he's pretty meek in person IMHO) appear to have alienated a lot of people, and indeed seem to have driven away a decent share of half the brains that can make the kernel better. That's women, in case that is not clear.
6. If the kernel project wants to continue to succeed and power our cars, and phones and spaceships, key people not just Linus need to consider that it can't scale with the same dynamic it has. There are a gazillion useless contributors, there always will be, and the somewhat closed male community of core developers and reviewers needs to find ways to let in players in a way that does not alienate all the people that are not like them and communicate like them. And those attitudes start at the benevolent dictator level.
Every time a person comes out and proclaims they have acted cruelly towards others, and states that they will work on changing their behavior they should be celebrated.
If the person I considered least capable of not being an asshole has developed self-awareness and has shown a genuine desire to change, then we have so much hope as a wider community.
It is definitely possible to retain the unyeilding attitude that Linus is famous for without being an asshole, and... I really hope he can pull this off.
I'm genuinely a bit emotional: this was wonderful to read.
Honestly this is potentially one of the most monumental events in Open Source. To have Linus himself say it's not okay to treat people like garbage, and seek actual help in correcting his behavior, will set such a wonderful precedent if he follows through properly. I admire someone who can do things one way for nearly thirty years, and then say, Hey guys, I was wrong.
With that e-mail, Linus has just leveled up. Hope that he can find the way to separate his firmness and "quest for a better patch" from his somewhat volatile responses.
Yes, reading Linus' e-mails is somewhat fun, like watching a documentary with some satirical, comical moments. On the other hand, being on the receiving end of these conversations are always painful, and yes he possibly kept some people away from kernel development.
Being burnt and roasted and yelled at for your best effort can break your motivation from its foundation if you are new at something, and it's not really fun.
I congratulate him for being honest with himself and us, and congratulate again for trying to change and improve himself. I also believe that if Linus can patch himself up and make the new version work, Linux kernel will also change for the better. At least its development community will work with lower stress levels, and can talk more freely.
Again, congrats Linus. Just go for it!
Edited: Ambigious words and sentences are corrected, effects of late night commenting are masked.
Years from now when Linus retires, what will the platinum members of the foundation decide to do with the project? Is it like Apple without Steve Jobs? Him taking time off leads one to wonder about such things
Linus is to Linux what Jobs is to Apple. And tho Jobs has passed, his spirit is still alive (tho fading). We should have encapsulated Jobs in an AI. (Using data of his behavior, decisions and fMRI we could have made a model). It's still not too late to make a Linus AI. Why save the minds of these architects? After all, creativity is a uniquely individual endeavor. Giants like these have given us tools have become fulcrums on which millions of humans have pivoted their thinking, their livelihoods, and their behavior. We cannot understand creativity, model it or reproduce it. But the same can be said of strong AI as it is modeled by deep learning. Perhaps we can use a tool too complex for human understanding to recreate a human process that we do not understand. Imagine if we had the genius of gauss, fermat, pascal, newton, liebniz, galileo,and so many others all available at the same time. in the same room. to answer the same question.
Can't stand how people are too sensitive today. Linus is and has been a asshole for decades. But that asshole has given us one of the greatest contributions to computing. If you can't handle his attitude then don't be a part of the community or grow some thicker skin. Life isn't always soft.
I can believe that it does seem like that to you, but if you're going to post on Hacker News please say something substantive and please avoid pure inflammation.
It will be interesting to see what kind of tooling Torvalds ends up with. I suspect that bit may have been a joke but you could imagine a 'professional feedback generator'.
Time out might yield positive benefits. At some point (5 years? 10 years?) he will have to retire / take on a different role.
A middle ground solution between the former situation and leaving completely is to have someone [with good editor skills] edit your emails before they go.
1. Write your usual technical emails with possibly some knee-jerk personal attacks stuffed in.
2. Click send; which sends the email to the email editor. The editor redacts your email, keeping the technical substance while removing anything personal.
The editor could only remove the problematic stuff, and for instance keep the congrats, personal encouragements and whatever other personal positive remarks. With time, the editor can learn what can of messages make the community thrive, and edit the emails towards this. Some people are naturally good at this; for others, hiring someone to edit emails may end up cheap for the outcomes it may bring your organization.
I have complained about Linus's behavior before many times, on here and elsewhere - it's in my comment history. I am extremely pleased to see Linus owning up to his behavior. In a weird way, given that I have no personal connection to him whatsoever, I'm proud of him.
I hope he makes good on his word as laid out here, I hope he takes the time he needs and gets some good help, and I hope this sets a strong positive precedent for Linux and the greater open source community going forward. This can't have been an easy choice to make, and I respect him for making it.
> This week people in our community confronted me about my lifetime of not understanding emotions.
> I am going to take time off and get some assistance on how to understand people’s emotions and respond appropriately.
This is completely disingenuous. It's clear from Linus's persistent and cruel personal attacks that he acutely understands many emotions: anger, fear, shame, etc. He attempts to exploit these when he coarsely insults his maintainers. Framing his actions otherwise is a form of deflection.
Words and phrases I hate seeing from a brilliant and competent leader:
1. "[something] was Not OK"
2. An apology to "people who were hurt by my behaviour"
3. "I'm going to get outside help to learn how to be better"
etc
etc
etc
Basically all the hallmarks of American PC overly sensitive culture that ruin excellent organisations or products because of weak-minded, mediocre nobodies.
Here's hoping Linus comes back fired up. He (and the rest of you lot) cannot let useless people dictate the direction of important projects and organisations.
I disagree. It is not really quantifiable whether Linus' (at times erratic) patterns of communication had an positive or negative impact. You can very well be firm and tell people what they need to hear while staying friendly. If they realize you say the truth it will be more effective if you didn't give them an excuse to blame everything on you.
Communication is important in bigger project. This is why leaders have to be both aware and in control of what message gets across, otherwise the whole thing is based on luck and people's good will to read what you might have meant. Linus himself said he wasn't aware and that alone is a bad thing.
Don't get me wrong, you can totally get somewhere while beeing rude and erratic, but in my experience there are more civil ways which will get you there faster, with better morale and less overall friction.
I have a lot of ambivalence about this. On the one hand, inclusiveness and culture that leads to more diverse representation has shown to produce better results. On the other hand, too much hand holding and accommodation will swing the pendulum too far and lead to even worse results.
I’ve grown a thick skin and taken to respecting people like Linus, even if the ire is directed at me. But that’s likely a function of my privilege that I’m able to accept that and function in those conditions.
It's interesting because I know a couple of authors of big open source projects who have anger issues and who also profess to have little empathy for others.
I struggle to understand how it's possible for someone who works for free for the benefit of others to also lack empathy; isn't that a contradiction?
That said, I did experience extreme career-damaging betrayal from an open source author who had a similar attitude as described in the article. Some people are just living paradoxes.
Is there any actual data on how "being an asshole" is bad for the product?
Because, frankly, Linux is one of the most successful projects in history. I think if Linus telling repeat offenders to stuff it was bad for the project, we ought to be able to measure some bad effects. Note that I'm saying measure. I'm talking about actual, objective effects, not someone complaining.
If "people are complaining" would be bad for business, Comcast and EA would not exist.
If this was your typical org,Linus would be a lead developer and architect who is also the CTO.
It is easy for me to criticize his behavior(and I don't agree with his rants) but it is also a difficult thing to be a leader. It would have been better if he got rid of the cult that alienates anyone who criticizes him. He is a perfect fit for the role but he should also be more tolerant of people who criticize his communication style.
It would have been better if he got rid of the cult that alienates anyone who criticizes him
That's an incredibly tall order.
I've been popular in the past on various forums and, inevitably, any position I took became a polarizing case of "I'm on her side!" versus "I'm against her!" And I never found a good solution to that.
I spent some time making sure that people trying to "side" with me for pecking order bullshit reasons were handed their head publicly while being as civil as I could be to people whose disagreement seemed genuine and not just asshole behavior. It didn't work all that well, though.
I have spent a lot of years trying to sort out how to not wind up tangled up in mess of that sort. One solution that kind of worked: Be a big fat nobody.
Time will tell if I have my crap sorted enough to not wind up mired in that again should I ever gain any real popularity ever again. But I'm 53 and spent a lot of years living quietly and eschewing fame. Torvalds came to fame young and seems to not have the best social skills and that may not be something he can ever really fully sort on his own. It's not an easily resolved issue, from what I have seen of life, the universe and everything.
It would be funny if we flipped the script and us "normal" people wrote...I have been demonstrating consistently my inability to contribute anything significant to better humanity for my entire career. I'm sorry and I hope I can correct this behavior in the future. I'll be taking some time off now to gather and regroup.
That would be a lot of apologies if that was supposed to be the norm.
> And yes, some of it might be "just" tooling. Maybe I can get an email
> filter in place so at when I send email with curse-words, they just
> won't go out. Because hey, I'm a big believer in tools, and at least
> _some_ problems going forward might be improved with simple
> automation.
Strictly following the virtues of the programmer, I guess.
I wonder if the negative behaviour was essentially knee-jerk lizard-brain reactions against other developers that wasted his time because they don't share his values for Linux.
If he maintained a manifesto of values for linux's kernel, always kept it up to date with the new technological choices and so on, maybe that would've kept the bike shedding away.
This seems to be about succession planning. Linus first talked about not attending a regular session, then fully realised its impossibility and the reasons thereof.
Style is less than substance. If there's one person who knows this, it's Linus Torvalds. And the proverbial bus would be all substance, if and when it hit.
Good for him, I wonder how this will affect kernel development though.
“Benevolent dictator for life” might not scale. And it might sound horrible; but there are some strengths involved that I feel the Linux project benefits greatly from.
I figure that Linus has insulated himself very well with competent leaders, but, I don’t have much insight-
> Maybe I can get an email
filter in place so at when I send email with curse-words, they just
won't go out. Because hey, I'm a big believer in tools, and at least
_some_ problems going forward might be improved with simple
automation.
Linus dealing with his behavior as an engineering problem. Genius.
I'm of 2 minds. He goes to bat for the rest of us defending the quality of the kernel and the open source movement, and he wastes no time and he doesn't mince words. But he was doing the same thing 20 years ago and was nicer about it and by being nicer invited more participation.
As someone familiar with LBT's mailing list rhetoric since the early days, I'm guessing a big part of what's happening here is that LBT hasn't changed the way he communicates but the rest of the world has moved on. And let's face it, the engineering and programming world has gotten a lot more politically correct—I think the main factor driving this is the increasing presence of women in technology.
What I mean is that it's getting less and less acceptable in tech to make excuses for abusing people either verbally or in writing. Back when engineering was almost totally male-dominated, you were excused for using harsh criticism and vituperation at work. Many people, I think, will be glad that sort of culture is going away.
If you look at the tech world of the 80s, 90% of it was very buttoned-up and proper, despite being male-dominated.
The rudeness comes from Linux' roots in a youth-dominated hacker subculture. It just doesn't work very well when they aren't teenage hackers anymore, but have gone mainstream and are working at it in a professional capacity.
Not sure if this is the case because Linus always appeared to go over the limit even to the most old style, cold and technology focused engineers. You may not get into the empathy thing and yet be able to avoid replying in certain wrong ways, keeping the reply focused on the technical points, without attacking the human being and so forth. Moreover to be honest I don't even think that the way he used to handle it guaranteed the best technological outcome too, since some soft touch is needed in order to spur people to do their best.
Men deserve to be treated with respect too. I'm a man, and I would absolutely quit any job where someone talked to me the way LBT did in his emails. I'm sure someone reading this thinks that makes me a snowflake.
Sorry, I guess I read your comment uncharitably at first, but I do know there are people who do think that the workplace where we are free to behave in an agressive, insulting ways is the ideal workplace, in 2018.
I agree. While I think it's good that he's trying to take more responsibility for his abrasiveness, and would have been good even decades ago, I think society is shifting (for the better) in a direction where it's much less acceptable to be abrasive. As an abrasive person myself, who's easily frustrated, but has a thick skin when it comes to other people being abrasive with me, I don't personally care if the world gets more polite or sensitive. But I also recognize that not everyone is as comfortable with roughness as I am, and the world will be a better place if everyone learns to be respectful and sensitive to the needs of others.
Linking it to "PC" or "women" I think sort of undermines it on a larger level.
To take part in opensource, especially a big project like Linux you have to be willing to put yourself out there a little bit. You have to put in some work, and then put something out there to possibly (probably?) be crapped on by people you respect. They might love it and merge it, they might hate it and tell you why, they might come back somewhere in the middle with a list of things to change that you may or may not agree with. They might ask you questions you can't answer, they might point things out that make you feel really silly. That element of risk is something many computer people have a hard time with, not just women or minorities.
I got involved with the kernel a long while back, sent in a couple smallish things. Then I found what seemed like plutonium, the embedded project I was working on, we were literally spending like 1/3 or our cycles zeroing pages. Did some stuff to use MMX like instructions to do it and got a nice little bump. Turned if off entirely and got a huge bump. I/O took off like a rocket, all sorts of things got noticeably faster; like we were able to double what our project had to do. I had a more senior Linux guy coaching me up on this, a made man in the community, it was late one night when we discovered this so I put together some patches and sent if off to Linus, he was encouraging it. Linus was quiet for about a day and then sent back some pointed observations and was kind of making fun of me. Zeroing newly allocated pages is kind of important, it's a security risk to not do it and it happens for a reason. I felt like a total newb, and Linus had poked fun at me in an email, it didn't feel good. The made guy I was working with sort of picked me up, told me he does that to everybody and that it's good natured ribbing for the most part but before that I had just felt like crap. This guy I respect the hell out of was making fun of my contribution, I got over it pretty easily but I could easily see how others might not.
There have been some fairly popular contributors (or maybe not, I don't know..) over the years that have basically managed their own forks with various patches (Con Kolivas' scheduler stuff stands out to me) because for whatever reasons they couldn't or wouldn't get stuff merged or accepted, even though it seemed to be really useful and appealing to a lot of others. In the heat of it all, it can seem really arbitrary too, you put some code together, you know it solves some problems and the community of developers doesn't want it or won't take it.
Not sure what caused Linus to recognize it this time but I hope things improve, it's better for everyone.
> This guy [...] was making fun of my contribution
That isn't entirely correct, because you contributed nothing. He (kind of) made fun of your attempted contribution. What else could he do?
He could tell you in sterile, technical language that zeroing pages is done for security reasons. You'd probably perceive that as condescending. He could instead ignore you. That wouldn't be nice, either.
If you were Linus, how would you handle your not-quite-contribution?
I don't know much about Linus's personal background prior to his announcing his project as a student. His communication style always struck me as surprisingly easy to understand and relate to. It reminds me of what used to be a common subculture in tech fields in California, namely the ex-military enlisted men's culture. I have wondered if he somehow had similar early exposure.
It's the combination of swearing like a sailor, sarcasm, thick skin, and being prone to hyperbole when talking about any kind of trained skill or procedure. As a child, I learned from my dad (and eventually figured out what he really meant), "There is the right way, the wrong way, and the Navy way" to everything. This culture is indoctrinated when young men go through boot camp, but it also spreads itself when concentrated enough other environments. In boot camp, the yelling, the swearing, the insults, and rigid expectations are used to shock, reset, and motivate. Initiates are bootstrapped into a command hierarchy and also taught trust, duty, and shared responsibility. A lot of this rubs off on the successful graduates.
When people with this sort of background mingle, it is easy to fall into this sort of brusque communication. Language may be harsh, colorful, and full of crude imagery, but usually isn't intended to be cruel or hurtful. Those with fluency will take it as quite the opposite... people are signaling trust and fraternal interest. Such insults and jokes are exchanged to strengthen bonds. Ironically, while someone communicating in this mode can easily hurt the feelings of someone not conditioned to understand it, in turn they can feel hurt themselves as they were putting their feelings out there (albeit in a coded form) and having them slapped down and rejected. To a person steeped in this culture, it is frustrating dealing with the subtlety and opacity of "polite" and "diplomatic" society whose practices often seem perverse, passive-aggressive, and insincere.
I feel that the tech scene used to be more strongly influenced by these ex-military participants. Some of the older hacker ethos also seemed to mix this with other hippie and subversive attitudes which could somehow tolerate and complement each other. This is disappearing. I would not link the change to political correctness nor women, but to a general dilution of those old norms. More and more participants are coming in as tech becomes mainstream. There is a new wave of youngsters further removed from military experience, in spite of US activities abroad. There are also far more immigrants from many other cultures throughout the world.
The only thing less effective than groups of people speaking different languages at each other is when they mistakenly thing they are speaking the same language...
I don't think it has anything to do with PC and has a lot to do with being C. There's a lot of bravado among older programmers that carries over from a time when they really could do whatever they wanted because stuff needed to get done and a principled, lone gunman solution could actually be a much closer approximation of correct than some BS consensus built monster.
That simply isn't the world we work in anymore. Everything has been done and if it's being done again it's because the subtle mistakes and approximations of the past aren't good enough. Linus' complaints about the scheduler are the best example of what I'm talking about. A scheduler is a super hard problem now and there's a lot of complexity to wrestle with that simply didn't exist in 2001.
Anyway, the kernel is still open and discussion is still happening so I don't think we're in some kind of crisis. Good for Linus to take time off - maybe this will be an opportunity to develop processes that can create a more dynamic open source environment, one less reliant on a few individuals.
False. "The percentage of CS-degree holders who were women peaked in the 1980s at 34% and has been on a downward trend ever since" [1]. Women do not have an increasing presence in terms of population. Maybe the real phenomenon is that women are no longer accepting the culture that tends to form in male-dominated fields.
> when engineering was almost totally male-dominated, you were expected to be able to bear harsh criticism and vituperation
I don’t you intended this, but at first read your comment comes across as sexist. It implies men could take the heat while women can’t. More than being offensive, I find it untrue. Anger-driven management doesn’t scale. Tech has scales, and its heroes of yore much brave a bigger world than they were originally used to.
I didn't intend that. What I'm implying is that "men taking the heat" and having supposedly thicker skin was the excuse used to justify the lack of empathy and sociopathic behaviour in the culture.
> Linus was forceful at times, but his focus was on the work, not on trying to make people feel bad.
It may have started this way when he began one of his emails, but even he admits the attacks often went from “let me critique your contribution” to “here’s why your contribution sucks and beyond that here’s why I think you suck as a contributor”.
I think this is understating it bit. He did mostly focus on technical aspects, but he did also occasionally say things like "whoever wrote this should be retroactively aborted", which is going waaaaaay too far and is going to make someone feel bad, period.
So, what would you do? Would you rather have Linux, or would you rather that noone ever get their feelings hurt by harsh comments?
Perhaps he should have been given the boot years ago for saying such things, but would we have Linux today?
I really don't think that that is a false choice. You and I did not create Linux - Linus did. You and I did not keep it going despite the massive flock of ducks constantly pecking. Perhaps if we achieve something similar, we can judge.
Sometimes you have to take the bad with the good. Linux now has a whole community, likely calling for a different leadership style. I hope Linus is able to make that transition.
Would you rather have Linux, or would you rather that noone ever get their feelings hurt by harsh comments?
Sounds like a false dilemma or externalized either/or to me. It's not as if Linux could not have existed had Linus learned 20 years ago to dial down his abrasiveness.
If it did, then good riddance. Linux is barely able to attract hardware vendors to write less-than-afterthought drivers as it is; let alone with, say, even more non-Unix OS flavors as distraction.
Things like Redox and Haiku may be interesting theoretical constructs, but without the ability to use Linux (or BSD) device-drivers, they're not generally useful to the free software community and we can only hope they don't draw too many resources away from more useful pursuits.
> [...]I think the main factor driving this is the increasing presence of women in technology.
I don’t agree. I find situations like these stem from the number of qualified developers interacting within these communities. In the past, when the depth of talent was small, people put up with epic levels of ego and bullshit. The only way to move the needle forward was to grin and bear it.
Today, we have a greater density of talent with the diverse skills needed to contribute to these core projects. Caustic personalities aren’t worth dealing with any longer when you have a bunch of non-assholes you can rely on.
Don’t be a dick, do your job without being abusive, and if the community you’ve been trying to contribute to finds you to be boorish and not worth the effort to engage with, adapt—as Linus is going to try to do.
> In the past, when the depth of talent was small, people put up with epic levels of ego and bullshit. [...] Today, we have a greater density of talent
I do not believe that the density of challenged. What has changed is that modern programming languages/technologies/... require much less talent to do something useful with. So a lot more people can (perhaps) do a meaningful contribution to the project. This makes much more projects possible. But it does not lead to the situation that more people can now contribute to projects of hard difficulty.
I don’t think it has anything to do with so-called PC or women, it’s just unprofessional behavior and tech has gone from people in a garage to the leaders on the market in that same time. Tech grew up, became a profession, and perforce people involved have had to grow up too. It has literally nothing to do with the usual culture war bullshit that gets paraded around. It’s sort of tragic that some people have so little experience in the real world beyond the tech bubble that they think basic standards of decorum and professionalism are gendered.
That doesn't sound plausible to me. Tech has been "grown up" in terms of professionalism for a long time. What didn't catch up was emotional intelligence and workplace ethos. What is new is that people aren't going to tolerate Linus ranting at them and their colleagues and cussing them out anymore like in the old days. And I'm sticking to my guns, thinking that a lot of this has to do with a more diverse workplace (and the pressure doesn't have to come from the LKML, but from the larger software engineering ethos).
Linus is a very smart guy, and I'm glad he's accepted that he needs to change. He should be lauded for that.
First of all I opened with, tech has gone from people in a garage to the leaders on the market in that same time. The scale has dwarfed essentially everything except finance. Second, when I look around at major professions, I see standards of practice and organizations to enforce them. There is no functional AMA of tech, and it shows in every janky IoT product, dishonest and borderline illegal privacy invasion or growth hack, and MVP that forgot the V. If you want the respect, you need more than just money, you need accountability. In Linus’ case he’s lesrning that in the real world it is (as he said) unprofessional to suggest that a colleague should be aborted.
git's distributed nature was revolutionary. Although not the first (BitKeeper for one preceded it), it has a mind-numbingly simple design, of distributed data by content addressing (data named by its hash, so it has the same name whereever it is).
> hey, I need to change some of my behavior, and I want to apologize to the people that my personal behavior hurt and possibly drove away from kernel development entirely
I don't care who you are, it takes a lot of courage to say something like this. Respect.
What is this? "Jessup's defense" (from a few good men) or somesuch? What sort of bad behavior is allowed by FOSS project contributions? Can it be used to get out of parking tickets?
I wasn't commenting on bad behaviour or not (at least not in that comment). It just seems like lots of folks are talking about this issue in the abstract rather than from experience.
Does everyone really think Linus will change 30 years of past behavior at his age?
The bits about how Git was created, and the mention of automated tools at the end make me believe Linus will come up with a new shiny tool. Or maybe he hopes so.
What was once a strength (albeit with a major drawback) is now no longer needed as Linux is in a much different place than it was when Linus had to forge headon. Not many can make this switch. I give him plenty of credit.
I kind of liked Linus’ rants! However, I always thought he was much more socially aware and empathetic than he admits to being here. He just chooses to express himself that way. Wonder if I gave him too much credit?
I don't think anyone, not even Linus himself, really knows whether his abrasive attitude was necessary or not, and whether it was helpful or not. Will be interesting to see what happens.
Good on him for doing what's right for his community. It takes a lot to own up to a mistake and work on doing better. It takes more to do that when there's a pile of them.
This is a pretty long comment section here, but does anyone have a summary of the immediate context of the discussion that may have lead to his idea to take a bit of time off to reflect?
It takes a lot of courage to say what Linus said today. Especially in this current climate and in the face of some of the comments I'm seeing here and elsewhere. Respect.
We should also keep in mind that the fact that he's trying to change his behavior does not mean that it has been counterproductive overall for Linux over the last three decades. It might not be optimal now for leading kernel development, or it might not be optimal for him as a person. However, this introspection really does not mean that Linux would have been more successful if he'd been nicer in the past. Maybe yes, maybe not -- but some commenters seem to imply that this email is somehow a proof that people calling Linus out in the past were somehow right.
You might not like it, but it might be true; we don't actually know for sure. What we do know, is that someone with Linus' personality and character traits is the person who did get this monumental thing accomplished for the betterment of the world.
Until Jimmy-never-says-anything-mean does the same, we won't have a useful counterexample to shift the evidence toward your preference.
If you can’t create something without hurting people then don’t create it.
I wish the world were that simple.
If you accomplish anything, someone is going to be jealous or insulted or angry for some reason or another. And if you do nothing, the world goes to hell in a hand basket because no problems are solved.
I'm glad the guy is taking some time off. I have nothing but respect for his conclusion here and how he is handling it.
But the reality is that if accomplish anything whatsoever in the world, someone will come up with some reason to hate on you for it.
Sorry, I wasn't defending Linus at all, and I would not behave as he did. I was just saying that him changing his behavior doesn't prove anything about successful management techniques. Of course I'm not pro assholes :)
I was merely trying to make the point that if one measures the success of a manager by only what is produced and not by how people are managed then one made the same mistake Linus did.
This is quite complicated. Primarily, the measurable bit of a manager's performance is what's produced. If you start measuring people's emotions then that's going to be very hard to quantify.
Let's say that your company is trying to revolutionarize transportation by breaking the monopoly of ICE engines and replacing them with electric motors. What's the compromise you can allow yourself if there's a conflict between your employees' life and emotions and your company's success? If hundreds of people get totally burned out working for you but you help millions of children growing up with less pollution, then is that acceptable?
It isn't always true that you can have your cake and eat it as well. I don't know the right solution, but it's definitely not a simple that "produce great output and also make your employees happy" -- there are countless situations where these conflict. Sadly.
Regarding the case in point -- I think Linus' contribution to the world is so overwhelmingly positive that these rants and hurt feelings don't even compare. It'd be better if he didn't do them but this is his character, and nobody knows how this roughness correlates with his perseverance and care about code. (I'm really not saying it does, but it could.)
> If hundreds of people get totally burned out working for you but you help millions of children growing up with less pollution, then is that acceptable?
It may be an acceptable tradeoff, but I wouldn’t say it makes someone a ”good manager”.
I never quite got this sort of thing- programmers talking "tough" like they
are, dunno, extras in gangster movies or something. We're just a bunch of nerds
tapping away at keyboards all day. Were does all this attitude come from?
Collectively, we must think we're a really tough bunch. Don't mess with us or
we'll screw up your codebase and rename all your variables "bob". Hah!
I hope we can all learn a lesson from Linus. Those of us who still need it,
anyway.
Anyone that can't take the criticism for bad work presented to the head of the most successful software project of all time don't deserve to participate. Linus has done an amazing job of keeping all my computers, safe, secure and reliable and anyone that messes with his method should not even be allowed to participate. I don't care about anyone's need to feel like a special and capable snowflake, I need the best software Open Source can provide.
I would never work for this asshole. I have not granted any one the privilege of being disrespectful to me. No, no one has my permission to be unprofessional and/or disrespectful towards me, no matter the cost. Everything else is fair game. To be clear, I have had a fair amount of criticism on my work by all kinds of people (and most of them I deeply respect and consider my mentors).
Well it's a good thing that contributing to FOSS is entirely voluntary, then, isn't it? Ain't it grand that there's no supreme overlord telling you to which repos you must submit PRs? Total miracle, right? Wait, no, it's only your natural right to make voluntary associations.
Linus is very much a Sheldon Cooper: Brilliant, usually right, but lacking in empathy (colloquial: an "asshole").
That he's finally recognizing this deficiency AND taking steps to correct it is the best news ever, because it means Linux development will flourish now that a toxic element is being removed (the behavior, not Linus himself).
The comments are too harsh, you can be a good person and an asshole, since when insults were this much of a problem, a few decades ago people would've just said he's a guy with an attitude, or hot blooded, etc...
I prefer people like him to calm always smiling sociopaths who only say the right things and take actions that truly hurt people.
Two cross-ring context-switches per byte (!!!), is insanely idiotic at best; any BSCS program worth half its salt will teach you why; and one would certainly hope that a developer of a central/core userspace program would be far more knowledgeable than someone straight out of a BSCS program.
<quote> ... a long-winded way to get to the somewhat
painful personal admission that hey, I need to change some of my behavior, and I want to apologize to the people that my personal behavior hurt and possibly drove away from kernel development entirely</quote>
I think this is great. Too many people look at figures like Torvalds or Jobs who have big accomplishments but also acted like jerks and decide they had achievements because they were jerks and so acting like a jerk is the thing to do. I would say that is not the case.
It is very interesting how dichotomic Linus' traits are beeing discussed here. Many seem to think that him beeing an asshole at times correlates with communicating clearly – then the opposite is quickly constructed: kind, polite, but not saying what is needed, robbing everyone of their time, beating around the bush..
As a (film) director I work with both with a technical crew and rather non-technical actors. As you can imagine good communication and leadership is key to make something as complex as a movie work on multiple layers. But you don't necessarily have to be aware of how your communication effects people to be a good leader (as Linus stated he wasn't), but it certainly helps to make your communication more intentional and less erratic. Film directors can pull the strings of their actors while beeing assholes, real friends or a cold professionals – but all of them have to be aware of the effect it is having on the actors – otherwise they are just shooting darts into the fog monte-carlo-style.
You can't just force someone to deliver peak performance. You also can't just convince them rationally, even if they have a huge incentive. It is your job to get them into a place where they A)can deliver their best and B) they also _want_ to deliver their best. If they are mentally stuck it is your job to show them the possibilities, if they are head-in-the-clouds it is you job to ground them back to earth, while still leaving them freedom.
How to achieve effective communication like this depends mostly on the situation, the constellation between sender and receiver and last but not least on the character of the individual.
Someone who overestimates themselves all the time, but can't deliver and destroys work of their team might need a different treatment, than somebody who really gives their best and accidentally fucked up. Psychologically speaking, some might be more receptive to public communication (where there is more than one person listening) and others want/need a one-on-one.
Effective communication is, when you can push everybody over their boundaries, using the language they need and in the end they should feel like they wanted all of this themselves.
This won't give you that infamous aura, but it will get the job done faster, better, using less words and in in an ideal case everybody will thank you, because they learned a lot.
A certain sort of ruthlessness and lack of empathy, accompanied by having an extraordinarily driven personality, certainly seems to often make things happen (see also: Steve Jobs). The ages-old question is – is it worth it? Do ends justify the means?
People can be ruthless without being abusive. Linus had effectively ultimate power over the kernel for quite some time, so he could have said things like:
"I disagree with this patch and I'm not going to merge it. It does these things wrong, and this line of reasoning makes no sense. Change these things and explain the reasoning behind this and I'll look at it again."
Most of his rants that I've read could have been summarized by that without including any personal attacks.
Simply not accepting poor patches isn't ruthlessness though. It's just doing your job. Ruthlessness is disregarding negative externalities (in this case, people's feelings) in pursuit of a goal. Abuse is just one tool among others. Almost certainly Linus didn't write his rants in order to gain some sort of sadistic pleasure (certainly to relieve his own frustration, however!) but he truly believed it was for the greater good and, if we're to believe him, he wasn't actually aware of how much his words could hurt. I guess what would be called abusive by many was merely a "stern talking-to" to Linus.
Almost certainly Linus didn't write his rants in order to gain some sort of sadistic pleasure
I don't find that assertion convincing.
I guess what would be called abusive by many was merely a "stern talking-to" to Linus.
Which is why he needs therapy.
It would be great if we would hold ourselves to higher standard of professionalism and stop apologizing for toxic behavior in software engineering. I've never seen another industry where abusive infighting is considered acceptable and necessary for success. It's almost worn as a badge of honor by people who -- more often than not -- aren't even that good.
> It would be great if we would hold ourselves to higher standard of professionalism and stop apologizing for toxic behavior in software engineering.
Or we could take an alternative route, and collectively grow a thicker skin and show a bit more emotional maturity, instead of seeking offence in every situation.
But then that's just my opinion. But that's the point, opinions differ.
Or we could take an alternative route, and collectively grow a thicker skin and show a bit more emotional maturity, instead of seeking offence in every situation.
No. I've been reading apologist nonsense like that for literally decades. I'm tired of being involved in an industry full of angry, frustrated manchildren who think that bitter vitriol is a signal for technical expertise.
Regarding "seeking offence in every situation" I'm inclined to think that you've never read one of Linus's ridiculous rants. If you have any you still think people are seeking offense, then there is quite literally something wrong with you.
Sure. It takes a certain level of emotional passion to actually keep driving you forward in this kind of project, though, and that passion will come out in a "naive conversational style" as brusqueness and even personal attacks.
It takes a certain level of self-awareness to realize that you should still say what you're thinking, but you shouldn't say it how you're thinking of it.
"Of course, I'd also suggest that whoever was the genius who thought it
was a good idea to read things ONE FCKING BYTE AT A TIME with system
calls for each byte should be retroactively aborted. Who the fck does
idiotic things like that? How did they noty die as babies, considering
that they were likely too stupid to find a tit to suck on?"
That's actually the funniest damn thing I've read in a while. Totally unprofessional and inappropriate for the context, but hilarious.
Maybe he needs a creative writing hobby of some sort as an outlet to help keep such glorious color out of his professional emails. (I'm totally serious and would email him the suggestion if I didn't think it a waste of time because I don't know the man, he doesn't know me, yadda.)
But in real life, we have to worry about being honest. And it's honestly not true that anyone who reads a byte at a time is too dumb to operate a nipple. All it means is that whoever did it doesn't know much about syscalls.
This is unnecessary vitriol directed at the person themselves as opposed to their code. It achieves nothing. He could get the same message across with far less words if he stuck to outlining the problem as opposed to attacking the creator of the problem.
No but you know what I mean. We’ve all been there, looking at some effedup code and cursing the goon who dared check it in. Usually just end up sighing and getting on with it.
I suppose Linuses appeal in this regard is similar to Simon Cowell or Anne Robinson off the weakest link. Sometimes you just like to see stupid called out.
I am also a stupid programmer. However, the difference is that I try not to submit pull requests if I have no idea what I am doing. However, from what I am reading, these are not naive programmers who don't know what they're doing. From what I understand, most of the people that Linus rants about are employees of corporate sponsors of the Linux Foundation.
This is entirely my conjecture and I have no way of proving it but I suspect Linus taking a break is Intel flexing its muscles on the Linux Foundation.
From what I’ve read about some of these rants corporate sponsorship != competence and there’s one or two things in my recollection that were astoundingly stupid. Schoolboy errors, in code that’s supposed to run in kernel space. I get that he kind of feels that he shouldn’t be in a position of having to spoonfeed people.
Not condoning his rants, like I say it’s ultimately upon himself these reflect badly, and they probably do little to stem the flow of incompetence ...
> We’ve all been there, looking at some effedup code and cursing the goon who dared check it in.
Until you realize it was you who checked it in. If you write enough code, you will eventually not write the best code for some situation. It could be because you were tired or you simply didn't understand that part of the code well enough. Instead of attacking someone with insults, it's better to understand why the code got written and work to not have similar mistakes made in the future. Remember, everyone here is on the same team trying to make the best piece of software possible. Berating teammates (which is really what is happening here) does not make them better teammates or make the team as a whole better.
I completely agree up to the point scour ”everybody on the same team”
The most egregious errors made in my experience and often Linuses, are by people who don’t see themselves, or have no interest in being “part of the team”. Who dont abide by the code quality guidelines, who have been told time and again, or who are trying to make weasel changes to subvert the organisation of the code to their own ends.
Linuses way, however isn’t really the most productive approach, Aine these kinds of individuals don’t care anyway. It sounds as though this new “code of conduct” might be an attempt to move things forward.
So what? Isn’t that what kernel development is all about? The careful detailed stuff goes in kernel space so that if you want to make a mess of things in your application you can do so without bringing down the whole system. It’s not like that to hurt your feelings or make you feel “excluded”. It’s for the greater good.
> if you want to make a mess of things in your application you can do so without bringing down the whole system
You don't need an exclusive community to make that work. We as an industry have tools: fuzzers, testing frameworks, better programming languages and type systems, and proof assistants, all of which will do a better, more consistent job of ensuring quality than project leads being assholes.
None of the techniques you’ve described is either proven or applicable to this domain. Being an asshole while unpleasant is not incompatible with “getting things done” as has been shown again and again and again.
I know a fellow who did that. He had never written a program before, read the manual, and wrote the code. He explained it in terms of the manual never said that system calls were slow.
It's not ironic at all. C doesn't not do anything promoting a syscall per byte. Even if you think that's what you are doing, libc is probably buffering for you behind the scenes.
If you're using fopen(3) "stdio" (buffered I/O), then yeah, fread(3) and friends will buffer. But if you're using open(2) and read(2), libc's not going to buffer that.
- C-style strings are null-terminated, with no information about their length
- no equivalent of "for item in items" or "map" because no native data type has any concept of its length
- array-to-pointer decay
Modern assembly languages - for processors that have SIMD or AVX instructions - are more natively able to deal with several things at one time than C is.
Very true. I remember when one of the kernel maintainers announced why she was going to stop contributing, one of the reasons listed was "Linus has advocated physical abuse of kernel maintainers." Looking at the email that was given as evidence though, Linus told one of the maintainers something like "You're over 6 feet tall, if the contributors won't give you their patches in time to be merged, say you'll smash them :)" Hopefully Linus figures out a way to stop the over the top aggression while on break, but still keeps his no-nonsense attitude towards development.
Saying that "Linus has advocated physical abuse" based on that statement is completely disingenuous. It's an absurd interpretation. It was obviously humor and it wasn't insulting either.
There are several cases where Linus went way over the top with insults, but throwing him under the bus because of that statement is ridiculous.
That's the whole problem with these CoCs, if people get to apply the most uncharitable interpretation of any statement, we can't have anything but extremely formalized conversation, lest we run the risk of getting kicked out because someone who doesn't like us misrepresented our words.
There is a certain cost in time and energy required to separate yourself from harsh statements like that identify it as such. While it's pretty easy to say, yes he's not suggesting physical abuse, the statement implies this guy is not going to cut me any slack, I can expect to get verbally attacked for missing something in my code, etc.
Bad code has a cost associated with it as well, it takes time to reject it, explain why it's wrong, and deal with the frustration of someone less experienced. Unfortunately with some developers they want to push that off on the person writing the code and bear none of the burden.
I've seen the costs of the latter in open source projects I've worked on. People who feel encouraged stick around, support the community, and when given good feedback will often learn from it and submit better patches. Taking the time to communicate and make sure everyone feels included is part of the cost to get that.
> There is a certain cost in time and energy required to separate yourself from harsh statements like that identify it as such.
It's not a "harsh statement", it's a joke. If anything it's flattering of that person's stature.
> While it's pretty easy to say, yes he's not suggesting physical abuse, the statement implies this guy is not going to cut me any slack, I can expect to get verbally attacked for missing something in my code, etc.
I don't think it implies that, but that's besides my point. The remark was represented as "advocating physical intimidation and violence", which given the actual context is basically libel. You're free to interpret anything you want about the personality of Linus from him making such jokes, but misrepresenting it like that in public is dishonest and harmful to discourse itself.
For an example of what you're talking about, it's what diplomats do. Where a careless word misinterpreted across different cultures and languages could start a war, diplomats have learned to be, er, "diplomatic".
>Everybody has a different conviction about what is abusive and what is not.
Correct. That means that you should, if possible, 1) try to communicate in a manner that most people won't consider abusive 2) adjust to the individual when needed. All of which Linus is saying he wasn't doing.
Then why would he change? What evidence do you have that he would agree with your interpretation? It seems like you're making excuses for someone who has just rather emphatically eschewed them. That makes no sense, unless you're really making excuses for someone else.
People have been able to build successful organizations without being abrasive dickheads to their colleagues and subordinates all the time. I think it's a false dichotomy.
Do you have relevant examples (or even better, some statistics)? How do you measure this and how do you know if they were assholes or not? I guess you don't have a record of SLT meetings of large companies (as you have access to the emails between Linus and the maintainers).
Leaders of large companies are _usually_ more aggressive, selfish and less agreeable than average people. This is a well-researched topic (and also makes sense intuitively -- leading a Fortune 500 company comes with so unique perks that there's an immense fight for those roles).
I think that's the point. However, such people "disappear" and end up being less known, even though they had a substantial impact of what they started. This fact then becomes part of entrepreneur folklore, reproducing more and more toxic people, etc, etc.
I'm not sure why it has to be this way or whether it has to be.
I'd be interested to know your thoughts in more detail, because I have a different perspective and have a hard time trying to see things from your point of view.
From my perspective, people react to social condemnation of their actions. When someone does something incompetent, and they are gently corrected, that sends a certain message. When someone does something incompetent and they are lambasted, that sends the message not only that their work was of low quality but also that doing low-quality work is socially unacceptable. Since social acceptance is a much higher driving force for humans than merely being thought of as technically proficient, that would seem to be more effective.
There’s all kinds of problems with your perspective, most notably that it presumes the existence of an objective arbiter of “competence”. In reality, in the past Linus has lambasted people for patches that Linus misunderstood, which had no beneficial impact whatsoever and instead led to a least one case in which a highly competent contributor vocally said he was walking away from kernel development over Linus’ immature horseshit.
It’s also important to recognize that essentially nobody chooses to be incompetent, so upping the “punishment” for incompetence does nothing to incentivize some other choice; rather what you perceive as incompetence is usually the result of either someone not knowing or understanding something you understand, or YOU not knowing or understanding something THEY understand. In the former case, lambasting someone will do nothing to improve their knowledge and help them be a better contributor; in the latter, lambasting someone over your own ignorance merely demonstrates to others what an ass you are.
> It’s also important to recognize that essentially nobody chooses to be incompetent
Nonsense! Sometimes people decide to do just enough to get by in life and otherwise completely check out. Other times, people decide to care about their work. Sometimes, they care so much that they get deeply emotionally invested in it. What people do and do not care about is based on their values, and values are instilled by the culture around them. Part of that culture is maintained by publicly rebuking people for flouting cultural norms.
And--by the way--everyone who has ever criticized Linus for the way he communicates is doing the exact same thing--publicly rebuking people for flouting some cultural norm that they want to normalize.
Now, judging from the results, I would say that for kernel development, "not breaking backwards compatibility or tanking performance" has been an extremely valuable cultural norm to maintain, while "not cursing at people on the mailing list" hasn't been necessary to date.
Suffice to say, I think this nonsense. The idea that Linus was ever screaming at some engineer from IBM or Intel because they were “trying to do the bare minimum in life” by trying to contribute to the Linux kernel both fails the Principle of Charity in viewing interpersonal relationships and is just utterly pants-on-head idiotic and a general indictment of your intelligence, upbringing, and education. You must be a complete and utter moron to have thought posting this idiotic drivel in public was a good idea.
Now, did the second half of my paragraph above in any way help my point? Are you feeling any more inclined to consider my point of view? Would you enjoy being spoken to that way in your job? Is this exchange of ideas in any way improved by my assuming you’re a fool?
Your demonstration falls flat because it lacks the personal expert credibility of Linus Torvalds and, most importantly, the ring of truth behind the basic point.
Linus Torvalds is widely accepted as an expert on kernel development (otherwise we wouldn’t be using his kernel and no one would care). Most Linux contributors respect Linus and care about his respect and approval. Conversely, I have no idea who the hell you are and no desire to earn your approval. As far as I know, you have never run any open source project of any real consequence or demonstrated any real responsibility for anything in your entire life. Why should I give a shit what you think of me and my ideas?
The rants that I have seen from Linus were in discussing points that were pretty unassailable and absolute: don’t introduce regressions that break userspace, don’t make a system call to read every single byte, etc. Being “some engineer from IBM or Intel” isn’t an antidote for the natural human impulse to cut corners or do dumb shit. Linus, in my view, never assumed that anyone was a fool: he just told them they were fools after they demonstrated their foolishness to him, most of the time in cases where they either did know better or damned well should have.
And yes, if I fucked up badly enough, I would want to be addressed that way, or at least tolerate it, given that it was from someone I respected and whose opinion mattered to me, or at least given that I was indisputably in the wrong. Working in an environment where no one is ever held accountable for cutting corners and fucking over everyone else is in many ways even more poisonous than the occasional public shaming.
It is one thing to reprimand people in public and another thing to be emotionally abusive about it.
Steve Jobs is famous for being absolutely confident of himself (even for things that he didn't really know about) and for expecting the impossible from his employees (and being verbally abusive about it). This is a recipe for surrounding yourself with yes-men and for making your employees behave defensively when they are around you.
Another thing is that people, like most animals, are better encouraged by positive reinforcement than by punishment.
I kind of feel that he wasn’t successful just because he was abusive, but it was probably a factor in terms of how he was able to run his businesses the way he did.
Jobs was direct, opinionated, and willing to move mountains to see his vision through. I imagine that these attributes and his abusiveness shared a common ancestor in his personality, not that one was dependent on the other.
Why do you feel that way? Because it seems "right"?
Being ruthless, manipulative and dishonest is highly effective, that's how Con Men get to be so successful. It takes a sociopath to pull it off and it doesn't work out well in the long term, but people only live so long anyway.
I see this as two fold. If you hold a high bar with a stick, you might attain your goal of having a high bar—but you'll largely fail to inspire others to keep the bar held high after you leave. If you hold a high bar with carrots (read: empathy, professionalism, understanding), you'll impress your standards (and your values!) on the rest of your organization. Organizations that are led by the latter sorts of leaders last longer and tend to be more successful.
That's not to say that there's no room for being firm—and OSS politics could drive the pope to violence at times—but LT's behavior has crossed the line many times over. I very much look forward to a more approachable kernel leadership approach.
I don't know if it is worth it, but history is filled with people who treated others around them badly but achieved outsized success that much of humans can only dream of - including art (Picasso was terrible to others), military (Genghis Khan was ruthless to his own army), business etc.
Mr Jobs was an entrepreneur who ran a company - a very influential one, I'll grant you. Mr Torvalds created something that turned out to be quite important and gave it away and encouraged others to help him improve it.
When I consider "ends justify the means", I like to start with which ends might be important 8)
I think it's important to react to people's progress with encouragement rather than, "Why didn't you do this sooner?" We all have issues we should've worked on by now and may not ever work on.
This is, of course, separate from holding him accountable for treating others badly. He can and should have consequences when that happens.
[The text part of the post with corrected formatting, rather than 78 chars:]
---
So this email got a lot longer than I initially thought it would get, but let's start out with the "regular Sunday release" part ]
Another week, another rc.
Nothing particularly odd stands out on the technical side in the kernel updates for last week - rc4 looks fairly average in size for this stage in the release cycle, and all the other statistics look pretty normal too.
We've got roughly two thirds driver fixes (gpu and networking look to be the bulk of it, but there's smaller changes all over in various driver subsystems), with the rest being the usual mix: core networking, perf tooling updates, arch updates, Documentation, some filesystem, vm and minor core kernel fixes.
So it's all fairly small and normal for this stage. As usual, I'm appending the shortlog at the bottom for people who want to get an overview of the details without actually having to go dig in the git tree.
The one change that stands out and merits mention is the code of conduct addition...
[ And here comes the other, much longer, part... ]
Which brings me to the NOT normal part of the last week: the discussions (both in public mainly on the kernel summit discussion lists and then a lot in various private communications) about maintainership and the kernel community. Some of that discussion came about because of me screwing up my scheduling for the maintainer summit where these things are supposed to be discussed.
And don't get me wrong. It's not like that discussion itself is in any way new to this week - we've been discussing maintainership and community for years. We've had lots of discussions both in private and on mailing lists. We have regular talks at conferences - again, both the "public speaking" kind and the "private hallway track" kind.
No, what was new last week is really my reaction to it, and me being perhaps introspective (you be the judge).
There were two parts to that.
One was simply my own reaction to having screwed up my scheduling of the maintainership summit: yes, I was somewhat embarrassed about having screwed up my calendar, but honestly, I was mostly hopeful that I wouldn't have to go to the kernel summit that I have gone to every year for just about the last two decades.
Yes, we got it rescheduled, and no, my "maybe you can just do it without me there" got overruled. But that whole situation then started a whole different kind of discussion. And kind of incidentally to that one, the second part was that I realized that I had completely mis-read some of the people involved.
This is where the "look yourself in the mirror" moment comes in.
So here we are, me finally on the one hand realizing that it wasn't actually funny or a good sign that I was hoping to just skip the yearly kernel summit entirely, and on the other hand realizing that I really had been ignoring some fairly deep-seated feelings in the community.
It's one thing when you can ignore these issues. Usually it’s just something I didn't want to deal with.
This is my reality. 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.
The above is basically a long-winded way to get to the somewhat painful personal admission that hey, I need to change some of my behavior, and I want to apologize to the people that my personal behavior hurt and possibly drove away from kernel development entirely.
I am going to take time off and get some assistance on how to understand people’s emotions and respond appropriately.
Put another way: When asked at conferences, I occasionally talk about how the pain-points in kernel development have generally not been about the _technical_ issues, but about the inflection points where development flow and behavior changed.
These pain points have been about managing the flow of patches, and often been associated with big tooling changes - moving from making releases with "patches and tar-balls" (and the _very_ painful discussions about how "Linus doesn't scale" back 15+ years ago) to using BitKeeper, and then to having to write git in order to get past the point of that no longer working for us.
We haven't had that kind of pain-point in about a decade. But this week felt like that kind of pain point to me.
To tie this all back to the actual 4.19-rc4 release (no, really, this _is_ related!) I actually think that 4.19 is looking fairly good, things have gotten to the "calm" period of the release cycle, and I've talked to Greg to ask him if he'd mind finishing up 4.19 for me, so that I can take a break, and try to at least fix my own behavior.
This is not some kind of "I'm burnt out, I need to just go away" break. I'm not feeling like I don't want to continue maintaining Linux. Quite the reverse. I very much do want to continue to do this project that I've been working on for almost three decades.
This is more like the time I got out of kernel development for a while because I needed to write a little tool called "git". I need to take a break to get help on how to behave differently and fix some issues in my tooling and workflow.
And yes, some of it might be "just" tooling. Maybe I can get an email filter in place so at when I send email with curse-words, they just won't go out. Because hey, I'm a big believer in tools, and at least _some_ problems going forward might be improved with simple automation.
I know when I really look “myself in the mirror” it will be clear it's
not the only change that has to happen, but hey... You can send me suggestions in email.
I look forward to seeing you at the Maintainer Summit.
This is bad. One of the things that kept all these people in check was fear that Linus will yell at them if they're sloppy or lazy and deliver crap quality. If he mellows his tone, the already low architectural and system engineering quality will drop to dismal levels.
His apology has nothing to do with professionalism, which in this case is system and kernel engineering; resist all attempts at behavioral correction any time someone tries to pass it off as unprofessional, because it is that someone trying to subjugate you with their values and morals. And that's just so inherently wrong: nobody should be attempting to subjugate anybody. We must stop such people from trying to pass their judgment on others as "being uncivil" or "unprofessional"; it's not right, and has nothing to do with how well one writes code or designs hardware: the level of quality is the level of professionalism. As the old adage says: "if you can't take the heat, get the hell out of the kitchen!"
Oh dear. So they finally got to him. First Guido, now Linus. If some "nice person" would write a better free operating system I'd be all over it. But Linus is one of the people that has made it possible for me to not only run a free operating system, but the best system in the world. The people who criticise and attack Linus are the one who don't understand us. They don't understand what this software means to us.
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. The above is basically a long-winded way to get to the somewhat painful personal admission that hey, I need to change some of my
behavior, and I want to apologize to the people that my personal behavior hurt and possibly drove away from kernel development entirely.
Now that’s something I never in a million years thought he’d be capable of thinking, never mind admitting in public, without reservations. I sincerely hope that it sticks, and the result is good not just for the community, but Linus himself. Good luck, and I hope people give him the chance to make good on his attempt to grow as a person. It takes a lot of courage to be this vulnerable in public, especially when you know and that you hurt people.
Linus's revelation kind of looks like he has been infected with "feels over reals" postmodernism. Not a good omen for engineering where reality needs to come first.
Modernism is Descartes` "I will find a single indisputable axiom and can prove everything knowable from there." His axiom? "Cogito ergo sum."
Postmodernism is rooted in the notion that there is no indisputable base axiom from which we can build our understanding of the world. It's unprovable assumptions all the way down. The consequences for this, if you accept it (you don't have to, but you're going to have a hell of a time proving you're right), are ENORMOUS and affect virtually every field of human understanding.
In the sciences we tend to start from the assumption that what we measure is real. As a practical matter, that's fine, but there is no sound rational basis for that assumption. It's an unprovable assumption.
All of our value systems (and by extension, our social systems) are founded on unprovable assumptions.
This is the essence of postmodernism, in so many words. There are no sound assumptions. The best we can do is say what follows from one assumption or another, but we can never say which conclusion is right because we can never say which assumption is right.
The implications of this can be particularly disturbing for rule-oriented individuals, but that doesn't make it wrong. It's irrational to claim that some assumptions are better than others without some basis (in which case, they are no longer assumptions).
I think you are giving postmodernism too much credit. It's whole premise is a non problem. Looking back on it's history, it's a politically and religiously motivated ideology to push anti-enlightenment values that coated itself in esoteric language to avoid scrutiny. It's not a well thought out philosophy, because they reject the very thing that would allow that to happen, reason.
Empiricism solved this issue. You will very quickly learn if your assumptions are wrong by testing them in reality. This is what is meant by "feels over reals" and the opposite. Your assumptions, beliefs, or axioms - no matter how fondly held - will be crushed under the infinite weight of reality.
I don't really buy the postmodernist argument, and more or less agree with Empiricism.
However, I don't think you can dismiss the postmodernist argument. I cannot prove that Empiricism is correct.
> Empiricism solved this issue. You will very quickly learn if your assumptions are wrong by testing them in reality. This is what is meant by "feels over reals" and the opposite. Your assumptions, beliefs, or axioms - no matter how fondly held - will be crushed under the infinite weight of reality.
This is simply begging the question -- whether reality is real. That's not a question you can just skip over if you're claiming to be rigorous in your analysis.
> it's a politically and religiously motivated ideology to push anti-enlightenment values
Modernism is closer to being a parody of enlightenment values.
I mean do you really think that Descartes, who supposedly came up with most of his ideas while sick in bed and staring at a spider on his wall, would think it was a good idea for everyone to get their news from the Facebook news feed?
In the sciences we tend to start from the assumption that what we measure is real. As a practical matter, that's fine, but there is no sound rational basis for that assumption. It's an unprovable assumption.
Can you show that what we measure is not real? If you can’t prove anything one way or the other, who cares? Why even bother with this line of thinking?
Do you realize how nonsensical that question is? I cannot show by measurement that I cannot show things by measurement. It's tautological.
Postmodernism doesn't assert that measurements aren't real. It asserts that we cannot know if they are. It is, in a sense, an extension of epistemological skepticism to its extreme conclusion.
Yes, postmodernism is in a sense very theoretical and I would also say the word itself has been misused or used too broadly in ways, but the essense of it definitely is a step further from the previous default.
If you subscribe to postmodernism then there is no such thing as an 'irrational' claim. All of the observations and logic another person may be using to make the claim are all equally likely to be valid/invalid and claiming otherwise is just forcing your opinions of truth on them.
The fact that no axiom stands by itself does not change the fact that when you subscribe to a set of axioms, you can't deny their consequences. What is rational merely changes, and honestly, the older definition always felt kind of crazy.
If you're looking for a science-ish expression of postmodern insight, consider the line from statistician George Box: "All models are wrong, some models are useful."
This isn't particularly shocking to anybody familiar with the history of science. Newton's model was wrong but useful, for example. All software is wrong but useful models of the world. (Well, some of it is wrong and useless, but you know what I mean.)
Postmodern analysis comes from different fundamentals, and they do enjoy wordplay. They're also much more concerned with social models of reality, especially implicit ones, and how power affects and is affected by the models in use. Sturgeon's Law applies, of course, but no more so than anywhere else.
My impression was more "All models are wrong, therefore all models are valid". Some models are less wrong!
It seems to me that the postmodernism movement correctly called attention to social models being somewhat arbitrary and power-based but then (motivated by ideological agendas?) ran with the ball to say this means all cultures are equally worthy (where worthy means "should be promoted").
To use an exaggerated example, I cannot accept that eg an oppressive ultrareligious culture that practices infanticide, genital mutilation and wife beating is equally as worthy as eg a peace-and-love hippie commune. A philosophy devoid of value judgements is just nihilism wearing different pants.
I hope you realize the irony of complaining about the notion that viewpoints are equally worthy when you base your complaint in... your own viewpoint about what postmodernism means to you.
But no, I think you'll find practitioners of postmodernism are perfectly capable of making value judgments. They just make using different frameworks and different criteria than the the people who came before them.
> My impression was more "All models are wrong, therefore all models are valid".
That's a misrepresentation. It's actually fairly interesting where that misrepresentation originated from (hint: it was propaganda from totalitarian movements).
It's a reaction to modernist assumption that "absolute truth" is possible for any question, and in particular, how often that truth _just happened_ to be personal taste of some dude (brutalism (I personally like brutalism) and modernist architecture in general are probably the most obvious examples).
For sure, there have been explorations into pretty much every field, with varying success. In science, though, that relativity is more oriented towards establishing what theories get investigated, than the actual result (for example, how many investigations of liberalism in political science completely ignored the racial aspect of it, and its rather dismal history in that respect, or various - thankfully largely defunct by now - excustions into phrenology, eugenics, and similar woo).
So, modernism isn't "all models are valid." It's "you can't just declare that your model is the bestest because you like it/it's 'simple'/it's 'elegant'/it happens to declare Helvetica to be the objectively best font."
In the current political climate, the left and the right have been divided by the public consciousness into the following dichotomy:
The left is overly sensitive and looks for things to be offended by.
The right is concerned with maturity and personal responsibility and anti-political correctness, where those things are defined primarily in contrast to the left's perceived over-sensitivity.
Simultaneously, there have been a lot of trends in various communities (software and otherwise) to formalize rules of conduct and push out people who are more naturally aggressive in tone.
Through that lens, this behavior has been seen as "left-leaning." So in contrast, the right-leaning behavior would be letting everyone behave as they want with the "free market of ideas" being the primary driving force for change rather than any set of enforced community standard. (You can see the parallel with the typically "conservative" economic perspective.)
I hope you can see the general trend.
So what the grandparent is saying is that it's not REALLY about left vs. right, without explicitly contradicting the beliefs of the common social consciousness.
Edit: The comment above that says, "Different people have very different beliefs what is to be considered 'heated', 'hateful' and 'treating well' or not" would be considered "right-leaning" through the common lens because it's implicitly positing that there shouldn't be a common set of community standards (with the implicit supposition that you CAN'T set a common set of community standards because there will always be people who disagree). Not picking on anyone, just using an available example.
> The left is overly sensitive and looks for things to be offended by.
This is total nonsense. In the modern political climate everyone is looking for things to be offended by.
(It just happens that the “left” is offended by people getting beat up, sexually harassed, prevented from exercising their basic rights, etc., whereas the “right” is offended by the phrase “happy holidays”, by trans-gender people using one bathroom or another, by football players kneeling to protest police brutality, and so on.)
Or more to the point, media / social media that fixates on why readers should be offended and aggrieved are much more “viral” than other types of messaging. It’s hard to blame individuals for this, as they have been under intense psychological attack by a combination of deliberate propaganda and accidental harmful features of modern media. I say we need much stronger education in media literacy, and better cultural/structural systems for keeping media accountable for basic honesty.
You can easily find just as, and more, ridiculous examples on the left. Offended by jokes, tshirts, suggestions that unborn children's lives have value, praise of Israel, using biologically and factually correct terms for people, suggestions that people shouldn't be discriminated against, pointing out scientific/genetic facts, ...
I'd like to point out that the only assertion I was making was that these are the common beliefs that the public consciousness holds as truisms, irrespective of reality.
> The left is overly sensitive and looks for things to be offended by.
> The right is concerned with maturity and personal responsibility and anti-political correctness, where those things are defined primarily in contrast to the left's perceived over-sensitivity.
I think this is the right's perspective, but it's not an accurate portrayal of the left's. I therefore disagree with the assertion that this is a fair representation of the "public consciousness" on this issue.
I'd say the left views it this way:
The left's goal is to include people who have historically been oppressed or ostracized, and to increase empathy and raise the bar for what is appropriate and professional to exclude behavior that hurts people, even if it has previously been considered acceptable.
The right's goal is to maintain the status quo and the structures and hierarchies of power (which disproportionately benefit them) and to put down any attempts to change it as "oversensitive snowflakes overreacting" instead of as well-intentioned people trying to make the world better.
To be clear - I see things as more aligned with the left's perspective in reality. But I also see so-called "snowflakes" on both sides, insofar as people are unable to take or manage fair criticism reasonably offered when it challenges their viewpoints. I vehemently disagree with the idea that adapting a code of conduct is either inherently political or, if it is, inherently left-leaning, except to the extent that various sides try to cast it that way.
Edit: On reconsideration: If you view a code of conduct that tries to equalize people and prohibit certain kinds of language the left would consider "oppressive" (e. g. sexist, racist, ageist, ableist) as inherently political, then I see the argument. But I still don't agree completely, insofar as people working together shouldn't need to insult each other to do so appropriately.
hehe I think his description of the left and your description of the right are the more correct ones. Both other descriptions more accurately describe the political center.
Hmm, that's a good point. I'm not sure I agree, but something to think about.
I think it might be more accurate to say the negative descriptions accurately describe the bad-faith actors, and the positive ones describe the good-faith actors.
Unfortunately the "bad-faith actors" have all the media attention, and at least on the left, also a lot political power (i.e. they can get people fired/banned from Unis) (at least the media and academia seem completely left-dominated; maybe the opposite when it comes to the current US administration, although I don't see the far-right making any big progress, except maybe "the wall" and "Muslim ban"). Basically this is the "no true Scotsman" fallacy.
I'd say in the US, the right has a lot more power-in-fact than the left, but the left may have more of the popular will. The fact that the two aren't aligned is the result of our relatively shitty system, frankly. (And even so, the right is having such an identity crisis right now, it's hard to say it has total power.)
As far as "no true Scotsman" - we can't prevent people from associating with groups, but we can call them out when their ideals don't match those of the group, and we can hold them to account if they behave in ways that contradict the group's values or are a bad-faith application of those values. I think the left is... okay... at doing that, and the right is often pretty bad, but neither is exactly great. We're also bad at doing it proportionally, and at seeing people as sometimes good, sometimes bad, sometimes agreeing with us, sometimes not. But that's another problem.
>I think this is the right's perspective, but it's not an accurate portrayal of the left's. I therefore disagree with the assertion that this is a fair representation of the "public consciousness" on this issue.
I'm not saying it _is_ an accurate portrayal of _either_ side. The only assertion I'm making is that those are the beliefs the public consciousness holds as truisms, irrespective of their truth values.
Edit: To clarify further, I want to make explicit something implicit in what I said. You may notice that what I'm asserting is the "commonly held beliefs of the public consciousness" is rather right-leaning.
I acknowledge that that statement is also implicitly asserting that the public consciousness is, to some degree, right-leaning as well.
>The left is overly sensitive and looks for things to be offended by.
>The right is concerned with maturity and personal responsibility
I think this is the perspective of the right. Specifically of that kind of right that does things "to trigger the lefties"; I'm sure you know the kind. Which is funny since those kinds of people can only be described in my head as the opposite of mature...
The left believes in outgoing tact filters, where you watch what you say to avoid offending people. The right believes in "incoming* tact filters, where you just ignore people who say things that offend you. Both approaches have particular situations where they are superior, but it's hard to identify a general strategy that works better in all situations.
> The left is overly sensitive and looks for things to be offended by.
>The right is concerned with maturity and personal responsibility and anti-political correctness, where those things are defined primarily in contrast to the left's perceived over-sensitivity.
Judging by how the right gets upset by nfl player protests, the news media or what they feel is the "forced inclusion" approach, I disagree with the above statement. Everyone wants to get offended because if you can claim victimhood, you can claim moral high ground (sometimes legitimately and sometimes not). This is why codes of conduct are important. It's harder to claim to be the victim when personal feelings and identity are kept out of it.
I would like to point out that I was not making any statements as to the validity of either of those two statements. Rather, they are commonly-held beliefs irrespective of their truth values.
A good illustration of your point is how people reacted to the study finding that there were ~3000 deaths in Puerto Rico that are attributable to Hurricane Maria.
I agree that what you've said is a commonly painted picture, but (as many people have pointed out), it's more that "the left" and "the right" are often both "overly sensitive", but about different things.
> The right is concerned with maturity and personal responsibility and anti-political correctness, where those things are defined primarily in contrast to the left's perceived over-sensitivity.
I agree this is the common narrative, but surprisingly to me, it seems that the conservatives/right-wingers are getting very good at using outrage themselves. E.g. three times as many professors are being fired for expressing "liberal views" compared to "conservative views" [1], and the situation appears to be the same outside of academia, with people like James Gunn.
Not saying that all conservatives get outraged, but they certainly seem to do so a good deal more than immediately comes to mind.
Regardless of if it's the correct name or not, I think what is meant by a "left-leaning code of conduct" is one that puts an emphasis on providing extra protection for people who come from "historically disadvantaged or underrepresented" groups, ostensibly as part of an effort to help support their presence in open source. Individually however it can feel unfair where insulting language can draw different punishments depending on the relative privilege of the groups involved.
There was a comment saying it opens the floodgates to Social Justice Warriors. It being politically left-wing seems to be a prominent public perception of it.
It's about fucking time. I personally stay away from software created by people who lack empathy; technical goodness !> creating a good environment and product for actual people. I don't go to restaurants run by douchebags either, no matter how good the food might be.
And Git has the UX of software created by someone with no empathy.
I hope Linus heals from this, and I hope the culture of the Linux community changes as well, but that will take years to get past his past behavior.
> And Git has the UX of software created by someone with no empathy.
I would really like to understand what you expect a UX for a command line tool to look like. Maybe instead of throwing an error if you did something wrong, it would apologize to you first? Or perhaps it should preface all output with "dearest Sir/Madam, here is the information you requested:" ?
Good UI for command line tool = consistent syntax?
I'm only slowly getting the hang of basic git usage, so I'm probably not qualified to criticize it myself, but I've seen some Web pages (blog posts?) that seemed to make a pretty cogent argument that git isn't too great in that department. Sorry, no links to hand.
As a first step, you'd need to know what empathy is [1]. It's the ability to perceive a situation from the experience of another. It is the very essence of UX design.
I think git does have some significant design warts but I think when we use the word ‘empathy’ in this context, we should remember that we are referring to a skill not some innate quality that makes someone more or less human.
The "humans" are in every case either ourselves or our customers. Empathy is certainly not needed when communicating with ourselves; and with the exception of the (rare) type of developer who also owns the company, the latter case has the indirections of Sales, TAM, Services, Tech Support and our managers.
Hence, while the quoted statement is true by itself, it does not support the universal need for empathy for software-development.
I suspect there was no one single event. His mailing list rants have been known for a while, and the occasionally make it to the tops of sites like HN/Redit/etc.
I doubt it was less of a "Straw that broke the camel's back" and more of just a "We all know this was coming," thing.
Or maybe it was? ... from the e-mail, it might have been words/things from maintainers, specifically around the meeting/conference he mentioned, that forced him to re-evaluate the way he works.
All software turns to shit eventually (those engineers need something to do even when nothing needs to be done)... I'm really surprised that Linux lasted this long... It will almost definitely turn to shit when Linus T. is no longer around... hope I'm wrong...
I wish him best luck, he needs some. This guy is doing a tremendous work and, yes, sometimes he's a certified ass, but we need people like him. If we had a couple more clones of him, say one in the audio subsystem and the other benevolently dictating development in the GUI field, Linux on the desktop for everyone would become reality in no more than six months.
> This email alone set the tone for what was acceptable.
Did it really? Did other contributors adopt his "style"? Linus gets a pass because he's Linus, I'm not so sure about other contributors, who presumably have their own reputation to maintain.
I am very surprised at how many comments this story has gotten on HN. I am even more appalled at how many continue to excuse his actions in the name of "being right" or "technically valid".
As comparison if I were to attempt to learn to be better I doubt I would have any luck with a mentor who swears and insults me irregardless of being right or wrong. I'm curious just how as people it is possible to excuse such behaviour. Does the end truly justify the means? And if so can the end be reach effectively with different means? If someone is a really good soldier but was physically abused as a child is the abuse justified?
I only try to illustrate some of the absurdity that (in my opinion) is the justification of the means in this case. I to suffer from social awkwardness. I often find things funny when in fact they are insensitive. I wouldn't claim that anyone is immune to social difficulties. However, I can say that there is evidence that approaching social interactions with some tact can lead to far better results then being bullish or rude.
Here is a quote from ["How to win friends and influence others" by Dale Carnagie](https://en.wikipedia.org/wiki/How_to_Win_Friends_and_Influen...): "Don't criticize, condemn, or complain. Human nature does not like to admit fault. When people are criticized or humiliated, they rarely respond well and will often become defensive and resent their critic. To handle people well, we must never criticize, condemn or complain because it will never result in the behavior we desire."
I'll close with a quote from the [four agreements](http://www.toltecspirit.com/): "Be Impeccable with your Word: Speak with integrity. Say only what you mean. Avoid using the Word to speak against yourself or to gossip about others. Use the power of your Word in the direction of truth and love."
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.