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.
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.
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.
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.