News for hackers. Stuff that matters.
Re:Linus Torvalds apologizes for his behavior, takes time off by nomel on Sunday September 16, 2018 @11:44PM (#18003046)
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.

Re:Linus Torvalds apologizes for his behavior, takes time off by olavk on Monday September 17, 2018 @04:19AM (#18004064)
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.

Re:Linus Torvalds apologizes for his behavior, takes time off by jdmichal on Monday September 17, 2018 @07:59AM (#18005012)
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.
Re:Linus Torvalds apologizes for his behavior, takes time off by olavk on Monday September 17, 2018 @09:10AM (#18005558)
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.
Re:Linus Torvalds apologizes for his behavior, takes time off by OmIsMyShield on Monday September 17, 2018 @09:46AM (#18005854)
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.

Re:Linus Torvalds apologizes for his behavior, takes time off by jdmichal on Monday September 17, 2018 @09:53AM (#18005908)
Spot on :)

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.

Re:Linus Torvalds apologizes for his behavior, takes time off by jdmichal on Monday September 17, 2018 @09:47AM (#18005862)
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.

Re:Linus Torvalds apologizes for his behavior, takes time off by olavk on Monday September 17, 2018 @10:30AM (#18006232)
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.
Re:Linus Torvalds apologizes for his behavior, takes time off by jdmichal on Monday September 17, 2018 @11:30AM (#18006835)
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.
Re:Linus Torvalds apologizes for his behavior, takes time off by olavk on Monday September 17, 2018 @11:40AM (#18006931)
In any case, using phrases like "thanks, but..." is an example of politeness.
Re:Linus Torvalds apologizes for his behavior, takes time off by jdmichal on Monday September 17, 2018 @12:16PM (#18007260)
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.
Re:Linus Torvalds apologizes for his behavior, takes time off by olavk on Monday September 17, 2018 @01:07PM (#18007746)
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.
Re:Linus Torvalds apologizes for his behavior, takes time off by JohnBooty on Monday September 17, 2018 @04:14PM (#18009604)
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.

Re:Linus Torvalds apologizes for his behavior, takes time off by crazybigdan on Monday September 17, 2018 @09:55AM (#18005923)
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
Re:Linus Torvalds apologizes for his behavior, takes time off by wsy on Monday September 17, 2018 @11:34AM (#18006870)
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.

Re:Linus Torvalds apologizes for his behavior, takes time off by olavk on Monday September 17, 2018 @01:22PM (#18007888)
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.
Re:Linus Torvalds apologizes for his behavior, takes time off by Zach_the_Lizard on Monday September 17, 2018 @09:50AM (#18005890)
>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?"

Re:Linus Torvalds apologizes for his behavior, takes time off by olavk on Monday September 17, 2018 @12:33PM (#18007415)
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.

Re:Linus Torvalds apologizes for his behavior, takes time off by FeepingCreature on Tuesday September 18, 2018 @01:34AM (#18012719)
> only criticize the code, not the personality of the author.

Hence denying the author the possibility to improve. Eventually the author will be let go, and they will have no idea why or what they did wrong.

This is called "being polite."

Re:Linus Torvalds apologizes for his behavior, takes time off by olavk on Tuesday September 18, 2018 @04:42AM (#18013535)
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.
Re:Linus Torvalds apologizes for his behavior, takes time off by mindways on Monday September 17, 2018 @01:14AM (#18003386)
> 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.)

Re:Linus Torvalds apologizes for his behavior, takes time off by efaref on Monday September 17, 2018 @07:04AM (#18004777)
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.

Re:Linus Torvalds apologizes for his behavior, takes time off by JohnBooty on Monday September 17, 2018 @04:19PM (#18009653)
Is anybody really suggesting politeness as a substitute for clearly stating the problem and expectations?

I mean there are really two axes here, right? You can be rude+vague, or polite+precise, etc.

              Precision
                 ^
                 |
                 |
  Rudeness <-----|-----> Politeness
                 |
                 |
                 v
              Vagueness
Re:Linus Torvalds apologizes for his behavior, takes time off by bluecalm on Monday September 17, 2018 @03:16AM (#18003813)
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")

Re:Linus Torvalds apologizes for his behavior, takes time off by mathw on Monday September 17, 2018 @03:54AM (#18003967)
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.

Re:Linus Torvalds apologizes for his behavior, takes time off by repolfx on Monday September 17, 2018 @04:44AM (#18004166)
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.

Re:Linus Torvalds apologizes for his behavior, takes time off by foldr on Monday September 17, 2018 @06:18AM (#18004583)
>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.

Re:Linus Torvalds apologizes for his behavior, takes time off by repolfx on Monday September 17, 2018 @06:27AM (#18004623)
I was thinking in the context of a tech company, where you also have non-technical business people.

Yes, obviously in some fields tough peer review is also common.

Re:Linus Torvalds apologizes for his behavior, takes time off by foldr on Monday September 17, 2018 @06:51AM (#18004721)
But non-technical business people in a tech company do get their work criticized.
Re:Linus Torvalds apologizes for his behavior, takes time off by repolfx on Monday September 17, 2018 @10:09AM (#18006040)
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.

Re:Linus Torvalds apologizes for his behavior, takes time off by crispyambulance on Monday September 17, 2018 @08:25AM (#18005198)
> 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.

Re:Linus Torvalds apologizes for his behavior, takes time off by repolfx on Monday September 17, 2018 @10:13AM (#18006085)
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.

Re:Linus Torvalds apologizes for his behavior, takes time off by crispyambulance on Monday September 17, 2018 @10:28AM (#18006212)
> 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.

Re:Linus Torvalds apologizes for his behavior, takes time off by wsy on Monday September 17, 2018 @11:42AM (#18006955)
> 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.

Re:Linus Torvalds apologizes for his behavior, takes time off by JohnBooty on Monday September 17, 2018 @04:25PM (#18009708)

    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.

Re:Linus Torvalds apologizes for his behavior, takes time off by allsunny on Monday September 17, 2018 @06:47AM (#18004706)
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.

Re:Linus Torvalds apologizes for his behavior, takes time off by olavk on Monday September 17, 2018 @04:53PM (#18009976)
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.
Re:Linus Torvalds apologizes for his behavior, takes time off by quadrangle on Monday September 17, 2018 @12:27AM (#18003208)
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.

This is what I'm saying: https://www.npr.org/2018/06/04/616127481/when-everything-cli...

Re:Linus Torvalds apologizes for his behavior, takes time off by marmot777 on Monday September 17, 2018 @02:18AM (#18003623)
It's quite possible to be direct without being an asshole. Some people never learn this for some reason.
Re:Linus Torvalds apologizes for his behavior, takes time off by crispyambulance on Monday September 17, 2018 @08:15AM (#18005105)
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!

Re:Linus Torvalds apologizes for his behavior, takes time off by lovich on Monday September 17, 2018 @01:29AM (#18003444)
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

Re:Linus Torvalds apologizes for his behavior, takes time off by bena on Monday September 17, 2018 @09:47AM (#18005860)
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.

Re:Linus Torvalds apologizes for his behavior, takes time off by marmot777 on Monday September 17, 2018 @01:49AM (#18003501)
> I can’t stand working with polite people.

LOL. I think you mean you can't stand working with people who don't get right to the point. I'm guessing anyone reading HK agrees.

Re:Linus Torvalds apologizes for his behavior, takes time off by rnmjr on Monday September 17, 2018 @02:53AM (#18003742)
Are we not perhaps mistaking political correctness and politeness?
Re:Linus Torvalds apologizes for his behavior, takes time off by sverhagen on Monday September 17, 2018 @06:28AM (#18004628)
We're probably more confusing political correctness and politeness with not speaking up.