Leslie Hawthorn, a Program Manager in Google's Open Source team, gave a talk at BSDCAN 2008 on Google's ongoing Summer of Code project. She started by explaining what the open source team does, including enforcing license compliance, hosting over 700,000 open source projects with Google Code, academic research, funding open source development, and community outreach including the sponsorship of conferences such as BSDCan. She went on to discuss how she got started running the project after its initial launch in 2005.
Having sponsored four summer of code's now, Leslie noted that Google has had over 1,500 "graduates" and over 2,000 mentors involved, coming from over 98 countries and working with over 175 open source projects. By the end of the currently in progress 2008 Summer of Code, the project will have provided over 10 million US dollars in funding, generating over 6 million lines of code.
Of the BSDs, Leslie stated that this year FreeBSD, NetBSD and DragonFly BSD are involved in the program. She welcomed DragonFly as a new member, noting that they received around 40 applications. She described 30% of these applications as well targeted, and noted this was very good for a new project. She held them up as an example of a group that is doing things right on their first try, impressed that their proposals were developed collaboratively and in the open using a Wiki, where potential students and mentors worked together on the process.
She then displayed a series of maps, showing where each of the involved BSD project's students and mentors were located around the world.
Lessons Learned
Leslie jumped into a series of slides, each with a phrase illustrating what Google has learned from running the Summer of Code program.
- There are no rules
Leslie noted that when working with open source, the general rule is to ask for forgiveness, not for permission. She noted that Google imposes very few rules for participating projects, trying to remain as hands off as possible. "We can't tell you what's good for your project, we don't know!"
- There can only be one
She noted that the person who proposes that a project get involved with the Summer of Code is generally the one doing all of the work, "But don't let it stop you!".
- Recognize when you are under resourced
Leslie suggested that proposals indicating "I wish to conquer the world" are a little too ambitious, and a good mentor should set reasonable expectations. She also suggested that projects trying to get involved in the program should already have a list of ideas when approaching Google, rather than confessing to having not given it any thought yet.
- There's never enough
"We have so many great students, and there's only funding for X students. Honestly, I just wish we had more money too," Leslie explained, noting that they've added 1 million dollars to the program's budget each year, and they always end up taking on more students than they originally intended.
- If at first you don't succeed, try and try again
Leslie explained that they do notice repeated attempts to apply to the program, and that continuing to apply is a good thing. As an example, she noted that this year was the third time DragonFly BSD applied, but the first time it was accepted.
- You get what you give
She described the evolution of the NetBSD project's involvement in the program, starting with a free for all the first year, then moving to a lengthy list of proposed ideas the next. Then in 2007 they decided they hadn't screened their applicants well enough and added hurdles to joining the program. Now, in 2008, it was decided it was best to attract new developers, and intentionally designed half their proposals with newbies in mind.
- Okay to fail
Leslie stated that Summer of Code projects have a 15% failure rate, and that it's okay to fail as long as you learn something. At this point, she murmed something about it's okay to fail, but it's not okay to cheat, then moved on to the next slide.
- Proximity helps
She noted that she was surprised to discover how many mentors and students are located in close physical proximity to each, and take advantage of this by meeting in cafes. She added that she was surprised by this, as open source is known for being distributed and allowing people to work together without being physically close together.
- P is for Paranoia
Leslie talked about much of the paranoia she runs into while running the program, and stressed that their goal is that it's a good experience for all involved. She acknowledged that there's some stress involved in making mistakes in the very public forums where open source development happened, and noted that it's important for mentors to be aware of this and even share stories about their own mistakes.
- You cannot over communicate
She noted that the Summer of Code program doesn't require status reports or regular source code check ins because different projects have different systems that work for them, but she did stress several times, "you can't over communicate!"
- Sharing Is good
She told a story about a FreeBSD amin who commented that what he liked best about being a mentor was that once the student's work was completed, it was not only integrated into FreeBSD, but also into all of the BSD projects.
- It's not just about your bus factor
The bus factor is the concept that if a key person get's hit by a bus, a project is ended. Leslie suggrested that FreeBSD is not suffering from a bus factor, with plenty of new blood joining the project. She showed a graph that had the ages of all FreeBSD developers, ranging from 18 to 58, with a cluster of developers between the ages of 24 and 30, suggesting much of this interest could be from past Summer of Codes.
- GSoC helps project get more organized
One of the things that a project can gain from Google's Summer of Code is learning a process for bringing new members on board. She noted that the BSD project's don't seem to suffer from this problem, and that from her perception they are one of the more organized projects around.
- The code lives on
There are people out there working on stuff, relationships being formed, energy, good will, will be felt for years from now.
Melange
Leslie then talked briefly about Melange, the first time a Google project has been developed as open source since its first day. This is the framework that will be used to manage future SoC's and GHOP's.
Questions
At this point, Leslie opened the floor to questions.
Q: It's not summer in the Southern hemisphere during Google's Summer of Code.
A: Leslie indicated they were looking into running a special summer of code in Australia, but are currently understaffed. They currently have 15 people on the open source team, and only 3 of them focus on the SoC at any given time. Leslie hinted that there may be more news about this by November.
Q: How many SoC students have Google people hired.
A: Not a lot. 1/2 of a percent to 1 percent. When the program was first set up, it was determined the entire program costs about as much as a small student recruiting program, but more comes out of it for the good of all. And over time, they hope to gain from all of the code that is created.
Q: What was the cheating thing you were mentioned earlier?
A: About half way through last year's program, Leslie received an email on the private mentors mailing list. The mentor was a well known open source figure, and had just discovered that he was outsourcing his Summer of Code project to five other students, paying them $500 of the $4,500 he was receiving. She stressed that it's okay to fail, but it's not okay to cheat. When asked how they know this doesn't happen more often, she admitted they don't, but they have faith in open source and the ability of the community to self police. With the program running since 2005, this is the only real horror story like this that she has.
Q: When can we expect OpenBSD to be a part of the summer of code?
A: They havn't applied yet.
At the end of the questions and answers section, Leslie posted the following related links:
http://code.google.com/opensource/
http://code.google.com/soc/
http://code.google.com/p/soc/
http://code.google.com/opensource/ghop/
http://google-opensource.blogspot.com
A Wee Correction
Thanks for the great article, Jeremy. There are actually only three people working on Google Summer of Code at any given time, all of whom are carrying other responsibilities, as well. We have about 15 total members of the Open Source Team.
Thanks, Leslie, I've updated
Thanks, Leslie, I've updated the Q/A section above to better reflect this, along with your comment here.