
Yesterday, I ventured down to Google's campus for the celebration of the fifth anniversary of the launching of Google Code. It was a relatively eye-opening experience, as they pointed out a lot of things about their hosting system that I hadn't known previously. For example, while the site launched with four projects and two APIs, it's now hosting over 905 projects and 60 APIs. And that's just Google's stuff. End users have uploaded over 300,000 of their own projects to the site, and 26,000 of those were updated in the last month.
Java is the most popular language used in Google Code projects, with PHP and Python both close behind. What is interesting here is that C++ and C# are dead even at 4% of the overall projects. There are over 4000 Android applications in Google Code, and over 1000 Eclipse projects. The band, Radiohead, used the service to host its music so that fans could remix their songs, and the source code to the Apollo 11 guidance computer is hosted there as well.
But those are just numbers. What was really interesting to me was the way the Google folks took credit for simplifying online project hosting. And you know what, they're right: they did push open source hosting sites to simplify by offering a streamlined alternative.
How did Google streamline Google Code? For one thing, issue tracking was refined to the same simple interface you'd get when posting a comment to a Web site. Rather than ask bug submitters to post up huge amounts of information and click tons of radio buttons, as is the case in Bugzilla, the Google Code issue tracker submission window is nothing more than a title bar, and a big blank text box in which to describe the issue.
Elsewhere, Google made it easy to host your project on their site, and took approval and compliance processes out of the system entirely. Sourceforge notably required a lot of hoop jumping back in 2005, and Google decided to ditch these requirements and just allow anyone to host projects there.
Google also took the controversial tactic of restricting license usage on Google Code. They whittled the choices down to the bare minimum, and as a result, over half of the code hosted there is either GPLv2 or GPLv3. A quarter of the projects are under the Apache License, and the rest are a mix of Eclipse, MIT, and a handful of others. As Google engineer, Ben Collins-Sussman put it, if you can't get what you want out of the licenses they chose, you're doing it wrong. He also said that many developers think of legal documents like code: if they compile, you're good to go. This is super wrong, and can get you in trouble. So Google has used Google Code to halt open source license proliferation and dilution.
For the fifth anniversary, Google implemented a Paxos algorithm in the backend of Google Code, so now updates will be instant and reliably replicated.