BSD has interested me for quite some time as being the other alternative OS. I have had some difficulties with it in the past, mostly due to my unfamiliarity with it, but also given that BSD has, until lately, been where Linux was in the late 1990s — a very good server OS to those who know it inside out, but much less accessible to newcomers. I do have the advantage of knowing a Unixlike OS well enough from Linux (unlike me coming to Linux, where I didn’t know very much at all). Fortunately, in the Linux world, SuSE Linux began having a very user-friendly environment around version 6, and it is from that OS I learned a lot more about the world of Linux from inside an environment that I didn’t have to do a lot to get everything working.
In BSD, however, most distros still require quite a bit of work to get things up and running for a desktop environment. This is beginning to change, though, especially with the flavor of BSD I tried — PC-BSD. Based on FreeBSD, this OS has a graphical installer, good hardware detection, and booted straight into a well-configured KDE environment with lots of graphical tools to help configure everything. While I didn’t necessarily need all of that, I did find it nice to have it if needed, and it would be great for people with less experience than I.
It contains the two regular FreeBSD package systems — installing binaries via pkg_add, and the Ports system that automates building from source and installing (though Ports is not installed by default, it’s available by issuing a specific command after installation). However, PC-BSD also contains a nice graphical installer through specially packaged files called PBIs, similar to installer EXEs on Windows, that not only install packages, but all of the package’s dependencies, all in a self-contained bundle, so one does not have to worry about resolving package dependencies and conflicting dependencies over different packages. While this works fine most of the time, I did see a few issues with downloaded packages not working correctly or just partially working (Wine — a Windows API layer that runs a few native Windows programs in Linux and BSD — being a particularly bad package, as it did not install all of the utilities normally used, such as winecfg (the configuration GUI) and regedit (the Wine equivalent to the Windows regedit to edit advanced configuration settings in installed programs and Wine itself), and frequently would not even run a program that normally ran in Wine. (Unfortunately, even installing the binary package of Wine using pkg_add created a few unusual problems — it is possible that compiling the latest Wine version from source would have fixed this, but I didn’t go that far, since it does take a while to finish).
The worst thing, however, is that there were a few bugs that crept up. KDE would malfunction occasionally (for example, one of the panels on my desktop suddenly disappeared, and the entire desktop would not start up once), and a couple of times, the system would just shut down for no apparent reason (X would shut down and the system looked like someone had issued a reboot command — I’m not sure if BSD is supposed to behave this way if the kernel crashes or what, but I didn’t find anything in the logs that was unusual). Because of these faults, I really couldn’t recommend it, but at least BSD has come a long way towards being more usable than ever before. Kudos to the creators of PC-BSD for that.
Meanwhile, I think I’ll stick with Linux.