Defining a ProjectThe 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 to recruit new developers. The process of 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 so much more than just gettin 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, involving as many potential mentors as possible; this helps to get buy-in from the mentors, and gives a broad range of perspectives on organization needs. It 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 just echo that plan back 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 to 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 who is proposing to do something original needs to 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 are projects that require minimal familiarity with the code base and basic technical knowledge. They are relatively short, with a clear end. Risky/Exploratory: These are projects that 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 are projects that bring a fresh perspective to the effort. They might not be related to the current core development focus, but that 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. |