There is a new entry into the open source software code repository space: Google Code – Project Hosting. This will hopefully be a long awaited kick in the pants for Sourceforge.net which hosts many, many projects but can be difficult to find the cream of the crop, compare similar solutions and weed dead projects from the results.
Google Project Hosting Features:
The interface is clean, compact and concise. It is missing the abundant clutter that permeates Sourceforge and most programming tools. Avoiding “too many options” is something Google understands well.
Storage and Version Control
Google is offering 100 mb storage, and uses Subversion (currently kicking CVS’ butt) for version control. Subversion access control is tied to your Google Account (using a password that is generated by Google).
It also includes a custom defect tracking system with fields for: Type, Status, Priority, Milestone, Owner, Summary + Labels. The defect tracker also lets you Star bugs to be notified of issue changes. I assume that it will be an email update, but upon testing with two Google Accounts I wasn’t able to get bug notifications for either of them.
Status Values and Issue Labels for defects can be configured by the project administrator.
New = Issue has not had initial review yet
Accepted = Problem reproduced / Need acknowledged
Started = Work on this issue has begun
Tagging Support (called Labels)
Each project can be tagged with various categories by the project adminstrator. Note that tagging will end up being pretty arbitrary unless there are some kind of moderators going around and cleaning it up to achieve a common folksonomy. Users can enter any labels they choose, although some are banned (like “google“).
Creating projects is simple and anyone with a Google Account can do it. All you need to do is enter a project name, summary, description and as many labels as your heart desires.
Once a project is created, the administrator can change the initial settings, add urls for links, discussion groups, and blogs as well as setting up an email notification for Subversion activity. The discussion group has to be a Google Groups.
The project can change settings for the defect system (mentioned above). S/he can also add/remove members or administrators.
There is an advanced option for deleting the project. It is unknown if the project name immediately becomes available again or if it is locked from re-use.
Non-administrators can’t add/remove themselves from projects. All project membership changes have to be done by a project administrator. A hassle, but ultimately less prone to abuse since you’ll have to contact an administrator to manually ask them to allow you to join the project. I was able to switch project ownership between accounts.
One thing I noticed is that when someone is added to a project, they don’t receive a notice. They also don’t receive notices when adding bugs to their name.
Code licenses supported are: Apache License 2.0, Artistic License/GPLv2, GNU General Public License 2.0, GNU Lesser Public License, MIT License, Mozilla Public License 1.1, New BSD License. Clicking on the license associated with a project brings up the full description.
Clicking on a user profile displays owned projects and projects they are a member of. There is no link to an email address, profile description, website or a list of message topics. That should all be feasible since they are all tied to the Google Account.
You can access the user profile of any Google Account even if they have yet to join a project. i.e.: http://code.google.com/u/engtechnology/
The associate discussion group is currently being flooded with suggestions and bug reports: http://groups.google.com/group/codesite-discuss
Note that the Google Code FAQ hasn’t been completely update yet:
This looks like a very good first stab at a FOSS project repository. Ultimately, I think the labelling will need some kind of moderation to try and achieve a common folksonomy/semantic markup so that common tags are used and similiar projects have similiar tags. I would really enjoy it if they could use their algorithms to suggest alternatives when investigating a particular project.
It is very user friendly and the only necessary features I think missing are some metrics on code development and stability, as well as a mechanism for differentiating the great FOSS projects from the merely good.