Linux, Git and offending people


Linus Torvalds. A man, who created Linux and Git. A man, who is still managing the development of the kernel. A man, who to many others is a god of open source. It's his vision, what transformed Linux from just a curiosity to a major element of IT world. Every day millions of programmers are working on Linux, saving their codes in Git's repositories and their applications end up on servers or mobile devices using Linux. Torvald's projects changed the face of technology to a great extent, but they also affect others areas of life in indirect ways.

Moreover, the development of Linux is more dynamic than ever. Every day there are 10,000 lines of codes being added, 8,000 deleted and 1,800 changed. Over 1,000 people from all around the world are contributing to each release. Linus himself, during the Open Source Leadership Summit 2017, described Linux as a social project which, despite applying to technology, relies on building a network of trust – the foundation of a high quality of the project. It took 25 years to build the society which is capable of creating the open source software in such pace and of such quality that it's changing the world.

Taking into account the above statement it's even more surprising how Linus himself is interacting with other people. Often he just offends them. It's the biggest controversion regarding him, so let's see what he's capable of.

On Aalto Talk he said:

I like offending people because I think people who get offended, should be offended.

Something about how he sees himself:

I'm always right. This time I'm just, even more, right than usual.

And how he introduced himself at Linux Expo in 1998:

My name is Linus Torvalds, and I'm your god.

I think that such philosophy of life allows you a big room for maneuver. Even if we take into account that the preceding quote was probably humorous. Not many people make such bold statements.

Let's start with Linus's opinion on C++:

C++ is a horrible language. It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much easier to generate total and utter crap with it.

You can be sure that if Linus doesn't like the code you created for a pull request, he will say something about it:

Your code is shit. And you didn't fix anything. […] F*ck me, what's wrong with you people?

He can also be very easily annoyed. For example, Linus reading one byte at a time is like a red rag to a bull:

Of course, 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. Who the f*ck does idiotic things like that? How did they not die as babies, considering that they were likely too stupid to find a tit to suck on?

It's not a good idea to add to the kernel a code with hidden logic, and additional functionalities which Linus thinks are weird:

The code seems *designed* to use that new "overflow_unsub()" code. It seems to be an excuse to use that function.

And it's a f*cking bad excuse for that brain damage.

I'm sorry, but we don't add idiotic new interfaces like this for idiotic new code like that.

Even though he likes to curse when he gets upset, sometimes even he is out of curses:

There aren't enough swear-words in the English language, so now I'll have to call you perkeleen vitupää just to express my disgust and frustration with this crap.

This would be some kind of a ranking of offending people. Don't forget that you can also offend whole companies:

In Linus's defense I would like to add that beforehand, he spoke about how the cooperation with Nvidia is not working out. Relations with the hardware producers is hard in general. A journalist asked Torvalds whether he would like to say something to companies which don't share technical specs necessary for providing compatibility between their products and Linux. Linus answered:

Is "I hope you all die a painful death" too strong?

Tons of spicy quotes are about Microsoft. Despite it, in the interview for New York Times Linus denied having a blitz on the company from Redmond:

To be a nemesis, you have to actively try to destroy something, don't you? Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect.

Linus stood by this statement on Twitter over ten years later:

Microsoft isn't evil; they just make really crappy operating systems.

Among last few years there is a growing pressure in the IT environment for cultural disputes, creating a place free from discrimination. Hence, many IT companies and open-source projects decide to employ the Code of Contact policy. A huge part of the CoC is promoting diversity. And what does Linus think about it?

The most important part of open-source is that people can do what they're good at and this whole subject [regarding diversity] is just a detail and is not so compelling.

The creator of Linux doesn't want to bend towards forced standards. To put it mildly, he doesn't appreciate them:

Because if you want me to "act professional," I can tell you that I'm not interested. I'm sitting in my home office wearing a bathrobe. The same way I'm not going to start wearing ties, I'm *also* not going to buy into the fake politeness, the lying, the office politics and backstabbing, the passive aggressiveness, and the buzzwords. Because THAT is what "acting professionally" results in: people resort to all kinds of really nasty things because they are forced to act out their normal urges in unnatural ways.

He defended the right to offend other people in 2014 during DebConf:

I don’t respect people unless I think they deserve the respect. There are people who think that respect is something that should be given, and I happen to be one of the people who is perfectly happy saying no; respect should be earned. And without being earned, you don’t get it. It’s really that simple.

It's funny to think that we all have a small Linus living somewhere inside. Those quotes may be shocking. But if I'm being honest I also cursed in my mind when I saw a pull request from someone who hasn't yet fully understand all the dependencies in a project. The only difference is that I don't say my thoughts out loud because I know that it's better to talk about a problem and that I will have to work with this person every day. It's better for me if that person draws conclusions. And I'd rather not think how many times my code called for similar reactions. Linus just doesn't hold back.

A lot of what I quoted above is a result of the set of Torvalds's values. He says himself: „I don't care about you. I care about the technology, and I care about the kernel.” When I first started working on this article everything that open-source did for the world conflicted with Linus's tendency to slate everyone. It might sound weird but the more I read about him, the better I see the whole picture. On the one hand, everything Torvalds creates, writes and says shows how much he values the freedom to express oneself. Working on Linux is indeed revealing who he is and what he believes in. On the other hand, nothing justifies his harsh tone in discussions about code. We have to add a secret ingredient – his giant ego („I have an ego the size of a small planet”) and the fact that he applies his standards to everyone else. It's certain that Linus Torvalds is an exceptional person and many of us, mortals can't measure up to him. And that is the reason of his complicated relations with other people. Once he gets to know you and wants to work with you, he will talk about you only in superlatives. But if you don't meet his demands you will suffer the fate of Microsoft or Nvidia.

Linus is all for hard work and real problems. He prefers them from visionary thinking. He spoke about this during his TED speech:

I've actually felt slightly uncomfortable at TED for the last two days because there's a lot of vision going on, right? And I am not a visionary. I do not have a five-year plan. I'm an engineer. And I think it's really – I mean – I'm perfectly happy with all the people who are walking around and just staring at the clouds and looking at the stars and saying, "I want to go there."But I'm looking at the ground, and I want to fix the pothole that's right in front of me before I fall in. This is the kind of person I am.

Lately, on The Open Source Leadership Summit 2017 mentioned above he said:

I often compare software development to biological processes where it really is evolution. I mean, it is not intelligent design. I'm there, in the middle of the thing and I can tell you it is absolutely not intelligent design whatever you want to think.”

Innovation that this industry talks about so much is bullshit. Anybody can innovate. […] Screw that, it's meaningless; 99% of this is just get the work done.

Yes, the contrast between Torvalds and another great figure from the IT world is evident. Steve Jobs (sorry for mentioning him here but I couldn't help myself) is a visionary while Linus Torvalds is an engineer. Who has done more for our industry is for each of you to decide.

We all know what Linus is like. We can learn from him hardworking and the ability to solve problems. His creations make our everyday work much easier. For me, he is an inspiration for living in harmony with my values. Torvalds accepts good and bad aspects of such a way of life. It's also worth to learn honesty from him, maybe just... without offending people... and with more respect for another human being... and without a huge ego.