When I got the new PC some time ago, I had a spare hard disk and I tried my hand with the -CURRENT branch of FreeBSD 5. Big mistake, cuz it didn't work. At all. X was broke. Sound was broke. Keymaps was broke. Etc. Etc. Debian -> SuSE 9 (quite nice, btw), Fedora Core 2 (also quite nice) -> Debian.
Recently, I resized my main Windows partition on the 200G main drive. From Linux. With ntfsresize. It worked, but is strictly for the brave. I freed up a chunk of disk that I intended to use as a shared FAT32 partition to dump my choonz on. Thing was, XP (and Linux) will only format a FAT32 partition up to 32GB, so I ended up with a bit left over.
Feeling bored, I downloaded the two floppy disk images for FreeBSD 4.10 current, and gave it a bash.
Now, I can't actually install Debian Woody on my computer because it has an Intel NIC that requires the new eepro100 driver that's only in kernels newer than whatever it is you get with bf24, so I thought that this would be the first stumbling block. Wrongo. FreeBSD found this card no problem.
The installer has been discussed before, and let me be clear: it's crap.
It's sorta like the Debian installer, but while it's free-form, it's still not as useful and doesn't guide you at all with "next steps" and "alternate next steps".
Suffice to say I got the base system on after about half an hour's downloading (like the new d-i, you can do the install right off the internet) on my 1MBit connection.
I twiddled the timezone, keyboard map, console screensaver, and font, and that's it.
I ran /stand/sysinstall and installed the ports distribution - "distributions" in FreeBSD parlance are collections of software, packaged up for you.
I've never seen the big deal with ports. You get a directory tree at /usr/ports/ which is broken out categorically. Each package has a directory with a makefile and maybe a few other bits. Searching is primitive "make search key=KEYWORD", and it's non-trivial to work out what depends on a particular package.
The bottom line is that ports ain't competition for apt.
It's source-based, it's not easy to remove things with their dependencies, it's not easy to see what you've got installed, etc etc etc.
Anyway.
cd /usr/ports/x11/gnomedesktop && make install.
from a fresh install of FreeBSD, which has the barest of bones. It's just about got GCC and Make.
This is a LOT of compiling.
It does eventually finish, and I startx. Error, can't access /var/log/XFree86.0.log.
You what?
Root can startx.
I uncomment the line in /etc/ttys that enables GDM, and we're away. Mortal users can log in to X now.
The FreeBSD GNOME is nice. It's slower than Debian's GNOME, but then here's a weird thing - FreeBSD is incredibly fast at compiling things, but sucks rocks for interactive use; Firebird takes at least twice as long to appear.
Sound looks like being a sticking point for now - there's instructions on the wibbly wobbly web to backport the 5.x emu10k1 driver to 4.x, but that looks like entirely too much work.
There's a number of things that niggle me about FreeBSD, but overall it IS a nice system. The filesystem isn't as fast as ext3, and its interactive performance is arse, but one gets that VMS feeling that it's a well-engineered system. The FreeBSD handbook is excellent, too. Suffers a bit from the Debian Too Many Words syndrome, but that's better than too few.
If I were presented with a FreeBSD box in a server role, I'd be quite happy to resist the urge to flatten it and run Debian. Diversity is good, and all that. A desktop box would get reformatted toot sweet.
[Aside: Please don't wave OSX at me as a good FreeBSD desktop OS; Darwin ain't FreeBSD, no matter what you might find in userland]