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:
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.
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.
FreeBSD was the first platform I got arc working on. I didn't start application server but I don't think I would have any problem with it. Now I switched to Ubuntu on my laptop (I've been using FreeBSD for about 4 years.) because FreeBSD crashes when I accidentially remove a USB mass storage device without unmounting it. Except this and some minor problems I had no problems with it.
Arc under freeBSD works fine for me. Update your ports collection and you won't get all the make errors. Been using fbsd for server for five years. As a desktop for one year. I prefer it over linux, but must admit that there are several hurdles to overcome when using as a desktop. I put my mom on Ubuntu about eight months ago, I wouldn't put her on fbsd. Although if you are looking for a Ubuntuish bsd try PCBSD.
I recently came across Win4BSD. It is a Virtual Machine for running Windows. They have a free non-commercial license. I use it to program in dotNet under Visual Studio.