Google Summer Of Code ’21 — My Journey to getting accepted at PostgreSQL
Originally published at https://blog.saurav-shrivastav.tech.
What is Google Summer of Code (GSoC)?
Google Summer of Code is a global program focused on bringing more student developers into open-source software development. Students work with an open-source organization on a 10-week programming project during their break from school.
17th May 2021, 11:10 p.m. :
I was attending a project talk and waiting for the Google Summer of Code results. My friends and colleagues had already started receiving rejection or acceptance emails. Soon, a civil war commenced in my belly, so I left the meeting to concentrate solely on my anxiety.
After a few minutes of heart-wrenching anxiety, I finally received an email —
That moment was so powerful and emotional that I can’t even describe it, it is ineffable. I jumped around the house and laughed like a maniac 😂😂. I hadn’t mentioned GSOC to my family before this and they were so delighted to learn about it.
That’s it for the result day. To actually know about how it started, we’ll have to go back in time.
Let’s go back in time
I got introduced to the concept of Open-source and GSoC from a friend — Animesh and the seniors at Google DSC.
DSC Tiet is a community of students and developers at Thapar University. We work on grand projects and talk about tech. You can join the community on Discord.
I was in the first year of my college then and had only learned basic Python apart from normal coursework. So, I took a pass on GSoC in 2020 and focused on building up my skills for the next season.
Everyone had a lot of time to spare during the lockdown, so I began working on my skills, projects and contributing to open source. Phew, what a year.
GSoC 2021 arrives
The month of February was about to end and I had not started with any GSoC prep due to college examinations and other projects (One is usually advised to start preparing in January). I made a general To-do list of tasks to get started ASAP.
Note: I customized this for me and my working methods, you’ll need an analysis of your own.
- Read GSoC Student Guide.
- Sort the top 5–6 organizations based on my stack and the requirements of the projects.
- Join their communities, understand project issues and the general way in which the community works.
- Filter out the top 3–4 organizations.
- Work through the ‘Contributing Guidelines’, project issues, and decide on the primary organization and a backup organization.
I finally began working in the last few days of February. The first thing that I did was to go through the GSoC Student Guide. It contains all the information that you’ll need to get through the program, with relevant links at places. I read it twice, just to get a complete idea.
Note: Do not watch unnecessary clickbait YouTube videos on — “How to crack GSoC?”. Everyone has a unique experience and what works for one person will not work for others. It is an open-source program and NOT a rat race.
After reading the guide, I hopped onto the organizations' page and started filtering projects. The organization list was not out yet, so there was no chance to know if a specific org would turn up again.
A few days passed and the only organization that I could filter out was OpenWISP. Uh. Anyway, the next thing that I did was to go through their “Contributing Guidelines” and open issues on GitHub.
WHAT THE HECK ARE THESE GUIDELINES?
It is a text file that project managers include in free and open-source software packages to describe how others may contribute user-generated content to the project. The file explains how anyone can engage in activities such as formatting code for submission or submitting patches. For example, OpenWISP’s contributing guidelines.
The issues and code base were overwhelming for me. It took me some time to find an issue that would be the easiest. To get started, I introduced myself on Gitter (the main communication channel for OpenWISP), asked relevant questions about the issue, and let others know I would work on it. The community was helpful at every point and I made the first PR within a few days.
The list of organizations was released on 10th March and they selected OpenWISP to be a mentoring organization. I did not have a backup organization, so the next important task was to search for one. They selected some new organizations this year, but I could not find a match. This is when Ujjwal suggested I have a look at PostgreSQL. The projects were amazing and the tech stack aligned with mine. I continued working with both PostgreSQL and OpenWISP, solving issues and contributing code.
It was now the turn to draw up the proposals. The student application period was between 29th March and 13th April. I began writing on 2nd April (late again). After completing the outline, my friends and seniors proofread it before submitting the draft scheme to be reviewed by the org mentors. The proposals had many errors, and I rectified most of them on time and then made my final submission.
Have a look at my GSoC Proposals.
The one and a half months was quite a roller coaster ride. But, I learned a lot along the way and all the work was totally worth it.
Ending this with a quote from Shubhank Saxena’s blog:
For those of you who are reading this as probably a first-timer or someone who got rejected from open-source programs — This is just a program. This is by no means, the definition of open source contribution. Nothing should stop you from contributing to open source, and let selection in any of the programs be an outcome of your contributions!
This is the first blog of my GSoC 2021 Journey. I will be writing more about my technical work at PostgreSQL soon. Subscribe to my newsletter to never miss any updates!
Connect with me on:
If you found my content helpful and wish to support my blog, you can also buy me a coffee below. Thanks!