How I cracked GSoC in my Freshman Year
Last month or so, Google announced Google Summer of Code 2019, and I have been bombarded with queries from many Google Summer of Code aspirants asking for tips on how to crack GSoC. I have also seen students asking in Debian’s outreach mailing list how to contribute to the Debian Project and eventually get selected for Google Summer of Code 2019. Therefore, I will try to resolve some queries in this blog and hope it helps you get going on open source projects and ultimately crack the Google Summer of Code.
I will write this blog replying to various questions that I have been asked. So, this will be in a question-answer format, or some might say my interview with myself.
How did you start contributing to Open Source projects?
In my 12th standard I heard about Google Summer of Code, I did not know what it was and how to get selected but I knew it’s somewhat prestigious and one should at least try to get selected in it. Then, I got lucky when I choose Cluster Innovation Centre, Delhi University for my undergraduate. Being a batch of 40 odd students it’s easy to interact with seniors and alumni. I attended a workshop organized by HashInclude on ‘Open Source development and GSoC’. It was taken by two times GSoCer Rajan Maurya and Pawan Pal. Both of them are alumni of Cluster Innovation Centre. They suggested us to start reading codes on Github and upload our projects to get acquainted with Github Platform and Open Source Development. Hence, I pushed a few course projects to Github in November.
We, at Cluster Innovation Centre, also organized the first version of CIC Month of Code (CMoC) to help students know about Open Source projects and to build their Open Source profile. It's similar to the GSoC format where students pick projects suggested/submitted by Open Source Torchbearers.
When did you start preparing for Google Summer of Code?
I first looked at GSoC projects and organizations in October. Just glanced through them. It was of no actual use, except for the part that it demoralized me, telling me these projects are way over my level. In truth, they were really good projects for a first-year student.
I didn’t really prepare for GSoC per se. GSoC organizations for 2018 were declared in February and I gave them a look. Then, I searched for organizations that worked with C++ or python. There were a lot of them. In my first iteration, I skipped some well-known organizations like Debian, Mozilla, VideoLan, etc, thinking that obviously they have an excellent outreach and selection would be difficult if applied to them. I started reading some projects and joined a few slack/IRC groups.
In my second iteration, one of my friends told me to give a look at Debian. He said, they have interesting and less complicated python projects, and Voila! I discovered invoice2data.
After selecting a project how did you contribute to it?
This is the process that requires dedication more than anything. I read the documentation of the project, looked into the engine, researched about Regular Expressions. While going through the documentation of the project. I found a typo and Bang, there goes my first Push Request and my first contribution to the project. For the whole month, I tried to have as much conversation with the project mentor Manuel Riel as possible and didn’t even look at any other project. I made 9–10 PRs out of which 5–6 got merged. They weren’t major changes but minor fixes and features which helped my understanding of the project.
How did you write your proposal?
My proposal for GSoC was short but informative. It was about 5 pages long with all the possible description that I can give. Yes, 5 pages is a small proposal length. I made sure, I filled everything that Debian asked me to put into the proposal from my availability to what my workplace will be. This was my proposal: Debian Proposal
What should a student who wants to work with Debian Project do?
Debian Community is one of the most democratic and helpful community I have come across. Everyone tries to help each other out. Right now, I would suggest you subscribe to their outreach mailing list. You should also go through this thread.
What are your tips for Google Summer of Code 2019 aspirants?
There are a few tips I would like to give:
- Google Summer of Code does not want coding experts but wants students to get started with Open Source development and hence if you are a coding novice (like I was), don’t let it stop you from applying for GSoC.
- I have found is that it’s more important to make the project mentor believe that you will continue working with the project and will complete it rather than how much coding experience or expertise do you have.
- It’s really important to interact with the project mentor and keeping him in the loop for things you do. But, don’t constantly bug them.
- Don’t meddle with a lot of projects take your time to select a project but then give your full dedication and time to it.
- Start contributing to projects after the organizations are announced and the organizations give their project ideas. Keep contributing to the project until the results are announced. It’s really important to contribute when the application period is going on.
- Read a few previous project proposal before writing your own for the organization you want to apply for.
My Github profile: https://github.com/duskybomb