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. Larry Page, one of Google’s co-founders, was pondering the age-old problem of scholastic backsliding: students work hard and learn a great deal during the academic year, but without the right employment opportunities or other pursuits outside of school, technical skills atrophy rather than get honed and expanded. Larry wanted Google to help solve this problem.
The obvious solutions failed on geographical grounds. If a student wasn’t in the optimal location, obtaining a useful internship could be difficult if not impossible. Finances were also a problem; many internships are low paying or entirely unpaid, making it difficult for students to take the right job while still paying the bills. Finally, even if a job was available in a technical field, it would not necessarily introduce a student to the broad set of skills required to do software development well. For example, creating a website for a local non-profit requires technical skill and would no doubt be personally gratifying, but wouldn’t necessarily require using an IDE, checking into source control, or creating tests.
The perfect answer came from encouraging students to participate in open source projects. Open source development occurs online, both solving the geography problem and giving students the chance to work in a globally distributed team. Working on an open source project provides exposure to the entire software development process and tool chain. Students could enjoy the added benefit of having a body of reference work available to future employers or committees. Even better, students would get the chance to work on a code base under active development rather than a lab project or other single use assignment.
A cash stipend from Google allowed students to focus on their development work rather than getting a job unrelated to their academic pursuits. The final part of the puzzle was finding projects who were excited to find new contributors and to provide helpers to get these new folks up to speed both technically and socially. The first year 40 projects participated; 400 students began the experiment.
In 2021, the seventeenth Google Summer of Code wrapped up with more than 94% of the 1198 student participants in the program successfully completing the program. Best of all, most of the organizations participating over the past seventeen years reported that the program helped them find new community members and active committers. 99% of 2021 students said they planned to continue to contribute to open source post-GSoC.
In 2022, we opened the program to non-student developers as well and we are excited to see what great things our new GSoC contributors will do with our open source organizations. We also have multiple size project options available for folks, with the understanding not everyone can dedicate 350 hours to an open source project during GSoC so there will also be 175 hour projects available for GSoC contributors to work on in 2022. The final update to the program is more flexibility around the schedule for a GSoC contributor project. Instead of everyone having to complete the project in 12 weeks, GSoC contributors and their mentors can decide to extend the end date of their project (up to 22 weeks) to better fit the GSoC contributor’s commitments for the summer. We look forward to these updates helping even more people excited to learn about open source under the guidance of dedicated mentors participate in GSoC.
In 2024 we are celebrating 20 years of GSoC! We have added small size projects (~90 hours) for a standard 8 weeks, now allowing GSoC contributors to work on small (90 hour), medium (175 hour) or large (350 hour) projects. We are excited to see more students and early career developers involved with the program.
You can find more information about each year of Google Summer of Code on the program statistics page on the History tab of the GSoC website: https://developers.google.com/open-source/gsoc/resources/stats