Open-source software has been a major driving force that has enabled tech innovation in the past few years. Take Python Programming Language (PL) for instance, according to a Stackoverflow developer’s survey conducted in 2021, it is the third most popular PL (here). Major tech innovation solutions have been built on top of open-source software such as PL or development frameworks.
Open source is here to stay and thus it provides tremendous opportunities to developers like you and me or even beginners to horn our skills and at the same time contribute to the advancement of open source itself and innovation.
Given the changing landscape of the software world, open-source projects continue to improve and this cannot be accomplished without the larger community of developers or writers who generously contribute to the advancement of these projects.
The good news is that you do not have to be a pro developer to contribute to open source. Now enough with the open-source talk, Let’s look at how you can make your first contribution to open source.
To successfully submit your first open-source PR, you need to have the following pre-requisites:
Familiarity with GitHub and Git basics (More on Git and GitHub here)
Knowledge of any programming Language
Desire to contribute to open source
1. Find a project that matches what you want to learn or your interest
The first step is to identify a project that matches what you are interested in. For example, if you are learning Python or JavaScript then the practical first step is to find open-source projects built in Python or JavaScript. This might be a particular framework written in your preferred PL or If you are already familiar with the language it can be a library you use in your day-to-day work.
One way to discover such projects is to browse through GitHub and filter projects build in your PL.
2. Check the project’s contributors' guide
You’ve selected the project you want. Now is a good time to check through the project’s documentation, in particular, check the “how to contribute” section. This section might be named differently on each project, so make sure the section is relevant. The section should include important information for new contributors to the project. You should be able to get information that gives you pointers on how to make your first PR.
However, be cautious because some projects are poorly documented and you shouldn’t be surprised if you don’t find useful information on how to contribute to the project. If you find yourself in this situation, they are two ways to handle this. One is that this might be an opportunity for you to improve their documentation or find another project because probably that project is not maintained anymore.
3. Start with the easiest issue
Assuming that you now have information on how to clone that project and set up your dev environment, how do you pick your first issue? You guessed it..… the issues section on the project repository is your starting point. For well-maintained projects, most issues will be labelled so it is easy for you to filter and find issues to pick. Different projects have different label names for issues, below are a few labels you may try to filter:
easyfix
Goodfirstissue
newcontributor
docs
A good recommendation is to start with issues related to documentation like simple documentation improvements. This is useful because these kinds of issues require no knowledge of the PL and also they give you an understanding of the project. Additionally, docs-related issues tend to be approved fast. This can give you the mental boost to keep going (who doesn’t celebrate small wins 😀😀).
4. Submit your PR
So now you know how to set up the development environment for this project, and you have chosen an issue to fix, it’s time to get to work. Fix that issue (whatever it is you choose) and submit your first PR then ask the reviews to review your fix. Yaaay!!!! You made it congrats on your first PR
A final word of encouragement
It can be daunting to go through this whole process to the point where your first PR is approved. The good thing is that the community is there to help and that’s why in some cases the maintainers have gone the extra mile to label issues for new contributors just to encourage you to start.
If your PR is not approved on the first review don’t be discouraged, reach out to the reviewer for more help and pointers. Remember the community is there to help.
Happy Coding!!!!!