Mentors Guide

Defining a Project

The process of defining ideal GSoC projects is not just a "summertime" activity. Such projects are generally useful to the overall open source software development effort. The same qualities that go into a good GSoC project go into entry projects for new developers and even projects that help recruit new developers.

Putting together a well-defined GSoC project also forces you to think about your project from a new point of view. This is a valuable exercise for defining the current scope of, and potential new avenues for, your work. In other words, it can be much more than just getting help with your existing workload.

Your goal for GSoC is to generate a list of project ideas that capture the development needs of your organization, attract the interest of students, and help you get things done. This is often done as a community effort that involves as many potential mentors as possible, helps create buy-in from these mentors, and gives a broad range of perspectives on organizational needs. Creating your list of project ideas should also be part of an ongoing long-term strategy, rather than a rushed act to meet the application deadline. Many organizations maintain such project lists year-round.

There is an art to writing a project description that leads to good student applications. It is tempting to write a detailed project plan for the student to follow. However, students tend to echo such plans in their applications, making it difficult to evaluate their quality. It is better to briefly describe a general high-level need, and the motivation behind that need. Keeping the scope modest helps encourage more applicants, while adding a "stretch" goal to the project description may encourage stronger students to take on the challenge of meeting it.

One strategy is to leave an opening for students to propose their own original project ideas. Some great ideas can come out of this process. Emphasize that the student proposing something original must engage with the community strongly before or during the application period to get feedback and guidance to improve the proposal.

Note that the quality of the project descriptions on an organization's "ideas page" is one criterion for the organization's admittance into GSoC. It is worth spending some extra effort to ensure that the projects you propose are worthy of the GSoC banner.

There are many ways to define a good GSoC project—probably as many ways as there are student-mentor pairings. Here are just a few:

Low-hanging fruit: These projects require minimal familiarity with the codebase and basic technical knowledge. They are relatively short, with clear goals.

Risky/Exploratory: These projects push the scope boundaries of your development effort. They might require expertise in an area not covered by your current development team. They might take advantage of a new technology. There is a reasonable chance that the project might be less successful, but the potential rewards make it worth the attempt.

Fun/Peripheral: These projects might not be related to the current core development focus, but create new innovations and new perspective for your project.

Core development: These projects derive from the ongoing work from the core of your development team. The list of features and bugs is never-ending, and help is always welcome.

Infrastructure/Automation: These projects are the code that your organization uses to get its development work done; for example, projects that improve the automation of releases, regression tests and automated builds. This is a category in which a GSoC student can be really helpful, doing work that the development team has been putting off while they focus on core development.

The project you propose will define the tone and scope of your organization's participation in GSoC. It is a key part of your organization's application. Further, it may be the first impression made on a potential student applicant.

Pro Tip: Maintain an "ideas page" with a running list of entry projects year-round. This can benefit your development effort throughout the year. It can also make your organization's GSoC application easier to put together the following summer.

Don't Be That Guy: Don't propose projects that neither you nor anyone else wants to mentor.