Path to GSoC-2021

Buddhika Chathuranga
RuntimeError
Published in
9 min readMay 6, 2020

Well, this is one article that I’ve been pretty excited to write about! Today, I am going to talk about how to get selected into GSoC-2021. I know most of you are looking forward to participating in GSoC, but don’t know how to start. So here’s a little guidebook for you. [🔴 Warning 🔴] — If you have already participated in GSoC just don’t read this. This article is probably not for you! 😛

Before doing anything else, first of all, we should probably understand what GSoC is and why we should participate. Then we can talk about how we can do that.

What is GSoC

GSoC is simply an internship program organized by Google. There are 3 major roles in this program.

  1. Google Company
  2. Open Source Organizations
  3. Students ( Us 😃)

All these roles have their responsibilities throughout the program and when everyone gets their job done perfectly, we say GSoC was completed successfully.

First I’ll give a very brief introduction of how the program goes. As you know there are many open source organizations and they have tons of nice projects to be done. So what simply happens is, students (that’s us!) can join them and work on those projects. When the program is finished Google will pay us and give a certificate. Now let’s take a look at what are the responsibilities of each role.

Google Company

Google company is the one who organizes the event. They help students to find open source organizations and projects. They also help organizations to filter out students’ proposals and finally they will be the ones paying us at the end of the internship. Usually, before summer, Google opens a portal, which contains all the projects that organizations have put up for students to do for them. So students (again, us!) can go to that portal and find a project to do. When the students finish the internship successfully, Google will pay a nice stipend.

Organizations

As you know now, organizations are the group that owns and hand out projects for GSoC. Apart from that, there are two other major roles to talk about.

  1. Org Admins
  2. Project Mentors

Org admins are the people who provide initial feedback from the organization’s side such as Structure of the application, compliance with applicable rules, and advising how to reach out to the community.

Project mentors are the people who are going to mentor student’s projects. They are the people who are going to be with you from the beginning to the end of the internship.

Students

In case you haven’t realized yet, that’s us! Our job is to go to that portal I mentioned before and select an organization and a project and submit our project proposal. If you get selected, then you need to successfully finish that project and that’s it! Yeah, I know, it’s that easy! As a student, you just need a burning desire to finish GSoC successfully.

Those are the key roles of the GSoC program, but some other topics are worthwhile knowing if you’re planning on participating. For one thing, this is not a program that ends in a week o two. This is a long term process that goes through several stages and it is very important to get to know what is happening in each stage. Let’s take a look.

Stages of GSoC

GSoC happens in 5 major stages. Here I will explain what is happening in each phase one by one. Usually, Google will publish the timeline of a particular year by the beginning of the year. Then you can start working on GSoC ( Actually you can start even earlier, but more on that on my user story article ). So here are the major stages of the GSoC event.

  1. Application period
  2. Students projects Selection period
  3. Community Bonding period
  4. Coding.. coding.. coding…
  5. Final Evaluation

1 — Application Period

This is the most important phase, so this is also the phase that I will be describing the most. In this period students are going to find appropriate projects for them, create their project proposals, and submit them. To find projects, students can go to the Summer of Code portal and they can find projects there. As I said in a later article, I will explain my user story ( I am pretty sure, that will be interesting because I was totally like you before the start ). Here I will post some screenshots so you can understand this much better. You can find the GSoC-2020 portal here.

GSoC-2020 Organizations

When you navigate to the Organizations tab you can find selected open-source organizations for that particular year. Yeas I said selected open-source organizations and that’s because just like us students, organizations also have to be selected into the GSoC event. As students, it’s not that important for us right now(But it will be later, so more on that in my user story article).

Here you can select any open-source organization to contribute. For example, my lucky organization was Jenkins. When going inside that organization you can see VIEW IDEAS LIST. (Here you can see VIEW PROJECTS because I took this screenshot after students’ projects were selected, but before the selection, you will be able to see VIEW IDEAS LIST)

GSoC2020 — Jenkins

You can go inside the VIEW IDEAS LIST and you can see the project ideas on the organizations’ website and select one appropriate for you. (Remember, you can select an existing project as well as submit your project idea if you like)

As I mentioned in this stage, students have 3 key things to do.

  1. Select an organization and a project.
  2. Create a project proposal.
  3. Submit the proposal.

Now you know how to select an organization and a project. Most of the time (usually if you’re like me that is…) you will fall into an endless rabbit hole where we can’t come out of, moving from one interesting project to the next unable to make a decision. So, I’ve got two pieces of advice for you.

“If you have a busy schedule ahead, then select a project with technologies, which are already familiar with you.”

“If you won’t be that busy, then select a project with technologies that you want to improve or learn or the technologies which you look forward to making your future career with.”

In my case, at the time I was having a pretty busy schedule since it was my final year at university. So, I ended up selecting a C# (.Net, Windows Services) project, which is familiar to me. Even on this familiar platform, I found so many interesting things to learn, so don’t think you’re missing out by picking a technology that you already know.

Then what you have to do is understand the project well and create a proposal for the project which contains how you are going to develop it. Here you can find out how to write a better project proposal. After creating your project proposal you can submit it through the portal. Here also I have some advice for you.

Before submitting your proposal always remember to discuss your proposal with project mentors.

You can reach out to your project mentors in their mailing lists, Gitter channels, Slack channels, etc. I will explain those things in more detail in my user experience article. Here I just want to clarify how the GSoC event happens.

2 — Students’ projects Selection period

In this period your organization and Google evaluate your project proposal and they will decide whether it is good enough to continue. After selecting the project proposals, they will publish selected proposals and send you an email as well. Trust me, this will be the most exciting email you are going to receive all summer! 😁

3 — Community Bonding Period

If you came this far, congrats! You have finished the most difficult stage. Now, it’s time to get to know the community. Here, you have to do a few things.

  • Get to know your mentors.
  • Read documentation.
  • Setup the developing environment.
  • Get familiar with the codebase.
  • Start working on your project.

When I was writing this article I was in this stage, so I don’t have many experiences regarding the other stages. But I as I mentioned before I just want to explain to you what is going on in this GSoC event, so I think my experience in those phases won’t matter just yet.

4 — Coding… coding…. coding…

Yeah, you got it! You are going to code in this stage. In this phase, you fill follow the project proposal that you submitted. There are three evaluation steps in this stage where you need to evaluate what you have done until then. This is when you will work with your project mentors the most.

5 — Final Evaluation

The third evaluation of the above stage will be this. Here you will evaluate your project and google and your selected organization will decide whether you have completed your project as you proposed. This will also be where they decide whether you have completed GSoC successfully or not. If you have, then you will get a valuable certificate from Google and you will be paid as well for your contribution.

So, this is how the GSoC event happens. There are many things I have not discussed so far, but I think this should be enough to give you a brief understanding. Now let’s talk about why you should participate in GSoC.

Why you should participate in GSoC

As I mentioned before, GSoC is a huge internship program for university students. The most special thing is, here you have to work with the open-source community. I don’t know much about how open source happens since I just started, but, I know that this is one of the best opportunities that you will get to start contributing to the open-source community. Here are some of the skills I’ve managed to add to my profile thank to GSoC2020 so far. (At the time of writing this article, I was in the Community bonding period)

  • Communication Skills — This is one of the most important skills that I’ve gained so far. You have to discuss continuously with your mentors about your project and also with other students who wish to participate in GSoC. Most of them are from different countries and cultures. To get selected you have to be responsible. You have to check your emails regularly (which is something I was used to skipping) and reply to them. You can answer to questions asked in mailing lists and other communication channels. So definitely you can improve your communication skills.
  • Studying a codebase — This is another skill that you are going to add to your skill-set. To create your project proposal, first, you have to identify the problem well. Then to provide a solution, you have to study the codebase. When you are doing this, you can always get help from your mentors and who are always more than happy to lend a hand. It was a nice experience for me to see that even those experts would reply to my beginner questions without any complaint.
  • Working on time — To get selected into GSoC, you have to work on time. Since almost everything up to this step follows their deadlines and procedures, you need to be responsible and keep working according to the given schedule.
  • Working with an organization — This is a different experience from when you open a Github repository for your project and start coding all by your lonesome self. You have to be in sync with your team. It is really important for your career as well. You can ask questions and you can answer them too. Trust me, it’s awesome.

Apart from these, I’m pretty sure there will be a lot more to learn in the other phases as well. Especially, in the coding phase, I’m certain you will get the opportunity to collect a lot of technical skills and non-technical experiences. I think these skills are the reason you should participate in GSoC. It is a huge opportunity to polish your career path and it will add so much value to your CV as well. Also, as I mentioned before, this will open the door to the Open source world, and though I don’t quite have enough experience to explain it right now, I’m pretty sure I’ll be able to sometime later in another article.

Well, that’s it for now. I hope this article was enough to pique your interest a bit. See you all in GSoC — 2021!!! 🎉 🎉 🎉

--

--