CodePlex subverts our desires

I am really behind the curve on this but I was very excited when I heard that CodePlex is now supporting Subversion for source code control. After reading more closely it appears that they are merely providing bridgeware that allows you to use TortoiseSVN as a front end to CodePlex’s Team Foundation Server.

The number one new feature request from users is for CodePlex to support Subversion.  Specifically what users are telling us they want is the features and experience they get when using TortoiseSVN as a source control client.  It is important to us on the CodePlex team to provide our users the features they want and need to have the best experience possible, and so we will soon be offering support for using TortoiseSVN with CodePlex.

How did their users’ desire to have CodePlex add support for Subversion as a source code repository get subverted into what is essentially a widget that makes TFS look like Subversion. The real benefit of Subversion is not that there are great user interfaces for it like TortoiseSVN (but it doesn’t hurt.)  It is that Subversion is a open source platform for changing and sharing source code that is moving and growing and changing with the desires of the community. Subversion has become pretty much a defacto standard for new development because they listen to what their users have to say and fill a need.

What if the effort that went into building a bridge that converts SVN commands to TFS commands went towards supporting the best of breed that the community has to offer. If CodePlex wants to be the community nexus of open source development on the Microsoft platform they should do a better job adopting what the community wants. Otherwise people are just moving down the road to places that just give Subversion away or to  Google Code which currently has 605 projects tagged with C# vs. the 355 at CodePlex.

Personally I would love to see the effort wasted on the TFS to SVN bridge be directed to building a better library for integrating between .Net and Subversion. The current state of the .Net library support for Subversion is quite fragmented and thin. We have Svn.NET and SubversionSharp which seem to be thin layers over PInvoking to the Subversion C bindings. Apparently the Ankh project also has NSvn but that is not available on its own and undocumented. Anyone out there using Subversion from .Net?