Finding an open-source project to contribute can be a frustrating process. Especially when you are a beginner and all projects look overwhelming.
As a result, in this article, you will see a couple of ways and resources to find Open Source projects to contribute.
Ways to contribute to a project
Before continuing further, let's talk about a common misconception. Many developers have the misconception that contributing to open source is all about programming.
Thankfully, that is false, and there are many other ways to contribute to open-source. Some of the ways you can contribute are as follows:
- Writing and improving the documentation
- Creating tutorials and supporting material
- Organising issues on Github
- Translating the documentation and supporting material to other languages
- Reviewing code and helping with pull requests
- Improving the project structure
- Re-structuring the code
As you can see, writing code is not the only way to contribute to open-source projects. Thus, the next step is to find those projects so you can start contributing!
How to find Open-Source projects
The first method to find a project is to look at your favourite tools you are using at the moment. Check if they are open-sourced and then find a way to contribute to those projects.
For instance, if you are using Visual Studio Code as your primary editor and enjoy using it, you can contribute to it because it is open-sourced.
However, it's not always that easy to find projects. Thus, I want to show you a couple of websites you can use to find open source projects.
The first website is called "Good First Issues", and it contains only tasks suited for beginners.
It aggregates the issues labelled as "good first issue". This label indicates that the tasks are suited to people contributing for the first time to open source.
You can filter by the programming language, issue label, and repository on this website.
In figure 1 above, you can see how the website looks. Once you found a project and an issue to your liking, click on the button saying "Go to issue". From there, you can take it forward and start contributing.
The second website is called "Good First Issue", and it's similar to the one above. This website curates issues from popular open-source projects.
It's important to note that it curates easier issues targeted towards people making their first contributions.
You can filter the projects by the programming languages and see the relevant projects. In addition, the website shows the name of the project, the description and the number of issues.
Thus, once you find a project you want to contribute to, click on it to see all the available issues.
Up-for-grabs is another excellent website to find open source projects to contribute for the first time.
You can filter the projects by:
Like all the other websites, it curates tasks for new contributors! Once you find a project, click on it, and it will take you to its Github repository.
Github could not miss from this list. You can use Github to search for various labels and find all the issues associated with that label.
Issues suited for first-time contributors are usually labelled as
good first issue. Thus, you could search for that label on Github, as shown in figure 4, below.
You can see all the issues labelled as "good first issue" - there are 1,777,097 such issues, so you have plenty of options!
Thus, you can use Github to find projects to contribute to instead of using other websites!
Another website where you can find projects is
Firstcontributions.github.io. Similar to the other websites, it curates projects, so you do not have to search for them manually.
The website allows you to filter the projects by the programming languages and labels. Thus, you can search for the
good first issue label to find issues targeted to beginners.
Figure 5 illustrates an example of searching for tasks with the
good first issue label.
Therefore, the "First Contributions" website is a great alternative to find open-source projects!
These resources are more than enough, and I hope you find a project to contribute to! Go through each resource and see which one appeals to you.
Additionally, I'd be curious if you know any other resources to find open-source projects. If you do know others, leave them below in the comments!