As most of you know, CVS is a version control management system for source code. Well, you can use it for almost any kind of file versioning, but it really works best with plain text source code files. It supports branching, tagging, merging, etc. It’s open source, it’s free, it runs on pretty much every computing platform, and of course, it comes standard with Mac OS X and Mac OS X Server.
Now, I’m not going to get into the hows and whats of CVS, that’s beyond the scope of this article, or this column really. But I will talk about why I use CVS on Mac OS X Server. Again, keep in mind that my environment is a heavy Windows environment. Traditionally, our PC / non-Mainframe developers have used Microsoft’s SourceSafe for version control. This works well as long as your primary environment is Visual Studio. You can connect other IDEs into Visual SourceSafe, but it really works best with Visual Studio.
However, we have had more of our mainframe tools being moved over to Eclipse-based environments. Now, Eclipse is a great environment, I like it a lot, especially for Java development, (no surprise there, Eclipse is designed for Java development). One of the things Eclipse works really well with is, of course, CVS. It has excellent support for CVS built into the product. Now, while good CVS support on Unix systems is pretty much a given, getting CVS working on Windows can be…tricky. Eclipse has this all built in, including support for CVS over SSH.
Normally, if you want to host your CVS repository on a single server, you would use the pserver protocol. It’s a nice little protocol, but it’s not secure, and you have to maintain a dedicated user/password database for it. If you have only a few developers, that’s not a big deal. If you have a lot, and you want encryption, that’s a problem.
The answer, of course, is SSH. CVS directly supports using SSH as the transport protocol to get to the repository. Eclipse supports this quite nicely.
So all of this is very nice, but why Mac OS X Server? Almost any Unix system, or even windows, with CVSNT can be a CVS repository. Yes, but Mac OS X Server, thanks to its Active Directory integration, makes things simpler.
First, it already has CVS. So, with a bit of even rudimentary CVS knowledge, you can set up your repositories with ease. Secondly, it can use Active Directory or Open Directory as its directory service for authentication, including for SSH. So, instead of having to keep a separate CVS user database, you just use the one you already have. While you aren’t going to easily get Single–Signon SSH from a Windows machine, at least your CVS users can just use their standard logins to get to the repository in a secure fashion. Secure = good.
Finally, because of its support for ACLs, you can easily manage access to Mac OS X Server CVS repositories from the standard Active Directory MMC snap-ins. Add groups, change groups, etc., and it all just works.
In my own experiences, using Mac OS X Server as a CVS repository has been nothing but painless, and the developers like that they don’t have to remember yet another login that has to be changed ever 60 days. Like many other things on Mac OS X, it just works.
Next page: Ray Noorda: a Remembrance
On October 9th, 2006, Ray Noorda died at the age of 82 in Ogden Utah, after a prolonged battle with Alzheimer’s. While many of the younger folks in computing are saying, “and?,” sysadmins in my age bracket are sitting back and saying “wow.”
Ray Noorda is the reason why there’s a company called Novell today. And while it’s hard to believe, in its prime, Novell was a company that wielded great power. It would not be hyperbole to say that prior to the rise of Windows NT 4, Novell was the Microsoft of PC networking. While Sun and other Unixen may have ruled the roost in the higher education and research arenas, from the early to mid-1980s until the mid-1990s, if you had a bunch of machines in corporate America, you used Netware.
Novell NetWare may not have created things like mapping network drives, directory services, DOS networking TSRs, functionality via loadable modules, cross-platform networking, and the like, but for ten or so years, they pushed those concepts across corporate America harder than anyone else ever had. While NT became bigger, most of its early successes walked the trails that Novell, under Ray Noorda, had blazed.
Novell is also responsible for the cyclical obsessions that this industry has with certification. At the height of Novell’s power, a CNE certification practically guaranteed a top salary and respect. There were a lot of administrators, perhaps too many, hired on the strength of those three letters alone. So when you see business cards with MCSE, ACSA, and the rest on them, remember that the modern certification craze(s) all started with that company selling red boxes out of Utah.
While Novell was eventually tossed from its lofty perch by both Microsoft and a number of bad ideas, (such as buying WordPerfect, and attempting to beat Microsoft as a Windows applications company), Novell was the first company to really turn PC networking from something done in small numbers and only occasionally, to a critical part of doing business.
So, if you get a chance, look around you, at the network, and everything it’s become and say “Thanks” to Ray Noorda.