TheLearningDev's Blog

TheLearningDev's Blog

First OpenSource Contribution? Don't Start at Good First Issue

Photo by Roman Synkevych πŸ‡ΊπŸ‡¦ on Unsplash

First OpenSource Contribution? Don't Start at Good First Issue

Bhavani Ravi's photo
Bhavani Ravi
Β·Oct 4, 2022Β·

2 min read

Subscribe to our newsletter and never miss any upcoming articles

A solid OSS code contribution will take somewhere from 3-6 months. But that sounds like a tedious task and a lot of time and effort. It is. That is why it has high credibility.

It involves

  1. Getting accustomed to the project
  2. Reading and understanding their code base
  3. Finding interesting issues
  4. Fixing the code
  5. Making a PR
  6. Fixing the review comments
  7. Merging.

Most people get stuck in finding a project and finding issues to solve. There are a few tricks to make this process easier.

When you look for advice to make your OSS contribution on the internet, most people say go with good first issues. I'm writing this specifically to argue against this notion.

Project that you already familiar with

Pick an open-source project or a library that you already use every day. If you are a Pythonista, the easiest way is to look at your requirements file. My first contribution was to Pandas because I actively used it in my project.

Make a list of issues

Make a list of all the things you want this library to do. Do wishful thinking. Think of a new integration or make it faster or a section for which documentation could be better.

If you already know anything you can improve, raise an issue. Remember that issues are a way to open conversation; just because you open an issue doesn't necessarily mean it gets fixed or incorporated, but it's a good starting point.

When raising an issue, stick to the community guidelines

When to use Good-first issues

Good first issues are great if you can't find anything feasible to work on in the above steps. Filter the issues using the good-first label

Don't get intimidated by conversations happening over there. Go join in. Write what you think can add value to the thread.

Look for stale issues, something that was left unsupported for years.

Β 
Share this