
Linus Torvalds Rants - turrini
https://www.reddit.com/r/linusrants/
======
kyberias
There is nowadays some constructing criticism to Linus's outbursts on the
mailing lists:

On Thu, Feb 23, 2017 at 05:44:04PM -0800, Linus Torvalds wrote: > [snip]

Don't shit on (new) contributors like this. Noralf has done good work (go
look), Kconfig is an impossible combinatorial maze, and I'd be rather annoyed
if you managed to drive away Noralf (and other contributors) with your mail.

I know that you need to rage every once in a while, but at least only send
those mails to Dave (and me) in private. On dri-devel here, this isn't
accepted.

~~~
ReidZB
Worth noting: the above was written by Daniel Vetter, not Linus.
[https://lkml.org/lkml/2017/2/24/176](https://lkml.org/lkml/2017/2/24/176)

~~~
amputect
To add further context, here's Linus' (imo rude and totally unproductive) rant
from
[https://lkml.org/lkml/2017/2/23/611](https://lkml.org/lkml/2017/2/23/611),
which Daniel Vetter is replying to:

The tinydrm code seems like absolute pure shit that has never seen a compiler.

I'm upset, because I expect better quality control. In fact, I expect _some_
qualitty control, and this piece-of-shit driver has clearly seen none at all.

And those patches were apparently committed yesterday.

WHAT THE ACTUAL FUCK?

I get tons and tons of lines of warnings:

    
    
      drivers/gpu/drm/tinydrm/mipi-dbi.c: In function ‘mipi_dbi_typec1_command’:
      drivers/gpu/drm/tinydrm/mipi-dbi.c:65:20: warning: field width

specifier ‘ _’ expects argument of type ‘int’, but argument 5 has type ‘size_t
{aka long unsigned int}’ [-Wformat=] DRM_DEBUG_DRIVER( "cmd=%02x, par=%_ph\n",
cmd, len, data); \

with nasty chains of nested defines, but then I also get actual compile
failures

    
    
      drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c:198:26: error:

redefinition of ‘tinydrm_of_find_backlight’ struct backlight_device
_tinydrm_of_find_backlight(struct device_ dev) ^~~~~~~~~~~~~~~~~~~~~~~~~ In
file included from drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c:11:0:
./include/drm/tinydrm/tinydrm-helpers.h:53:1: note: previous definition of
‘tinydrm_of_find_backlight’ was here tinydrm_of_find_backlight(struct device
_dev) ^~~~~~~~~~~~~~~~~~~~~~~~~

(with similar stuff for tinydrm_disable_backlight()).

It looks like it might compile if CONFIG_BACKLIGHT_CLASS_DEVICE was enabled
rather than being a module.

Doing this:

    
    
      -#ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
      +#if IS_ENABLED(CONFIG_BACKLIGHT_CLASS_DEVICE)
    

in tinydrm-helpers.h gets rid of the complete build failure, and only leaves
the tens of lines of warnings.

How the hell did this get to the point where crap like this is even sent to
me? Nobody tested _anything*?

AND WHY THE HELL WAS THIS UTTER SHITE SENT TO ME IF IT WAS COMMITTED
YESTERDAY?

~~~
amputect
It would be really, really easy to make the exact same points, simply by
typing less. I've seen a lot of people defend Linus on the grounds that he's
"terse" but this is actually quite unnecessarily verbose, and would be much
clearer and easy to read without the temper tantrums bookending it. Starting
from "I get tons of" and ending with the "in tinydrm-helpers.h" line would
make the exact same point, without requiring an actual adult to step in and
try to do damage control for him to prevent him from driving a promising
newbie out of the project.

~~~
da_chicken
Agreed. Linus's rants tend to be:

> Derision and general point

> Insult

> Derision and minor point

> Actual, concrete, well reasoned point

> Derision

He usually has very good points, but people tend to focus on the derision and
insults. That means _people aren 't seeing the points he's making_. That's not
entirely their fault. Communication is a two way street, and he's making his
own communication actively worse.

His infamous C++ rant
([http://harmful.cat-v.org/software/c++/linus](http://harmful.cat-v.org/software/c++/linus))
is the one I always go back to. It makes perfect sense when you realize he's
talking about _coding for the kernel_ or otherwise coding for something that
can only really be understood as a series of bytes. It's complete nonsense if
you're talking about, say, business software, where all that abstraction makes
the software comprehensible. He also does things in that rant like essentially
champion reinventing the wheel, though, too.

People always defend him by saying:

* "Passive aggressive corporate culture is toxic!"

* "It works so it's not toxic/who cares if it's toxic!"

* "They don't have to contribute if they don't want to!"

And I just don't buy any of those arguments as a defense for bad behavior.

~~~
kyberias
And may I add that he STARTS THE EMAIL with this (the point):

"I'm upset, because I expect better quality control. In fact, I expect some
qualitty [sic.] control, and this piece-of-shit driver has clearly seen none
at all."

Then he goes to describe the details to prove his point.

He is _upset_. That's a feeling, you know. Then he calls the patch shit. So
there is a guy who gets pissed off and calls code shit once in a while. Maybe
he has Tourette's, we don't know. Why do you actually care? Why are you so
sensitive exactly?

Oh yeah, and I think he has been wrong in my opinion on many topics. I don't
think he's god. But LET HIM BE HUMAN!

------
mmjaa
Personally, I enjoy Linus' rants on a regular basis. They are the perfect
antidote to total idiocy that happens in the Linux software world at times.
I've very rarely ever found his point of view to be incorrect, and the
abrasion that occurs is a great way to rub the shine off a lot of bullshit.

I know people find it uncomfortable or rude, but I think its a necessary
feature of a great leader when dealing with an unruly mass of, generally
speaking, mostly arrogant, mostly privileged individuals.

~~~
digi_owl
Sadly while he may be running the kernel development quite well, he defends
some serious idiocies when it comes to his dive log software Subsurface.

Such as defending the bundling of modified libs, thus making it hard (if not
impossible) to package for various distros.

And rather than noticing this as being very similar to what he has ranted
about others doing in the past in userspace, he joins in attacking said
distros...

Edit (because apparently i am "posting too fast"):
[https://en.wikipedia.org/wiki/Subsurface_(software)](https://en.wikipedia.org/wiki/Subsurface_\(software\))

See the last few parts, and citenotes 9 and 10.

~~~
adnzzzzZ
[https://www.youtube.com/watch?v=5PmHRSeA2c8&t=5m40s](https://www.youtube.com/watch?v=5PmHRSeA2c8&t=5m40s)

What he's talking about is on the video above and it's a very reasonable
point. I just released a game with Linux support and most of the bug reports I
got were from people running the game on different distributions and random
libraries not being the version you would expect it to be. This is not to
mention that I got way more bug reports from Linux users than Windows users,
despite Linux users making up 2%-3% of the playerbase. His point is absolutely
valid and not at all a "serious idiocy".

~~~
JepZ
Just out of curiosity: Is you game open source (so every distribution builds
it with their libraries) or is it distributed in binary format and are you
using a custom engine or something well known like UE4/Unity?

I am asking this because just yesterday, I tried to run the steam streaming
client and it kept crashing. As far as I can tell, because it must have been
compiled with a different compiler or glibc than the rest of my system.

In fact, with closed source software I see a lot of problems in the Linux
space which could be solved by recompiling, but that simply isn't possible.
The reason behind all this is probably that Linux systems are just not build
for closed source software as the devs keep changing things which would be
required for that (e.g. stable ABIs).

Btw. does anybody know if there are tools out there to obfuscate code for
games, so that they could release their code in a form which some distribution
could compile, but which is too obfuscated for someone else to make use of it
(e.g. steal the game)?

~~~
AnIdiotOnTheNet
If Linux Desktops had a stable and consistent base system, no one would need
to recompile anything. That's the actual solution here. It's way way simpler
to do than what you're suggesting.

~~~
bhaak
Which of the other desktop OS has a stable AND consistent base system?

Microsoft is backwards compatible to an insane degree. Which gives you
stability but not consistency.

OSX is consistent but Apple throws out backwards compatible features every
other year, so not really stable.

~~~
lttlrck
OSX is at least predictable and therefore from a developers perspective it is
arguably stable.

~~~
bhaak
Linux is fine for developers as well.

But for users, it doesn't help if you bought a tool last year and it gets non
functional because Apple removed or tightened down a function in their OS.

You can only hope than that the developers are still around and update it if
that's even possible.

------
dustinmoorenet
He may be a harsh critic, but looking at this [1] you can see why other
developers work with him. He praises and acknowledges good work from others.
He definitely contributes to the overall discussion, and in the end, _I_ even
understand the problem discussed.

[1]
[https://lkml.org/lkml/2017/12/29/449](https://lkml.org/lkml/2017/12/29/449)

~~~
cup-of-tea
And praise from Linus is far more highly valued than praise from your standard
overly-optimistic business-type yes-man.

The thing is Linus speaks volumes to people like Linus. And it just so happens
that people like Linus are really good at writing the kind of software that
goes in an operating system. Most of the criticism either comes from outside
or from the type of people who feel they need to protect others from things
that they themselves are able to handle. The latter is basically where ideas
about censorship come from (I'm going to read this first to decide whether
it's suitable for you to read).

~~~
stinkytaco
Sort of a sampling bias though. How many potentially qualified contributors
simply do not contribute to the kernel because of Linus?

~~~
setr
The way I understand it, the kernel work is heavily subdivided into
subcommanders and such; only a few people show code to linus directly.

So I imagine its extremely unlikely that any early contributer could be turned
off by a linus rant targeting them. They contributor loss would have to be
based on the fact that the rants exist _at all_.

My suspicion is that very few qualified contributors are scared off by the
existence of Linus's rants. Maybe if it targetted them, repeatedly, but
otherwise its difficult to imagine this is a significant source of loss.

------
AnIdiotOnTheNet
The thing about Linus's rants is that he's almost always completely right. As
far as I am concerned, his attitude is part of the reason the Linux kernel
doesn't completely suck, in stark contrast the pretty much everything that
sits on top of it (at least in the Desktop space).

~~~
em3rgent0rdr
I think the main criticism of Linus's rants is not that he is incorrect, but
rather his tone (primarily his use of explitives and ad-hominens). I think he
could communicate more efficiently with a civil yet blunt criticism by simply
removing the explicitives and ad-hominems.

~~~
alexashka
Maybe, or maybe he'd be a ball of suppressed rage, get some stress-related
disease and die.

I understand that the current trend is to suppress all your emotions, and then
quietly read self-help books and seek therapy, but it's not at all obvious to
me that venting does more bad than good.

To me, I get a kick out of reading Linus' rants, I find them highly amusing. I
can understand that the few people they're directed towards, would feel mildly
abused, to which I say welp, it's a small price to pay.

There needs to be an acceptance that dealing with other people is oftentimes
frustrating, and that there need to be avenues to release that. Business
people have booze, drugs, strippers and hookers. Linus is a good boy, he has
offensive language and all caps.

I consider him a saint, compared to the alternatives someone a little more
gregarious would've taken.

~~~
Retra
I don't think you have any legitimate reason to believe his vulgarities are
somehow protecting his health or sanity. But I also don't see any reason to
believe they're harming anyone else's.

------
yedava
Linus seems to inspire a lot of poor and motivated reasoning - since Linux is
successful, it must be because of his toxic personality. If a toxic
personality is a requirement (or a major contributing factor) for a successful
engineering product, in a world of exquisitely crafted engineering products we
should expect to see toxic personalities everywhere. That we don't should have
prevented a cult of personality from developing in a community that prizes
logical reasoning. Maybe the lesson here is that no group of humans is immune
to some set of biases.

~~~
Nokinside
I wouldn't call Linux toxic but I see your point. Have you considered the
possibility that your premise is actually correct?

Just few examples from the top of my head:

* Bill Gates was aggressive office bully and has admitted this himself.

* Steve Jobs was known to be nasty and unreasonable.

* RMS is notoriously difficult person.

* Theo de Raadt is really something (OpenBSD, OpenSSH, NetBSD)

* Ulrich Drepper (glibc, ...)

Above examples are outspoken SOB's. There is another case of engineering
leaders who use passive aggression and 'niceness' to rule in a way that can
become very unwelcoming.

People have to lead with the personality they have. Management can be leaned
and management style can be changed. Leadership skills are tied to
personality.

~~~
city41
Is it their temperaments that lead them to success, or is it their willingness
to never cave and always do what they feel is right?

I'm not a fan of confrontation, and in the past have allowed features to get
added to my projects that I didn't think was right. I regret it. Had I been
willing to have some uncomfortable conversations, the project would have been
better.

~~~
iforgotpassword
I think it is. I remember when in 2009, all over Germany (and Europe) students
went on strike because they had several issues with how universities changed
in the past years.

Students occupied large parts of the campus and started to work out their
demands. They decided to try and go by a grassroots democracy. Everything was
discussed and reconciled with polls in the biggest lecture hall. The whole
thing made big news, was on all TV channels, the nation waited for the
students' demands, and they kept arguing, and discussing, and the nation kept
waiting, and then they argued about the order of phrases, single words, as
long as a single person had a complaint, and finally after half of the
students involved gave up and no TV channel reported on the topic anymore,
some final document was handed over that nobody remembers, just as nobody
remembers the response to it.

This is a pretty stark counter example, but to me it was a huge revelation to
actually be part of this experience and see it fall into pieces. It shows that
you simply can't always be nice to everyone and make it right for every single
individual. Sometimes you have to be that asshole that leads the way and steps
onto other people's feet, because a suboptimal decision made in time is often
better than discussing every detail to death. A rough tone is simply (and
unfortunately) an effective way to assert your position. Call it alpha male
2.0 or whatever. This realization also helped me dealing with that kind of
person, not taking it too personal.

As for Linus, I feel like these kind of rants are really an exception, he's
either in normal/neutral mode, or goes all apeshit, which I think makes it
rather easy to deal with him (never did so far though). In comparison, the
passive arrogance that a certain developer of some init system sometimes shows
seems much more annoying to deal with (also never had an interaction though).

------
tptacek
Chris Lattner led a systems project just as complicated (presumably more so!)
than Linus. You don't see whole pages dedicated to "Chris Lattner" rants.

~~~
pcwalton
Great point. I'm stealing that insight. :)

If you haven't met Chris in person, by the way, you really should if you get
the chance. He's as affable in person as he is online.

------
redleggedfrog
That attitude, which is sometimes grating, is also what keeps linux from being
the garbage that is most other software. It helps when your gatekeeper is a
scary.

~~~
ken
Is there any evidence of this being true in general? Linux is the only
software I can think of where a quality product is accompanied by a "grating
attitude".

All of the other software I've liked in recent years (like Redis or SQLite or
Postgres) has maintainers who seem rather easy-going.

~~~
lobster_johnson
Those examples don't have the same influx of contributions, and they don't
have a host of corporate contributors (Red Hat, Intel, IBM, Google, Nvidia,
etc.) who are all vying to push their own solutions into the code. Much of the
rage people see from Linus is about these contributions not being good enough
because they put the companies' needs before the kernel. The most important
quality in a project manager is often the ability to say "no".

You will see Linus rant about what he considers bad code practices, and will
castigate people rather brutally for this [1], but he always provides a
cogent, often informative explanation. A more mild-mannered lead would not
make a scene, and I don't see the point of his expletive-laden gruffness -- it
would have been just as effective without the acidity. I guess if you want the
Linus who defends code quality from big contributors, you will also have to
accept the Linus who verbally destroys individuals.

[1]
[http://yarchive.net/comp/linux/bool.html](http://yarchive.net/comp/linux/bool.html)

~~~
ken
Are there other projects with numerous corporate contributors, then, which
were threatened or destroyed by poor patches? My perception is that Postgres
has a large number of corporate contributors, but they don't seem to be
hurting for it.

This justification (i.e., that Linux has to be this way, because it's in a
unique position) sounds strange to me. If we're claiming that the relevant
sample size is N=1, isn't that equivalent to saying that it's impossible to
study whether this management style is necessary or not?

In fact, this argument seems almost backwards to me. Linux can be run this way
_because_ it is successful. Nvidia isn't trying to mess up NetBSD's
architecture, precisely because NetBSD is not as popular with users.

~~~
anarazel
> Are there other projects with numerous corporate contributors, then, which
> were threatened or destroyed by poor patches? My perception is that Postgres
> has a large number of corporate contributors, but they don't seem to be
> hurting for it.

There's definitely sometimes strains showing. Corporations have often interest
in getting specific features in, but don't care that much about maintaining
the codebase and/or maintainability.

Definitely causes some strife. I think we most of the time keep it civil
enough.

------
yes_or_gnome
Most be a slow day at HN. I've subscribed to this subreddit and the posts
there are mostly people discovering lkml.org for the first time and seeing the
"Hottest" emails of which some are over 5 years old. (`Re: [Regression w/
patch] Media commit causes user space to misbahave (was: Re: Linux 3.8-rc1)`,
`Re: [GIT] Networking`, etc.) In this thread, there's been plenty of more
recent examples of Linus's snark, but this particular subreddit is more or
less dead. And, I suspect it's dead for a good reason. That is, Linus doesn't
really really all that much. Side from the infamous 'Mauro, Shut The F __* Up!
' email, there's not that many good "rants".

There's plenty of snarky, bad behavior sure. I get that a lot of people don't
like it, but none of them bother to understand that these people work together
daily and in the most open environment possible. Nobody considers the fact
that, in the most infamous example, Mauro has been a contributor since 2006.
(I don't know either, not anyone that's a major Linux contributor.) That's
right, I wrote 'has' not 'had' because he still contributes to this day.
That's not too excuse a behavior, but as a knock against the characterization
of a "toxic environment". Maybe for some, but obviously not for others.

I for one, am glad that most of my cringiest, offensive comments were in
person and that I was able to walk then back. And, of the stupifying comments
that I made in an email, I'm incredibly thankful that they were private.

------
gorbachev
That subreddit needs a Rant Rating Bot.

------
yitchelle
If Linus adopts a saner approach, without all this mindless ranting, to
managing the Linux kernel, I seriously believe that would the results be much
better. If he was running a company in a similar manner, would it work?

~~~
nindalf
At least in this thread, the view that his ranting is pointless is in the
minority. Most projects don't have the the same constraints and pressures that
Linux faces - including IBM, Intel, Nvidia, AMD, Qualcomm all wanting to
commit code that benefits their company, but not necessarily the Linux kernel.
Linus taking a firm stance on quality helps, I think.

------
grandinj
The nice thing about Linus is that he "plays the ball not the man" to use a
sporting analogy. He criticises peoples actions, but not the people
themselves.

I.e. "this is a stupid thing to do", not "you are stupid".

~~~
munin
> Those security people are fcking morons. [1]

> There's something odd about drm people. [2]

> aarch64 is just another druggie name that the ARM people came up with after
> drinking too much of the spiked water in cambridge. [3]

> YOU are full of bullshit. [4]

> I've come to the conclusion that any programmer that would prefer the
> project to be in C++ over C is likely a programmer that I really would
> prefer to piss off [4]

> Mauro, SHUT THE FUCK UP! It's a bug alright - in the kernel. How long have
> you been a maintainer? And you still haven't learnt the first rule of kernel
> maintenance? [5]

1:
[http://lkml.iu.edu/hypermail/linux/kernel/1711.2/01701.html](http://lkml.iu.edu/hypermail/linux/kernel/1711.2/01701.html)

2: [https://www.spinics.net/lists/dri-
devel/msg157415.html](https://www.spinics.net/lists/dri-devel/msg157415.html)

3: [https://lkml.org/lkml/2012/7/15/133](https://lkml.org/lkml/2012/7/15/133)

4:
[http://harmful.cat-v.org/software/c++/linus](http://harmful.cat-v.org/software/c++/linus)

5: [https://lkml.org/lkml/2012/12/23/75](https://lkml.org/lkml/2012/12/23/75)

