How to get started in contributing to open source

June 5, 2019

Allow me to start this article with an anecdote, it was a few months ago, where we were upgrading Flow version and it led me to a bug in babel. After some googling, I landed onto an issue reported to babel.

I think in most cases, when we ended up onto an open Github issue, there's where all our leads ended. The only one obvious way solution is to wait, wait for the library maintainer to fix it.

The next best alternative is to read through the issue threads, and find any patches or workarounds that can be applied in the mean time.

We have been so used to making use of an open source libraries, tools or frameworks in our daily development, but it rarely occurred to us, that we should sometime, contribute back to the open source libraries, tools or frameworks we used.

To be honest, I felt inadequate when I made my first merge request to babel. Who am I to make changes to the tool that was used by every JavaScript developer in the world?

My answer to that is, everyone plays an important role in shaping how babel is today. Babel, or any other library would not be what it is today, without the constant contributions from the community.

So, if you are interested in playing a part in the open source libraries, tools or frameworks you used, spare me a few more minutes to read my following two cents on how you could get started in contributing to open source libraries.

1. Read CONTRIBUTING.md

Most popular open source libraries have this file called CONTRIBUTING.md. CONTRIBUTING.md is where library maintainers document down what you should know before starting to contribute to the library.

Examples:

So if you want to start contributing, start with reading CONTRIBUTING.md!

2. Good First Issue

Usually mentioned within CONTRIBUTING.md, most popular libraries do label their issues to categorize them. In our case, "Good First Issue" is what starters should look out for. When library maintainers labelled their issue as "Good First Issue", they usually expect to guide and give advice to anyone who is willing to work on the issue. By working through the issue, contributors should gain some practical understanding on how things works, and be more confident in fixing the next bug.

Examples of "Good First Issue":

3. It doesn't have to be code

When we think about contributing to open source, we might just think of contributing in terms of code. Well, we don't have to limit ourselves to just contributing code. There are a lot other ways to contribute:

  • Report an issue. Discuss and make suggestions in the issue
  • Improving the docs. You may have spent a lot of time figuring out, maybe it will save the next person's time by converting your experience into a better doc?
  • Tweet, blog or talk about it. Good thing must share.

Closing Notes

If you are interested in contributing to open source, and have no idea how to get started, these are 3 tips I can give to you.

Hope to see your contributions out there soon!