The process begins with proposing projects and selecting GSoC contributors over about a four week period. This is followed by 3 weeks of community bonding. The standard coding period runs for twelve weeks (with optional extensions up to 22 weeks available starting in 2022).
- During the GSoC contributor selection phase the mentor will be responsible for helping find a fit between project, GSoC contributor proposal and mentor. This will include defining the proposal process, assisting in the evaluation of proposals, querying the GSoC contributors, providing them feedback about their proposals and ultimately finding a GSoC contributor proposal to mentor.
- During the community bonding phase, the mentor and GSoC contributor will further define the GSoC contributor’s project and prepare for development. An important part of this phase, as the name implies, is to get the GSoC contributor connected with both the mentoring organization and the larger open source community.
- During the coding phase the GSoC contributor will be implementing the project. The mentor will be providing advice not just on the technical aspects of development, but on issues related to the interaction of the GSoC contributor’s work with the organization. At midterm the mentor will evaluate the GSoC contributor’s progress to determine whether the GSoC contributor will continue with the project and be issued a payment by Google.
- During the final phase the mentor will help the GSoC contributor submit their code to their organization. The mentor will also perform an evaluation of the GSoC contributor’s work to determine whether Google should issue a final payment.
Quick Tips on Effective Mentoring
The tips in this section are no substitute for reading this book. However, they may serve as an introduction to the material herein.
Project Definition: An ideas page is the starting point for project definition. You should include projects that you are interested in mentoring for the summer and that appeal to GSoC contributors and to your organization.
Selecting GSoC contributors: GSoC contributors come with many motivations; try to understand why your applicant is applying. It is better to give up a GSoC contributor slot than to select a GSoC contributor whose performance is likely to be poor.
Communication: Engage with your GSoC contributor as early as possible. Integrate the GSoC contributor into your community and its communication channels. Make sure that communication with your GSoC contributor is frequent and regular.
Collaboration: Start by working with your GSoC contributor to set solid expectations and goals for the project. Develop a detailed project plan, with deadlines and milestones. Be prepared for slippage, and be willing to revise the plan as necessary, especially at midterm. GSoC contributor learning is a primary goal of GSoC, so try to provide a learning experience.
Evaluation: Keep your GSoC contributor evaluations objective; base them on your project plan. Keep in mind that it is better to fail a GSoC contributor earlier rather than later–data shows that GSoC contributors doing poorly at midterm rarely complete a GSoC project. Make sure your GSoC contributors hear your evaluations: deliver praise in public, and criticism in private.
If you follow the above advice, and the rest of the advice given in this book, you have a good chance to have a successful experience. Positive outcomes might include recruiting a permanent developer to your community, developing a lifelong relationship with your GSoC contributor, and helping the open source community grow and thrive.