What I Learned From Making My First Open Source Contribution
open-source contributor and aspiring entrepreneur
The sheer idea of the magnitude of impact you making by just contributing to an open-source project is breathtaking. Imagine software that runs on thousands and thousands of users’ machines and imagine that little feature you made last week is running on all of them.
Knowing that just sends shivers all over the body and a weird sense of fulfillment. This might be one of the best and the craziest things about software development — the fact that it dramatically scales your impact, even modest contributions.
eating the world
,” — Marc Andreessen
And if you are just like me, you must be thinking of or planning to contribute to open source since you started programming. But somehow you either couldn’t find enough time for that or you were just afraid of the complexity involved with it. You might have thought that it is too hard for novices or that only the best people in the industry contribute to open-source. And to be honest, from my latest observations, you are mostly right. But doesn’t that make being involved in open-source even more exciting?
There are tons of opportunities to contribute to open-source and here I would like to share 5 lessons I learned while making my first open-source contribution:
1. Start small
While being ambitious is good, it will be easier to just start from a small change. Be it a bug fix or improvement to documentation or adding tests. Don’t feel like your contribution has to be hundreds of lines of code. Even one line fix will be a huge benefit to the community. It is important to start early rather than waiting for a perfect moment.
2. Pick first-contribution friendly issues
You may be having a hard time choosing the thing to work on and there are a lot of open issues with different difficulty levels. Checking issues with a first-time contributor label will help you tremendously to find the right problem to work on. Just search for good first issue
labelled issues and pick the one you can tackle. The following repo a good place to start: https://github.com/topics/good-first-issue
3. Read contribution guidelines
Everyone just wants to jump into the codebase to start making changes. And in my opinion, that is the right thing to do. But still, it is a better idea to at least skim through documentation and contribution guidelines. Doing so may save you a lot of time because you would be able to get a general picture of the whole project, run the tests and be sure that they all pass before removing and adding anything new. Once you are happy with your code, go back to reading them more thoroughly and be sure that you comply with contribution guidelines before submitting your first Pull Request.
4. Contribute to projects you use and love
Try contributing to open-source software that you use in your daily life. It could be your favourite IDE, video editing tool, web application or some library that you use extensively in your projects. With a broader understanding of the product, it will be both more motivating and easier to contribute.
5. Be nice to others
Let’s say you submitted your first Pull Request and you are very excited, but afterwards, things don’t go as you expected. It could be that your pull request is getting reviewed slowly or your pull request gets closed without being merged. It is easy to get emotional in such a situation, but keep in mind that open-source project maintainers are not usually paid and they do it voluntarily on their own time.
So do your best to always be polite. It is hard to know what the person on the other side of the screen is going through in his life. Don’t forget to compliment and thank them.
Open-source is more about collaboration and it is an amazing opportunity to give back to the very community itself. Additionally, it is an amazing opportunity to learn from and work with the smartest people from different countries, cultures, and backgrounds. Go ahead and make your first contribution!
Thank you for reading! :)
Subscribe to get your daily round-up of top tech stories!