In February 2021, I stumbled upon the Google Summer of Code program, and my fascination with open-source technology ignited; however, I quickly realized that I lacked crucial knowledge, and it took me two years to return, armed with the necessary expertise, to finally apply and secure a spot in this program.
In order to prevent other students from facing similar challenges, I have made the decision to document my entire journey of GSoC’23 through a series of insightful blogs.
Before starting, let me give you a brief introduction about myself. My name is Prakarsh Gupta and I am a final year undergrad at NIT Kurukshetra (2019–2023). I am a Full Stack web developer and the founder of dotCard. I will also be joining Expedia Group as an SDE 1 in August 2023.
What is Google Summer of Code (GSoC)?
GSoC is an initiative by Google that helps organizations connect with students and get them started with their open-source projects. It is a great way to dive into open-source. For detailed info, click here.
Unlike a typical internship, Google Summer of Code offers a unique learning opportunity to understand the workings of open-source communities and contribute meaningfully, with the stipend provided by Google serving as a motivation rather than the primary focus. The program emphasizes the desire to make valuable contributions to specific projects.
How to apply?
The initial step involves registering on the GSoC website, followed by the commencement of the actual application process. To participate in GSoC, one must submit project proposals to organizations, expressing their interest in working on their respective projects. Applicants have the option to apply for up to three projects simultaneously, but if selected for multiple projects, they can only work on one project during the program.
The most tricky part is finding the right project in the right organization
How I selected an organization?
It is important to note that when applying for a project with a substantial number of proposals, the likelihood of being selected is considerably lower.
Keeping this in mind, I started searching for projects where not a lot of students might apply. You can easily check out the PRs on the GitHub repos, which will give you enough insights to determine if there is going to be tough competition for the project.
After spending numerous hours, I finally came across one organization that can give me the possibility of writing a good proposal. OWASP is a software security non-profit company. There were many projects under OWASP, but two projects caught my eye. DSOMM(Dev Sec Ops Maturity Model) and JuiceShop, I started understanding both projects and ended up choosing DSOMM because I was able to contribute to some of the good-first-issues.
I began engaging with the organization’s community by actively participating in discussions on the GitHub issues list and Slack channel. Furthermore, I took the initiative to address and resolve some of these issues, which not only bolstered my confidence but also facilitated meaningful connections with the project maintainers.
This was it, after successfully contributing to this project I was sure of writing a proposal for the GSoC program.
Remember, communication is the key. You need to communicate with the mentors during this whole process. Ask questions, try to understand their perspective. Usually people restrain themselves thinking that their question is stupid, which kind of gives an impression that they are not active.
How I wrote my proposal?
I think every proposal should be unique and should be written by you which is why I won’t be sharing my proposal here. But there are numerous resources online that can give a basic template. Here are some points I included in my proposal that I believe were important.
This was the idea list for the project I chose. After spending my time trying to understand this project I was able to conclude a few things about the project, which I wrote under the topic Basic Overview.
- Basic Overview of the Project ( My understanding of the project and its scope).
- Expected results: This is a list of issues you will be working on during your time as a GSoC contributor.
- Plan of Work, This basically means how will you be working on the issue. For example, for the issue “Comprehensive Activity View” I wrote something like
- Timeline: This has to be the lengthiest part of your proposal. You have to give a weekly schedule of how will you be working on issues. This should also include the important dates from the GSoC timeline ( like Community Bonding Period or Mid-Term Evaluation etc)
- Participation: This part includes the commitments I make. Something like how many hours am I planning to dedicate? And if something unexpected comes up, how will I manage my time?
- My Introduction and past experiences (if you have any experience in open-source contribution, that’ll be a big plus) This is important since the mentor should know your background before they can select your proposal. This also gives the mentor confidence that you’ll be able to work on this project.
- Proposals are usually around 12–15 pages long. Try to stick with this number.
After Proposal submission
Even though Google allows students to submit proposals for 3 different projects. I didn’t have enough time, since I started contributing in the last week of March 2023. I put all my efforts into this one project and wrote the best proposal I could.
The results were announced on 4th May 2023, and I received an email from Google that my proposal has been selected. 🎉
KEY INSIGHTS FROM MY MENTORS
Following a discussion with one of my mentors, I gained insights into the post-proposal submission process. Organizations receive a substantial number of proposals and subsequently rank them based on various factors. Projects with multiple mentors tend to receive higher priority, alongside the importance of the project to the organization. Once the ranking is completed, Google allocates a specific number of slots to each organization, determining the number of students they will accept into the program. Finally, the proposals that secure a slot are ultimately selected for participation in the program.