FreeBSD
I recently installed FreeBSD 3.1 on an old 486. It wasn't smooth because I had several hardware problems; the main problem was that I had very old hardware. But those are mostly worked out now, and I must tell you, I'm very pleased with this, my latest toy.
For those who haven't heard, FreeBSD is one of the other Open Source Unixes available. Some say it's better, some say it's not. Seems to me there are plusses and minuses with any operating system. Let me talk about some of each that appear to me.
BSD Pluses. Of course, Berkeley was the first to implement Unix with TCP/IP, so BSD has a terrific heritage. And, nobody does networking better than BSD. IPv6 (the next generation Internet protocol suite) is being developed on BSD, and the current Internet owes most of its existence to BSD in some shape or form.
Bill Joy, who wrote BSD, later joined some friends to start something called Sun Microsystems, which you may have heard of. Sun's System V is where the term ``SysV'' comes from. In the Unix world, there are two fundamental ways of initializing a system: the SysV way and the BSD way. In both methods, there are a collection of shell scripts somewhere in /etc that launch programs and daemons. BSD normally uses fewer nested directories for these scripts than SysV.
One of the major differences between BSD and Linux is the development team. BSD has a much tighter development circle around the kernel and major subsystems than Linux. There's more room to experiment with Linux; BSD is a more controlled atmosphere. Only a core team of developers may commit changes to the source tree for the kernel, libraries, and applications. And that happens only after proposed changes receive thorough scrutiny by the core developers. With Linux, this scrutiny usually is left to those who build the particular distribution.
Also, BSD doesn't use kernel modules as Linux usually does. This makes it more secure than a modular Linux kernel, so some prefer BSD in this regard. However, BSD may use certain modules, such as a Linux compatability module. This allows it to run native Linux binaries. However, Linux compatibility is most often done through runtime libraries rather than kernel modules, thus preserving a tighter security profile.
Just about all of the Unix utilities that you have grown to know and love are available for BSD. What isn't natively included in the distribution may be found in what's called the ``ports'' directory. This is a clever way of using thousands of applications without cluttering up your hard drive with endless source trees. The ports directory mainly includes a Makefile for the sundry applications included. You simply type ``make; make install; make clean'' in the appropriate directory with the appropriate permissions, and BSD will snag the latest source tree from CVS, and it will build and install you a copy onto your system, then it will clean up after itself. Very nice.
So, you don't have to go fishing around in endless ftp directories if you don't want to, like you do with Linux sometimes. It's a rather nice overall package management system.
Depencies are tracked internally by the packaging software. Normal *.tgz or tar.gz file extensions are used. The usual commands are pkg_info, pkg_add and pkg_delete. Different switches can be added to duplicate the same functions you're used to with dpkg or rpm. If you're used to Slackware, you'll feel at home.
The default shell is csh. If you're used to bash, csh will take some getting used to. Although you can easily change your shell to a different shell, it behooves you to be good and familiar with csh or tcsh.
Included with each copy of FreeBSD is online documentation, similar to the LDP (Linux Documentation Project). The first reference is often The FreeBSD Handbook. This tome includes about everything you would need to start and administer your BSD box. Of course, you can obtain plenty of other books for other various subsystems and applications, just as you can with Linux (they use the same software, oftentimes). There are lots of FreeBSD mailing lists that serve various audiences. You might check out the www.freebsdmall.com and have a look at some of the nifty goodies available there, too. Www.freebsd.org is comparable to linux.org, and the former will show you links to other information warehouses, just like linux.org does. Further, there are plenty of support companies and contracts available for BSD: its rich pedigree would permit nothing less.
Disadvantages. The only disadvantages I can think of are those which people complain about with Linux: software availability. Used to be you couldn't find scanner software for Linux; now you can buy just about any scanner and use it with Linux software. The same is becoming true of BSD. Native BSD ports just take a little longer to get, sometimes. Until a native port is ready, you can run your favorite software with the Linux emulator.
The Linux user pool is enormous and the FreeBSD pool is smaller. You're more likely to get a driver for that cheap tape drive you bought from your cousin if you use Linux.
Linux software that does not use the Linux TCP/IP stack may be run under the BSD Linux emulator libraries. Linux's TCP/IP stack is still, shall we say, under construction, as the recent ZD Labs tests demonstrated. And the kernel-devel list has been buzzing about that lately, too. But anything else you can run natively under BSD, including SCO, SysV, as well as binaries from other BSD implementations.
I would not say that anyone who is qualified to administer a Linux box is automatically qualified to administer a FreeBSD box. There are many small differences between BSD and Linux, and several rather large ones. Packaging, kernel philosophy, software ports, security policies and profile, networking support, high-end scalability, different development model: these are not the same as Linux.
Conclusion. I think FreeBSD is terrific for the person who either has good Linux experience or previous Unix experience. Linux is the largest source for new FreeBSD users. If you're a Linux user who wants to look at a different Unix, check out FreeBSD or one of the other BSD's based on 4.4 BSDLite. It is strong as steel and will handle your mightiest poundings. Yet, it is polished and highly flexible, and it has well written documentation.