1,076 comments

[ 2.5 ms ] story [ 507 ms ] thread
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.

Thats very mature of him. Hats off.
Maybe this will finally end the myth that "you can be rude and insulting as long as you're right" that people seem to attribute to Linus's outbursts
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.

..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'.

This is a non sequitur unless you have a hidden assumption along the lines of "We currently have the best of all possible systems."
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 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.

> but I appreciate the blunt honesty.

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.

What are some examples of him insulting people (as opposed to their work/code)?
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.

https://news.ycombinator.com/item?id=18001144

He doesn't seem to hesitate to get extremely personal.

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.

>Show me an instance where his cursing is not related to kernel code.

I think I and many others are reading your statement as:

"Hey, as long as the person wrote horrible code, it's OK to call the coder anything we want".

The whole discussion isn't about how he behaves outside the kernel development. It's about how he behaves within that context.

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's cursing the code not the coder.

That's objectively not true. He may intend to curse the code, but he is clearly cursing the coder.

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.
How does saying someone writing that code should die as a baby attacking the code?
don't spin it.

He wrote:

>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.

(comment deleted)
> however, tell me that as a developer and I'm motivated.

I'm not sure why it would be any different. Just because I make a mistake (sometimes leading to a chain of mistakes) doesn't solely make me an idiot.

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.

(comment deleted)
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.
> As opposed to success via being polite and flattering while being wrong.

> And rudeness can be very called for in response to evil.

You have constructed quite the strawman to argue against the myth, well done.

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.

You are comparing a contributor submitting a kernel patch in good faith with people holding a klan meeting in your house?
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.
“Indefinitely” presumes you can be right one hundred percent of the time. I’m not, and I don’t believe it’s even possible.

How one handles human failure is important, just as it is with handling bad input in code.

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.

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.

Many things fail when they get pecked to death by ducks. His forceful personality carried the day on many occasions.

You can be forceful without being an asshole about it.
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.
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.

Or maybe his brashness was irrelevant.

What would Steve Jobs have been known for if not for his turtleneck? /s

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).
Many things fail when they get pecked to death by ducks.

Haven't heard that idiom before, but its interesting.

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.

Creator or Linux wouldn't be remembered other than as a footnote? What?
He could, and still can. Literally nothing's stopping him other than a personal decision to subjectively improve his behavior.

You can absolutely be rude and insulting as long as you're right.

You can, but you shouldn't.
> 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?

> Maybe this will finally end the myth that "you can be rude and insulting as long as you're right" that people seem to attribute to Linus's outbursts

It is not the trueness or falseness of that myth that has changed, but the mainstream in the society.

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.

That's my impression as well. He definitely seems to be mocking whoever told him "look yourself in the mirror" at least.
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'.
That's not a myth. Moreover, people here seem to simply rejoicing.
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.
As my partner once put it, “you can be right or you can have friends.”

The truth is you can have both but if you put such a high importance on being right, all the time, then you’ll drive most people away.

I don't code to make friends. I code to survive.
You don't have to be rude to be right.
Maybe this will finally end the myth that "you can be rude and insulting as long as you're right" that people seem to attribute to Linus's outbursts

Yeah, reading the comments here, I'm not so hopeful.

The "Dr. House" or "Rich Sanchez" effect?
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-

Why doesn't BDFLhood scale? Eventually people step down (Python, now Linux) -- but I'd say those projects have been wildly successful.
Safe-space kids got to the king of the moutain and dethroned him.
> 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.

(comment deleted)
>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.

It's not the first and is unlikely to be the last time Linus takes a break - it's not really stepping down.

Everyone needs some time away from something when they've spent decades working on it.

> 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).

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.
> 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.

That's a really interesting perspective. I wonder if you/we could learn this without going to therapy... Maybe we should/could teach this in school?
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.

Thank you for your perspective!

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".

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.
> 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.

> 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.

Neat, so now we're trolling on Linus.

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.

I'll bite, what makes a version control system empathetic?
(comment deleted)
The long answer to your question is essentially the entire field of Developer Experience Design, but good intros to it are this Joel Splosky post: https://www.joelonsoftware.com/2000/04/10/controlling-your-e...

And this talk at pyTexas: https://m.youtube.com/watch?v=-vZ_E1OO_PY

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.

Downvoted, although your git UX comment made me smirk.
Made me think "ok, now let's have an apology for Git"...
> 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:" ?

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.

[1]: https://en.wikipedia.org/wiki/Empathy

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.

Your "criticism" of Git's UX is basically an ad-hominem attack on Git contributors, who you do not actually know personally. Are you sure it isn't you who lacks empathy?

I'm not fond of Git myself, by the way.

The Times They Are a-Changin'.
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.
Too bad that message won't reach politicians.
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.

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 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.

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.
(comment deleted)
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.

"Given enough eyeballs, all bugs are shallow." - Linus Torvalds

A rude leader drives people away from the organization. It is directly counterproductive.

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.
> It is directly counterproductive.

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.
There's another way to view it: some projects are so important that they can tolerate a large level of rudeness and not fail.
Actually this was written by Eric Raymond in "The Cathedral and the Bazaar". Raymond dubbed it "Linus's Law" which may be the source of the confusion.
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.
He reserved the insults for bad design decisions defended by senior committers. It's not like he threw out insults to anybody who ever made a mistake.
(comment deleted)
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.

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.
He used strong words but where did he actually attack the person? Tell them they're "worthless scum"?
I flat out don't understand why people keep suggesting that it's a choice between eggshells or vitriolic insults.
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.

>AND we don't lie to each other

How on earth could you possibly know that?

>so many people on this forum >polite inherently implies lying

That understanding of "polite" is at least centuries old and spans almost every culture where the concept exists.

There is an entire structure of unwritten social rules that is designed to avoid the not-so-obvious dishonesty of politeness. For instance, in some cultures, it is polite to offer food to a guest, even to the point where a host might offer all food they will have for a week. They obviously do not want to go hungry for the week, but they will feel compelled, in the name of being polite, to offer it anyways. They will also never admit this to a guest, but as a guest if you are aware of their poverty then you will probably try to politely decline the offer, even if you are hungry. You could not in good conscious take the last of their food, but you also do not want to expose your reasons and embarrass them either... it goes on and on. Hopefully you get the point.

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.
I wish he had recognised this six years ago:

https://lkml.org/lkml/2012/12/23/75

This email alone set the tone for what was acceptable.

It was discussed previously:

https://news.ycombinator.com/item?id=5107495

> 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.

For what was acceptable from Linus, sure.
(comment deleted)
> I need to take a break to get help on how to behave differently and fix some issues in my tooling and workflow.

I find it interesting that this is happening now instead years/ decades earlier.

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.

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 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'ts not an company per se, but the rust community is fairly big and full of awesome, well mannered and cheerful leaders.
Wat. I been there and it's a fairly small community.

They do have awesome and well mannered leaders but most are connected to Mozilla.

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.

Completely agreed. But it's definitely one of the archetypes of effectiveness, oddly.
Honestly though, LINUX IS FOSS. FOSS DEVELOPERS BURN OUT. PEOPLE ARE CRAZY. Give the guy a break.
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.

> People can be ruthless without being abusive.

Everybody has a different conviction about what is abusive and what is not.

One of Linus's more colorful rants:

"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?"

Honestly it's a well-crafted insult, I give him that
If this werea Shakespeare play, it would be.

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.

It will be remembered as well as Shakespeare play.
> should be retroactively aborted

> well-crafted insult

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.

Entertaining though in fairness. Often he’s saying what we’re thinking. That doesn’t make it right though and it’s ultimately self-defeating.
While I think reading in data one byte at a time is a stupid, I wouldn’t quite say that what he said is what I was thinking.
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.

> Often he's saying what we're thinking

This line of thinking is a fantastic way to create a non-inclusive group.

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.
> careful detailed stuff

> 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.
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.)

It would be great in a satire or fifty shades of grey: programming edition spinoff
This is somewhat ironic considering Linux is written in C, which is the most stubbornly "one thing at a time" language in widespread use today.
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.
For example?
- 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.

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".
Yeah, we should all be like career politicians and learn to say nothing with as many words as possible.
Hence the rise of political correctness, i.e. the art of saying nothing
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.

My bad, I had misread the comment the poster made and didn't see that the quote was there. I stand corrected.
Eye for an eye leaves everyone blind
And to be perfectly anal, it was only advocating _threatening_ physical violence. (As in, _“say_ you'll smash them...”)
>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.

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.

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.

What does 'growing thicker skin' mean then? How thick?

Shall I start to bully you and we'll test the thickness of skin required?

I get the sense that often the people that write these kinds of comments are not on the receiving end of the behaviour.

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.

Bull. His rants were meant to make people work harder. Nothing more. Nothing less.
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.
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.
(comment deleted)
I feel like Jobs was successful despite being abusive, not because of it.
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.

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.

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.

(comment deleted)
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.
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.

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.
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.

see also: Steve Jobs

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)

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.

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.

Tech has been a profession longer than you or I have been alive.
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.

Imo of course.

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.
Hey, I agree totally. I wasn't suggesting that respect and empathy are only for women, they're for everybody.
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.
> 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.
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.
Or has that "hacker subculture" actually worked AMAZINGLY BETTER THAN ALL THE CORPORATE CRAP OUT THERE.

Corporate/Professional: Symantec, Microsoft

Rude/Hacker: Linux, OpenBSD

Men and women express aggression in different ways. While they can both be toxic, female aggression is more acceptable at this time.

Linus was forceful at times, but his focus was on the work, not on trying to make people feel bad.

Be critical all you want, but his achievement is amazing.

> 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”.

Being all patronizing and snooty about somebody making a total noob of themselves can be a lot worse!
I’m not sure I follow. You can absolutely be critical of the idea and the implementation, without being patronizing.
You also often need to tell people they need to improve themselves. To criticize the person, not just the code.
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.

Did Linux suck the air out of other, competing projects throughout its history? If so we can’t possibly consider what was or wasn’t lost.
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.

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.

> [...]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 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.

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.
I don't see so many women programmers, I see a lot of women hovering around in other roles but I don't think men should change their behaviour just because of that, manly behaviour is what created the huge success of the tech industry. I am also not a fan of being rude but being direct and clear is not such a problem and we shouldn't stop it and tiptoe around women just because they are women.
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.

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...

> 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?

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.

[1] http://newsroom.ucla.edu/stories/cracking-the-code%3A-why-ar...

People change over time. If you are the same person today as 10 years ago you're doing something wrong. Good for him
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?

He specifically said he wasn't burned out. I agree that he does sound frustrated, though maybe with himself more than with any particular folks.
Yeah maybe I took it from when he said he had been attending a conference for 20 years and was hoping he didn't have to.

He does say he loves the project and wants to continue and compared it to when he developed git

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).
(comment deleted)
> 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.
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.

when the heat of "the moment" lasts 20 years, the least we can say is it's about time.
Better late than never, I suppose.
'The best time to plant a tree is 20 years ago. The second best time is now.'
More importantly, many thanks and congratulations to the folks who finally changed his mind.
I wonder what that discussion was like. It's not as if no one ever mentioned the subject to him before.
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 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.

[∆]https://en.m.wikipedia.org/wiki/Impact_wrench

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...

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 may be odd-man out here, but I really didn't see any part of his mind that needed to be changed. What did you disagree with?
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.

That makes sense.

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....

A distance character with the stature of Linus rebuking in public would make it so much worse for me.

I'd be terrible at being a celebrity.

> I'd be terrible at being a celebrity.

You and me both.

> 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.

Do you think it's acceptable to send a public email saying someone is fucking retarded, or that they should be retroactively aborted?
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.

You?

> The key is to realize it, apologize and do better.

Apologies are begging for redemption after a failure. This misses the point, and often any apology becomes a magical panacea for any fault.

The key is to never fail the same way twice, and to do better in the future, so you do not need to apologize for this, ever again.

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.

Glad to see this is being addressed.

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 feel people confuse being blunt with being rude.

"This patch is crap. Stupid this silly that, and how many times have I said you can't break userland."

vs.

"I won't accept this patch as-is, or possibly at all. It has the following problems [...] and I don't feel you respect userland stability enough."

I really don't see how the second version compromises on the clarity or kernel quality.

(comment deleted)