Dr. Dobb's Journal December, 2005
Google's Summer of Code was the cat's pajamas. Not only did it generate thousands of lines of open-source code in a variety of programming languages for a bunch of operating systems, but it paid well, too. Student developers who were selected to participateand there were more than 400 of themreceived $4500 each for coding to their heart's delight over the summer.
But money wasn't the only motivation, at least from Google's perspective. According to promotions the company ran last spring, the goal was "to get the brightest minds on campus contributing code to open-source initiatives and inventing new open-source programs." Still, no one turned down the loose change. After all, when it comes to summer jobs, buying coffee at Starbucks is a lot better than serving it.
Led by Chris DiBona, Google's open-source programs manager, and Greg Stein, a Google engineering manager, the Summer of Code team proceeded to ally student programmers with mentors (DDJ contributing editor Greg Wilson was one mentor) and mentoring organizations. The mentors and mentoring organizations came up with project ideas, acted as sounding boards, and monitored student progress. The mentoring organization also played a part in determining the platform (come on, you really didn't think that, say, FreeBSD.org would sponsor a Windows or Mac OS X project) and licensing scheme for the source code (as one of the mentoring organizations, Google required BSD, LGPL, or GPL). The choice of programming language was left to the student. Mentoring organizations included the Apache Software Foundation, Blender, Drupal, FreeBSD, The Gnome Foundation, Internet2, the Jabber Software Foundation, KDE, the Mono Project, NetBSD, OpenOffice.org, the Perl Foundation, Portland State University, the Python Software Foundation, the Subversion Project, XWiki, and Google, among others.
To acknowledge the efforts and contributions of students who participated in the Summer of Code, we will be presenting over the coming months profiles of many of the participants and their projects. We start off this month with a brief interview with Chris DiBona, who provides some background on the Summer of Code, then let the students tell you about their projects in their own words (see page 60). One thing you'll notice right away is that the Summer of Code was truly an international effort. This month's students, for instance, attend schools in Sri Lanka, New York City, Croatia, and Missouri.
Please join me in congratulating the students for their fine work and Google for sponsoring the initiative. From what I can tell, the Summer of Code was an all-around winnerthe mentoring organizations got a lot of great code to support their projects, the programming community was reminded about the importance of creativity and cooperation, and the students can now afford something other than Ramen noodles for dinner.
Okay, that takes care of the winners. Now for the losers.
Several years ago, DDJ published an article about the baggage system at the Denver International Airport (see "Simulating the Denver Airport Automated Baggage System," by John Swartz, DDJ, January 1997). It didn't take a massively parallel grid computer and army of consultants to figure out whether the $200 million 17-mile-long Rube Goldberg system of tracks and carts would work. (In fact, all it took was a run-of-the-mill PC and XLisp, David Betz's freely available Lisp implementation.) What John Swartz's simulation confirmed was that the automated baggage system wasn't feasible. Nearly a decade and millions of dollars later, it's officialthe automated baggage system won't work and has been abandoned. United Airlines, the only airline still using the system, finally just said "no" to automation, opting for human baggage handlers and saving $1 million a month in maintenance costs in the process.
The system, designed by BAE Automated Systems (which closed its doors years ago), was a paragon to technology. It originally called for 300 OS/2-based 486 PCs distributed in eight control rooms, databases running on fault-tolerant servers, high-speed fiberoptic Ethernet, 14 million feet of wiring, 56 laser arrays, 400 frequency readers, 22 miles of track, six miles of conveyor belts, 3100 standard carts, 450 oversized carts, 10,000 motors, and 92 PLCs to control motors and track switches. And, as Daniel Stearns of California Polytechnic State University notes, the system accurately illustrated the principle of object-oriented design by sending "messages to objects [the carts], which respond by returning other objects [baggage and empty carts] to the sender." But it didn't work.
Granted, offering advice at this point is like closing the barn door after the baggage cart has escaped. Still, you have to wonder whether a cadre of creative, energetic, and dedicated students looking to avoid a summer of saying, "Would you like fries with that?" could have done at least as good a job as those losers who planned (and profited from) the Denver Airport fiasco. Google and its Summer of Code just may be on to something, and I'm already looking forward to the Summer of Code 2006.
DDJ