I Contributed to Open Source (Here's What I Learned)
Table of Contents
How It Made Me Feel
I’ve always wanted to contribute to an Open Source project, even if just to prove to myself that I’m good enough.
I’ve always seen it as a way to challenge myself, to step out of the comfort zone of private personal projects and dive into a codebase written by someone else!
Being able to contribute for the first time to an Open Source project gave a huge boost to my self-esteem.
It means I’m ready—someone else will be using a piece of my code, not just me. And I’m doing all of this through something I genuinely love doing!
Seeing my GitHub profile picture among all the other contributors was magical—something I’d wish for everyone doing the same job as me.
What I Learned
During the contribution process, I learned a ton of things, and the whole experience felt like a breath of fresh air. Not just because it was my first time, but also because of the technologies involved—they’re a bit different from what I usually work with day to day.
At first, it was a bit overwhelming—jumping into something already built and having to figure out how it works.
But thanks to the project’s documentation and by exploring how similar features were built, I managed to bring some order to that initial confusion.
The IDE was super helpful to follow the flow of how the different parts come together to form the whole project.
Overall, it was a really interesting experience. I got to explore a different way of building a project.
Sure, it’s true you can explore Open Source projects even without contributing—but contributing actually forces you to dive in, and I think that’s a great exercise!
Benefits
I think contributing to Open Source projects is a great way to stay sharp with technologies that you don’t use every day at work.
It’s also a fast way to bring real value to projects that might even be tools we use in our daily lives.
Looking for projects to contribute to can help you discover new and interesting Open Source projects that could add real value to your life.
Personally, I try to choose Open Source projects over proprietary software because they’re free and I have full control over them—something you just don’t get with proprietary software.
For example, if a company decides that software you’ve used for free up to now becomes subscription-based overnight, there’s nothing the user can do about it.
Contributing to Open Source projects is really well-regarded in the community, and employers take notice too.
It’s kind of like working for free—if you actively contribute to Open Source projects, you’re seen as someone who already knows how to work in a team.
How to Get Started (Practically)
Here are the key steps to contributing to an Open Source project on GitHub.
-
Find a project
This is usually the hardest part for a beginner, because we tend to want to contribute to projects we care about or already use daily—but often, those codebases are built with technologies we don’t yet know.
A good way to start is by checking out GitHub Good First Issue. It lists projects that are happy to welcome new developers with no prior contribution experience.
There are also other sites made to gather great beginner-friendly projects:
-
Decide whether to contribute or not
Once you’ve found a solid candidate, here are a few checks to help you decide:
- The
LICENSE
file is a good place to start to understand if the project is truly Open Source. - Look at the number of commits and when the last one was—this helps understand if the project is still active.
- Check out the
issues
(aka open tasks) to see if they’re recent and whether maintainers respond promptly. That’s usually a good sign that they welcome new collaborators.
- The
-
Read the documentation
Reading the docs is key to understanding how the project works and how to collaborate without messing things up.
- Start with the
README.md
and dig deeper from there. - The
Code of Conduct
gives you a sense of the behavior expected from contributors. - Another important file is the
contribution guide
—it might be a separate file or part of the README. It gives you the technical steps to follow to contribute properly.
- Start with the
-
Find an issue to work on
Once you’ve chosen a project, the first thing to do is find an
issue
(a task to work on).
In theissues
tab, you can filter by labels. I recommend filtering by thegood first issue
label—that way you’ll see the easiest ones.If the project excites you and you have features or changes in mind, you can even open your own
issue
.Once you find a task, read through the discussion and ask questions if anything is unclear.
Also, make sure the task hasn’t already been assigned to someone else before volunteering.
-
Work on your solution
Once you’re assigned to the task, you can start working on it.
- First thing: fork the project to make a copy you can freely edit. The
fork
is your own version of the entire project, under your GitHub profile, completely separate from the original. - Then clone the fork to your local machine:
git clone https://github.com/<username>/<githubRepository>
- Create a new branch (unless the
contribution guide
says otherwise). Always work in this separate branch. - Make your changes as usual, committing and pushing as needed.
- First thing: fork the project to make a copy you can freely edit. The
-
Open a Pull Request
When you’re ready, open a pull request from your fork to the original project.
A pull request is your way of asking the maintainers to merge your changes into the main project.
Once they review and confirm your code is solid, they’ll accept the pull request—and your code becomes part of the official project.
The pull request process can vary depending on the project. Sometimes you have to answer questions; other times you’re free to write your own description.
I recommend linking theissue
the pull request refers to.You can also open a draft pull request if you want early feedback and want to show that the code is still a work in progress.
Congrats—you’ve just helped make the world a better place :)
And trust me: even if it looks complicated, every small contribution makes a difference.