3 Reasons You Should Contribute to Open Source

Do you even open source, bro?

Raj Pulapakura
5 min readDec 23, 2023

The term open source refers to something people can modify and share because its design is publicly accessible. (https://opensource.com/resources/what-open-source)

The software we as developers rely on are all open source. Imagine if we had to pay for these software!

Contributing to open source can be daunting at first. It certainly was for me. However, after overcoming my initial roadblocks, I couldn’t recommend it more. And the earlier you start, the more you benefit from the accelerated progress you can make as a software developer.

In this article, I describe 3 practical reasons you should contribute to open source. I also show you how to make your first contribution, and general tips for using Github.

1. Learn how to use GitHub | How to make your first contribution

Contributing to open source teaches you how to use GitHub like a pro.

GitHub is the home of open source, so it follows that learning how to contribute to open source is fundamentally about learning how to use GitHub.

Find a repository

The first step on your open source contribution journey is to find a repository you want to contribute to.

This could be a repository which you actively use (e.g. I use Scikit-learn regularly, so I decided to choose that first).

Another way is to find a topic of interest from https://github.com/topics/. Once you’ve chosen your topic, browse through its repositories and find one you love.

Getting acquainted

Before you can start contributing, you need to read through the codebase, understand its structure, and go through some of the issues under the Issues tab. This will give you a feel of what is being presently done in the codebase.

If you’ve chosen a project that you’re already using in your development, even better! You’ll already have an idea of what to expect in the codebase, and what kind of issues might arise.

Most open source repositories also have dedicated instructions and guidelines for contributions (usually found in a CONTRIBUTING.md file). If the repository you have chosen has this, definitely give it a read.

Make your first mark

It’s time to engage with the repository and your fellow contributors!

There are so many things to do:

  • Like or upvote a comment in an issue/pull request
  • Contribute to a discussion
  • Start a new issue
  • Send a pull request (add new code/documentation)

Repository maintainers usually label which issues new contributors should tackle first using the “good first issue” label:

On the other hand, if you want to create a new issue — maybe you found a typo in the project’s documentation — you can do that too! Just click the green New Issue button and follow the instructions.

Contributing code

Whether you’ve found an issue you’re excited about, or you’ve created a new issue, it’s time to make some concrete contributions.

If your contribution involves changing the codebase itself, you need to create a pull request. It’s called a “pull request” because you are requesting the repository to pull from your contributions.

Watch the video below to learn:

  1. How to fork a repository
  2. How to add changes to the repo
  3. How to submit a pull request

Once you’ve sent a pull request, it needs to be validated (a lot), especially in mature stable codebases.

Each repository has its own verification process for pull requests. Usually, pull requests go through multiple automated checks and need to be validated by a maintainer before the PR is merged.

Using GitHub and Git are essential software developer skills, and contributing to open source might just be the perfect pathway for you to master these crucial technologies.

2. Collaborating with fellow developers and the community

Contributing to open source gives you the opportunity to collaborate with fellow developers.

Much too often we get absorbed in our own little world of software development, and when we fail to realise the value of working with other engineers.

On a superficial level, contributing to open source and working with other developers integrates you into the developer community. The network you establish in this community can open the doors to exciting opportunities.

Additionally, the fact that your work is going to be assessed by others automatically forces you to write clean code. And the feedback you receive from fellow developers directly improves your skills as a programmer.

Further, contributing to open source gives you the chance to share your knowledge. Whether you’re helping out a fellow developer on an issue, or your adding context to a technical discussion, every thing you input into the codebase is valued by all the other developers.

Finally, and probably most importantly, you’re giving back to the community. It’s no joke that we are standing on the shoulders of giants. Contributing to open source can be your way of saying thank you to all the projects that make the world go round.

3. Show off your skills

Contributing to open source gives you a chance to prove yourself as a competent software developer.

The best way to validate your programming skills is to see if fellow developers will accept your code.

But even more than that, contributing to open source is a way of showing that you are actively involved in the developer community.

It also shows that you know how to handle real-world codebases, which is a green flag for employers who are assessing your programming ability.

Additionally, contributing to open source often requires you to use a diverse array of technologies, so it’s a good opportunity to show off your expertise and upskill in areas you are not comfortable with.

Conclusion

If you’ve been wanting to get into open source for a while, now’s the perfect time.

Find a repository you love, get involved in the discussion, and make some contributions.

Make sure you’re polite in all your discussions, and if maintainers don’t get back to you immediately, be patient.

Now go get em’!

--

--

Raj Pulapakura

Machine Learning Engineer and Full Stack Developer. Passionate about advancing human intelligence and solving problems.