Google Summer of Code 2009 Wrapup Report

Overview

In 2009 the Etherboot Project was pleased to participate in Google Summer of Code 2009.

Our main project page for Google Summer of Code 2009 is here.

A full record of our Google Summmer of Code participation for all years is available here.

This marks our fourth consecutive annual participation in this excellent mentoring program.

This summer Google generously sponsored 5 students to work with us, and 4 of our 5 students (80%) successfully completed their proposed projects.

2009 was a very successful GSoC for our project and we would like to thank Google, our mentors and our students for making this a productive and memorable summer.

We would particularly like to thank one of our mentors, Stefan Hajnoczi, who was a GSoC student with us last year. His insights and diligence this summer were extremely enlightening and helpful.

Though all of our GSoC projects were not successfully completed this summer, we felt that our students' work was generally of excellent quality, and we thank all of our them for their efforts.

We will apply what we have learned this year to future mentoring, and feel that our participation in GSoC has strengthened our project by requiring us to create technical and social infrastructure required to successfully integrate new members into our project.

We look forward to continuing to give GSoC students and other interested people a good introduction to FOSS development.

In this wrapup report we will give a brief summary of each student's work, with links to their full project pages for the summer. We have also included information on our mentoring system that we hope may be helpful for other projects.

Marty Connor 2009/09/08 17:24

Student Project Summaries

Daniel Verkamp

Daniel implemented an automated regression testing framework to help the project consistently deliver high-quality releases.

Daniel's project pages are here.

Joshua Oreman

Joshua extended gPXE, our network bootloader, with and 802.11 wireless stack, and added drivers for two wireless cards.

Joshua's project pages are here.

Lynus Vaz

Lynus Vaz extended gPXE scripting with a more powerful language that is capable of expressing advanced boot policies.

Lynus' project pages are here.

Pravin Shinde

Pravin Shinde created a central resource to network boot operating systems, diagnostic tools, and utilities at http://boot.kernel.org/ .

Pravin's project pages are here.

Chris Kluka

Chris worked on adding a network driver DLink DGE-530T ethernet cards. He was unable to complete his project, but compiled and created useful information which will facilitate future work on this driver.

Chris' project pages are here.

Our Mentoring System

As this is our fourth year of participation in GSoC, and we have developed and refined a system for mentoring that works quite well for us.

One of the most important attributes of our GSoC system is that if breaks the 12 week coding period into twelve one week evaluation periods. By doing this, we ensure that we always have recent information on how are students are doing, which allows us to intervene in a timely fashion should we detect problems.

How we structure our GSoC engagements

  • We mentor as a team. We have a mailing list and private IRC channel specifically for mentors.
  • We request code samples from all of our applicants to get a sense of their proficiency and coding style.
  • Our mentoring team interviews all qualified applicants in a private IRC channel. Multiple perspectives have proven very helpful in identifying excellent candidates. We discuss candidates during interviews in a second private IRC channel.
  • We present real-time coding exercises during our IRC interviews with applicants, and ask them questions about their proposed solutions, and also about their code samples.
  • We inform our students of our team mentoring approach and encourage them to send general questions to the mentors mailing list.
  • We require our students to maintain a set of project pages, which in include their:
    • Project Plan
    • Journal (broken into twelve weeks)
    • Notes
    • git repository link
  • Our mentors meet weekly with each student in a private IRC channel to review their project pages and generally discuss progress so far. We have found these meetings to be very beneficial to both students and mentors.
  • We require our students to have IRC access and to define “work hours” where they will be online and available on our main project IRC channel (#etherboot). We have found that this encourages them to interact with our project community as well as their primary mentor.
  • We use all available means to communicate with our students, including IRC, Email, Phone, VOIP, and IM. Students prefer various methods of communication, and finding what works is important.
  • We make the progress and ultimate success of each student central to our mentoring goals. We meet as mentors to discuss how we can help, and we discuss our evaluations as a team.
  • We judge our project's progress and success on both the quality of the code and quality of the community that we create. They are both important to us, and important to the health of our project.