Find Open-Source Projects You Can Contribute To

Thami Memel
CodeX
Published in
4 min readAug 9, 2021

Contributing to open-source projects is one of the best ways to evolve your skills as a programmer. Especially if you have been learning and never worked on a real-life project.

It can also help you to persuade clients to hire you as a Freelancer, or to get a job faster. My interview ratio for browser extensions related jobs in Upwork is high, just because I contributed to Mozilla’s Add-ons projects.

But finding projects that you can contribute to is harder than you may think. The real challenge is finding projects that use programming languages and libraries you can work with.

In this article, I will show you a few tools that can help you find open source projects you CAN contribute to more easily.

1. GitHub filters!

GitHub has the “Topics” system that can make it easy to find projects for a specific programming language or framework, by visiting the URL github.com/topics/<search keyword here> you can find many projects that might interest you.

But you will quickly find that it’s not an efficient way, since you need to search one by one, and you may find that the project doesn’t have any open issues for new contributors.

The best way instead is to use GitHub’s search filters. By searching for issues using the programming language or library you master as a keyword, you will be surprised by how many open issues you can find.

And to increase your chance of finding good first issues, you can search for issues that are considered good for a new contributor.

Among the most popular tags you can use:

  • First-timers-only
  • Good first bug
  • Contribution-starter

To give you an example, let’s say I am looking for issues related to React, I can combine the keyword React with the tag “Good first bug” to reduce the search results from around 700 to just 200 that might interest me.

Before filtering for React
After filtering for React

Here is the structure of the search query if you want to copy it.

state:open label:"<tag>" <keyword>

There are free websites that provide a nice graphical interface to search using this method, among the most popular ones we find:

2. Codetribute (Mozilla Platform)

When it comes to open source projects, Mozilla is heaven. And personally, I started contributing the most to Mozilla’s projects first, because they make it easy to get started.

Also don’t think that Firefox is the only Project they have, Mozilla currently has more than 2300 repositories on GitHub, and you can start contributing to any of them.

But because of the huge amount of repositories that Mozilla has, it is hard to search for issues that suit you, especially that the issues they are divided between GitHub and Bugzilla.

To make things easier, you can use Codetribute, which is a platform made to make it easy for developers to find their first code contribution with Mozilla. Most of the issues you will find here, if not all of them, are suitable for new contributors.

What is awesome about Codetribute is that you can easily filter by programming languages, and you can also show only unassigned issues.

Codetribute

3. GNOME Newcomers.

GNOME is a very popular desktop environment for Linux, and its repositories are an amazing place to find open issues for new open source contributors. One thing to note is that most GNOME projects are desktop apps.

Newcomers is a very cool guide for developers who want to start their open source journey since it includes step by steps guides for contributing GNOME projects.

But what interests us the most is the Newcomers tag in GNOME’s GitLab. At the time of writing this, GNOME’s GitLab has 29k open issues, 676 of them are tagged “Newcomers”.

These Newcomers issues are a great place to start, since they aren’t very difficult to solve usually, and they help you understand more about the structure of the project.

Open issues with Newcomers tag

Newcomers guide from GNOME

Bonus Tip

If you are just starting with an open-source project, it is better to look for documentation or test units issues, especially if the project is complex. Since they are generally easier to do, but very helpful in learning the project structure. Also, having a basic knowledge of Git is a must.

--

--

Thami Memel
CodeX
Writer for

Software Engineer, Besides Golang i like History, Gaming and Traveling.