posted on May 13, 2012 in git, development, culture

Pull Requests, Developers And Respect

There is currently an interesting discussion going on. Linus Torvalds started one on GitHub stating that GitHub is doing pull requests, commit messages and some other things horrible wrong. As always we have two groups that believe they are right and heavy flamewars are emerging on community sites. I believe they both miss the most important points.

It is basically unimportant who is right or what the right way to do pull requests is or how you should write commit messages. There is a basic problem and I have seen this for many years now.

Linus created Linux and Git. No matter what I think of him I acknowledge what he did and I am thankful that he and the team around him is doing it. Without Linux I am not sure where I would be today. It is likely the only fact why I still care a bit.

Maybe it is a hard statement that is not entirely true but from my point of view most developers who created all the software we needed to get where we are today, that power the internet and other things, became cranky, old, stubborn man. They believe they are right, they do not care about arguments and sadly there are always people that are behind them and take everything they say for granted because they accomplished something.

About Kings And Kingdoms

Let us get back to commit messages. There is a certain style Linus has chosen for Linux. If you want to contribute you are supposed to use this style for your messages. It fits his workflow and it is his project. He is the king and if you decide to enter his kingdom you stick to his rules. It is that easy.

The same is true for pull requests. If you want to contribute to his project you stick to his rules or you are just lost. No matter if you like this fact or not as long as he invests his time to work on his project it is his decision. There is no point in arguing. You just have no right to complain.

Linus, as many other developers from the 1970s to 1990s, used to work with systems that could only display 80 chars. And since 20 years their workflow did not change. Everything new was called stupid, useless or crap because they did not stick to the same principle they started using decades ago. Innovation? New ways to work? "We do not need this, what we have worked all the years." I have no idea how you can be innovative and stubborn at the same time.

Many projects proved that GitHub works. But still Linus does not like the way so it is bullshit and only used by idiots. He does not even consider code from people that use another workflow. As many developers he seem to be stuck in a time when your screen was black and your cursor green.

But what are the consequences? Currently none because everything is still working as it was 20 years ago. But developers get older. If a project should still be maintained after you retire you have to attract young blood.

There Will Be A Time When A King Has To Resign

Imagine you are a young, talented developer. You worked on some projects and have developed a certain workflow. Now you become interested in a project and want to contribute. Of course you read the guidelines and everything you see is stuff that sounds like it was written in the 80s. How many do you think are still interested? They would have to change most of the tools they started loving just to contribute. And there are, again, two groups. Those who think potential developers are lost and those who do not care because they stick to the "his kingdom, his rules" principle. But even if you are a king - once in a while you should reconsider your rules.

Flowers, Love And Hugs For Everyone

Beside the fact that I am a bit worried how long a project, even as big as Linux, can survive with this kind of leadership there is something else that is unlovely. When those old, cranky men engage in a conversion they make statements and start calling names. They are not open for arguments and lack courtesy. Another thing which lowers interested in an project. At least for some people.

I am a friend of clear words and direct arguments. But calling someone an idiot for something that works for him or having a totally different opinion is something different. No matter how much you disagree you could still show some respect. Just because you maybe accomplished more - did you ever think that maybe you just had more time? - does not mean you have a free ticket being a dick and win every conversion just with your name.

I have to admit that this post is highly opinionated, mixes three different topics and sounds like I do not like Linus and Linux. Well, the first two are right. But even if I do not advocate it, I still use it on some servers and would love to see that it continues being a kind of viable alternative on some systems. But things have to change.

The best thing I can imagine would be if developers - everyone! not just the cranky, old, stubborn men - stop being dicks that believe their answer for a problem is right for everyone. Showing some respect for people that create things would be easy. Easier than unproductive, unnecessary flamewars.

I would love to talk to you about this post, your ideas or awesome projects.

I am @fallenhitokiri on Twitter and GitHub or you can send me a mail.