I've collaborated or contributed to a few community projects over the year (most notably Nant a few years back).  I haven't been active in any big projects recently, with the most recent contribution being the WCF support in QuickCounters, but I've posted a number of useful libraries and utilities over the last couple of years, several of which have been used by other people.

I originally posted many of these as just samples (source included), but if people find them useful, I wonder if it would be interesting to turn them into more proper open source projects. I'm talking about things like: the PipelineTesting library, the several pipeline components, my MSMQ activities for WF and a few things here and there for WCF and such. Would people find them useful? Would anyone care to contribute to them if they were used to start a few proper open source projects?

Assumming there is enough interest (I'm guessing not, but you never know), what's the best place to publish them? Right now, I see three basic choices:

  1. SourceForge: This is the classic option, and SF is fairly robust and offers good facilities. I don't like a lot of the SF infrastructure, though, and there's so much stuff there anyway that finding anything can be painful.
  2. CodePlex: This would be a logical choice for open source projects in the MS world and it's what we're using for QuickCounters. The site seems robust and useful, and the backend is pretty robust (based on Team Foundation Server after all).
    However, the dependency on TFS is what I consider it's weakest point as well: No anonymous access to the source control repository, and when developing on it you have to put up with the TFS client which is big, slow and somewhat cumbersome. Plus, being based on TFS it doesn't really support disconnected development, which I consider one of the worst "features" of TFS.
  3. Google Code: I noticed Scott Bellware has been using Google Code to host his NUnit-Spec stuff, and took a look at the project hosting support there.
    The site seems nice. As much of the Google stuff, the interface is pretty simple and covering the basics. Source Control is based on SVN, which I rather like overall (and which offers full disconnected development support, unlike CodePlex).
    One big downside I noticed to Google Code is that the only way to find stuff there seems to be through searching, which makes it very hard to do something I do all the time in both SF and CodePlex: browse around looking for interesting projects. I've found quite a number of pearls that way and I think it's important.

Any opinions? comments? preferences? I'd love to hear what people have to say on this topic!


Tomas Restrepo

Software developer located in Colombia. Sr. PFE at Microsoft.