Google Summer of Code 2007 wrap-up

On Monday, August 20th, the 2007 Google Summer of Code came to its scheduled conclusion. The OSL mentored four students on three projects this year. We're proud to announce that all four passed with flying colors. We've been delighted with the quality of their work, and look forward to continued work with them all!

Thanks to Google's generous support, the OSL was able to host three varied and exciting projects:

  • Darko Ilic - Watch & Listen, One Laptop Per Child

    Mentored by Brad Morgan and the rest of the OSL team working on the Watch & Listen project, Darko quickly and energetically joined our team building a media player and encoder for the OLPC XO laptops. He impressed us with his enthusiasm in the application process and his work throughout the summer has confirmed our initial impressions. Darko has become a valued and productive member of the Watch & Listen development team. For more information on Watch & Listen, see: http://olpc-player.helixcommunity.org

  • Seth Lemons - XUL/XPCOM Kiosk

    Mentored by Eric Searcy, Seth took on the very challenging task of building a truly cross-platform kiosk-mode browser or browser plugin that provides better security and operating system integration than existing kiosk tools. Given the difficulties with stripping down a general-purpose web browser down to the bare minimum needed for a kiosk and a very loose project specification, Seth chose to build it from scratch using XUL/XPCOM on top of the Mozilla Gecko engine. A daunting and complicated task, Seth nevertheless managed to get a functioning prototype up before the mid-term evaluation and has been improving it ever since. He and Eric are planning to continue the project to finish building out the XPCOM component to tie in the locking down of the application to the underlying operating system. To see the code and try it out for yourself, go to: http://code.google.com/p/osl-fx-kiosk

  • Rob Wohleb and Silas Snider - Drupal/Google API: Drupal modules implementing the Google Premium/Education API

    Mentored by Justin Gallardo and Greg Lund-Chaix, Seth and Rob forged into new territory blending the power of Google Apps with the Drupal content management system. With the recent release of the Google Provisioning and Single Sign-On APIs to the Google Premium and Domains for Education just before the 2007 Summer of Code began, we had a golden opportunity to add support for single sign-on and provisioning of Google hosted domain accounts to Drupal. Using Rob and Silas' excellent work users can now have Google domain accounts automatically created when a Drupal user is added, and have them be automatically signed into their Google domain account when they log into Drupal. Some additional features in the works include Google Calendar<->Drupal event synchronization and Google mail list<->Drupal user group linkage. To see more about the modules, check out: http://code.google.com/p/drupal-google-api

This year's Summer of Code was an unmitigated success. We are proud to say all four of our students had committed functional, good quality code before the mid-term evaluation in early July and continued to improve upon that code throughout the rest of the summer. Communication between mentors and students - a critical component - was much improved from previous years and contributed greatly to this year's successes. Looking ahead - a bit of optimism on our part that Google will choose to renew the Summer of Code program for 2008 - we have some advice and lessons learned to share with the community:

  1. Communication: The more the better. Communicate early and often. The more talking among the students and mentors and the project community, the better. Communication builds relationships and trust. It helps bring the student more deeply into the project community and has the potential to turn a summer project into a long-term relationship.
  2. Code: Submit early, submit often. It's much easier for mentors to do their jobs if students submit code as often as possible. Mentors can help bring students into the project community, but by far the most valuable service a mentor can provide is help and feedback with the student's work - the actual code.
  3. Life happens: Illnesses crop up and schedules shift. Murphy's law strikes. Milestones change, features are added and/or dropped. It is vital that both the students and the mentors be flexible. There's an excellent chance the project that arrives at the final evaluation is very different than the one proposed in the spring. Students and mentors need to be talking regularly and often so that expectations and deadlines change as the summer progresses - see #1.
  4. Education: Last and certainly not least - learn. Even if the code produced ends up being something completely different than what was expected or incomplete, remember that the Summer of Code is as much about learning to participate in FOSS projects and communities as it is about the code itself. Of course it's good to have student code incorporated into the projects, but it's even more important to bring talented new contributors into the community. Even if the code written during the summer never makes it into a release, the project or community has gained a potential long-term participant that can produce more code in years to come than they could have done in the course of a single summer. If the code they submit does make it into a release, all the better, but the talented and motivated people SoC brings into our communities are invaluable.

A big "Thank you!" to everyone at the Google Open Source Programs Office and to all of the 2007 Summer of Code participants. The world is a better place because of your efforts.