I was always excited to try out new things, going to the deep and debugging. Open-source applications showed me the endless path which I had never explored before. Cloning a project and tweaking it, maybe changing colour, text or even a small change motivated me a lot โค๏ธ.
What is Open Source Software โ๏ธ
It is a type of application, whose code is publicly available on the internet. You can directly go and see the code which helps it to run. You have the power to modify, bring new changes or fix any bug. It is mainly maintained by the community but not by a group of specific people.
How My Journey Started โค๏ธ
When I was in the 1st year of my college, I was not familiar with the open-source world. I used to build frontend websites, build small simulated games. So it was a hackathon organized by our college, where I get to know about Git & GitHub. That time I thought it was just like google drive where you can save your code, I was not aware of its power. Later I found out platforms (Like Firefox, Brave, VLC, and LibreOffice) I generally use in my daily life, and I can be a part of that team and contribute to those. So I started cloning them trying to change something and I got to taste the real-world scenario. Seeing those big codebases, surely those are demotivating for any beginners. But I didn't lose hope, it was hard but I continued on the path and now I am here.
It is when I started my journey back in 2019
My First Contribution ๐
As far as I can remember my first contribution was to an organization called sympy
.
I was very excited when my PR got merged after a long review from organization maintainers. It was a very small change regarding some latex, but I will remember it as it is how my journey started. After that contribution lot of things happened. Contributing to an uncountable number of organizations, reviewing code, creating issues, and solving them, surely this is a hell of a fun ride ๐ข.
Contributing to Google Summer of Code'21
I was contributing to random organizations with no plan ahead. Later I heard about this Open Source Programme GSOC. So I thought why not give it a chance? I followed the organization that participated in the previous year, trying to find any relation to what kind of issue they work on, and tried reaching out to previous contributors to that repository. One thing I was sure that I have to somehow contribute to that repository to make myself visible. So I started with some small PRs, fixing small bugs, and talked with mentors and other fellow contributors. Their slack, gitter or sometimes mailing list was the main source of communication. I created pull requests to more than 8-9 organizations and the whole process was very time-consuming. It's not like I saw this repo matching with my tech stack and I started contributing to it. There are lots of intermediate steps like setting up the repo usually takes a lot of time, as there are lots of dependencies. Sometimes it was demotivating, I was stuck one week for setting up the repository.
But in the end, I got to taste the success. Now I can feel everything has a reason behind it.
What I learnt from GSOC โ
GSOC helped me to understand more about my domain. As I had directly worked under an organization actively, I got a taste of the daily life of open-source developers.
Things I learnt there:
Don't create unnecessary commits and whenever you do commit message should be meaningful
If you are early in your career you should avoid git GUI and try to learn more about git commands. It helps you get an idea of what going on behind
Whenever you create a pull request, always remember to give context, what you fixed, and what is the test score, so the reviewer can easily get what this pull request is for.
Always learn in public, it helps you to create a portfolio.
Whenever attending any team call, never address like "guys", always go for neutral like "hey team" or "hey folks".
You should always accept or deny if any google calender invite comes. You may think you will surely join so no need to accept the invite, but it is a bad habit. You should always accept or deny it as it helps another person to plan accordingly.
Don't hesitate to ask your seniors for help. What I did back then is I tried to solve a problem and I was stuck in an installation issue for one whole day. Later I found out I just needed permission, which can be easily solved if I asked for help sooner.
Let's End Here ๐คฉ
In this blog I discussed many things for you folks. Try to follow those and surely you will succeed. For any kind of help reach out to me on Github and LinkedIn. If you enjoyed this article you can support me by buying me a coffee and following me on twitter.