Google has a project, code.google.com, which grants users free project webspace with Subversion for use with OpenSource software development projects. The program is free, and is open to anyone who wants to develop an open source project.
Subversion (a proper noun, not be be confused with "subversiveness") is a software development tool that allows a development project to centralize source code changes so that multiple developers and/or developers in multiple locations can work simultaneously on the same project.
While browsing through the help documents on the site, I came across a page that linked to a free book, Producing Open Source Softare. In keeping with the open source atmosphere, the book is free and is licensed under a Creative Commons license. You can download it directly from the site.
The author of the book, Karl Fogel, was one of the core development team who worked on Subversion. I read through a great deal of the Producing OSS book (though not all of it, as it's rather dry, and some of it was not at all interesting to me). I learned a great deal about Subversion and the open source development project, and made various mental notes for later.
The book itself doesn't just deal with programming, however. In fact, it doesn't really deal with programming at all. Most of it deals with management, communications, community and project development, and other meta-themes that are related to software development. The target audience is obviously corporate developers who are making the shift from proprietary development to open source development, but it has a good deal of general information that's applicable to just about any public enterprise.
The Google Code site offers a low barrier-to-entry method of hosting your development project. Obviously, this is not going to appeal to very many people (because not many people write code, and even less write open source), but it's a great initiative. One of the senses I get, too, is that the engineers at Google who are developing this particular service are very interested in putting functional, easy-to-use tools into the hands of the people who write software with the hope that good things will come of it.
I started up a project of my own (nothing very interesting, really) to try out the service. The service is quite robust and includes various useful features that a developer would want. Some of these include:
- Webhosting (obviously)
- Download manager to manage file releases
- Wiki site and software to aid in creating documentation
- Bug/issue tracker
- Source code repository, including Subversion
- Integration with other Google services, such as Blogger, Groups, and Google Accounts
For some, the integration with other Google services may be too much in the way of branding, but the great thing about the whole operation is that it allows someone with zero financial resources to get a software development project up and running, complete with website, mailing lists, and newsfeed, for absolutely no cost. The requirement, of course, is that your software is open source. Still, this is a really amazing resource.
There are various other, similar resources available. One of the most prominent (and my personal favorite) is SourceForge. SourceForge hosts a vast array of widely-respected open source projects and even some Google code (Google sitemaps, for example, can be found on SourceForge). However, SourceForge has a much more professional feel and somewhat higher barrier to entry as compared to Google Code. There are pros and cons to each, obviously, but I think that Google Code can appeal more to a student or to someone who has slightly different demands of their service provider.
It was originally stated here that Google Code allows you to delete a project, while SourceForge does not, and that SourceForge provides a compile farm. cdibona provided several corrections and some clarification. Google Code allows you to delete a project up until a point at which it reaches a certain level of activity. After that point, you will not be able to delete the project. Both Google Code and SourceForge have similar philosophies on this issue: that, since the code is open source, people should have access to it in the long run. cdibona also pointed out that as of several months ago, SourceForge no longer offers its compile farm service, since it was not very popular.
Eventually, I'd like to put together a short tutorial on how to get up and running with an open source development project on Google Code. In the mean time, I'll play around and experiment some more, and continue learning about the various development tools available. One fun thing I learned, for example, is that Eclipse has a Subversion plugin which directly integrates with Google Code. These will be some fun things to play around with in the coming weeks.