“The expert in anything was once a beginner”
– Helen Hayes
What is GSoC?
The Google Summer of Code (GSoC), known to many, is a global level program which is conducted by Google on an annual basis. This program is conducted to promote free and Open-Source software. This program was also organized with the main aim to encourage and inspire young developers to begin participating in open source development.
This program, open to University students aged 18 and above, offers the opportunity to students to do work related to their academic pursuits this summer.
Each student performs as an independent developer and stipends are awarded to those who successfully complete their project.
This program assists open source projects identify and bring in new developers and gives the exposure required to students to real-world software development.
Students must be a part of an accredited university as the date accepted student proposals are announced. The stipend is highly competitive by Indian standards, you get 3000$ ( -2.2L INR) for the duration.
Google Summer of Code began in 2005 as a complex experiment with a simple goal: helping students find work related to their academic pursuits during their school holidays. In GSoC’s first year, 40 projects and 400 students participated. By the conclusion of the 15th Google Summer of Code in 2019, over 16,000 students have been accepted into the program. Best of all, most of the organizations participating over the past 15 years reported that the program helped them find new community members and active committers.
GSoC is something big in India now. More than 50% of the selected students are from India and it is increasing every year! It is a trend every college student must get into. You can be of any branch and of any year to get selected into this program.
GSoC is not like a traditional Internship
- The difference in the way you get the opportunity. Unlike other internships you don’t have to go through tests and interviews. It is more about rightly choosing an organization/project in your area of interest, and then the proposal you make shows your commitment and technical background.
- You can work remotely from the comfort of your home.
- Your work is not tied by a company NDA, everything you do is out in the open can be claimed as your work on any platform (be it job applications /higher studies).
- In most cases you would get individual attention from your mentors, it is mostly one-to-one interaction, and they are happy to guide you. (In fact, the GSoC guidelines for mentors say that the main objective is to help students gain experience, more than getting work done on your projects.)
- After a good GSoC project, you are widely recognised in a global community of developers working on the projects, this networking would definitely help in future.
Procedure to Apply
- Making The START
While interacting with an open source group, you encounter people who are discussing topics you may be interested in, or sometimes they could be discussing topics you neither know nor care about.
If you’re pretty confident and you are used to initiating the first step, then the best approach to start off would be to do so how you would initiate in real life. Contact the project, introduce yourself and ask questions related to your project.
If you like to start slow and cautiously before jumping in, spend some time observing community interactions before you jump in. You can also try to contact an organization admin for guidance, or with help introducing to a community or take a look at the organization’s ideas page for additional help.
- Choosing an Organization
After the GSoC program is announced each year, a list of accepted organizations is published on the GSoC website. Organisations publish project ideas before applications for students open either on their websites, with details about potential mentors, or just as GitHub issues.
One of the most important factors in having a thorough GSoC experience is having a sound knowledge in one technology (Be it PHP, Python etc) and find a project/organization that interests you depending on the open source software you use, professional interests, skills and also based on your comfort zone.
- Finding the Right Project
Each organization will have a project Ideas Page linked to from the official Google list of accepted organizations and many organizations encourage fresh ideas proposed by students too. For each project you choose, it’s essential to evaluate its scope and how it might fit in with the larger picture.
You know the topic you are interested in, you talk to your mentors, discuss the proposal and apply. If you know the mentors’ names, you can mail them directly and discuss the projects. If not, all orgs have some or other form of messaging channel through Slack, IRC or something like that, so you can directly shoot questions there. In most cases, it is required, or at least advisable to discuss your application with the organization members to be even considered.
- Writing a proposal
It is important to meet Google’s formal requirements in order to partake in the Summer of Code. It is also important to strictly follow the respective guidelines or templates of each organization. Certain elements of the proposal can be common for every organization. The elements are:
- Detailed Name and Contact Information: Essential information like email ID, websites (if any), IRC nick, postal address, and telephone number.
- An attractive Title: The title should be short, explicit and interesting so that the reviewer is eager to read your synopsis.
- Synopsis: If the format allows, start your proposal with a short summary, designed to convince the reviewer to read the rest of the proposal.
- Benefits of the Project: Your proposal should be a work that benefits both the organization and you, as well as benefit open source or the society in a whole. Your proposal should convey new and stimulating contents.
- Deliverables: Include a brief, clear work breakdown structure with milestones and deadlines. It is also acceptable to include thinking/investigation time in your work schedule. Deliverables should include investigation, coding, and documentation.
- Related work: It is important to do your research thoroughly, comprehend and recognize other’s work that is related to yours and in tandem show the contrast on how your proposal is different from other similar work. Make sure you understand how the project you are proposing fits into the target organization.
- Biodata: While keeping personal information brief, simultaneously communicate your personal experiences and exposure that might be relevant. In addition, list your skills, give evidence of your qualifications, and mention any published work or successful open source project. This help convinces your organization that you can do the work.
- Follow the Rules: Organizations can throw out your proposal if you fail to conform to these guidelines and hence it is important to follow the exact rules given for e.g. plain text applications, required format, length limits etc.
It’s always advisable to submit a Draft Proposal early so that the organization mentors can review it, ask you questions and/or provide their feedback regarding your proposal before the final deadline and also to note as thousands of students are submitting proposals, it can take organizations a few days or even longer to get back to you.
It’s essential to submit a Final PDF Proposal and not a draft before the application period to be considered for the GSoC program closes as it is an automatic rejection from the system and therefore will not be able to accept you into the program.
Some organizations allow students to propose work that is not on their official Ideas Page. This can be a great opportunity to get your proposal on the top of the stack. However, original proposals can be riskier and uncertain.
Some notable TIPS suggested by some of the students of NITK who grabbed the GSoC Internship this season
- The major tip is to start as early as possible when organisations announce their project ideas so that the organization mentors can review it, ask you questions and/or provide their feedback regarding your proposal before the final deadline and also to note as thousands of students are submitting proposals, it can take organizations a few days or even longer to get back to you.
- Don’t rely on just one organization and try for at least 2 organisations if time permits. (Don’t make it more than 3 though as you won’t be able to contribute well on each of them).
- Selecting an organization takes a bit of time and it’s important to select an organisation based on your strengths and interests and once selected it’s advisable not to don’t back out.
- Be persistent and complete with whatever tasks / pull requests asked by the mentors.
- Proposal submission deadline this year was on March 31 and results were declared on May 4th. Most of the people who were contributing became idle in this period. It’s better if you keep working during this period and show mentors your enthusiasm.
- All your tasks/PR’s done will go useless if you cannot write a good proposal. There are lots of proposals online from previous years GSoCers and you can refer them and build up your proposal. NITK’s open source community also helps in reviewing proposals and make it the best it could be. It’s always better if someone reviews/proofreads your proposal.
“The reward for work well done is the opportunity to do more”
– Jonas Salk
Benefits of GSoC Internship
There are many benefits that come alongside partaking in GSoC.
The exposure received contributing to the projects helps you learn more about open source culture and provides you with the opportunity to interact with the greatest developers around the world. In addition to this experience, you also receive a large amount of 3000$ as stipend for Indian Students. Partaking in this program also opens up a variety of job opportunities, such as an internship opportunity with Google or full-time job position opportunity. This program also gives you international credibility and helps boosts up your resume.
Twenty Three students from NITK Surathkal have been selected in GSoC 2020, and they will be mentored by the following open source organizations:
- CRIU (Checkpoint/Restore in User-space)
- CERN-HSF (High-Energy Physics Software Foundation)
- Free and Open Source Silicon Foundation
- The Linux foundation
- The ns-3 Network Simulator Project
- The GNU Project
- Performance Co-Pilot
- The Wikimedia Foundation
- The NetBSD Foundation