$1 per computer-repo-developer-day
Ouray Software LLC
OurayCM is a cross-platform (Windows/Linux/Mac OS X/Solaris) source code
control system with some interesting and unique features. The first one
that may leap out at you is their pricing: $1 for each day a developer
users each repository from a single computer. Every once in a while
OurayCM will get you to send in a report, they'll send you a bill, and
you can pay for a renewal of your repository. Some teams will appreciate
the way that this lets them buy only the CM that they need; others may
be wary of the open-ended nature of the billing. One nice side effect of
this is that the downloadable demo is precisely the real software. It
just starts you off with 7 days of full use for free before you need to
launch the renewal process.
Installation was so easy that I had to check the manual to make sure
that I'd done it right: unpack the single file to somewhere on your
path, run it once to accept the EULA, and then you're done. From there
on in, you carry out operations by passing commands to the ocm
application. Some of these (such as the when you're looking at a file
history or getting ready to save changes to the repository) will display
a GUI component. OurayCM's GUIs are more "functional" than "dressy" in
keeping with the cross-platform nature of the tool.
Another thing that stands out is the variety of ways to connect to a
repository. You can work directly with it when you're on the same
machine. Alternatively, you can connect a cache server to a copy of the
repository on your network, keeping a local copy synchronized to the
master. There's also a remote model that is very bandwidth-efficient for
remote, sometimes disconnected, users.
OurayCM has put a lot of thought into doing the right thing to protect
your source code. All operations are not just atomic, but also respect
the traditional ACID properties to preserve your data in a consistent
state at all times. Branching is easy, and so is moving changes between
branches. What might not be so easy for new users is the command-line
orientation; you need to be comfortable working with non-GUI tools to
make effective use of OurayCM.
Overall, this was a solid package in my tests, and their Web site shows
that they've thought hard about what a CM package should do, instead of
just reimplementing the wheel. If you're starting a project with a team
of experienced developers, you might want to look into using OurayCM,
especially if the team is widely distributed or smart enough to handle a
complex branching scheme.
Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.