Guide to Making Your First Open Source Contribution

3 min read

Do you want to contribute to open source but don't know where to begin? Does contributing to open source sounds very intimidating to you? Then this post is for you! Here's a step-by-step guide that will help you make your very first open source contribution!

Please note that this guide assumes that you are familiar with Git and Github.

Step 1: Pick a Project

Before you even start contributing, you need to look for a project to contribute to. (If you already have a specific project in mind, then you can move on to the next step.)

If you don't know what project to contribute to or where to even begin looking for such projects, then you should start by first making a list of technologies and skills you're familiar with. CodeTriage is one such tool that will help you find a GitHub project that is looking for contributors based on your skills. You can filter open source projects by any programming language of your choice.


You can even sign up to the platform and receive a different open issue in your inbox every day.

Alternatively, you can directly look for projects on GitHub and filter them by languages and topics.

Github Topics

If you're still confused about what project to pick, you can think of a library or package that you love and contribute to that. Or a bug that you came across in one of the packages, and start by trying to fix that.

Step 2: Setup the Project Locally

Hopefully, the project that you picked will have a development setup documentation present. Search for the guide to setup the project locally and get started. The guide will be enough to get you setup but incase you get stuck, you should look out for the project's communication channel to seek help from other contributors.

If you can't find any such channel, the next option would be to identify the project's maintainer and send them an email asking for the same. If this doesn't work, then you can try your luck by creating an issue on GitHub itself.

Step 3: Read the Contributor Guidelines

If a project accepts contributions from the community, it's likely it'll have a contributor guideline present.

Contribution Guidelines

You must read it before you go ahead and make any contributions. The guideline will help you understand the standards and practices used in the project. For example - branch naming, commit message formats, pull request title guidelines etc.

Step 4: Begin with Newcomer Friendly Issues

Navigating new codebases can be intimidating. It's easier if you start out with smaller or more beginner friendly tasks.

To look out for those, check if the issue tracker has issues labelled with tags such as 'beginner friendly', 'newcomer friendly', 'good first bug' etc.

Good first issues

If not, then ask in the communication channel if there's a task that you can pick up.

Step 4: Start contributing

Once you've picked the issue, make sure you assign yourself so that someone else doesn't start working on the same thing.

Read the issue description carefully

Sometimes the issues would describe exactly in which files the changes need to be made or how to reproduce that issue.

Ask for help

If you're still lost on how to start, ping someone for help to direct you towards the right files

Reproduce the issue

If it's a bug, try to reproduce the issue yourself and understand the current flow of the project. This will help you get familiar with the codebase.

Time for a self review

Do not forget to look at the code quality guidelines. Add unit tests if required. Write good commit message and PR titles.

Be patient and respectful. It's an opportunity to learn from others. Sometimes, it might take several rounds of review to get your first PR accepted!

First Contribution

You can head on to First Contributions repository on Github that will help you walkthrough the process of making your first contribution, from forking a repository to merging a PR, like a practice run.

Table of Contents

Related Articles

Take Your Job Search To The Next Level

Searching for a job is a stressful and frustrating process, especially when you've put in a lot of effort and time into crafting the perfect application and you don't even hear back from the employer. The waiting game can be frustrating, and it's…

Read more

How To Teach Yourself Data Structures & Algorithms

Self studying can be difficult and intimidating. If you want to learn data structures and algorithms but are stuck on how to begin, then keep reading! Though there are many paid courses available to you that can fast track your learning, in this post…

Read more

All You Need To Know About Building An Ergonomic Setup

What makes a setup ergonomic? For decades, scientists and medical professionals have been attempting to understand the human body and how it interacts with its environment. An ergonomic setup's purpose is to help you maintain excellent posture and a…

Read more