Did you know that you can navigate the posts by swiping left and right?
Google Summer of Code (GSoC) is a program by Google which brings students and open source organisations together to work on projects that benefit open source community. Besides many perks (and satisfaction) provided in the program, students also get a stipend which varies from country to country; in India, the amount is $2400.
This article is an account of how I got to know about the program, what all I learned throughout the preparation process and what I’m looking forward to this summer. A sequential pipeline has been followed for the connection and smooth flow of the events.
I’ve always been fascinated by the potency of “lines ending with semi-colon” (no more do I love C though) and how they grant the art of creation to make things better for everyone. Very unfortunately, in spite of excessive enthusiasm and motivation, I never have had experience of building programs to solve real-world problems.
Once into college, I was introduced to Linux; the world’s most magnificent open source software. From there on, I had to wait a while to get introduced to Open Source development through Kharagpur Winter of Code. I learned a lot during this period; git, python, PyGame, working in a team and much more. This encounter fueled my passion for software development and also introduced me to Google Summer of Code.
With guidance from seniors in my institute, I started to look for interesting organisations from the list of last year’s selected organisations. The process was tiring; reading, taking notes and comparing projects across organisations. I, after multi-leveled scrutiny, narrowed down to 3 organisations.
I joined the communication channels of the three organisations and started contributing. At this stage, I faced two hurdles which helped me drop the count from three to one. Firstly, only two organisations had an active channel where conversations won’t start stinking before being replied. An active channel is very important at this stage to get acquainted with the source code.
Once my first Pull Request was submitted, it took close to two weeks to get merged. This pushed my patience beyond its fracture point since I had no clue what to do in the meantime. This was an indication of slow development progress in the organization and, moreover, there was no response to my queries regarding the same in the communication channel.
All pros and cons were noted, contemplated and then I chose (well, as a matter of fact, they selected me) CCExtractor as the organization to work with for the summer.
First and foremost, I read recent conversations on the slack channel and almost all of the documentation available. It was astounding that a project which started as a personal project has turned into something so omnipotent. To express the feelings, I got when I extracted the first subtitles with CCExtractor, words won’t suffice. Being a college freshman, every single step was rewarding to me; my nerves were still very sensitive on that side.
“The memories engraved in our hands are stronger than those in our mind”, and hence I started to look for issues I had even a slight idea about. These usually include updating documentation, improving the readme and fixing small bugs. I also read the conversation in most of the recently filed issues and got myself updated on the development status. In parallel, I was feeding in the beautiful history of CCExtractor, scraping the internet to know more about the organization.
As time passed by, the excitement incremented; waking up, getting myself updated with slack conversations, seeing new bugs filed and then carrying on from where I left. I also started helping new joiners and getting them aboard the development wagon Some of them started thinking I was one of the mentors; that was hilarious!
Though writing the proposal was a heavy time-consuming process, it was equally interesting; reading about new technologies, implementing them, testing and comparing. Proposal writing also required good planning, strategy, and concrete roadmap to avoid conflict of “prerequisites”.
Getting selected for GSoC is one of the crucial steps towards my ultimate goal and it would not have been possible without the support of people around me. The mentors at CCExtractor have been very helpful, supportive and friendly.
The steep learning curve in preparing for GSoC, I hope, continues into the coding period and after. I’m looking forward to learning a lot more and get to be a part of an awesome hackers’ community.
Here is my proposal for GSoC 2018.