OSM GSoC 2010—Lessons Learned

Some thoughts after Google Summer of Code 2010, during which I was a mentor for OpenStreetMap.

Many thanks to Graham Jones for coordinating the program for OpenStreetMap (OSM) and to Google for supporting the students.

After the program Graham asked several questions to the participants.

What do you intend to do with your project after Google Summer of Code (GSoC)? (a question to students)

Even though not a student, I do have some plans for Pawel's project too. Entering a POI is one-time activity for one person. Nowadays, there exist a number of check-in apps like Foursquare, Gowalla, Facebook Places etc., where people broadcast the fact that they are in some locations over and over. This can tell so much more about the places. All these applications lock user generated content with closed licences. I am planning to extend Pawel's work into open source and open data check-in app, possibly, using Mitja's POIs API. I am also not a big fan of how the change of OSM license is handled (I am pro-CC0). The open check-in app may be a way to purify, in terms of license, some subset of data.

What did you like best about your participation in GSoC with OSM?

In short, use of technologies to communicate about the project.

This was my third year as a mentor. Amongst other mentor activities, two were high on my list this year:

  1. Engaging other people from OSM community into discussion.
  2. Promoting student's work.

Google Wave, though abandoned technology, was extremely helpful to have structured discussions open to people willing to jump into them. Jonas Krückel provided useful feedback and tested the web app on iPad. I believe, he learned about the project from occasional tweets about it. Mitja Kleider, another student in the program, gave some useful technical feedback.

When the application became functional, issues control system provided by Google Code became useful to track the bugs and planned functionality.

In addition to Twitter, other channels of spreading the word were OSM mailing list and good old public talking to a crowd of interested geeks.

How could we have improved the application / selection phase of GSoC?

The system of ranking that Google used is not good because this is not clear what a mentor means when he or she gives a grade to a proposal from -2 to +2. And different people meant different things. At the end we used the approach when each mentor enumerated 8 proposal in order of his or her preference, and the proposals received scores from 8 to 1. The total score for each proposal was much more meaninful.

Such approach or some other approach, when this is clear what a mentor means, when he or she scores a proposal, should be used in the future.

Communication could be increased between students and mentors during the phase. If not a wave, there may be some kind of forum set up specifically for it.

How could we have improved the community bonding phase of GSoC?

I was happy with the phase.

How could we have improved the coding phase of GSoC?

In general, I think more communication between projects would not hurt. Also inviting other people from the comunity would be useful.

If not a wave, it would be nice to have a place to have threaded conversation about each projects (may be some kind of forum). In the beginning, the information about places to communicate about each project and places to post issues and bugs could be collected and posted to the program wiki page. Emails linking to program wiki could be sent to the developers and general mailing lists 3-4 times during the program.

Weekly reports are useful. They gave some rhythm to the projects.

A thought to myself: may be I should try to micro-mentor for some period of time. Specifically, I am thinking about giving frequent code reviews. This should depend on a mentoree though.

Some random thoughts:

This is important to mentor a project one will actually use himself.

Functional specs for this kind of projects should be left relatively flexible.

During the first year of mentoring the main mean of communications for us was email, during the second—Google Talk, Google Wave is the best combination of these two.

Having all communications open to public is good.