How I got into Google Summer of Code

Md Mohammad Sarfraz Alam
7 min readSep 11, 2022

--

Recently I got this amazing opportunity to be a part of Google Summer of Code 2022 in my sophomore year. This blog consists of an intro to GSoC and a step by step guide on how to apply to maximize your chances of getting selected.

About Me

I’m Mohammad Sarfraz Alam, an undergraduate student at Jamia Millia Islamia, major in Electronics and Communication Engineering. I got accepted in GSoC 2022 under Score Labs.

Table Of Content

  1. What is Google Summer of Code?
  2. Why should you apply?
  3. You don’t need to be a PRO.
  4. Start your journey
  5. How to choose your organization
  6. Now what?
  7. Start with your GSoC proposal
  8. Applying
  9. Rejection
  10. Conclusion

What is Google Summer of Code?

The Google Summer of Code (GSoC) program gives new contributors to open source the opportunity to gain real world experience by working on a 12+ week coding project with one of about 200 open source organizations under the guidance of dedicated mentors. Whole idea is to get more and more students involved in open source.

Why should you apply?

  1. You get to learn new stuff. 🙂 You will get the opportunity to meet mentors and community members.
  2. GSoC is a great place to get you jump-started and up to speed on the basics of the open-source community.
  3. The GSoC tag on your resume will give you an edge over other applicants while applying for jobs.
  4. Other advantage is you get a decent stipend while working on an amazing project!
Photo by Dim Hou on Unsplash

You don’t need to be a PRO to be selected!

There’s been a norm that you have to be an awesome developer to be a part of GSoC. It’s not the case. Even I’m still figuring out things, there are plenty of things that I don’t know and the same goes to the team who has been selected. You just have to be familiar with the codebase you’re working on and know how to collaborate. Yes, you should be aware of the tech stack and such but being a PRO isn’t a case.

Don’t have a thought that, “I’m not good enough”

GSoC isn’t a race, and certainly the fastest is not always the winner.

Start your Journey

Okay, it’s happening!

Starting out is one of the hardest things here. Just be patient and be calm.

Things will take time here.

How to choose an organization?

Choosing an organization is one of the hardest tasks. There are many factors that come into place.

  • Are you familiar with the tech stack being used in the App?
  • Have you previously contributed to such organization?
  • Do you like the project?

Yes, these questions are too generic and you might not be able to find with all these.

It will be very hard to find a perfect project for the majority.

You might see a project using react but you’re not familiar with the back-end tools being used in it.

Don’t worry. You don’t need to know everything in a project.

The way I did is to try all the projects that I found interesting and then shortlisted the one’s that sound good.

In my case, I tried Rocket.chat, Hydra Ecosystem, Circuitverse and Scorelabs, and finally I finalized with Scorelabs.

Try creating a list of project that you find interesting and that you can contribute, and Shortlist along the way!

But… Organizations list haven’t been announced yet?

Okay, yes the organizations list for GSoC will come out around 2–3 months before proposal submission stage. Ideally, most of the Organizations that have been a part of GSoC for more than 2 years eventually become a part of GSoC next year as well.

Just have a look on the past organizations for 2022,2021,2020.. etc., and pick your organization.

Waiting for the organization list for GSoC might be late. Its best is to start as early as possible to increase your chances for selection.

Okay Now what?😕

You got your organization. Now what to do?

You can start setting up their project on your local system, and start contributing. You might run into issues but don’t worry the community is always there to help you out!

Now this step would vary according to your organization you’re in.

See more about the organization if you could find an online community of your organization. ****This may be in Slack ,Gitter ,Discord ,Google Groups ,etc.

You can introduce yourself and show your interest in the project. Many other contributors would love to help you out.

I got into the community but they don’t reply? 😥

Yes, this could be a case, or maybe no one reacts to your message.

Now you can either start a discussion topics related to that project or some feature you might want to propose. Other contributors/mentors might participate discussing on your suggestions and would help you out. If still it doesn’t help, then you can go onto issues and discuss about topics there. you can create issues, pull request related to fixes, features etc.

Remember, don’t spam. Nobody likes it. Starting out takes a bit time, you have to be calm.

You can look through issues labelled as good-first-issues to start with. And its also okay if you don’t know how to fix that as well. You can discuss it with the other members on how to fix it.

Help Others

Open Source is not a competition but a collaboration. Help others too!

Start with your GSoC proposal 🗒️

Now you found your organization and your project.

Now you have to choose an Idea from the Idea’s list and create a solution around.

Lets start with your proposal. 😊

Your Proposal should show what solution you have to the Idea and how will you be planning to solve the problem.

Now is good time where you can discuss with the mentors about the idea and maybe get some tips from them.

Each project has an assigned mentor(s) in GSoC, who will guide you through if you get selected.

If your organization has a proposal template, you may start creating from that.

A GSoC proposal follows this structure(Usually)

**Project Introduction**
Intro about the project
**Project Goals**
Here you will explain the idea you're writing a proposal for
**Implementation**
In this section you will explain how you'll be solving the problem
**Project Timeline**
In this section you contain week-wise implementation for your project.
**Contributions**
Here you can showcase's your contributions in open-source and within the organisation
**Personal Information**
This will contain your personal information, and any other information you would like to convey to your mentors.

As per 2022 GSoC has a limit of 3 proposals per Contributor. So you can create proposals for 3 ideas, this may be within the same org or multiple different organizations.

“Unique Rule”

This point is from one of the blogs I read while starting out, i.e. “The Unique Rule”. You can check out the whole blog ****here.

Most of the accepted proposals have something unique. Basically, The Unique Rule means that you should have at least one of these in your proposal:

  • Unique tech stack
  • Unique project
  • Unique proposal

I highly recommend to checkout out his blog.

Applying!

Apply draft proposal as soon as possible. Always try getting a review from the mentors.

You can share your draft proposal to your mentors and they might give out some very important points that u missed which will increase your chances by a lot!

Now everything is done, You can submit your final proposal and hope for the best!

Rejection

Many at times, it happens that you do everything right but still, in the end you get rejected.

That’s not your fault! Organisations have limited slots, so they’re forced to select only a limited contributors.

Being selected or rejected for GSoC doesn’t make you an awesome developer. The learning you get in the process is more important.

Conclusion

GSoC is a great program but working on an open source project and collaborating as a team is the real hidden gem.

Open Source is not a competition, but a collaboration.

Enjoy the process. Have fun!

--

--