☠️ Warning: This post may be too much for the faint hearted. Please proceed with caution. Viewer discretion is advised.
Open source is great. You get great software for free and meet great people while doing it. However, like most things, open source has its dark-sides.
Because the world of open source is purely online and takes place on the fricking internet, it’s very tempting for people to turn into assholes. But please, please, don’t be an asshole. We have a good thing going on and it would be great if we can keep that going.
Now, you may be thinking, “Hey asshole, I’m not an asshole. Who are you calling an asshole, asshole?”. Well, consider this blog post as a self-diagnostic test to find out if you are truly an asshole or not.
Symptom #1. Do you use words such as “simply” or “just”?
e.g. Just integrate X with Y. After that, simply do X on Y to do Z.
Hey asshole, not everyone is a superstar programmer like you. While it may be easy for you, it may be hard for others. Using the j-word and the s-word is the easiest way to make other people shitty.
Just dont use the j-word and the s-word.
If that’s too much for you, just point them to a stackoverflow answer, blog post, or a reference material. Let other people be the asshole for you.
Symptom #2. Do you give out orders?
e.g. Do this and that
No one likes being ordered to do something. And considering the nature of open source, there is no reason why that person should listen to you; an asshole. It’s a miracle in the first place that these people made their code open to the public for everyone to use. So, if you want them to do something for you, try being nice pretty please.
You may now be saying “I said those things to help this repo get better.” That’s very nice of you but you are doing the exact opposite because this is how things usually go down.
- You give out orders (like an asshole)
- Repo maintainer reads your shitty comment
- Maintainer gets pissed
- Maintainer gets sad
- Maintainer tries to keep up with all your shitty comments
- Maintainer gets burnt out and stops giving any shits
- All pull requests are ignored
- Repo goes to shit
Try to format your shitty comments into less-shittier comments. In other words, ask nicely. Once again, if that’s too hard for you, try using these pre-constructed sentences.
- What do you think about doing ___?
- How do you feel about doing ___?
- Have you thought about doing ___?
- If I were you, I would do ___.
- That’s a great idea but I would do ___ if I were you.
If saying these make you feel weird or uncomfortable on the inside, try using these things called emojis. They make you seem like less of an asshole with minimum effort. If you are new to the whole thing, here are some popular emojis people often use to make their comments seem less shitty.
🎉 😄 🙏 ❤️ 😍 👍 🤔 🙅♂
Symptom #3. Do you feel entitled?
Of course these people should make their code open source. Of course these people should implement the features you request them. Of course they should fix this bug ASAP because they don’t have anything better to do. Right?
Hate to break it to you but people in the open source community are real people. It may not seem like it, but they are. It’s very likely that these people have jobs, commitments, and other stuff to do. So don’t be surprised if they can’t fix that one bug you found right away or refuse to implement a very specific feature only a small percentage of users would use. That’s why Github has that little “Fork” button at the top right corner.
This one is hard. All I can tell you is that you aren’t entitled to anything. If you really want something, open up a pull request and ask nicely, pretty please.
To wrap up…
I just counted and this blog post contains 17 assholes. What I’ve said may have rubbed off in a wrong way for some of you and I apologize. But I felt the need to share this because some people just need the rude awakening; including me.
It’s been a year I started to really contribute to open source projects and I always catch myself being an asshole. It’s definitely not easy to come off as being asshole online but hey, you can at least try 😄.
« Go test your tests in Go with go test
Xcode Auto Generated Interfaces »