Hassaan Pasha, opensource


In this post, I will explain the why and how for contributing to Open Source software by sharing my own experience.

I am Hassaan. I am a software engineer from Islamabad, Pakistan. This is my personal blog/journal. If you are just getting here, read my first post to know why I started writing.

Why did I decide to contribute to Open Source?

Dedicating time and effort to help grow the tools that you use is innately rewarding. You take ownership of said software/tool and give back by making it better for others who use it.

It doesn't have to be so altruistic. There are other benefits behind starting your open source journey. Having a solid profile acts like a portfolio that can show potential employers how you communicate with others to triage issues, your interests and of course, how you solve problems.

In a world that is increasingly going remote, competing on a global level becomes challenging since you have to stand out in a planetary pool. The same is true for people looking to hire remotely. The time and effort it takes to find somebody they can hire without any direct reference is daunting. If you have a public profile that is easily searchable, it increases your chances of standing out. And becoming an active contributor to any open source tool or library that you use is a great way of doing that.

All the software companies I have worked with have had private repositories. Some use Bitbucket and others Gitlab. This makes it difficult to show off your skills to the public. You can read more about my professional journey in my last post.

My Github has been mostly silent since the last 5 years with a few occasional bursts when I may have pushed my own code and did a few experiments. Otherwise, I have a grayed out contributions map. That was until recently, when I started my own journey towards contributing to Open Source.

How did I start?

I was having a discussion a couple weeks back with a couple of friends about if we should start contributing to Open Source. The problem was, we did not know where to start. So I searched on Google and came across a couple of links that seemed promising.

  1. Awesome First PR Opportunities
  2. Up For Grabs

There are labels in most Github projects that let you view issues that welcome first timers.

I decided to search for these labels in the libraries and tools I had used in the past.

One of my favorite online learning resource is FreeCodeCamp. I have used the platform since it started to learn about web development. I have also referred this platform to most developers I have met in Pakistan who were asking for guidance on how they can build real skills.

I decided to search their Github repository and believe it or not, right there was an issue with the first-timers-welcome shining back at me. I clicked away, read through the requirements and posted that I wanted to take it up.

A short while later, I had set up a development environment of FreeCodeCamp on my laptop and was exploring the code base.

I was a little unsure about the protocols of how I was supposed to contribute. I went through their documentation and guidelines and asked to be referred to the appropriate sections using their Gitter.

Later, that same day, I pushed my code and created a pull request that addressed the issue's requirements.

The next day, my code had merged and I had that glorious green square staring back at me on my Github profile.

Since that day, I have had 4 pull requests merged and 1 pending review. It just took me one day to start contributing to Open Source. If I can, so can you. You just have to make that decision and work proactively.

What's next?

I plan on taking on more challenging issues in the FreeCodeCamp repository and become a dedicated contributor there.

I will also start exploring other libraries/tools that I have used or use and try to contribute to one other repository in the coming month.

Thank you for reading and good luck with starting your own contributions.

© Hassaan Pasha.