May 5, 2023 · 901 words · 5 min · gsoc
What is Google Summer of Code?
Google Summer of Code is a global, online program focused on bringing new contributors into open source software development. GSoC contributors work with an open source organization on a 12+ week programming project under the guidance of mentors.
Earlier this program used to be student only, but that barrier is no more and anyone can apply to GSoC. Read more about the eligibilty criteria
What to expect in this post?
I will try to be super detail in this post, sharing my experience and providing stratergies that helped me secure a place in GSoC'23 with CircuitVerse.org.
Choosing an Organisation.
It all starts from here! Choosing an organisation is a crucial and foundational step, especially for newcomers to open source software. While it’s beneficial to consider your technical skills, placing more weight on your interests is advisable since you can learn and adapt to the organization’s tech stack while actively contributing.
When did I start contributing?
Contributions are a great way to get a better understanding of the codebase & increase your visibilty in the community.
I started my journey with CircuitVerse somewhere around October'22 when I was looking for potential organizations for GSoC. Since I had been doing some work in ruby, I was looking for similar organizations: CircuitVerse and homebrew thus were on top of my list.
- Adding new features
- Fixing bugs
- Test Cases
Prior to my selection, I had approximately made 9 commits to CircuitVerse’s codebase. Number of commits is not the sole focus; rather, the relevance of those commits to the project holds greater significance
Selecting the Potential Project
Throughout the next few months, the project will be your primary focus, and it is crucial to take full responsibility for its completion. While you will receive assistance from your mentor along the way, it is ultimately your project. Taking on a GSoC project requires dedication and accountability. Striking a balance between ambition and attainable objectives is essential for a successful project.
Before choosing a project for Google Summer of Code, it is important to ask yourself the following questions:
Interest: Choose a project that is based on your interets and tech stack, although focusing on the former.
How important is the project? Will it be ranked higher? Be up to date with the priorites of the org. As after submitting a proposal each mentoring organization will review the applications they receive and determine the best projects using the criteria agreed upon by their organization. Then the Org Admin will rank the proposals with confirmed mentors using the organization’s agreed upon criteria. Next, Google OSPO will allocate each organization a number of slots. The number of slots will lock in the top ranked proposals for the organization. If an organization received 5 slots then their #1-#5 ranked proposals will automatically become GSoC contributor projects. For GSoC'23 the selection rate dropped half and there were lowest selections ever - 967, many contributors couldn’t get selected as their project didn’t receive a slot by Google. Thus it is important to dicuss with your mentor/org. admin the priority of your project.
Analysing the competition: Expect competition, especially for popular projects that attract numerous proposals. Keep in mind that other contributors will also apply for GSoC. To make your proposal stand out, focus on making it unique and compelling.
My Accepted GSoC Proposal - google-doc
What to include in the proposal ?
A well-drafted proposal includes plans on how you intend to implement your project.It is essential to include a proof of concept, and it would be highly beneficial to incorporate supporting elements such as code snippets, visual representations (e.g., images or videos), logs, and other relevant materials.
Some points to keep in mind:
Emphasize Less about
Common mistakes, which must not be the centre point of your proposal
- Name of your college
- Your mark/CGPA
- Big list of technologies you previously worked with
- The detailed description of related projects you worked with
- Your detailed profile
Things that matter
- Previous contributions
- Your understanding of the project
- Your interaction with mentors and the rest of the community
- Feasibility and practicality of the proposed timeline
- Your own creative addition to the proposal which wasn’t given in the ideas list
- Your proposal layout, ie Focus on key areas, writing a long proposal without emphasising core points can distract the reviewer
Before sending it for review, make sure these points are covered:
- Did I mentioned tradeoffs and alternative approaches in the proposal ?
- Did I write detailed timeline ?
- Did I included proof of concept ?
⭐ Proposal must have a proof of concept.
Getting it reviewed & Work on the feedback
Getting a timely review of your proposal from your mentor is important during the drafting phase.
After review, make sure to incorporate all the points mentioned by your mentor. The proposal should make it clear that you have a clear understanding of the codebase and project in order to successfully complete it.
In my case, I managed to submit my final proposal 10 days prior to the deadline after 2-3 reviews.
The above process may appear difficult, but in my experience, it is actually quite simple and straightforward. Ultimately, contributing to open source software can have a transformative impact on one’s life. I followed these steps that helped to successfully qualify for Google Summer of Code on my first attempt in my sophomore year.