...making Linux just a little more fun!
One of the biggest noises in Open Source this year was made by Google's announcement of the Summer of Code: a project to encourage students to participate in the development of open source projects during the summer holidays.
Google teamed up with a number of "mentor" groups, who each provided a list of project ideas to the hopeful applicants. The applicants could then write a proposal for Google. Google sorted the list of applicants by project, and provided the mentor groups with a list, and a number of applicants they could choose.
The deadline for applications was June 14th; successful applicants were notified on the 25th, to have their project deliverables turned in by September 1st. The list of successful projects will be (will have been) announced on October 1st. (I have attempted to build a list of projects, sorted by mentoring organisation, which I have included as an appendix to this article.)
Successful participants receive $4500 for their efforts, with a further $500 going to the mentor organisation. Though Google had originally intended to select 200 applicants, the response was so high (8700 has been quoted) that in the end they chose 410.
This article, containing advice to future applicants, explains how the selections were made:
We received 126 applications. We selected 12 of these for approval. Google gave us 10 slots, so the top 10 choices were funded. It was very easy to reject perhaps a third of applications that were very poor, indeed. Where do people get the notion that cutting and pasting my own text from the project description so that I can review it is worth $4500? Who are the people who think that one-line or one-paragraph applications will get them the stipend? Some of these very brief applications were written by people with impressive resumes. It was obvious they could do better.
Unlike previous "bounties" for open source projects (Novell, for example, announced a set of Gnome Bounties a few months previously), Summer of Code was strictly for students. There were no restrictions on the basis of nationality, but proof of attendance at a third-level institute was a requirement in addition to the proposal, in which academic merit was to be shown, and deliverables defined.
Google have been roundly applauded for their Summer of Code idea, though it hasn't been without criticism. The amount of money in particular has been a source of complaint, as being well below the amount a summer intern would earn in the US. There have also been problems for participants outside the U.S. Although American students will not have to pay tax on the money from the Summer of Code, that does not apply to non-Americans, and for participants in countries that do not have tax treaties with the U.S., both local and American tax apply.
There has been some complaint about the choice of projects. One project that has been singled out as a waste of funding is The Sneaky Snakes, a Snake clone in Python, mentored by the WinLibre project. (In my opinion, that organisation deserves criticism for squandering funds; not for choosing the Snake clone, but for choosing three separate but similar updaters).
There was also quite a lot of disappointment from those who weren't accepted. The Summer of Rejects site has a list of Rejected Ideas, and the summer-discuss mailing list (Google group) had quite a few messages from people who intended to complete their projects without funding. (I haven't found any evidence of that happening, though).
The process wasn't problem free for the mentors either. In this message to the 'wine-devel' mailing list, Jeremy White of Codeweavers said:
To be honest, we're running a bit behind here; I think Google jumped into this without being as prepared as you might otherwise hope, and there have been challenges in figuring this all out. (We're still largely clueless about the responsibilities of mentors from Googles perspective, for example).
Several of the mentoring organisations had already been running bounties of their own. Some of them have mentioned the fear that SoC will have a negative effect on the bounties offered by open source projects:
Working for "free" is one thing; getting paid to work on Free and Open Source software is quite another. Google's funding of the various projects didn't raise notable problems, though it may have raised expectations for the future.
"One minor issue for us it that the reward offer is quite sizable, and was, in most cases, larger than what the bounty would have fetched in the usual Bounty system employed within Ubuntu," Ubuntu's Weideman said.
"This expectation will need to be managed."
(I think it's fair to say that if Ubuntu had come up with a list of projects specifically for Summer of Code, instead of merely pointing to their existing task list, then they wouldn't have this problem).
There were also a few odd wrinkles. This message on Subversion's SoC list shows a common event in open source: the applicant found another project that performs most of the same work as his proposed project.
Now, this is a little tricky: commitmessage.tigris.org is a separate project from Subversion, yet part of the point of Summer of Code is for the student to actually work with the designated mentoring organization -- which in this case is the Subversion project. So we have an unusual situation going on here. Brian submitted his code to commitmessage.tigris.org, which is entirely maintained by one person, Stephen Haberman. However, his mentoring organization is the Subversion project, which has thirty to eighty developers (depending on how you count), and naturally, the dynamics of the two projects are significantly different. Google's Summer of Code program is more geared toward the second kind: it's meant to give students a chance to work with large teams and their collaborative mechanisms.
Google's Chris DiBona, who was Google's public face of the Summer of Code, has expressed a hope to repeat the Summer of Code, but the success of this year's competition will first have to be determined.
The information available about the chosen projects has been somewhat uneven: ironically, the projects mentored by Google are among the hardest to find information about.
Several of the participants kept blogs detailing their progress: some of these are aggregated at PlanetSoC. There's also a mugshot gallery of some of the participants.
In some cases, the work has been good enough to release: Mono 1.1.9 includes the Summer of Code work on JScript and the MonoDoc browser, Wine 20050830 includes theming and Mozilla work, etc.
Many of the projects were the usual sort of development tasks available in open source; understandable, as the participants only had two months in which to complete their projects.
Some, however, were extremely ambitious ideas. "JavaEye", one of the Project Looking Glass projects, has this in the introduction of its proposal: Has anyone watched Minority Report? Have u seen Tom Cruise just use his hands moving in a 3D space to control the computer? Do you want to do it in the next generation Java Desktop? If yes, I can make it to become true. Perhaps this was a little too ambitious (at the time of writing no code had been made public), but it's certainly an intriguing idea.
Both Gnome and Gaim had similar ideas. CamTrack (Gnome) is an accessibility aid, which allows the user to move the mouse cursor with the motion of their head using a webcam. CamTrack is available for download. CrazyChat (available from Gaim CVS) determines facial expressions and head movements, again using a webcam, and controls a 3D avatar using this information.
Portland State University has, among other ambitious projects, a software implementation of 802.11; KDE has del.icio.us-like tag browsing for the file system; Gaim has a collaborative code editor... I could list my favourite project ideas, but I spent quite a while building the list below, so feel free to pick your own!
I couldn't find any information about the projects chosen by JXTA, LiveJournal, or Asterisk.
Like many other projects, Python coordinated their SoC projects through a mailing list and on a wiki.
Though Gallery set up a Google group for the projects, it went almost unused. They also set up a Sourceforge project, which thankfully didn't.
Project Looking Glass is Sun's Java-based 3D desktop system. Most of the projects here are reimplementations of common desktop utilities, with a 3D twist. The code for these projects is available from the lg3d incubator project on java.net.
Aside from the announcement of the successful projects, I haven't been able to find much information about the nmap projects.
WinLibre (projects) is a project to provide open source software for Windows.
Because Jabber is a standard, not a project per se, the projects listed cover a range of clients and platforms under the Jabber umbrella.
Very few of the Fedora projects are specific to Fedora, and mostly deal with general improvements to Linux.
Information about Internet 2 projects is quite sparse. The only information I could find is in a set of minutes (text, scroll almost to the bottom), and I have to admit that none of it means anything to me.
The Bricolage site was unavailable at the time of writing: We're working on recovering the data from a catastrophic failure. Hopefully, they'll have the problem fixed soon: you'll find their projects here.
As well as the Summer of Code projects, Horde also has a bounties page.
Miguel de Icaza's blog has a summary of the status of the SoC projects, among other things.
Two of these projects were never started.
On the projects page, the Perl projects are listed with interviews with their creators, which are linked to below, apart from BitTorrent (interview) and WWW::Kontent (interview, journal).
As a university, it's unsurprising that the academic merit of these projects is quite high. (See also some of the other projects completed by the "OSS class").
This information wasn't available on the Monotone website; thanks to Nathaniel Smith for providing this information. He also said that all of the applicants were successful.
Gaim was one of the best documented SoC mentor organisations. As well as a project page with very clear descriptions of each project, they also provided blog space for each participant, as well as a Planet Summer of Gaim aggregator.
Few, if any, of the NetBSD projects are Linux-relevant, but I'm including them for completeness.
The Semedia projects page isn't very clear on this: I'm assuming that the projects that have had a mentor assigned are the projects being worked on.
As well as providing a mailing list and blog space (unused), the Samba team have provided space for the SoC projects on their projects website.
The Blender projects mostly go way over my head. Code is available here.
Rather than set up a separate project page, Ubuntu integrated the SoC projects with their existing bounties.
The list of projects appeared in Wine Weekly News, with a note of disappointment that at least one had been dropped, and there had been no code from another.
Of these projects, the Mozilla, Theming, and DirectInput have been added to Wine CVS.
Yet again I have to throw my hands up in defeat, though I was able to find one project.
Jimmy is a single father of one, who enjoys long walks... Oh, right.
Jimmy has been using computers from the tender age of seven, when his father
inherited an Amstrad PCW8256. After a few brief flirtations with an Atari ST
and numerous versions of DOS and Windows, Jimmy was introduced to Linux in 1998
and hasn't looked back.
In his spare time, Jimmy likes to play guitar and read: not at the same time,
but the picks make handy bookmarks.
Jimmy has been using computers from the tender age of seven, when his father inherited an Amstrad PCW8256. After a few brief flirtations with an Atari ST and numerous versions of DOS and Windows, Jimmy was introduced to Linux in 1998 and hasn't looked back.
In his spare time, Jimmy likes to play guitar and read: not at the same time, but the picks make handy bookmarks.