Published Thursday, September 25, 2008 5:24 AM by martin

Source Code Management Changes

I currently spend a lot of time working on a development project with a client, and on that project we recently changed our source control system.  We were originally using ClearCase, and it's hard to be too critical of ClearCase.  I mean, it's been around for a long time, and it's still in use on some of the largest and most complex software projects.  It can be quite hard to get your head around the first time you use it, but if you're working on one of those large, complex software projects, I suppose you'd better be up to understanding ClearCase.

Anyway, for various reasons our project recently changed from ClearCase to Perforce.  From where I stand, these two products couldn't be more different : -

  • ClearCase costs a lot of money (although I'm sure it's worth every penny) whereas Perforce has a sliding tariff starting from "free".
  • In ClearCase the default working paradigm is that everyone has a private branch.  They can check in/out on that branch without affecting anyone else, and when happy they integrate back onto a shared branch.  Perforce supports the idea of branching but it's a less-frequently-used option.  The normal model is one of multiple concurrent checkouts; an idea which I've found a bit daunting in the past, but which seems to work very well in practice.

Both products have been totally reliable for me, in the sense that we haven't lost any work because of them.  I also feel like I'm being more productive with Perforce, mainly because in our environment a ClearCase integration operation could take quite a few minutes, whereas everything I do with Perforce is more-or-less instantaneous.

Because you can download and use (with some limitations) Perforce for free, I have it installed on my personal development systems as well.  I really like using the same tools everywhere.  Even my Mac OSX system has Perforce installed, and the client app looks/behaves the same everywhere.

Congratulations to Perforce.  I like your product, and I like your business model.  And they didn't even pay me to write this :-)