Now blogging at diego's weblog. See you over there!

version control systems: the comments

Several good comments, through email and on the weblog, to my short review of SCM systems.

First point is regarding Perfoce. Jason said that I was overestimating the cost of hardware, and Chris Bailey agreed. Although I did mention the hardware/maintenance costs, I didn't say that Perforce would end up being more expensive than BitKeeper, I said: "[BitKeeper] it is probably cheaper in the long run (at the very least, the cost should be similar)". By "long run" I meant as the dev teams get bigger.

I think that it depends on how centralized and "careful" is the organization. If it's a freak-control org (and they have money!), then probably they will end up having an admin just for the SCM server (software+hardware). I think that most cases would probably be like Jason described. My guess (note: I say guess) is that the cost of BitKeeper and Perforce would end up being similar (specially since BK is leased rather than licensed). So cost would not seem to be much of an issue. And in any case, this factor can be big when you have more than a couple of dozen developers. In that case, you probably can afford either one, so again cost is not so much an issue, but rather usability and features.

In fact, if CVS was somehow wiped out of the planet today, I'd switch to Perforce. The tools are excellent, branch management is very good, it's relatively easy to manage, and it integrates well with the underlying platform. BitKeeper, while "cooler" because it is decentralized, probably makes sense only when you have an all-*NIX shop. The Windows version is just awful. That said, I think the "staging" concept of BitKeeper is brilliant, I wish all tools had it.

Chris also mentioned CVS's default that files are read-write, saying he liked it better than Perforce's "check-out-to-edit" (which is more like RCS). I definitely agree. Having to check out every single file I have to work on is a pain.

Finally, both Alsak and Christian were commenting on my shunning of Rational's ClearCase. I think they are right, it is difficult to use and complex, and I didn't consider it much partly because of that. The only Rational tool I've ever been able to use for an extended period has been Purify, and only because what it does is so simple that you'd need to work actively to make it complicated, and because when you're working with C/C++ code it is absolutely essential. The other thing that is a big problem with Rational is their licensing process, which is the most convoluted I've ever seen. They have "node locked licenses" that are essentially tied to a single machine (!), or "floating licenses" which are several times more expensive. I wasn't surprised when IBM acquired Rational, the top-down approach IBM gives to its tools (the shining exception being Eclipse) is just like Rational's.

ClearCase is an expensive, ugly beast that is probably useful if you're using other rational tools (they integrate well, I'll give you that) but in few other cases. That's why I didn't consider it much.

It seems to me that if Perforce adds some level of decentralization (for example, the ability to handle multiple server-side repositories that synchronize transparently), then allowing things like staging, it will end up being the leader for a while.

Okay, on to other things now...

Posted by diego on April 9 2003 at 4:24 PM

Copyright © Diego Doval 2002-2011.
Powered by
Movable Type 4.37