Review: OurayCM

OurayCM 1.1
$1 per computer-repo-developer-day
Ouray Software LLC
Taylorsville, Utah
(801) 982-0196

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.

About the Author

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.

Upcoming Events