It's all Hype.

There's been a lot of talk lately of SourceGear's Vault as the savior of Source Control repositories.  Lotsa Hype (with a capital H) from  Robert Hurlbut , Matthew Reynolds, and Marc LaFleur , amongst others.  Heck, with all this buzz, my company's Super Secret Weapon (and illustrious Software Architect) Paul Wilson was sitting up and taking notice. I heard him muttering something about wanting to take a look (and possibly review) Vault.  (Are you listening, Eric? )  This is after several years of my preaching to our team about how much Source Safe sucks, and we need to lay out a few bucks to purchase a _real_ solution.
Why is it that all of a sudden the microsoft developer community is sitting up and taking notice how bad VSS is, after us config manager types have been preaching it for years?

Well, one of the answers was always that VSS is "free".  It was included with an MSDN subscription, and with certain versions of visual studio 6.  Really, though, if you purchase the client separately, it runs about $400 .  I know, 'cause we have to buy it for our BA's, QA, etc.  That's right, $400 per user for this piece of junk.

Does Microsoft use VSS?  Not on most product teams, from what I can gather.  In fact, Windows 2000 is rumored  to have used a modified version  of Perforce.

Ok, I'll admit it - I am very fond of Perforce - It's everything that VSS is not, and it is more mature that Vault.  It does WAN / internet depots in its sleep (I currently host a depot over my paltry ADSL link), it's multi-platform (for all you multi-OS shops), it's got atomic commits, change sets, easy branching, the list goes on.  Oh, and did I mention that it doesn't require that expensive SQL Server licence?  Also, it's absolutely FREE for open source projects.  I've obtained a free copy through the open source offer, and I strongly encourage all other open source projects to consider this as well.  This product is also head and shoulders above CVS (or Subversion, the soon to be CVS-killa.)

So, back to the issue of Vault - why so much hype over this product?  Personally, I think it's because it's a major commercial product written on the .NET platform, something that is still rare.  Most of us interested in seeing .NET succeed are very interested in promoting products that leverage this technology, even if they aren't necessarily best of breed.

I'm a little more pragmatic.  While C# has brought me a love for programming that I haven't experienced in several years, I'm hesitant to promote a .NET product just because I like the framework it's built upon.  Perhaps Eric wants to send me a copy of Vault to change my mind?


  • Can't you use it with MSDE instead? Not that that would be enough, just asking...

  • Yes, you can use Vault with MSDE. On our project, we would have done that, but in particular, we already had the SQL Server licenses.

    I will say the fact that it was built using C#, .Net, and SQL Server was what attracted me to the product initially. Granted, it is early and not mature. I could give another post about some of the problems I had with it initially in getting it to work correctly as well (I wrote a document for our team on best practices using Vault when new members came on board).

    Vault is available for a one month trial to test it and see how it works (that's what we did).

  • Ben, while you can use MSDE, MSDE is limited in the number of user connections that it supports, and is not an optimal solution. Perforce (and most other SCC solutions) require no third party data store.

    And as far as downloading the demo version - I do source code control for a living, and expect vendors to contact (and court) me, not the other way around. That's just the way it is done. My time is valuable - it's the vendor's job to sell me on their product. That usually requires a bit more than simply making a demo copy available. To perform non-trivial migration testing, performance testing, and integration testing is not a simple undertaking.

  • Yep, I'm listening. :-)

    I don't fight many Vault-vs-Perforce battles. I've made no secret of my respect for Perforce. It's a heckuva product, and obviously more mature than Vault.

    Still, Vault has its advantages, especially for people who are switching from VSS. For example, Vault supports Shares and imports them properly from a VSS database.

    If you're happy with Perforce, and the buzz over Vault is annoying you, I would encourage you to just try and tune it out. :-)

  • Eric - I'm not annoyed by the Vault discussion - anything to move MS shops off of VSS is a good thing. I'm just noting that there are alternatives. In fact, one good thing about Vault is that it is bringing this very discussion to the table - something that many people have been trying to do for some time now.

  • MS uses a system that they wrote themselves for OS-es. Understandably, since these projects are so incredibly huge, the current crop of source control systems fall short.

    VSS is used in a lot of projects inside MS afaik (read that in usenet replies from MS personell).

    I like VSS, never had any problems with it. People should understand how to operate it first before crying foul how bad it is. F.e. people who often run into trouble with VSS are the people who try to check out files with multiple people. Err... that's an organisational bug: one person should edit a file, another person who also wants to edit a file should delegate that work to that person who is editing the file.

    Also, a lot of devteams simply check out everything, while they just want to edit 1 file. So because everyone is doing that, multiple-checkouts has to be enabled, and because that will result in clashes, they are surprised that files get corrupted!

    There might be better systems on the planet in case of speed and the ability to handle large projects (vss is not that good in that), however it is definitely not a pile of crap as people try to make out of it.

  • There's a world of difference between "hype" and "buzz". I didn't hype Vault in my postings - what I did do is distill a posting from the CEO of the company that wrote Vault and bring out what I think are the coolest points - namely the fact that it works better over VPN than VSS, and that it's based on SQL Server.

    What I think's happened over the past few days is that people are saying, "hey, is there something better than VSS here? Can I *benefit* from changing to something else, be it Vault or whatever".

    Personally, I wouldn't want to live in a world where these kinds of discussions weren't going on! I mean, Eric himself has posted a comment in this discussion - having input straight from the horse's mouth is a *good thing*!


  • Also, I never implied that VSS is not good for what it does. I do know how to use VSS and have had great success with it -- in a client/server environment. It shines, if you know how to use it and know and work with the limitations.

    In particular, the limitation of internet/remote access is what forced me to look elsewhere, otherwise I would have used VSS and would have been happy with it.

  • My biggest complaint with VSS in general is that the "lock-modify-unlock" model of source control is terribly counter productive. This is especially true when working in a super fast paced, almost xtreme programming like, envrionment. I much prefer the more fluid "update-modify-merge-commit" model that CVS and Subversion employ. I have never directly used Perforce, but knowing how rock solid Subversion is, I can't see how Perforce stands "head and shoulders" above it. What exactly is it that Perforce does that Subversion doesn't?

    Another consideration is that Subversion can be rigged easily to work with Apache over WebDAV for developer access. IMO this is a huge feature, allowing much of the security woes of your repository to be dumped off on Apache. Why is this good? Because Apache is probably the most looked at piece of web server software in the world, from a code standpoint. There are a ton of people going over the Apache code base daily with a fine toothed comb, trying to find any security flaws, no matter how small.

    In the end, I think any "lock-modify-unlock" version control solution in this day and age should be worried. Developers are getting more and more saavy to non-code related subjects daily, and source control is one of those subjects. With the birth of open source as a real power in software development, and 99.9999% of all open source projects using some kind of UMMC source control model, thousands of new developers are getting a taste of the productivity this kind of model can offer over LMU source control. Sure, the UMMC way requires more developer action and requires your programmers to think a bit when they are tossing changes at the repository, but is this neccescarily bad? With suites like Subversion offering things like atomic commits and versioned project metadata and structure, the days of LMU source control options seems limited.

  • Matt -

    I'm a Subversion fan, but at v1.0, there are a few things it is missing. Integrating Subversion into other systems, like bug tracking, still requires extra work, while commercial systems like Perforce give you this capability out of the box. Perforce also has strong support for changesets, which I believe is currently lacking in this version of Subversion.

    Also, I know of know SCC solution that only supports lock-modify-unlock. Even VSS supports a concurrent checkout model, though it isn't enabled by default. I will agree that LMU slows development, and is not appropriate for large teams.

Comments have been disabled for this content.