Everything you need to know about GSoC

Google Summer of Code a.k.a GSoC is a program run by Google in the Summer for university students all over the world to promote Open Source. So, if you are an open-source contributor or you love to contribute back to the community, then you may end up having one project under the GSoC for 3 months.

Yes, you heard it right. In this blog, we will see each and everything related to GSoC 2020. So, let's get started step by step.

What is GSoC?

Google Summer of Code is a 3-month program where various open-source organizations list their problem statements or projects and students all over the world give their proposals for the projects listed. If the student is selected, then a mentor will be assigned to each student and the student will contribute to that project under the guidance of the assigned mentor.

The basic idea of GSoC is to give you industry experience while you are studying. So, you will get exposure to real-world software development by building projects. And don't worry, you will be getting paid for this.

Some of the benefits of participating in GSoC are:

  • The student will get to learn about the working of an industry in just 3 months.
  • The student's software development skills will be enhanced during this period.
  • You will build a network of people having the same mindset.
  • Get to know more about open source.
  • And obviously, you will get the stipend.

GSoC eligibility

To participate in the Program, a student must:

  1. be eighteen (18) years of age or older upon registration for the Program.
  2. be enrolled in or accepted into an accredited institution, including a college, university, masters program, PhD program, and/or undergraduate program, as of the Acceptance Date.
  3. for the duration of the Program, be eligible to work in the country in which they reside.
  4. not be an Organization Administrator or Mentor in the Program.

Source of information: GSoC Rules. (you can find more eligibility criteria here)

So, I love the concept of GSoC and I am eligible also, should I join or apply for GSoC? No, there are other factors that play a major role in your selection and also getting the most of the GSoC program after the selection.

Good to have quality

If you are good at software development and open-source contribution, then GSoC is for you. Go and make the best out of it. But if you are not that good in coding, then also you can apply for GSoC because there are various other factors that will help you in your selection for GSoC. Let's find those factors:

  • Soft skills: Soft skills are as much important as technical skills because, during the GSoC, you need to communicate with your mentor or team and this communication may be done over WhatsApp, Slack, Discord, etc. So, you should know how to communicate with your mentor to have a friendly environment and to learn various things in that 3-months period. Also, you will be working from home, so be prepared to work independently.
  • Technical stuff: For the GSoC program, everything is online. So, you must have a working PC or laptop with a stable internet connection because everything will be carried on the internet. Also, you should be having at least a decent knowledge of the programming language in which your project is written. You don't need to be the master of it because the rest of the things can be learned during the project. But obviously, if you know that language very well, then it's an icing on the cake.

So, we are done with all the introduction and prerequisite of GSoC. Now, let's look at the important dates of GSoC 2020.

GSoC 2020 important dates for students

Some of the important dates of GSoC 2020 are:

  • 20 Feb 2020: Announcement of Organizations
  • 16 - 31 March 2020: Student Application period
  • 31 March - 27 April 2020: Application review period
  • 27 April 2020: Accepted Students announced

The results will be announced on 27th April 2020. After that, a mentor will be assigned to you and other activities will be carried forward. Have a look at the full timeline of GSoC 2020.

How to apply?

Once the organizations of GSoC are announced, you should start your pre-work before applying for a particular project of a particular organization. Steps that you need to follow to apply for GSoC are:

  • Selecting an Organization: Once the list of organizations is out, you can select the organization in which you want to contribute. For example, if you are an Android developer, then you should look for those organizations that work on Android. You can select any other organization of different technology stack but in that case, you might end up working on that technology in which you are not so comfortable and this will result in failing the deadlines. Also, perform decent research about any organization before choosing it. You can look at the organizations that were the part of GSoC in past because many organizations take part in almost every GSoC. So, it's better to know your organization and mentors before.
  • Selecting a Project: Once you are done with the selection of organization, your next step is to select a project of that organization. In GSoC, all organizations put some projects that need to be built by the students. So, you can choose any project based on your skillset. But before choosing a project, try to understand the code of the project(because in most of the cases you will be working on some existing project). If you are unable to understand the code, then seek help from the mentors of the project. Do all kind of research in this phase only because this is the project on which you are going to work for the next 3-months. So, it's better to understand the need of the project properly.
  • Prepare Project proposal: When you are done with the selection of the project, then you need to prepare a proposal for the project. In the proposal, you need to write the introduction of the project, goals of the project, implementation, timeline and deadline, deliverables, benefits to the community, etc. Be very practical while writing the deadlines and deliverables of the project because your evaluation will be done based on this only. You can find some guidelines for the project proposal from here. Once, your proposal is ready, apply for the project and wait for the result. There may be cases when you get a project proposal format from the organization. So, in that case, use that format. Also, be ready to modify the project proposal if the organization tells you to do so. Submit the proposal as soon as possible. Don't wait for the last day of submission.

After Project selection

Once your project is selected in GSoC, a mentor will be assigned to you and proper community bonding is carried.

The whole GSoC is divided into 3 parts i.e. first evaluation(~ June 23), second evaluation (~July 21) and final evaluation(~August 26).

Your project will be evaluated after every month and if you pass the evaluation, then you will be paid 1/3rd the total amount. You will be judged based on the deadlines and deliverables that you submitted in the project proposal. If you passed any phase, then you will be allowed to continue your next phase, otherwise not.

The Stipend

Most of you might be waiting for this section. For every project, you do during the GSoC, you receive a stipend for your work based on the country you live.

For India, the stipend amount is $3000 for three months and for the USA, it is $6000 for three months. You can find the stipend of other countries from here.

Well, the stipend is the byproduct of GSoC, learning is the main product which is beyond any stipend.

Closing notes

Every student who is eligible for GSoC should apply for this program because here you get the experience of industries while studying and in many cases based on your performance, the organization that you are working with may hire you as a full-time employer. So, it's a win-win situation in both cases. So, go any apply for GSoC. All the best : )

You can ask your doubts related to GSoC in the comment box below and we will be happy to resolve all your doubts.

Some useful links

All the best!

Team AfterAcademy!