The Joel on Software Discussion Group (CLOSED)

A place to discuss Joel on Software. Now closed.

This community works best when people use their real names. Please register for a free account.

Other Groups:
Joel on Software
Business of Software
Design of Software (CLOSED)
.NET Questions (CLOSED)
Fog Creek Copilot

The Old Forum

Your hosts:
Albert D. Kallal
Li-Fan Chen
Stephen Jones

Ugh.. they use SourceSafe

What is with so many companies out there using this worthless program?  Are they just clueless about better solutions (or don't have the money for Team Foundation), or are they so proud of being a "100% Microsoft Shop" (that's a good thing?) that they won't sully it with anything that MS doesn't make??

I'm really starting to think like David Hansson (the Rails guy) in this regard:  How the hell can you take a company seriously when their development team uses SourceSafe?  Surely if they keep up to date with blogs and technologies they'd realize there are MUCH better alternatives, and realize how bad VSS's model is.

What do you think - would this be a deal breaker for looking at a job, even if the rest of it was decent?  Going into the company and pointing out how VSS sucks probably would not be a wise idea, so how would you cope with it?  Shut up and use it?  Download Subversion on your local machine and use that, and only check in to VSS when you need to?
I really, really hate VSS
Tuesday, July 08, 2008
"would this be a deal breaker for looking at a job"

Quite likely, because of what an indicator it is.  Certainly I'd ask about it in an interview and base any decision on their response or the ensuing conversation.
Almost H. Anonymous Send private email
Tuesday, July 08, 2008
I just finished a bunch of interviews, and several of the shops I talked to used VSS.  They were all really small teams so VSS would be bearable (barely). 

VSS isn't a dealbreaker, but it may be a sign that they're not open to trying out new tools/methods/etc that I think are important (svn, continuous integration, agile, unit testing)

In the end I picked a shop that uses VSTS.
Jason Send private email
Tuesday, July 08, 2008
"I just finished a bunch of interviews, and several of the shops I talked to used VSS.  They were all really small teams so VSS would be bearable (barely)."

yeah, i come across one shop that use VSS as well and i told him. he ask me why VSS is bad. i said there is a limit on how much data it can handle if i'm not mistaken it's like 2GB before it starting to get corrupted and he told me why not just brnach it.

VSS is fine for a lot of small shop but it start to suck when your team grow but i think it's better to do it right at the first time with tool like SVN and SourceGear out there. why start with shitty product that will cause more harm down the road and cost even more to switch to another tool.
Tuesday, July 08, 2008
"why start with shitty product that will cause more harm down the road and cost even more to switch to another tool. "

Exactly my thoughts.  I see a lot of jobs that are Microsoft-centric that use VSS.  I asked one job about it once and they were like "I don't know why you would be a Microsoft shop and NOT use SourceSafe".

I don't know if it's because they're of the "If Microsoft produces it, it has to be good" mentality, or if they're just plain ignorant, or what.
Another anon
Tuesday, July 08, 2008
If you're dealing with small shops, be glad they use *anything*.  I've interviewed with at least one or two that didn't.  ("Well, we have had a few close calls," they said.)

Trying out other source control programs is a time investment, whether in reading reviews, trying them with test projects, or using them in your main projects and dealing with not knowing how to do things.  Not everybody wants to make that time investment when SourceSafe may be *good enough* for their purposes.

I've heard many people assert that SourceSafe corrupts data.  But I've only actually *seen* it in one place, and even there it didn't have any apparent effect other than an error message when getting latest (but all the files were still retrieved).  I suspect that of all those who badmouth SourceSafe, fewer than 1% have had a genuinely bad experience with it such as losing data.

Sure, SourceSafe's usability is pretty crappy for 2008.  (Ever try to print a diff with it?)  But, again, not everyone wants to devote a lot of man-hours to choosing the best source control software.  Some people would rather write software.

What to do if a place you interview with uses it?  Either decide that you feel strongly enough about it not to work there, or decide to work there and focus on writing software.  If they ask for your input on source control, sure, *politely* guide them to better options.  But using words like "clueless" or "sucks" is not likely to gain you many friends even if you think you're right.  After all, somebody there made the decision to use it.
Kyralessa Send private email
Tuesday, July 08, 2008
"But, again, not everyone wants to devote a lot of man-hours to choosing the best source control software."

So they just choose the worst one?
quant dev Send private email
Tuesday, July 08, 2008
We use VSS - 1.7 million LOC - no idea how many GB are there, but it is big. Did not see corruptions so far (since Sep-2005). The only bad thing about it - its horrible merging/comparison tool. Otherwise, it is nicely integrated into VS 2005. Some things may be improved, but any software can be improved these days.
asmguru62 Send private email
Tuesday, July 08, 2008
I know VSS is barren, but heck "it works and it's cheap" especially compared to Team Foundation.  What's next, red flagging a job because it uses Dell computers?

I see you're point, but I think you're taking it way too serious.
TravisO Send private email
Tuesday, July 08, 2008
How about red flagging a job that uses eMachines or "Wal-Mart Special' computers? ;-)
I really, really hate VSS
Tuesday, July 08, 2008
One job I had used CVS, and it sucked.

I'd take VSS any day over CVS.
Grumpy .NET programmer
Tuesday, July 08, 2008
"it works and it's cheap".  I'd also add that it's incredibly simple.  Those are attributes not to be thrown away lightly.

That being said, I'm pro-TFS if you're willing to spend the money.  The VS integration is worth the price of admission.
Micah Tan Send private email
Tuesday, July 08, 2008
Okay, so the general opinion is that it's bad, but it shouldn't be a deal breaker barring other red flags.  That makes sense. 

Ironically, I've never actually *used* SourceSafe; all of my information comes second hand from blogs/articles/etc that bash the hell out of it.
I really, really hate VSS
Tuesday, July 08, 2008
i love VSS. by making sure only one dude gots sometens checks out ats da dame times; no merge problems occur; and if you've ever had to merge by hand, you'll understand this.
lemon shakespear obrien Send private email
Tuesday, July 08, 2008
"I'd take VSS any day over CVS."

Oh man...CVS is complete crap. You know it's bad when it makes VSS look good in comparison.
The Original Henry
Tuesday, July 08, 2008
I used VSS for probably 10 - 15 years of my career.  There were two instances when the database got corrupt, and Microsoft's analyzer tool fixed everything.  I too liked the 'single user checkout' model, although I'm now using svn and like that model too (mostly because we never have to merge).

I suspect most of the VSS venom is just OSS fanboys who also happen to be the most vocal MS haters.

As far as that being a deal breaker?  For real?  Are you serious?  Reminds me of a forum post where someone ranted for a full page because someone hadn't capitalized 'linux'.  Stuff like this is where the geek/anti-social stereotypes stem from. 

Relax people! :)
Tuesday, July 08, 2008
Well, I didn't mean deal breaker in terms of "omg n00b vss r teh sux", but more along the lines of "Do you use the best tools available" like on the Joel Test. 

Every experienced, non-MS sheep (and I don't mean that in a truly negative way, since I like Microsoft myself.  I mean the people who are "Microsoft = Good, Other = Bad") I've worked with and talked to had nothing but vitriol for SourceSafe, and heartily recommended much better tools (e.g. Subversion, SourceGear Vault, etc).

Therefore, it's not a question of "They use SourceSafe, so they must suck" but more a question of is it a red flag that they aren't using the best tools available; in most cases willingly using SourceSafe means one of three things:

1) They're anti anything non-Microsoft based on the perception that if Microsoft produces something, it *must* be good.
2) They're ignorant of alternatives and don't know any better, willingly or unwillingly (but even unwillingly, this shows a lack of dedication and knowledge of their craft.  Nobody is saying they have to be uber-geeks and spend 24-7 on programming, but it shows obliviousness to anything outside their own limited domain.  A Brice Richard, if you will).
3) They don't like VSS, but it was mandated by someone else for reasons #1 and/or #2 above.

That's all I meant.  I agree with the earlier poster that VSS is better than nothing at all; my concern was that it shows the other programmers don't keep themselves aware of trends and opinions of other, more experience developers, and that might be an indication of stagnation.
I really, really hate VSS
Tuesday, July 08, 2008
Definite deal breaker - I won't even look at jobs where VSS is used, as it is a clear sign that they don't know any better. That and VB - I hate VB.

VSTS is ok, but boy is it expensive. Subversion + TortoiseSVN is still the most cost-effective and pragmatic solution in my book.
Tuesday, July 08, 2008
Refusing to take an otherwise good job because the company uses VSS is the stupidest thing I ever heard of.

Source control is something you use for a minute or two a day at the most. Unless it's CVS, in which case it takes you an hour to figure out how to check anything in or out.
Grumpy .NET programmer
Tuesday, July 08, 2008
Deal Breaker - WTF? Talking about precious programmers.

We were a small non-MS shop (Borland/Codegear C++) that happened to use VSS for ~10 years. Given that the VB team in the same company did not use version control at all some version control is better than nothing. We never lost code either.

In our case, it was a case that a programmer made a decision in the 90's to use VSS & it worked well enough to continue on. Sure I would not recommend it, nor push it too far, but small teams with modest amounts of source then probably pretty safe choice at the time.

We looked at moving & some of our attempts to move the history to other tools like Subversion failed (just fell over when we tried to import a few GB). In the end, we moved to Vault which is nicer than VSS, but not perfect either.

Like classic Access databases, or VB6 code, there are better alternative but in the real world, you use what you have to get the job done & try and make the right choices moving forward.
Grant Black Send private email
Tuesday, July 08, 2008
While I agree that it's probably foolish to have something as trivial (in the larger scheme of things, anyway) as what source control program is used be the "deal breaker", I do have to think the OP has a point.

Any professional who keeps up to date with trends should know about VSS's limitations and "quirks", as well as knowing about alternatives (e.g. Subversion) that are considered superior in every way.  This case might be different, but I would have to question the skill of any developer who doesn't care to know about alternatives.  How can one be a competent programmer if one doesn't keep up with the craft?

The Brice Richard analogy was spot on; being a professional programmer (in the sense of making money via programming) doesn't mean you're a *good* one.  And, IMNSHO, not keeping up with trends and choosing not to use superior tools, for whatever the reason (and doubly so if it's out of ignorance), shows a failure on the part of somebody, somewhere.  It might be management, it might be the programmers, it might be both, but certainly something is lacking.
WayneM. Send private email
Tuesday, July 08, 2008
I've personally been hit by the VSS data corruption bug, and it wasn't fun. Sure, it might be fine for a small group, but eventually you have to move to a better tool once you reach a certain point.

As for turning down companies just on VSS, I'e done that as well. This is especially true when you consider that SCM is probably the most important software that your company will use.

SCM provides you with a baseline and a mechanism for controlling changes. When you use an inferior tool like VSS, then that puts a lot of doubt on your organization from my perspective, as you're clearly not using the best available tools for the job.
QADude Send private email
Tuesday, July 08, 2008
It doesn't work that well and other (better) systems are just as cheap.

SCM stuff is a large part of what I do; I would hate to be using VSS for it. SVN is maybe not the 100% absolute best, but it's light years better than VSS.
Wednesday, July 09, 2008
"...not keeping up with trends and choosing not to use superior tools, for whatever the reason (and doubly so if it's out of ignorance)"

The problem I have, is the concept of turning down a company for not using superior tools "for whatever the reason".

How do you know your perception of superior is correct? The companies reason might be very sound. At the time we certainly met most of Joel's 10 checks for professional software development company methodology, and I would be appalled at finding somebody turned us down because we happened to use one tool for historical reasons, that actually worked well enough for us.

Ok, we have moved on from VSS to Vault (with Subversion being our second choice after evaluation), but no doubt, not all our tools (like using Codegear CBuilder 2007) are best of breed, so potential recruits would turn us down?

Joel wrote an article about this; (Fire & Motion?) and I have had experience with a hardcore MS nut, who spent more time porting code from one platform to another & using flavour of the month techniques (he is currently re-writing an unreleased application in silverlight 2.0) than actually producing code that meets business requirements & gets released.
Grant Black Send private email
Wednesday, July 09, 2008
Do Microsoft use Visual Sourcesafe internally?

Wednesday, July 09, 2008
I tend to agree that focusing on tools when deciding whether to take a job or not is, er, curious.

The expectation that you're going to walk into a shop where EVERYTHING'S been set up in a way that would make Joel smile is pretty unrealistic, in my experience. You have to be willing to adapt and, if things are bad enough, become a change agent yourself.

If VSS is as bad as you say, making a case to change it shouldn't be difficult.
Wednesday, July 09, 2008
Ok, so here's the real question in a nutshell:

Is it possible for a company to be successful and "Get Things Done" without using the "best" tools available.

If the answer to that question is "yes", then tools may not be the most important thing in making a successful software company, no?

Then the question becomes: what's more important to you? Working with a successful software company or working with the best tools available?

Of course, you can hold out for both.
Wednesday, July 09, 2008
Using VSS sends one negative message: "Mediocrity is ok for us. Why bother investigating?"

That said, it's only one message. Company A uses VSS. There are other things to consider. Company B requires a suit. Company C says "Oh, by the way, we don't pay overtime." Company D is unable to give you an actual timetable. Company E _does_ tell you that they expect you to work 60 hours a week (but they don't write that in the contract, it's not legal here; they write 40). Company F uses Lotus Notes. Company G wants to hire you to code in C++ but they don't know what an std::string is. Etc. I'd say using VSS is not the most important fault.
Daniel_DL Send private email
Wednesday, July 09, 2008
>> How about red flagging a job that uses eMachines or "Wal-Mart Special' computers?

Then I would, as they're being penny wise and pound foolish.  But if you are somehow claiming VSS is akin to the Walmart special computer, that's outright flamebait.  I used Dell as my example because, like VSS, it's a decent solution, not the best, but not the worse.  If you want to make a proper analogy, then versioning's take on the e-Machine would be like saying they use Sharepoint for code checkout, or better yet, a folder on a server /w a nightly backup.

>> Well, I didn't mean deal breaker ... but more along the lines of "Do you use the best tools available"

Perhaps for their budget and time, VSS was the best tool available: it's cheap and it's easy to use.

I think this whole discussion could be explained to why McDonalds is successful, because for it's customers, it is "the best place to eat".
TravisO Send private email
Wednesday, July 09, 2008
PS: if it's any help, I'm currently a Perforce user, so don't be so quick to tag me as a VSS fanboy.
TravisO Send private email
Wednesday, July 09, 2008
We have a little over 2 million lines of code in VSS. We have more than 1 VSS 'database'.  We are planning to migrate to VSTS this fall.  VSS is not great but really we've managed to do ok with it.  We use the VSS API to kick off our autobuild process and deployment (code push) process.  Turning down a job because a company uses it is a very confusing concept for me.
Wednesday, July 09, 2008
Our small team had to use VSS, because it was chosen ten years ago (not necessarily a bad choice at that time). We used to think it sucked, but that was before being forced to work with ClearCase on some projects. Now we think that VSS is great in comparison: it does not prevent us from working.
We'd like to switch to Subversion in the near future, but changing source code control software cannot be taken lightly.
Wednesday, July 09, 2008
>> but changing source code control software cannot be taken lightly.

Especially if you want to keep your history :P  (And you don't want to have a legacy server running somewhere)
TravisO Send private email
Wednesday, July 09, 2008
Source control history is overrated. How often do you look back at the history on old projects at other than major milestones? In my experience, if it's older than about six months it's not worth stressing over.

The thing about SourceSafe I've found is that VSS shops tend to do ok, but they tend to be blind to other, better ways of using source control simply because VSS doesn't do it (or does it very badly). Branches are usually out of the question. More than one working copy? Heresy. Edit-merge-commit? But then you can't ensure nobody's changed to code out from under you!
Chris Tavares Send private email
Wednesday, July 09, 2008

It works, I've only had a couple of minor problems with it in ten years of using it, and the version since 2005 hasn't missed a beat.  Yes, there are better products out there that we'll eventually move to, but when you're struggling just to get things out on time, pfaffing about with the plumbing for no substantial benefit is not a productive use of time.

This is just another indicator of programmer snobbery, like the VB thing IMO.
Wednesday, July 09, 2008
Microsoft does not use VSS internally so why should you??
Thursday, July 10, 2008
Because they don't have to pay for other more expensive choices.
Rick Tang
Friday, July 11, 2008
"Microsoft does not use VSS internally so why should you?? "

Just possibly they have different requirements.
AFTO Send private email
Tuesday, July 15, 2008

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz