Google Summer of Code with GNOME Foundation.
Tags: webdev, beginners, programming, tutorial
Published: 2024-02-12 22:29:29



Google Summer of Code - every undergrad's dream to get selected in. I found out about Google Summer of Code in my freshman year, I was so excited that a program like this exists where open source contributors collaborate over projects with various organizations!

At first, Google announces the program in mid February, then after a month organizations are announced. Applicants start applying to various organizations and make proposals for the project they like. And in May, the results are announced and the period lasts for around three months.

Learn more about Google Summer of Code here.

When should I apply?
Google announces organizations around February. Look at the detailed timeline here. There's no right time to start contributing to Open Source and getting selected in Google Summer of Code. You can start right now, contact admins and work on your issues. This will increase your chances for the next term!

Tip: Look for projects from idea lists of organizations which didn't get selected for GSoC this year. Contact mentors and start individually contributing towards it. This will boost your chances, whenever you decide to apply :)

I will share my experience below on how I got started with Google Summer of Code and made into it.

Finding an organization
You should first ask yourself, what are my skills? What am I proficient with? Is the community supportive? Do I have any experience in this field? Do I know at least 50% of the skills mentioned by the organization? Rest can be learnt while contributing towards project.

I started looking for past selected organizations in February, found an organization named Metacall, which made polyglot programming easy. I made some contributions there. I looked into their past projects and tried to understand how the code base worked. The tech stack was mainly Python, C++, Rust, Nodejs, Docker. I knew very little about these.

I am intermediate in web dev, so alongside that, I also started looking for organizations which had web dev projects. Basically GSoC allows you to make a maximum of three proposals, out of which only one gets selected. I would suggest you to do your research first. I recommend you to choose only one organization and start contributing towards it.

How did I get to know about GNOME?
Since I used Ubuntu distro of Linux, it had GNOME Desktop. I was impressed that even the organization which made the UI for Ubuntu is Open Source. I researched about them and found out that they participate in Google Summer of Code and Outreachy internship programs.

In March, the selected organizations were announced publicly, I browsed through different organizations and their web dev related projects and I landed on GNOME Foundation's idea list page. As I was going through the different project ideas, the idea of Faces of GNOME - Continuing the Development of the Platform caught my eye.

Selecting and working on project
The Faces of GNOME is a Foundation-led initiative with the intent of championing the contributors and recognizing their continuous and previous efforts towards the GNOME project. Faces aim to be a historical platform where you're able to see the faces behind the GNOME project. From current contributors to past contributors. Faces intend to be a place where Contributors have their own profile, serving as a directory of the current and past Contributors of the Project.

The project used Jekyll, HTML, CSS, JavaScript as its tech stack. I had no idea about Jekyll when I started this project. Had worked with Hugo, which is a similar static site generator.

I started studying and experimenting with Jekyll as I had no idea about that static site generator. Took a week to study Jekyll and codebase and then jumped onto ongoing issues. My mentors, Claudio Wunder and Caroline Henriksen were supportive and helped me clear all my doubts (even silly ones)!.

After getting familiar with the codebase, I started making contributions by adding features, creating wikis, suggesting ideas, etc. Check out all of my contributions here.

Contribution and Proposal drafting period
Next, in April, we had to submit our proposal. I had proposed a few new features which was really appreciated by my mentor. Creating a project proposal was a difficult task as I had to cover every bit of project feature in detail. I talked with my mentor about how I approached each topic, which helped me understand what they expected of me as well. This is a crucial issue since I was interpreting some features differently while, in reality, they were designed to accomplish something else. This tiny misunderstanding could lead you to make a poor proposal.

Previous year's GSoC mentee, Arijit Kundu, helped me with drafting my proposal. I got my proposal reviewed from different foundation members who were overlooking the project. Received a nice feedback from everyone. Finally, I created my proposal utilizing the template provided by the organization.

One of the most significant judging criteria is timeframe, therefore take care when selecting or drafting it.

Even after making proposal, my contributions didn't stop and I started engaging with the community more. I asked doubts, joined different channels and talked about various features I wanted to implement in this project.

Result Day!
Finally, the result day came and I was happy to get selected in Google Summer of Code'23 under GNOME Foundation. I never imagined that I would be a part of this program. Open Source truly does wonders!

GSoC Acceptance

So, this was my experience of getting selected into Google Summer of Code. Hope you got any insights on it. If you have any questions, please connect with me on different social media platforms. I'd be happy to help you :)

Happy Summers!🌞