In this article I want to share my experience in applying to Google Summer of Code 2023 (GSoC). I was lucky enough to get accepted and I hope that this article will help someone in their future applications.

Disclaimer: This article is not a guide on how to get accepted, it’s just my journey and my thoughts on the process. The outcome depends on your skills, organization, the project idea, Google and most importantly - luck.

Let’s start with what GSoC is all about.

Is GSoC for me?

It’s for you if:

  • You know how to code, but you don’t have much experience with it.
  • You want to contribute to open source projects.
  • You want to lean how to communicate with open source communities.
  • You want a pretty thing on your resume.
  • You want to network with fellow tech people.

It’s not for you if:

  • You want to get paid well.
  • You want to get a job.
  • You already have extensive professional programming experience.
  • You already are an open source contributor.

By the time I decided to apply for GSoC2023 I already had 2 years experience in a sysadmin role, but I had a very limited programming experience. I knew a bit of Python and Bash, but didn’t know how to write a proper program or collaborate with other developers on a project.

I wanted to learn how to code and I wanted to contribute to open source so I decided to apply!

How to choose an organization?

It’s actually very simple - don’t try to be someone you are not!

I work with Linux on my job everyday and use Gentoo on my personal laptop. I have a lot of opinions about Linux and talk about it for days!
Linux meme

So for me the choice of organization was obvious - anything related to Linux.

At that time, Linux Foundation, Debian and Gentoo were the big organizations related to Linux, and I ended up choosing Gentoo Foundation mainly because of my love for rolling release distros and because they are iconic.

How to apply?

Official documentation is a better place to read about the detailed guide on how to apply. Here I will just talk about some aspects I found to be the most crucial.

Communication

Definitely the most important part of the application process. Find which tools organizations prefers for communication, for Gentoo it’s IRC chats (my IRC setup is described here), then add yourself to all the appropriate channels and start talking to everyone! Opensource communities are generally very friendly and welcoming and will be more than happy to answer all your questions.

Contributions

Some organizations require you to make a contribution one of their projects. This is a very fair requirement, because it tests your ability with git and the general ability to identify and fix issues.

It doesn’t have to be a very complex contribution. For example, during me application I uploaded some packages to Gentoo’s GURU repository, and bumped the version of some existing ones. If you don’t know what to contribute - just ask the community!

Proposal

A good proposal is based on feedback. Decide on a project idea as soon as possible and ask the project mentor to review your proposal. It’s a standard practice in most of the organizations and they will be happy to do it, but it keep in mind that mentors are usually very busy so it might take some time.

Everything above has to be done as early as possible. I’d say whenever the list of organizations is published it’s time to start contacting the communities and discuss projects.

I started to work on my proposal 1 month before the official application period, which gave me a plenty of time write it and received multiple revisions from the project mentor.

Result

After contacting the community, discussing project idea with the mentor, doing some contributions, writing and submitting a proposal there is nothing else you can do but wait.

Organization after receiving all proposals will rank them internally. Then, a request will be sent to Google for a certain number of slots (basically a number of projects they want to host). Google will most likely give an organization a bit less slots than they requested, and this is where the initial ranking comes in.

A regular contributor won’t play a part in this whole process and can just patiently wait for about a month for both side to make their decision.

Good luck with your application! And feel free to reach out to me if you will have any questions 😌