FreeBSD Pros and Cons
First of all, let me say that FreeBSD is my favourite operating system. I've been using it for at least 5 years now. Before that I'd used OpenBSD for a few years, and before that I was using Linux. I've used most Unix varieties at some point, so I have a fair idea of what they're like, though not necessarily much in-depth experience.
Of course that doesn't mean I think FreeBSD is perfect. Some bits are great, some are a complete pain. Perhaps iterating these advantages and disadvantages may be useful to someone looking for things to improve, or perhaps they will just provide flame-bait for the office FreeBSD vs. Linux debate. If only I had a dollar for every time that one came up.
What Rocks?
- The install process
- Installs over a network with minimal boot media
- Not ridiculously dumbed-down
- Very fast - probably less than 30 minutes to set up
- The ports tree
- Installing stuff is easy - once you install CVSup and portupgrade
- Most open source software you could want is there and up-to-date
- Having the source code for your all software is great when you're a developer
- The GEOM subsystem
- It's just a really, really nice way to configure disks
- Good software RAID and full disk encryption support, even for root partition
- Networking
- PF is one of the nicest, most intuitive packet filters around
- Good support for wireless, including software WEP and access point mode
- Simple interface bridging
- Development
Everything is documented and has a comprehensive man page
- Building and installing new kernels is really easy - no crap interface like on linux
What Sucks?
- The install process
- Setting up complex things such as GEOM raid and crypto can only be done manually
- The ports tree
- Portupgrade occasionally breaks, and when that happens fixing it can be extremely hard
- Building ports on older computers is unbearably slow (I've had it take a week on an old laptop)
- Binary packages, though supported, may not be readily obtainable for all ports
- Upgrading
- Automated upgrade of the base system is not nearly as easy as ports with portupgrade
- Hardware support
- Some types of hardware don't yet have drivers. Eg. HDTV tuner cards