Surely most developers know about SourceForge.net, the community site that hosts upwards of 120,000 open source
software projects, providing CVS or Subversion source-code control, discussion boards, bug-tracking, file hosting, and other services. A while back Microsoft attempted to invade the same space with its own GotDotNet site, "The Microsoft .NET Framework Community."
However, as the history of Windows reminds us, Microsoft has rarely been a company willing to be discouraged by an early debacle. They've now launched the beta version of CodePlex, "Microsoft's community development Web site." Written in C# and ASP.NET 2.0, with Team Foundation Server as a backend, CodePlex is planned to be open for free to anyone who wants to host a project (though at the moment the beta is very closed; you need to e-mail for permission to create a new project, and judging by the trickle of projects coming in they're controlling the load very carefully).
CodePlex projects can have a variety of features, though no project is required to make all of these features available:
- A project home page
- RSS-based news feeds. Oddly, you can't create a news feed in CodePlex; rather, the news feed page of a project displays RSS consumed from some other source.
- Discussions, hosted in a fairly basic Web forum format.
- Releases, where you can download the actual software. This includes change logs showing the work items that were included in a release.
- Issue tracking.
- Source code control.
- Project member tracking.
- License management, including requiring click-through licenses to download.
The CodePlex site itself has launched much more smoothly than GotDotNet did; the navigation is smooth, the screens look good in both IE and Firefox, the bugs are pretty minimal. Keeping the gates largely barred has resulted in a responsive server, as well, so people aren't complaining about lag times or failed downloads. There are many features missing when you compare CodePlex to more mature communities, from RSS feed generation to customizable discussion boards, but presumably those can be added in time. The real question is whether this will end up being the sort of community that its designers are obviously hoping for.
It seems clear that there is one huge early hurdle to CodePlex's wide adoption: the requirement to have a Team Foundation Server client to make full use of source code control and work item tracking services. Microsoft is making such a client available for free; you can download the Visual Studio Team Explorer client and install it as either a Visual Studio add-in or a standalone application. But it requires a minimum of 512 KB of RAM and 8 GB of hard drive space, which will knock many older computers out of the running. There is a command-line client as well, but it's part of the same package. CodePlex is already hosting a project, "Turtle," that plans to produce an alternative client - but right at the moment, this is vaporware.
Don't write off CodePlex entirely, though. Microsoft has already put some of its own code up for grabs, including the "MSBee" toolkit for building .NET 1.1 projects under MSBuild, the Managed Stack Explorer power toy, and the Team Foundation Server administration tool. And a few other projects have shown up to join them. Looking a year down the road, I suspect what we'll see is CodePlex as the de facto release point for Microsoft open source and shared source projects, as well as the home to .NET community projects aimed at serious developers with high-end machines. But the barriers to entry are likely, I think, to limit the number of projects on CodePlex. In the end, Team Foundation Server is not going to take the wider coding community by storm.
Mike Gunderloy is the Senior Technology Partner for Adaptive Strategy, a Washington State consulting firm. You can read more of Mike's work at his Larkware Web site, or contact him at MikeG1@larkfarm.com.