Introduction: Google Summer of Code 2010 is still some weeks away, but this idea is a fundamental change in how the Haiku Project participates in GSoC. The following idea will redefine our entire perspective on what to achieve from Google Summer of Code, who can be assigned as Mentors, and the overall structure of how our students interact with our project at large. Because of this, I would appreciate feedback and discussion, particularly whether or not the idea is indeed a path we want to pursue. History: In the past years, we have selected the best student+project+mentor combinations, hoping to gain a contributor and at the same time get interesting work accomplished. This usually encouraged our most skillful developers to pull double duty as both developer and private mentor for several months. Sometimes, the return on investment was indeed more than worthwhile; quality code being submitted and gaining a regular contributor. Idea explained: Instead of placing an emphasis on the content of the project proposal where a student's academic knowledge could be over-extended beyond their limits, the project suggestions & proposals would become less challenging tasks of work that needs to be done in the code base. This reduction in academic challenge would allow the student to place their energies on developing themselves as an effective and productive open source contributor. My rationale and expectation is that students who are successful in participating as a contributor will find the motivation to further their skills and find open source participation to be personally rewarding, particularly with Haiku. Student & project selection: The students would still be subject to Haiku's selection process for determining the best of the best. However the topic of their project proposal becomes secondary in nature. As long as the project consists of work that is useful to Haiku directly or as a 3rd party contribution (eg, software that runs on Haiku) and there is enough for the length of the program, I would like to see it as a viable proposal. One idea to be explored is a dynamic project proposal along the lines of "Fix as many bugs/issues/open tickets as possible". To note, even though documentation, translation, and other non-coding tasks are indeed useful to the project, they should not be considered -- IIRC there is even a Google policy about this, however I cannot find a link at the moment. Mentors: In this proposal, the mentors would no longer be the end-all-be-all for their student. The mentor should be able to balance answering a student's questions directly and requiring the student to use the appropriate forum -- a mailing list, trac, and so on to seek additional information or code review. Essentially the mentor becomes a parental figure responsible for their student's growth. The above two concepts would lower the entry bar for a person to be a primary or secondary mentor. By encouraging/requiring the students to behave as any other contributor and seek information from the project at large, the mentor would no longer need to be a specialist in that particular field. This in turn, could free our best developers from mentoring a single student and allow them to respond to any student in the appropriate forum. Evaluations: By focusing on the growth of the student and requiring them to act as any other contributor, there would be additional observable data that can be used to measure their performance. This could help to further objectify the process. Examples of poor progress: * providing meager patches and little to no public communications with the project * effectively communicating, but failing to produce code --mmadia