Google Summer of Code
A students view
What is it?
Some of you may never have heard about the Google Summer of Code program. It is a initiative from Google, that allows students to participate in open source projects during the summer, instead of their usual summer jobs and still earn money. A wide variety of Open Source organizations are participating, 180 this year. Projects can be done in a lot of different programming language, therefore there will be something for every student which likes to participate.
Application process
Once Google publishes the list of accepted organizations, the work for the students starts. Each organization provides a list of ideas, from which the students can pick. Students can also propose different ideas from those that are on the organizations list. Once the student picked an idea (on the list or not) he can contact the organization to ask for more detail or any question about the project. A student could also just write down a proposal based on the idea, but not being in contact before submitting the proposal diminishes the chances of being accepted. During the application process the idea gets more and more detailed, which then leads to the proposal. Proposals can be submitted to Google until a fixed date, which was April 6th this year. After submitting the proposal the organizations review the proposal and rank them. During this phase the students are still involved and sometimes asked to provide additional details and revise the proposal.
Accepted students
Once all the proposals are ranked, Google releases the list of accepted projects. This year there were about 1200 accepted projects and happy students (I am lucky enough to be among them ;) ). The students that were accepted begin reading documentation and start working on the projects once the list is released.
My proposal
I applied to design a faster index format for the git version control system. Already in the application period I had lenghty discussions both on IRC and their mailing list, which were very insightful and gave me a better idea of both git and the community behind it. In case somebody is interested here is the conversation part that was done on the mailing list. It is by no means complete, because a lot of the discussion was done on the #git-devel irc chat on Freenode.