I must admit, the overall open source community boast some of the most helpful and friendly bunch of people I have met. Even when there’s a bit of rivalry, there’s always a strong mutual respect for each other.

However, I can’t turn a blind eye on the minority of rotten characters floating around, polluting what is otherwise pristine waters.

What’s the Problem?

The problem is the lack of respect for each other.

This stems from both consumers of Open Source projects, as well as owners / contributors.

Disrespect from Consumers

meteor-simple-schema is a hugely useful package for validating objects in Meteor, similar to mongoose for MongoDB. It was something written by Eric Dobbertin in his spare time.

I’ll be the first to say that I have personally benefited from his work and am very thankful for his time. But then you get users like gooor post issues with a rude title like this:

Or Aiman Abdel-Samad on nodemon:

Towards the end of 2016, James Kyle wrote a very popular post Dear JavaScript, which highlights similar issues that I’ve highlighted here.

This negativity gets to you in a way that normal criticism does not. I can talk for days about the tradeoffs made in various projects that I contribute to. I’m happy to rethink the direction we’ve chosen, and I’m willing to admit when I was wrong (even when it is hard). But when someone starts to insult me in mock my hard work, when they criticize me and my work in a way that is extremely negative, it gets to me. The consequences are horrible. The angry response has been overwhelming. Every single day I’m reading someone else rant about how awful of a job we’re doing. It’s been hard to stay motivated — I’ve practically stopped looking at issues and pull requests. Why would we continue working on it like that? Of course we burnt out on the project. I don’t feel like working on Babel anymore. It went from being one of the most fun experiences in my life to making me feel terrible everyday. ~ Dear JavaScript by James Kyle

Unfortunately, that article didn’t affect the community as much as the author hoped it would.

Another more recent issue on the alexa-avs-sample-app repository reads:

You didn’t buy this…it’s open source.

The same is seen on Google’s cameraview repository.

And more…

Disrespect from Contributors

But this goes both ways.

Linus Torvald, the creator of the Linux kernel, is quite infamous for his “abrasive” comments. He addressed it in the following video.

Obviously, I disagree with his response, but this video actually highlights the root of the problem. When he gave his respond, many of the audience was laughing and joking about it. And as Linus pointed out himself, he works in an environment where everyone already accepts his bahviour as acceptable, so there’s no reason for him to change.

As I have addressed later, it starts with the community. If the community decides that this behaviour is acceptable, then it becomes acceptable. Whilst I would love to change Linus’ mind, I doubt I can. My best hope is for the rest of us to aim for a higher standard. The one does not speak for the many.

And it has nothing to do with being “politically-correct”. It cost absolutely nothing to have a basic level of decency. You don’t have to hold someone’s hand and shield their ears from ‘bad’ words, or ‘protect’ them from criticism that can hurt their feelings. If you find their response to be dumb or not worth your time, simply ignore it and move on.

Linus’ response shows complete disregard of the other person’s journey. Maybe the path they’ve taken doesn’t allow them to have the level of knowledge and understanding as Linus’ journey.

It’s about knowing that you are priviledged (Linus’ upbring is priviledged — his mother was a journalist and his father is Member of the European Parliament (MEP) from Finland. To many, even being able to go to university is a priviledge), and truly understanding what it means for those who are not as priviledged as you. Do not look down on them and treat them like they do not deserve to breathe the same air as you.

The following comic (taken from The Pencilsword) explains my point better than I ever could.

Everyone is on their own journey. The reason why you get to interact with someone is because, somehow, in this infinite universe, your journeys crossed each other. Maybe they are not on the same ‘level’ as you, but that’s no grounds to be disrespectful.

Everyone is on their own journey. Be kind. Point them in the right direction and be on your way. Maybe one day, especially if you believe in karma, they’ll be able to point you in the right direction.

At the end of the day, whether you choose to show respect or not, it only reflects on your own character.

When you open-source your project, you gain the benefits of having many eyes review your code, spot and fix bugs. But a price you have to pay is to answer issues and questions. It’s only fair. If you don’t like to deal with issues and questions in a respectful manner, and your goal is simply to boost your ego, then I’d encourage you not to open-source it in the first place.

Lastly, it’s also worth remembering that many of the biggest open-source projects today are written by people who, 10, 15 years ago, probably didn’t write a single line of code. Without a healthy community that tolerates mistakes and failures, we won’t be where we are at today.

Update: On 16 Sep 2018, Linus actually issued an apology relating to his past behaviour. To be frank, it really surprised me, but it just shows that everyone is capable of showing basic decency and respect.

So what’s the solution?

It starts with yourself

As Michael Jackson famously sang “I’m Starting With The Man In The Mirror, I’m Asking Him To Change His Ways” It starts with you and me. Next time we feel like joining in the “fun”, we should think about the person on the receiving end of the comments.

I have been guilty of this myself. In 2015, I published another Medium article titled “Why the New Chrome Bookmarks sucks” (this has now been renamed “Why I Won’t Use the New Chrome Bookmarks”). In there, I concluded with the remarks:

I have tried to keep my language civil, but to be utterly fucking honest, no words describes this better than ‘shit’.

That’s pretty disrespectful language on my part, and I do regret writing that two years back. All I can do now is apologize for my language back then, especially to the team behind the Chrome bookmarks, and vow not to repeat my mistakes.

Speak Up

Just like we need to call out politicians when they’re behaving badly, we need to call out people who intentially tries to hurt others.

More people, especially the project owner, should stand up against rudeness, just like daimajia did here (but he’s also guilty of using some foul language himself!)

Not only does this tell others that it is not OK to be disrespectful, it may also give the original commenter a chance to apologies and change his/her behaviour.

It’s not enough to just do a thumb up, or thumb down. Message them privately and point out their faults. If that fails, leave a comment somewhere to say it is not right to use that sort of language.

Stand in Solidarity

And when you see someone standing up to bullies, don’t be idle, join them and stand in solidarity.

Express Your Gratitude

When you rely on an open source project, why not say thanks to the owner / contributors? Let them know we don’t take them for granted! Check out thank-you-github and The ‘Say Thanks’ Project!

Know that they are a Minority

But disrespect is inevitable in any community. To those who are on the receiving end of it — take solace that you’re just unlucky to come across these ‘bad apples’, and try not to let it affect you too much.

These minorities also tends to be the most vocal, so it may seem that they’re more prevalent than they are — they really are the minority.

Tech Companies — Stop Hiring Disrespectful Developers

Tech Companies — stop hiring people who shows a history of being disrepectful — they’ll poison the culture of your team.

A Final Message

I do want to stress that the vast majority of the development and Open Source community are wonderful people. I know because I work with them daily. I know because I have learnt so much from total strangers helping me out on my projects, answering my questions on Stack Overflow, mentoring me, inviting me to attend talks, and giving me the opportunity to give talks, even when I was very inexperienced. Without you guys, I would not have fell in love with programming. So to those who promotes a kinder open source, kudos to you all! We appreciate you!