After more than 6 months into this, this question almost seems silly to me…
I remember the first week of September 2018, I was desperate to find just a single good enough reason for convincing me to contribute to the Open-Source community. I wanted to participate in GSoC but the idea of spending my own personal time into someone else project was not convincing me. Even after this, something changed and convinced me to do so. I hope by the end of it, you too will be convinced or at least give it a thought!!
Back in those days, I was exploring the depths of Deep Learning. My interest was divided among the most exciting domains popular those days. But somehow NLP was the top one. It was fascinating and enough to keep me there. The same year, two of my seniors became the first batch to crack GSoC from my college. I can say, it totally sparked hope in others.
I remember the day 15th September, I decided I too want it and started preparing for it. I know it was way too early to aim for it, but at that time I was familiar only with some markdown syntax and basic GitHub interface. I knew the things I don’t know will surely take their time and eventually, they did. I can say I was right about some decisions I took in my life.
So back to what convinced me, I consulted with my seniors and other open source contributors about their motive, which encouraged them to contribute to open-source. I read countless blogs about people describing their motivation, the love for contributing to the community was common among all. But I know this alone will not convince you because you are somewhat like me, after all we all students are aiming for an A tier company to be placed at the end of our graduation. So, why not spend the time nurturing ourselves?
So, the thing is, the companies and corporates these days demand some form of open-source contribution from you. It displays your ability to understand and adapt to different ecosystems(or say codebase) and do some value addition. Also, it states that you can write code which other people can understand. And yes, believe me when I say it, it is highly unlikely that you don’t know now. It’s because I used to think the same, Python development follows PEP8 style and Julia has it’s own. My code formatting skills are a natural now, but those days I used to get many comments to fix them in my PRs.
Also, I got convinced by the fact that this is the way we are going to work in corporate sectors i.e collaboratively working in teams, understanding others code, quickly learning things to replenish our gaps etc. Open-Source teaches you all. So in a form, you are getting trained for it beforehand and yes, the HRs can notice this from your work.
Before getting into Open-Souce I used to hate errors, the error logs were frustrating things for me. But now, I feel a bit off when I don’t see a couple of them. My ability to resolve them by understanding the logs even if I don’t have any idea of their codebase has increased drastically. I feel like I can fix any code now If I can just muster some patience!!
The learning rate in Open-Source is also tremendous. Compared to machine learning, I am learning new things faster now. One thing that I absolutely loved is the appreciating nature of the community. After so many PRs, I still get a smile when I see a merged notification.
Truly, it has been an adventurous experience for me. It will be struggling at first but if you get through that part, believe me…
You won’t be able to leave it!!
Edit 06/05/19 : Now, this tip is coming from a GSoC student.
PS: Medium link https://medium.com/@rohitkumarsingh_16768/why-i-started-open-source-7e3acbb4ea41