I've been unhappy with java.net for a while (they currently host some of DWR), so when I read about Google Code Hosting, I thought I'd take a look. Thoughts so far:
When I tried to create a project called DWR at Google Code, they checked for a project named DWR at Sourceforge (it exists - I've used it to host some child modules) and refused to create one without my permission (me here being the owner of the SF project). So once Google had asked me if it was OK if I created a project with the same name as one I created earlier, I was good to go.
Subject: Request for project "dwr" on code.google.com From: codesite-noreply at google dot com To: joe_fish at users dot sourceforge dot net Hello, You are getting this email because you are the owner of the dwr open source project. The following user has attempted to create a new project with the same name to be hosted on code.google.com: joseph.walker at gmail dot com [SNIP ...]
And then ...
The bug tracker might actually be useful
One of my issues with java.net is their terrible issues system. I've generally given up with it, and replaced it with a text file. You always know if your code isn't working well when your users prefer Notepad.
As usual, they've got the 'keep it simple, stupid" thing nailed. Look at the Google DWR page, and compare it with DWR at Sourceforge, or even DWR at Java.net. You could argue that the simplicity is because Google Code does not have important features (see below), but still a lot of the stuff that comes with java.net and sf.net is stuff you just want to get rid of. Why for example would anyone looking at the DWR page on java.net be interested in the release notes for CollabNet 3.5.1?
There appears to be no human checking on the projects at all. Both java.net and sf.net require a human to authorize projects before they start. I have to wonder, looking at the junk there is on both, why they bother though.
Both Dion and Bill recently blogged about clean URLs, but what is that
/p/ doing in
http://code.google.com/p/dwr/. Both Sourceforge (
dwr.sf.net) and Java.net (
dwr.dev.java.net) have better solutions to the URL issue.
The options are:
So there are a lot of licences that you can't use, and you can't do any dual licencing either. And why is the Artistic licence only available with GPLv2?
None. Eh? - Note to Google: Please when you add a downloads section, make it easier to use that the java.net or sourceforge ones. The upload system could be really simple - "SCP to this folder, and it will appear here on the website". This would be a neat way to handle documentation too - I wonder if this system is open to any abuse that Google care about?
I think that Sun are in Java.net to build community, which in turn helps Java, which helps Sun make money, albeit very indirectly. Collab.net are Java.net it to make money directly. They charge Sun and anyone else they think they can get money from - including open source projects. DWR would like to use SVN, but I can't afford the Collab.net upgrade fee.
VA are in Sourceforge for the page-views which generate ad revenue
But what about Google? Is Google Code Hosting purely altruistic?
I think it's part of the whole 'evil' thing. Google are building the worlds biggest database of personal information. They already know: who I know (Orkut, GMail) and where I am (Calendar), who my best friends are and what I talk to them about (GTalk) and all the websites I visit (Analytics, AdWords). They know what I'm writing about (Writely, Spreadsheet, Blogger), and whenever my tin foil hat slips I become sure they are working on something to compete with Riya which they'll plug into all the security cameras around the world so they can track me in real time (Maps, Earth (or is that Moon)).
I think they need to convince people that they are not evil to save people worrying about the privacy implications of what they are doing. And Google Code is part of that.
So am I going to move? I'd like to use Subversion because it understands file moving, which helps with refactoring. Patrick Lightbody has done some work Mavenizing DWR but it involves moving lots of files around. (I'm not sure why, but that's another story).
I'd like a better bug system. Correction: Just a usable one would do.
Maybe I'll end up with a real hotch-potch. google code for svn and bugs, java.net for downloads, sourceforge for sub-projects and Getahead for web hosting (Not even java.net lets me host servlets!).
I'll be updating this blog entry as I learn more