I tried to come up with a clever analogy to start off this column, but to be honest, I couldn't think of anything appropriate. So I'm just going to come out and say it. Visual Source Safe is a terrible product. I know it, you know it, and Microsoft knows it. Everybody knows it. Heck, it's so bad that Microsoft doesn't even use it for its own internal development. Why? Because VSS couldn't handle it (from a repository size or a user base size perspective).

So why has Microsoft kept it around for so long? After all, at the PDC in San Diego this year, Microsoft announced a fabulous new array of software design and collaboration applications, collectively referred to as Visual Studio 2005 Team System (formerly code named Whitehorse) [1**].** Part of that system is a source code version control repository that has been built from the ground up around SQL Server (as it should be). Closely integrated with the source code repository system is a work item tracking application that is able to keep track of bugs, feature requests, risks, and other related project artifacts.

There are a host of other parts to Team System that have to do with the design and deployment analysis of .NET applications, but let's just forget about those for a moment. Why in the world would Microsoft not just give everybody access to a scaled down version of their new source code version control repository and work item tracking application, instead of making smaller development operations that won't be able to afford (or don't want to expend the effort) to implement Team System? It makes no sense to me.

Instead of just tanking VSS and providing an upgrade tool to their new version control system (which I'm sure will be built, if it hasn't already been for those that do purchase Team System), Microsoft is simply branding pretty much the same application as Visual Source Safe 2005 (instead of something more fitting, like Visual Source Safe 6.0zzz, which is about the impression I get from it). Sure, there are some improvements to things like maximum repository size and remote access speed, but in the case of remote access speed, many developers have already found a solution in SourceOffSite by SourceGear. VSS 2005 is just new wrapping paper on the same disappointing product.

The only compelling improvement that I can see is that Microsoft will introduce a .NET managed API to manipulate VSS 2005 so that developers can achieve better build automation. I can definitely appreciate this improvement, but why not get everybody on the same footing with a version control system that is built on the incomparable SQL Server database and also includes work item tracking to boot? Does it make sense to prolong the support nightmare of VSS, in addition to adding a second product that needs to be supported? A better option would be to put VSS on a five-year support expiration timer now.

Perhaps I'm making a quixotic request that will be seen by Microsoft as impossible to grant. I feel, however, that source code version control and work item tracking are so fundamental to the development process that making developers pay extra for the good quality tools to enable it seems wrong. By all means, Microsoft needs to make their money, but do it by selling the other parts of Visual Studio 2005 Team System, like the class and system designers that only true enterprise development operations need (and can afford). I think that Microsoft should even offer single-user licenses to the SQL Server source code version control software to developers using the Express versions of the Visual Studio IDEs (though it wouldn't be integrated), similar to what SourceGear has done with its Vault product [2**].**

If Microsoft fosters quality software development processes using ubiquitous tools (in the Microsoft realm), it will pay dividends going forward in both good will and developer preference and desire for the more expensive premium parts of Team System. Now that Microsoft has an alternative to Visual Source Safe, they would be well served to let VSS ride off into the sunset, never to be heard from again.

References:

[1] http://msdn.microsoft.com/vstudio/teamsystem/default.aspx

[2] http://www.sourcegear.com/vault/