Open In App

How to Prepare For GSoC (Google Summer of Code) – A Complete Guide

Do you have any interesting ideas to add a feature to the VLC media player, the most popular media player used by millions of users around the world?? 

Are you new to the open-source contribution or do you take an interest in contributing to open source projects?? 



If you are interested in open-source projects and if your developer’s mind can generate good ideas that make the software more valuable for its users by adding some features then Google Summer of Code is the best platform to showcase your skill. 

Google Summer of Code which you can also consider as Oscar of Coding World is the annual global program to promote open-source development with the help of students and Open Source Organizations like Apache, Eclipse, Mozilla, GNOME, and many more. 



Google matches mentors and programmers from universities to work on important open-source projects that create value for its users all over the world. It started first in 2005 and it’s a very good opportunity for students to utilize their summer breaks learning and getting involved with open source projects. Google organizes this every year from May to September for Medium Size Projects and May to November for Large Size Projects (nearly about three to six months of the program based on the size of the project) where students work with the organizations and projects of their own choice. They contribute to a wide range of projects like Cloud, Graphics, Programming Languages, Operating Systems, Robotics, Science, Security, Medicine, and many more. 

How Does it Work and When to Apply?

Students who are interested in taking part in GSoC, select the organization they are interested to work with and get in touch with them. A lot of open-source organizations apply to GSoC and once the shortlisting is done Google announces the name of these organizations. When the organizations are shortlisted, students submit their project proposals to the selected organization. These proposals and ideas are shortlisted by organizations and once it is done they start working together on a proposal and ideas. Students then code for these organizations and get guidance from mentors and work on the project during the summer break meeting the deadlines agreed upon with their mentors. 

Statistics reveal that India is really doing very well and becoming better in the GSoC competition. You can check the statistics on Indian student participation on the Google Open Source Blog. Below is the list of the most accepted students for GSoC 2021. These lists also include Non-IITians so you don’t need to underestimate your capability if you are not from IIT and if you are ready to work hard in GSoC. 

Image Source: Google

To check the deadlines and program timeline every year for GSoC visit on Timeline page of Google Summer of Code. 

Note: The application process officially starts around March and Google announces the organization list most of the time in February’s first week. It’s good to start as early as possible. 

Eligibility Criteria 

Okay…But How to Start and Am I Good Enough to Participate?

We know that you will definitely ask this question yourself if you are a beginner in programming or if you think that GSoC is only for top programmers because this is a worldwide competition and participating in it is not easy. First of all, keep in mind that it’s not rocket science if you really enjoy the complete process and programming, also you don’t need to be a Computer Science or IT major. Students from all subject areas are successful GSoC students and we have already discussed the stats where Non-IITians are also included. So now we would like to ask a few questions for you… 

  1. Do you have knowledge of at least one programming language like C, C++, Java, Python, and Ruby also do you have experience in it at the university level?
  2. Are you familiar with version control (How to use Git and Github…)?
  3. Do you know how to contribute to open-source projects?
  4. Are you comfortable with Linux or Ubuntu?… Sorry to be honest but if you will use Windows you will get stuck in the middle. Lots of development tools and technologies don’t run well on Windows and almost all of the organizations in GSoC code for Linux systems or servers.

The above things really matter a lot before you jump into GSoC. Your GSoC journey will become a little bit easier if your answer to all the above questions is “Yes”. If it’s no….then don’t worry you can give some time to yourself learn all the above things. 

If you are a beginner then firstly you need to be good in at least one programming language. Once you learned it select a specific domain like Android development, web development, or whatever you love to pick a specific one and make projects in it. Explore the field and get familiar with version control (Git and Github). Learn how to contribute to open-source projects and explore some projects on GitHub. Start contributing and get more experience in your domain. Learn to love Linux and get comfortable with it, explore its command, and understand the file structure. You can also choose Ubuntu is beginner-friendly, so you also choose it. 

One more thing you need to keep in mind is that your soft skill is also important in GSoC. You will be interacting with mentors frequently through email, Skype, Slack, Discord, IRC, etc. You will be also preparing documentation, report, and blog posts. You may have to attend conferences or workshops and you will also need help from mentors during your contribution to your project so here your soft skill or communication matter a lot in GSoC. You will be able to understand and respond well to the feedback as well. 

Done with most of the above things???… Now let’s see the GSoC journey and how to apply. 

Start Your Journey With GSoC

1. Select Organizations: 

The first step starts with selecting an organization to participate in. This is an important and confusing decision for students because there is no guarantee that Google will select their organization for GSoC or not. We will talk about this for sure but to select an organization you need to visit the GSoC Organizations page and you can shortlist the organization as per your domain and your skillset. You can filter out the categories as per your choice of project or domain. 

Once you shortlist the organization check out their open-sourced projects on Github, other resources, and what they actually do. Check if the project is something that suits you or not then prepare a list of organizations and projects you want to contribute to and collaborate with. Below are some tips while choosing an organization…  

Once you select the organization you can connect (For Example Amahi) with them, chat with the mentors directly and understand the project, talk to the past participants, see the projects that came in past GSoC evaluations and you can check out the codebase of these organizations. Join the organization channel through Slack/Gitter/IRC. Introduce yourself there and tell them about yourself, and your skillset and let them know that you want to contribute to their repo. They always welcome newbies or contributors and they are always ready to help. Stay active in their channel and ask relevant questions. Ask about the feature they would like to see in their project. Understand their expectations and discuss their ideas. 

2. Start Contributing: 

Once you select the organization and project start contributing to it. This is the most important phase of GSoC. When you newly enter as a contributor you can start with fixing easy bugs or writing documentation. Start with small contributions and then move to the major ones. So once you spend some time on the project you can move on to add new features to the project because you will have some idea about what language, platform, or software are used in the organization, how things work around there, and will be able to connect the dots. You can also raise some issues if you find something and fix those issues. Take everything step-by-step but contribute as much as possible. Below are some tips when you start contributing to the projects… 

3. Keep Contributing Until the Organizations are Announced: 

If you start contributing to the project in the month of Nov-Dec then till Feb-March you will see your good contribution chart on GitHub and you will find yourself as a confident developer. So keep contributing by the time the organization list gets announced by Google (Feb-March month). Once the organization list is out, filter out the projects they offer and finalize the one you wish to work on during your summer break. Now you need to work with full dedication during your summer break and contribute to the project you have selected. Your chances to get shortlisted will increase if you have been already contributing to the organization for some time. 

Note: If unfortunately your organization didn’t get selected, start contributing to any other organization, and don’t lose hope. 

4. Make Your Project Proposal: 

You need to send your project proposal as soon as possible and request feedback from the mentors. Your project proposal is complete documentation or a detailed description of your project. Break down your proposal into different sections like why you want to work with the project, and what would be your contribution during your summer break of 16 weeks. Your complete plan and how would you build the project step by step within that coding period. Think about your proposal carefully and write it giving all the descriptions. Your proposal will play a major role in ensuring your selection. Read the Elements of Quality Proposal and below are some tips when you make your proposal:  

Once you are ready with the proposal, share that with the community and ask for feedback. Feedback from them will help you to make your application better and will increase your chances to get shortlisted. After making improvements submit your final PDF and wait for the results. 
Check out some below proposals and get more ideas about them. 

5. Keep Contributing and Wait For the Result: 

You don’t need to sit idle once you submit your proposal. Keep contributing, it will make a good impression and it will create an image that you are a serious contributor. Wait for the result from Google and look back that how much you have learned during your open-source contribution. 

Benefits of GSoC

You will find yourself a more confident developer after completing the journey of GSoC. Below are some benefits we would like to mention:  

Some Helpful Links For You:  


Article Tags :