Insiders Secret To Cracking the Google Summer Of Code — Part 1
This is a two part series on how anyone can up skill and confidently apply for the Google Summer of Code (GSoC). The first part dwells on what GSoC is, the experience of 4 scholars of GSoC 2018 and how to get started in the preparation phase. The second part explores how to find a starting point to apply for GSoC and the Q&A session with the students.
Google Summer of Code (GSoC) is a global program aimed to provide the ecosystem to bring university students to contribute to open sourced projects of International organizations. The experience empowers both students and mentors alike to become better developers by teaming up to work collaboratively, yet remotely, towards the final product.
Google hosts this event every year to instill the values of open source deep for the leaders of tomorrow. The summer program provides immense exposure with noteworthy incentives for the scholars. By the time the event ends, several open sourced projects are well enhanced thanks to the many dynamic minds that worked behind it.
Since 2005, the program has had a growing participation from all parts of the world, resulting in greater skill development and more output results. Statistics from Google’s Open Source Blog show that GSoC 2018 had 605 selected students from India, proudly taking the first place in terms of participation per country.
From Govt. Model Engineering College, the college to which FOSSMEC is affiliated, there are 4 students who got selected for the organizations mentioned in parenthesis:
The scholars completed their projects by August 2018. They collectively decided to share their experience and tips to fellow students of the institution on how to prepare and apply for Google Summer of Code confidently in the upcoming years.
Adarsh did his GSoC with CloudCV (based at West Virginia). During the application phase, he reached out to the organization by interacting with them on the Gitter Channel and would everyday try to solve others doubts while getting his own cleared. By diving deep into the community he started to appreciate the work and the ecosystem of the organization.
With a clear objective of serving this organization, he compiled a 15 page proposal with a humongous list of actions he would like to do if selected. To validate his claims, he wisely spent the time between proposal submission and result declaration to contribute to their projects. When he got selected, it was a great moment and the summer that came greatly made him a better developer. The summer that came he extensively contributed to the project and made a lot of friends cross continents. But not everything was smooth sail; at one point he had to call his mentor in the USA at 2AM in the morning to rectify errors. Despite these hardships, he persisted and emerged victorious.
Today looking back he says it was not the stipend or the success that he cherishes the most, but rather the experience, the community and the projects that brought a positive change in him.
Saran is a final year student and has always had the passion for designing and modeling. He participated in Google Code-in back in 2011. He would design stickers and other products from his system. Saran applied for GSoC 2018 to BRL CAD, the same organization to which he significantly contributed back in 2012–13 so they warmly welcomed him. To verify if the candidate genuinely had the skills, they gave him the task to make a simple hello world program using the specific tools and submit it to the sourceforge repository. When they saw the progress he made, they were convinced of his potential.
Saran chose the project idea that piqued his interest. By the fifth week, the organization gained trust in Saran and granted him commit rights (which exist even today — he is one of the very few round the world who have this access right). In the summer that came, he significantly contributed to the project. When hurdles came a simple conversation on the channel would rectify the same. Though there was a challenge of timing between India and that of the mentors, the two decided to meet at a time regularly. In the end Saran had a fulfilling experience and has properly documented his entire experience for others to learn from. You can read his final report over here
Aswin is the youngest of the 4 scholars from MEC, currently in his sophomore year. When he applied for GSoC at the last moment, he was not sure if there was enough content to substantiate his proposal.
So to compensate, he spent the time between proposal submission and proposal selection to effectively contribute to Zulip. Seeing his dedication and capability, they selected him and he spent the summer making the application better.
He was also fortunate enough to attend the Zulip meetup and bond with other developers. You can read all about his experience in much more detail over here.
A final year student, Vidyadheesha did his GSoC at Apertium, a free/open-source platform for machine translation and language technology. His contribution involved developing a rule-based translation system for Kannada-Marathi pair for Apertium.
Though it may sound fancy, he started from absolute zero knowledge about linguistic. It was his ability to Google his doubts and learn progressively that helped him complete this project. Although he did not meet the proposed goal, he did what ever he could under 3 months, and that experience empowered him for a lifetime.
You can read more about his work over here.
A session was organized by FOSSMEC for students to interact and learn more about GSoC from the scholars on 6th September 2018.
Google Summer of Code is a 3 month program for students to invest their summer time in contributing to open sourced projects of international organizations. There are several perks for students to take this opportunity:
- Give back to the Open Source community — your work stays there forever and people round the world can use it.
- Immense skill development — they will help you grow and learn good programming practices by teaming up with noteworthy creative developers round the world, collaboratively working on new technologies.
- The highly respected GSoC Scholar tag most sought after by established organizations and Start Ups due to the value it adds to the resume.
- One-time referral which can potentially land you a job at Google.
- Stipend of $2400 (in India) on successful completion of project.
- (Some cases) An all expenses paid trip to meet up with other coders round the world working for the same project/organization.
So if these points have piqued your interest, let us see how to get stared in the subsequent section.
The are the key steps that every applicant must traverse:
- Master the skill to Google: This skill can empower anyone to resolve any problem. The process involves trying to shape your question in mind, determining the keywords and the theme around it, and typing it in the search engine. This methodology beautifully works for any query, be it to know more about Google Summer of Code or a programming language tutorial. Any skill can be easily taught if you know this one skill.
- Let Linux be your daily driver: Having an operating system that gives you full control over your system with all the required tools and 24x7 assistance will empower you in the long run. Besides, an open sourced operating system like Debian, Ubuntu will be the perfect fit for your open sourced projects once the GSoC program starts.
- Embrace the Linux (eco)system: It is tricky and difficult initially to understand how the command line works, how to file system is arranged and how the Linux system works overall. But a few hit and trials later, you will find yourself getting to your destination in seconds and with more efficiently than conventional means. This skill will be greatly beneficial as most projects are based around Linux systems and configuration would be simpler. Here are a few resources you can use to learn: Unix, Shell-Scripting, Linux Commands. You will start to appreciate what you can do in one line from the CLI instead of several mouse clicks on the GUI.
- Understand how Git works: As the project scales up, you need more people, so you need a collaboration system that tracks all the work. Git is a very essential tool that helps many people work together on a project. It also helps you keep your project in synchrony by tracking the updates and changes that happen in time. Usually people use Git to access GitHub, a website where many keep their open sourced projects for others to contribute to. Version control helps ensure that many people can work on different sections of the same project and finally merge together.
So now you have a technical skill you are proud of, know how to find the solution to any problem and have the open source environment to get down to work.
We shall next see how to tackle GSoC in part 2.
Thank you for reading through this article. FOSSMEC is the Open Source community of Govt. Model Engineering College and we strive to empower students to become better developers and problem solvers. For any queries, feel free to drop a mail to firstname.lastname@example.org. We wish you all the very best on your pursuit for Google Summer of Code.