Over the past few years I’ve been involved in Google Summer of Code (GSoC), a program that sponsors students to write code for open-source projects, as part of Mozilla. I’ve been both a mentor and administrator, Florian Quèze and I frequently get asked questions about what students should do to apply to GSoC. This post aims to give some resources and answers to those questions. (I should note that each open-source organization is different and this is based on my experiences at Mozilla. Your mileage may vary.)
Remember that none of this is meant as a guarantee for acceptance, it is just a few things that can help get you ready and improve your chances!
If you haven’t heard yet, then Mozilla has been accepted into Google Summer of Code (GSoC) 2016, this will be our 10th time participating in GSoC mentoring Organizations. Overally, the best way to prepare yourself for applying to GSoC is to get involved with the community you would like to work with. Some particular resources to help you in applying to GSoC are:
Pick an organization you’re truly interested in helping. I really can’t stress this enough. “Truly interested in helping” might mean many things:
Throughout this post I use “organization” and “community” synonymously, but organizations likely have smaller communities within them, each with their own culture, beliefs, etc. Even within a small community, members will not share all the same opinions!
A pet peeve of mine is that a student should use (or at the very least try) the product the community makes. It is difficult (if not impossible) to understand the needs and wants of a community without utilizing what they’ve poured their time and energy into.
Different communities interact in different ways (and frequently a single community interacts in multiple ways). Common ways include:
Choose whichever way of introducting yourself that you’re comfortable with. It can be useful to “idle” before introducing yourself (i.e. watch how a community interacts).
This can be important to figuring out a communities culture, e.g. how friendly is the community to new-comers? Are they open to helping or do they just expect patches to be submitted? Remember that it’s important for you to feel comfortable with a community, you’ll be spending a significant amount of time interacting with them!
If none of the above seem appropriate, or you’re unsure, contact the organization administrator directly. I’d suggest asking pointed questions, as an organization administrator is much more likely to respond quickly in that case.
We’re frequently asked how a student can improve their chances of getting accepted by an organization. GSoC is a very self-driven program, especially if your mentor is a volunteer. Being a self starter can be a boon for being accepted.
The above should help feed into your application. In particular, it should help to build a realistic schedule for your application. (Scheduling is difficult even for seasoned engineers, but the above work should help make a more accurate schedule.)
This is just a few ideas of what I look for when reviewing a Google Summer of Code application. To repeat, try to understand an organization’s members, get involved and gain experience, try to build an accurate schedule. An additional thing I’d like to add is to respect your mentors time, especially for GSoC, many mentors are volunteers! You’ll likely be working on their project more than they do during GSoC!
Please let me know if you have any additions or comments! If you have specific questions that pertain to your application at Mozilla, please contact me individually.