
A Case Study in Not Being a Jerk in Open Source - talonx
https://www.destroyallsoftware.com/blog/2018/a-case-study-in-not-being-a-jerk-in-open-source
======
hitekker
Linus seems like a jerk if you see him as an entitled engineer maintaining a
popular OSS library.

But if you instead see him as a CEO, responsible for every single part of the
Linux kernel, running on one billion machines, his behavior becomes natural.
Even warranted, since, often-times the people at the recieving end of his
wrath are not making some whoops-daisy technical mistake; they are trying to
exert power and extend their influence through the code they write.

Remember how grsecurity tried to destabilize the Linux kernel?

[https://news.ycombinator.com/item?id=14633163](https://news.ycombinator.com/item?id=14633163)

Or how one core maintainer broke userland and refused to fix it?

[https://m.slashdot.org/story/179833](https://m.slashdot.org/story/179833)

Linus shut them down.

Linux keeps a thousand volunteers in line. The vast majority of whom are not
subordinates, duty-bound to respect nice words. At this high level, with such
enormous stakes, I wouldn’t want a weak willed leader who lets the children
run amok.

~~~
nlawalker
>> the stakes are enormous

This is the key difference between kernel development and other volunteer
efforts.

Most volunteer efforts are worse off when people are scared away by strong
language and pointed explanations of their shortcomings because their
performance isn't really that important. It's not that big of a deal if you
spill something at the food kitchen or goof up part of the set of the school
play.

The kernel is not a typical volunteer effort. You can't show up with nothing
but goodwill and be a net good. It requires skill and discipline, and people
who don't have that but try to inject themselves into the process need to be
told to go away for the good of the project. Pretending otherwise only causes
people to get their feelings hurt. I wonder if there should be a different
word for it than "volunteer", because the connotation of that word is that
showing up and wanting to be helpful is enough.

~~~
s2g
I'm not sure why you think that skilled people who won't walk away and go
devote their time to a project where they don't have to put up with an asshole
boss and his army of apologists.

------
tannhauser23
It's amusing to watch people defend Linus every time a post mentions his
abrasive style. They always offer the same set of excuses: Linux is too
important to leave to nice people! Linus only does this to people who should
know better! Get thicker skin! Etc etc.

It's the same set of excuses that justify assholes in any profession, and it
suffers from the same flaw: it's not actually necessary to be a dickhead to be
good at your job. In fact, being a dick to others makes it less likely for
good, qualified, and smart people to want to work with you.

Linus will continue being a dick to others because of who he is - that's never
gonna change. But I wish people would stop sticking up for his bad behavior. I
don't want people in other OSS projects emulating him.

~~~
MrStonedOne
>it's not actually necessary to be a dickhead to be good at your job.

The reverse is also true.

------
lucideer
If Linus had written the reworded email the author is proposing here, this
author wouldn't be writing this blog post, and we wouldn't be clicking it on
HN and reading the contents of Linus' points.

As to the actual detail of the author's proposed rewordings:

> _I 'm not talking about the changes themselves - I can live with them. But
> the _rationale_ is pure and utter garbage, and dangerously so._

becomes

> _These changes look OK, but I 'm not sure about the rationale._

This rewording imparts an entirely different message to the original. If I
read the latter, as a programmer, I would get the impression that Linus
thought the commit was "OK". He clearly did not. At no point in his email does
he indicate that anything is "OK" about this commit in any way.

> _The caps in "AND STANDARD" is another way to indicate frustration [...]
> None of these carry any meaning about the technical problem; they're just
> expressions of anger. [...] Most critically, it's possible to describe the
> danger of this code without_

It's important to point out that the author says "it's possible to describe
the _danger_ of this code without". He's describing _danger_ but his rewording
removes all emphasis, urgency or import in the tone of the email.

> _If you were in the "I'm afraid that being nicer would hurt Linux" group, do
> you think that this email is worse?_

Yes.

I'm sorry, but while the argument that Linus makes excessive use of ad hominem
and is disrespectul is a valid one, and he could/should temper that, this
example is a failure to demonstrate how it would improve things. The final
email draft in the blog post is milquetoast; I would forget it within minutes
if I were on that list.

~~~
davidkuhta
Agreed, The author in summary states:

> It [the rewrite] has 43% as many words, but loses none of the meaning. It's
> still forceful and unambiguous.

Yet, I found the rewrite to be feeble and ambivalent.

> If you were in the "I'm afraid that being nicer would hurt Linux" group, do
> you think that this email is worse? Yes.

I wanted to add one additional question. Are there environments where ad
hominem and disrespect are actually important cultivators of competency and
reverence for the nature of the underlying task. Might there be instances
where the collective is better off with Mr. Torvalds than Mr. Rogers?

~~~
UncleMeat
People have done science to answer your last question. In general the answer
is no.

~~~
davidkuhta
Do you have any references? I'd be interested to read them.

~~~
hitekker
I took note of the “Mr torvalds or Mr Rogers” example. It was clever and I
think the truth underlying it is that for an idea to survive its
circumstances, it must be shepherded by certain kinds of personalities.

~~~
davidkuhta
Exactly.

I'll add, you accurately used the word shepherded and I thought, "I imagine
there are times when sheep aren't too pleased to be handled by a crook". Maybe
the Kernel Mailing List is Linus's crook...

------
sillywindows
This must be a cultural thing.

There are plenty of people who happily interact like this daily. It is a
personality. People talk and act in different ways, they are different people,
I think it is reasonable for them to continue acting like themselves.

I don't find the way Linus writes offensive in the slightest. To me it is
mildly amusing while making a point. I don't want to have all communications
in a forced polite cotton wool tone, it becomes robotic. Further encourages
people to act over-sensitive, making it harder to communicate.

~~~
geergar
>This must be a cultural thing.

Yes. Parts of the FOSS community have a culture that apologizes for jerky
behavior.

>There are plenty of people who happily interact like this daily.

There are plenty of jerks, yes.

> I think it is reasonable for them to continue acting like themselves.

Being part of a team means accommodating your team members. We can argue what
is a reasonable accommodation or what is not. But it's not too much to ask for
Linus to stop typing in all caps, or accusing his team members of being
morons.

> I don't find the way Linus writes offensive in the slightest. To me it is
> mildly amusing while making a point.

It's possible to be amusing and make a point without singling out a
contributor for humiliation. Obviously, we have to be free to criticize
other's work. But as the article shows, most of Linus's message isn't
constructive criticism. It can be re-written to mean the same thing, yet
preserve the dignity of the person he's criticizing.

We need people to contribute to open source projects. Being a jerk to others
scares contributors away.

~~~
sillywindows
This is a fundamental disagreement. What you call a jerk is what i see as a
interesting person. Carefully measured polite language is absolutely
exhausting for many of us. It is much nice to simply tolerate different
people.

People have cultures and personalities, many which are not understood by other
cultures and personalities. I prefer us to exist side by side instead of
banning one in favour of the other.

~~~
geergar
> What you call a jerk is what i see as a interesting person.

There's no accounting for taste, so you're welcome to find verbal abuse
interesting. But the overwhelming majority of people do not like being treated
with disrespect.

> People have cultures and personalities, many which are not understood by
> other cultures and personalities.

This isn't a cultural issue. Linus is from Finland. In Finnish culture, it's
rude to imply your coworker an idiot. It's rude in most cultures to do so.

Linus is a fluent English speaker. He knows what "idiocy" means, and he knows
that it's disrespectful to Andy. That's why he's saying it.

> Carefully measured polite language is absolutely exhausting for many of us.

Nobody is suggesting we use carefully measured language. That is exhausting.

What I'm suggesting is, just don't be a jerk. Watch how easy it is:

"Andy, what is the background for trying to push this idiocy?"

vs

"Andy, what is the background for trying to push this?"

The second statement isn't cluttered by polite language. And it actually takes
less effort to say than the first. Yet it's far less Jerky.

> I prefer us to exist side by side instead of banning one in favour of the
> other.

In general, people should learn to work with people who are different from
them. I work with people who have a different religion from me, speak with a
different accent, or have different interests from me. And we put aside our
differences to work together. It works well.

But there is one kind of person you can't work with, no matter how many
differences you put aside, and that's a bully.

------
BonesJustice
> Writing this email instead of the original email doesn't require any extra
> work

Really? I’m not going to defend Linus’s original message; Gary’s version
eschews the unnecessary ranting in favor of more concise language. But the
claim above strikes me as disingenuous at best.

There’s a reason we have quotes like, “I’d have written a shorter letter, but
I didn’t have the time.” Clear and concise language often requires multiple
revisions. I personally think it’s worth the extra effort, but it _does_
require an effort.

I’d be astonished if Gary didn’t spend a lot more time on his version than
Linus did.

------
nemetroid
Some issues with this rewrite:

* "but I'm not sure...", "I think that..." \- these are weasel words that weren't there before and which change the meaning of the sentences. If the commit message is wrong, in the context of right and wrong of Linux kernel development, saying so is not Linus stating his opinion. The context of right and wrong _might_ be based on Linus's opinions, but that's a different thing.

* the rewritten version loses the point about unclear standards language not being an argument, even though this is mentioned multiple times in the original. Perhaps because it often comes up as a rebuttal attempt, as indicated by "Don't tell me...".

* The conclusion of the original e-mail, i.e. its main takeaway, is that standards should be questioned. The rewritten version ends with "what are your other arguments?". In fact, the explicit point being made - that the standard should not be seen as an infallible resource - is now only implicitly present.

That said, I agree that profanity, name-calling and direct attacks are
unnecessary and that the e-mail would be better off without it. But the author
of the blog post also promotes changing clear and direct language to weak
statements, which I do not agree with.

------
fredsanford
I'm still looking for the participation trophy that should come with the
post's proposed edit.

Heres to you, Stuart Smalley! You're good enough, smart enough and.... doggone
it, people like you!

------
busterarm
This "Linus is a jerk" meme is old and tired.

The moral-superiority bullies are jerks too.

Same as people who use their position to push their politics.

Maybe we should all just be adults and focus on the work.

~~~
geergar
Read the article. The rewritten email was focused on the work. But Linus's
email was mostly focused on humiliating a contributor.

So it is Linus who is not being an adult.

------
GreaterFool
I only have one question to people arguing that "Linus should do this, Linus
should do that": can you show me one person that does "this and that" in a
comparable position that's successful? Is there any actual real world example?

~~~
bencooke
There are many successful open source projects that are well-known and well-
used.

Your question seems to assume that a prerequisite for a successful project is
there being some sort of overlord that runs it.

That's not the only project management style. Many open source projects are
instead run by collections of people who are capable of acting professionally
to one another and to contributors. We don't hear about those individuals
because they are happy to share credit for the project with all of the
participants.

If "success" is measured on a personal level, then sure: bullies are often
successful by marginalizing others for their own benefit.

Linux is an example of a successful project run by a bully. Here are some
projects you may have heard of that have different management styles but are
still, by my measure, successful _as projects_ in spite of that success not
being attributed entirely to one figurehead individual:

\- Python

\- NodeJS

\- Mozilla Firefox

\- Apache HTTPD

\- nginx

\- Busybox

\- Debian

------
s2g
> These changes look OK, but I'm not sure about the rationale.

That's a weaker statement to me.

"The changes look OK, but I strongly disagree with the rationale" sounds
better.

~~~
gary_bernhardt
You're right; I should've written the second thing. Too late to change it now,
but I would if I could do it without causing confusion.

------
megaman22
People are incredibly fucking thin-skinned. A few choice cuss words can get
across points than paragraphs of inoffensive wishy-washy bullshit will
obfuscate. And righteous anger cuts to the heart of a problem like Alexander
through the Gordian knot.

If you can't point at shit, and say that it is shit, and it needs to be done
better, then I don't want to work with you, or depend on your outputs. I am
glad that there is someone like Linus helming the ship; Jobs was not different
in kind, nor Gates in his day. It's a shame that we don't have more strong,
extremely competent stewards like him.

~~~
pmiller2
You are clearly in the author’s group 3: people who say we should just
tolerate this sort of thing. In that spirit, I could simply say you’re full of
shit and move on, fully knowing you won’t be convinced by anything I say, but
I won’t do that.

Instead, I offer you this: the revised email is half the length of the
original, and still makes the case as strongly as the first based on the
logical arguments. How would you rewrite it?

I don’t mind being told “no, don’t do that; it’s stupid,” provided it’s backed
up with logic and an alternative way to proceed. In this case, the second
email does this (the alternative way to proceed being just don’t merge the
changes, or reword the commit messages).

I have no problem with cursing. I probably curse a little too much, in fact,
and here it clearly gets in the way of the message, which is, in both cases “I
can live with doing this, but your reasoning as to why we should is wrong.”
Or, more bluntly, “no, don’t do this for these stupid reasons.”

What I do have a problem with is gratuitous abuse of someone who’s attempting
to make a positive contribution and has, apparently, submitted a reasonable
pull request.

~~~
na85
I categorically disagree that the revised email makes the same case. The first
sentence that Linus wrote indicates that he finds it questionable, but the
revised statement puts words into Linus' mouth: "this looks ok but..."

That's not even the same sentiment. Okay versus Questionable.

Not sure why the Tone Police feel it's necessary to do this.

~~~
pmiller2
He clearly doesn’t have a problem with the code, otherwise he wouldn’t say he
could “live with” the changes. This portion could be better worded to convey
the “code is ok, but the rationale is flawed” message. How would you rewrite
it?

~~~
na85
Au contraire I think it is patently obvious that he does have a problem with
the code as written, otherwise why spend the energy to rebut it so vigorously?

~~~
gary_bernhardt
He wasn't rebutting the code; he was rebutting the claims about following the
C standard, which were made separate from the code. You missed this because
its' buried in all of Linus' ranting. Linus merged these changes a few minutes
later with no further discussion.

------
jbirer
Linus is like darwin, it eliminates weaklings like the author.

