Wow, what a frustrating experience. I just burned a bunch of hours trying to install FreeBSD w/ X11 and gnome using the ports system. Lots of dependency failures when building gnome20 with ports. I'd fix one and get a little further then something else would blow up. Had to do the following a lot:
cd /usr/ports/<whatever>
make deinstall
make reinstall
cd /usr/ports/x11/gnome20
make all install clean
# wait for next problem and repeat
Older versions of packages were installed instead of the ones expected, etc.
In the end, I never did get it working so reloaded Ubuntu 8.04 on the machine. I'm sure FreeBSD works great has a headless server, but I thought I'd load it onto a desktop or two to get familiar with it, and to possibly convert my other Ubuntu machines to it to avoid having to support OSX, Linux & FreeBSD.
Another problem is that even though I use dedicated hosts, I'd like the option of deploying on a vps such as slicehost.com and they don't support FreeBSD.
I know folks use it as a desktop without problems, so I'm not sure what the difference is. I installed 7.0 from a DVD and followed install instructions from an article verbatim. Accepted defaults, etc., so it should've been a plain vanilla install.
If I thought FreeBSD offered clear advantages over Linux, I'd probably be willing to put in more effort, but from what I can tell, I expect they're more similar than different from an application developer's perspective.
If folks know of compelling advantages, I'd like to hear about them.
1. Ports aren't changed randomly for no reason (cf. the Debian OpenSSL debacle). A port is just that--a port of a program to FreeBSD, not some attempt to incorporate it into a holistic user experience.
4. The BSD license means you can do what you want with the code.
5. The overall system is clean, simple and very well documented. Most of what you need to know is in the handbook or man pages.
The advantages are more evident for a server. For a desktop, I think BSD and Linux are both pretty awful compared with OS X, but FreeBSD is slightly less awful, overall.
Points 1 & 2 also apply to Source Mage GNU/Linux, and for point 5, man pages are good for most packages and for the system these days, there is a developing wiki maintained by the distro, and documentation that may be missing is made up for by the helpfulness of the people in the IRC channel.
Point 3 largely applies in that building every package you install is far more automated than in LFS, and most of the "spells" (ports, packages) are kept up to date regularly (Gnome included), and it's very easy to update any that may have been forgotten, or to add missing packages. It took me about 5 minutes to clone the mzscheme spell to "mzscheme352" for Arc use. OTOH you still have to deal with the behemoth that is the Linux kernel configuration. I cheated; I got hold of a Debian kernel and used it as a base for make oldconfig, later tweaking a little.