Welcome! You clicked on this post because you want to contribute to Open Source, but you need some help in finding the right project, correct? Keep reading for a few minutes and you’ll get some insights that will probably help you a little bit 😉
A common obstacle to overcome is finding the right project but don’t worry, happens to most of us. Everything that comes to your mind is either a huge project and you have no idea where to begin, or some dead projects without a maintainer or guidance on how to help.
The first step is looking at this cool resource called opensource.guide
The name is pretty much self explanatory, this website will introduce you the main principles of the Open Source world. Don’t expect to immediately become an expert, there are a lot of concepts to understand and it will take time.
Read carefully the content here as it will provide you with a useful insight that you will find handy, to move quicker throughout the following steps.
In case you’re still wondering why you should contribute, there are plenty of benefits and good reasons, so many that I actually made an entire video on that.
Once you’ve got some good motivation and you understood the basics, I suppose you want to get started but you have no idea where to begin.
Finding a valid project to contribute to might be quite difficult, that’s why I want to help you with some advices based on my own experience.
The best way, at least for 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 at and you will find some amazing hints.
Some of the software you use everyday 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 reasonable to put that project in the list of potential repositories to contribute at.
Good First Issue & Help Wanted
A common way to find a project, potentially one that you don’t even know, 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 lables are
good first issue,
help wanted and
up for grabs.
If you already have a project in mind, look carefully at issues with those lables.
In case you still need a project, there are some services that use lables on issues to collect repositories.
Some of the most known are:
Those services usually give you some extra insights such as the amount 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!
How to contribute
Once you found 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 writing the script of a video specifically on this topic that I’ll post on my YouTube Channel. Feel free to add a comment here if you have some extra advices and I’ll include them!
If you’re still unsure on how the PR mechanism works and you want to see a quick guide on that, you can read my other article: ⏰ How to create your First Pull Request on GitHub in less than 60 seconds!
Do you have some advices 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!
Hello! My name is Leonardo and as you might have noticed, I like to talk about Web Development and Open Source!
I use GitHub every day and my favourite editor is Visual Studio Code... this might influence a little bit my conent! :D
If you like what I do, you should have a look at my YouTube Channel!
Let's get in touch, feel free to send me a DM on Twitter!