I Contributed to Open Source (Here's What I Learned)

Table of Contents

its-me-img

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


contribue-to-open-source-img

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)


start-contributing-img

Here are the key steps to contributing to an Open Source project on GitHub.

  1. 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:

  2. 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.
  3. 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.
  4. 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 the issues tab, you can filter by labels. I recommend filtering by the good 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.

  5. 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.
  6. 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 the issue 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.