Welcome! You clicked on this post because you want to contribute to Open Source projects, but need some help in finding the right one, correct? Keep reading and you'll get some insights that can help you in that journey 😉
Finding the right project is a common obstacle that everyone faces; you’ll either find projects that are very large or projects that are dead. But don’t worry, with the help of my guide you’ll be able to find something that meets your needs.
The first step in finding an open source project is to visit this cool resource called opensource.guide.
As the name suggests, the website will introduce you to the main principles of the open source world. However, don’t expect to immediately become an expert as there are a lot of concepts to understand and learning will take time. But the insights you receive will become handy and will help you breeze through the following steps.
Once you understand the basics and are ready to contribute, you’ll want to find a valid project to contribute to.
The best way to start, at least, according to me, is to think about the software you already use on a daily basis. Open up package.json
or the dependency list of the projects you’re working on and you will find some amazing hints.
Some of the software you use every day or the websites you visit might be Open Source as well, try to find the GitHub logo somewhere or directly do a quick search on GitHub itself.
In my case, I use vscode
as editor and I found it reasonable to put that project on the list of potential repositories to contribute to.
A common way to find a project, potentially one that you don’t even know about, is by going backward and searching from issues rather than from projects directly.
Maintainers looking for contributors usually add labels to some issues to manifest their interest in having public contributions. The most used labels are good first issue
, help wanted
and up for grabs
.
If you already have a project in mind, look carefully at issues with those labels.
In case you still need a project, there are some services that use labels on issues to collect repositories.
Some of the most known are:
Those services usually give you some extra insights such as the number of open issues and also let you filter by language, for example, Typescript or Python.
To be honest I’m not a fan of this approach as I think you need a deep knowledge of the project before writing some code for it. Anyway, those websites are quite common so I wanted to mention it. Maybe they will work well for you!
Once you find a project that feels right for you, there are still a few steps to take before being 100% able to contribute effectively, for example finding the right issue that addresses a specific change to apply in the code. I’m planning to address that topic soon, stay tuned!
Do you have some advice for other developers at the beginning of their Open Source journey? Write a comment here and let’s share some knowledge, thank you very much!
Also published here.