DEV Community

Cover image for How to Contribute to Open Source?
Zeyad Habbab
Zeyad Habbab

Posted on

How to Contribute to Open Source?

If you want to be part of the Open Source world and if you are looking for the way to do this, then this Post is just for you.

Contributing to an open source project might seem daunting or mysterious at first, but after following a few easy steps and knowing what to look out for, it's quite easy to begin having your experience with contributing to software projects.

In this article, I will be guiding you through some practical steps on how to make your first contribution, and also sharing my own lessons learned from my first contribution to an open source project.

Step 1: Set up criteria for selecting the correct issue

The point is, when you decide to start contributing, that's the perfect time for setting criteria that will allow you to choose the right task for you. At this stage, as a new contributor, you are probably looking for simple and quick issues to execute. Currently, the aim is to understand the process and not be faced with complex problems that may require either time or effort.

Otherwise, you are free to board projects that have a good number of stars. Typically, the more star-studded a project is, the more stable and active it is-meaning the project is paid much attention to by other programmers and maintainers.

Step 2 Find the appropriate problem

Searching for the issue is one of the most important parts of contributing to Open Source. Here I'll guide you through the best ways to search for the right issue for you:

GitHub Search
GitHub is the main source for open source projects. Here's how to search for issues:

Use the search bar: You can use GitHub's search bar to find issues matching your skills. You can type in labels like:

good first issue

beginner-friendly

first-timers only

Wanted: Helper

Filter results:
After a search has been run, the left-hand sidebar provides means to filter those results. For our purposes, choose the relevant programming language from the list labelled Language and, importantly, select issues instead of code.

Advanced search Use enhanced search on GitHub to specify the labels you are looking for. Using one of the labels mentioned above such as "good first issue" in the Label field will show you the appropriate issues.

Filter by Project Activity
When you find a list of issues, it would be best if you sort them by recently updated. Why? Because in that way, you'll make sure the project is still active, and if you need help or a review, you will have immediate responses from the maintainer.

Search problems using specialized sites
If you want to simplify the process of searching, then there exist specialized web pages that will help you find what issues are needed. The most well-known ones include:

goodfirstissues.com: This site aggregates a tag-curated list of issues suitable for new contributors. Please feel free to visit it and find the very first problem you can start working on.

Step 3: How to engage with maintainers

After finding a correct issue, the next step involves reaching out to the project maintainer for issue assignment. Below are some tips when interacting with maintainers:

Define what exactly you expect and the problem's solution: When one asks someone to do an assignment, there is no better way than giving them a glimpse of how one sees that problem and a way how one can solve it. It will be good -- an impression of how he understands the issue, end.

Get started: Immediately, when the problem is assigned, it is time to begin right away. Sometimes this problem might also attract the attention of other contributors, and if you wait, another contributor may be able to solve it before you do.

Step 4: Lessons learnt from working on an issue The moment one starts working on the issue and solves it, one learns many lessons. Following are some important points I learned from my personal experience:

Read Contribution Guide
One of the most frequently forgotten steps before contributing to any project is reading the contribution guide that contains all the guidelines and rules which go into making a project and how it should be contributed to.

Deal with the PR
Sometimes, a maintainer will review your PR submission for a solution to an issue and ask that you make some changes. Once you have implemented the changes do not submit a new PR. Instead update your code in your fork, then commit that updated code using a new commit. Using --no-verify to bypass unrelated issues Sometimes, probably you face an issue that you would like to commit and submit, but some tests would fail, that are irrelevant to the issue you are dealing with. You could bypass this kind of issue using --no-verify and continue submitting.

Conclusion:
How to make the most of your first experience Working in Open Source doesn't allow only for improvements regarding programming skills, but opens big doors for collaboration with a great community of programmers, giving you the opportunity to contribute to real projects that affect millions of users. Follow these steps and tips to get into the groove of contributing as easily and confidently as possible into this wonderful world of open source. Choose the right issue, communicate effectively with the maintainers, and enjoy the fun learning experience with every step.

Top comments (0)