Codeplex or Trac?
October 5th, 2006A while back Microsoft launched CodePlex, a community site for managing software development projects. Comparable services are SourceForge and Tigris. A key difference with CodePlex is that it is backed by Microsoft Team System for source control.
Most other projects hosted on such sites have used CVS or Subversion (SVN). Subversion is the logical next step beyond CVS and more and more projects are using it. And to provide a knowledge base, issue tracker, project management and source code browsing functionality you may use Trac. Trac is a free Python application which installs just as easily on Windows as Linux. And it stands up extremely well to CodePlex.
I am excited about a few of the projects hosted on CodePlex. I have exchanged a few emails with the developers but so far I have not been able to get a developer account on CodePlex. This means that I cannot synchronize the source code in Visual Studio using the Team System extensions, or get the code at all from Team System. It also means I cannot see what has changed with each revision. That is a major limitation of CodePlex and Team System. I contacted the CodePlex team and was informed that Team System does not have support for anonymous users but that such functionality is being considered for a future release.
Another problem with Team System is the scalability issues. I listened to Joel Semeniuk on .NET Rocks and he explained that there are many things you must tweak in Team System to allow it to scale properly. He explained that it "should" scale well, but it may not be fully ready for wider acceptance until some adjustments are made.
That leads me back to Trac and Subversion. I use these sytems all the time now and would not want to change. I can browse the source with Trac and even see visual diffs from any web browser from any location. That alone has me sold on using Trac.
But I still like the fact that Microsoft has a team (see video) dedicated to managing the infrastructure of CodePlex. Right now I host my own Subversion repositories and have to manage upgrades and other changes. If I could offload that to a free service I would do so readily. CodePlex just needs a few key features.
- Anonymous accounts for Team System
- Source code browsing
- Visual diff screen
And to improve the website a bit more, I wish my profile actually had some properties. I would like to add some projects to a list of favorites so when I return to the site I can get to them easily. I would also like the website to be updated to get rid of the query strings. To get to the Turtle project the Url ends with View.aspx?ProjectName=Turtle. I would prefer something easier for me to type, like /Projects/Turtle. And lastly, I would like more RSS content so that I can monitor new projects, hot projects and project releases. And I would again want clean Urls for the RSS feeds, such as...
- /Rss/New.ashx
- /Rss/Hot.ashx
- /Projects/Turtle/Rss.ashx
I like a clean Url because as I type in the Url for CodePlex in the location bar the list of suggestions will show various pages I had visited previously. (A short Url also does not get cut off when a page is printed and also works better with search engines.) If it is something short which I can read, that would give me quicker access to my favorite projects. Such details are what makes one website better than the next.
I will anxiously monitor what happens with CodePlex over the coming months as the releases for Vista and .NET 3.0 approach. In the meantime, I am sticking with Trac.
May 22nd, 2007 at 9:55 am
[...] server along with Trac to manage changes. A while back I wrote about the contrast between CodePlex and Trac and sent the link to the CodePlex team. I am sure I am not the only one hoping to see these kind of [...]