DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

Joonhyeok Ahn (Joon)
Joonhyeok Ahn (Joon)

Posted on • Updated on

How to choose the right open source project for you

Content

Intro

It seems trendy to be a part of open sources lately. I've heard a lot of people wonder how to start contributing to an open source project. I will share tricks and tips. Yet, I will start with a few points you should keep in mind.

First, contributing to the open source should be beneficial to you. Your most precious asset is time. So, think about the reason why you want to be involved.

Second, popularity of a project, which is often measured by the number of stars, means nothing. It may sound cool to say you are contributing to a known project. Yet, those project might not be right for you.

When I started open source projects, I tried to be in any popular projects. And I ended up learning nothing with frustration. This article is not to make another passionate dev miserable.

How to look up the projects

If you decided to be part of open source world, next step is to find the right ones. Here are a few tactics I use every time.

Start with your own struggles

Beginning with your own difficulties is the best way to start open source imo. For example, do you hate a library you use for logging or monitoring. Or do you find minor errors in the library? You can report this to the project and even propose a better way! They will welcome you if you are willing to improve their project. Plus, as you already have context, it will be easier to start.

Start with your desire to learn

What if you don't have ideas? Then begin with what do you want to learn. I lately wanted to learn more on CI/CD process in depth. I found woodpecker (if you are interested in) and start contributing to it. While I've been involved, I learned a lot about a better way of designing Golang project and general software engineering.

How to filter further

If you searched well, you may have a handful of projects you are interested. Feeling ready to dive? Wait a few moments. From experience, we need to be more strict about projects we will join. Why? Some projects are not easy to contribute to, and your time is PRECIOUS. Here are a few criteria you can refer

They don't have docs

Having right documents is useful to understand about the architecture, codebase in high level, and so much more. Without it, you have to struggle to find the right resources.

They don't have good labels in issues

Putting labels is useful to categorize issues to maintainers, but also beneficial to potential contributors as they can find what they are interested in with ease. It will be difficult to find what to touch if they don't have any tags.

They don't communicate

I had an experience I asked to be involved and didn't receive any message for a month. If they are not willing to communicate, it's a good indication they are probably not going to answer your question while you are contributing... There are more supportive ones

They are too competitive

You may notice from issues that people are fighting for issues to be assigned to themselves. This may show that the project is not having enough issues for contributors. Or this may show that contributors are too competitive.

Other people may have more criteria, yet these were enough for me to narrow down what I want to participate.

What is next

Participating in open source is not easy. You have to spend your time and energy, so it's not for everyone. Still, if you see more benefits and decide to try it, use the tactics I suggested finding the right one for you :)
Start your journey today!

For more useful content, follow me @bitethecode or on Github!

Top comments (0)

We believe in Open Source.

It's why we built Forem, the open source tool that powers DEV. You can contribute to the codebase or host your own.