Dev Retro 2022: Contributing to Open-Source

For a long time, I had never known my heroes and I had brushed off any expectations of knowing them later alone meeting them. Well, 5 years later since I started programming and things still haven't changed much, but I am still inspired by the work of my heroes. They have achieved amazing things, and their work inspires me to keep building despite the odds. I have learned a lot from them and strive to be like them in some respects.

Open-source contributors have always amazed me and continue to amaze me. They are my heroes. I believe contributing to projects that thousands and sometimes millions of people are using is an amazing feeling. Knowing that what you do matters and that you can make a difference, is humbling. Seeing the impact that these projects are having on this world and how open-source projects can shape the future is inspiring.

I would like to write my journey of contributing to open source. I'm not an expert yet but hey, I got to this far and I'm not stopping any time soon.

How it all started

I chose to study computer science because I was told that I could work from the comfort of my bedroom and make money. This was a lucrative deal for me because I didn't like going outside. I preferred quiet places and entertaining my mind by solving complex puzzles and learning new things.

Before, I heard about computer science. I was interested in studying Civil Engineering. There's just something about construction that I liked, the transition from the drawings and the mathematical calculations on paper to a fully functioning infrastructure. But then came, Computer Science, and I threw all that out of the window, 🤣.

Fast forward to 2 years into programming, and I was now using libraries in Python. To make a request to the web in Python, I needed the requests library. Talk about creating network sockets, import socket. Import pandas to load a CSV file into a data frame.

But I longed for more, I wanted to understand how these libraries work and perhaps create such libraries. This became a burning desire in me. But how could I create such libraries?

Twitter

For a long time, I had no idea of where to start in contributing to open source. I couldn't find resources that would clearly guide me.

In November 2022, I found a GitHub profile and I was scrolling through it. I visited the personal website, checked it, and found that the person was contributing to open source and he was available for mentoring. I didn't hesitate to reach out to him on Twitter about my desire to contribute to open source but not knowing where to start.

He guided me and provided me with resources I could use to get started. I'll always be grateful to you @parthtwts

Contributions

My first open-source contribution was adding my name to a README.md file,🤣. It doesn't seem like much, but I'll always remember the words of @parthtwts:

Just start small and remember to be consistent.

I learned about forking a repo, making a branch and pushing to my fork, then making a Pull Request.

Afterward, I looked around for beginner-friendly projects. I found honeybot. It's an IRC bot and contributors create plugins for the bot. I had no idea what an IRC is and how to create plugins but I wanted to contribute and I wasn't going to stop.

I joined the discord server and the people were very friendly and helpful. I was able to set up everything and created an emoji plugin for the bot. I received feedback on things that I needed to change and add. I implemented the feedback and the Pull Request was merged.

Along the way, I also made contributions to other repositories, especially fixing wrong commands on the README.md. Additionally, I made changes to a GitHub Action workflow repository.

How It’s Going

The plan is to make at least a single contribution to open-source each week. This can either be contributing to the code base or writing. Although, there's no harm in making more than a single contribution each week.

Yesterday, I made a Pull Request to Oppia. Today, I'm documenting my open-source journey. I can only hope for more contributions in the upcoming days.

I hope you found this helpful and I'd love to hear what your first open-source contribution was in the comments below.