When my journey into the world of open source began in the mid-90s, the easiest way to get installation media was to buy CD sets from online stores and have them shipped to you. Being interested in experimenting with different operating systems, I always bought the giant bundle that included all the distributions. Debian, Red Hat, Slackware, SUSE, and several now defunct distributions were include for me to play with, but the bundles also came with installation discs for the various BSD distributions (FreeBSD, NetBSD, and later, OpenBSD).

To be clear, the BSDs are not Linux distributions. They are Unix-like, so they are similar to Linux, but they are their own family of open source operating systems with their own rich history. Unlike Linux with its multitude of distributions, the BSD family is much smaller; the big three distributions are FreeBSD, NetBSD, and OpenBSD. The small handful of other BSD distributions branch off from one of those projects, most frequency, from FreeBSD.

While BSD might not be as famous as Linux, it is widely used, you just might not know it is there. In fact, if you are running Mac OS X or have a Playstation 3 or 4, you are running something that contains a combination of BSD and other code. Because the BSD-style of open source license allows for binary-only distributions, BSD tends to be used for commercial projects that do not want to share their source code. The BSD vs. GPL debate has been argued with much vigor over the years, and I will not be rehashing that debate here. I simply wish to point out one of major differences between Linux and the BSDs.

Back when I was trying out all the distributions, I played around with the BSDs and enjoyed the experience, but I quickly found my home with the Red Hat family of Linux distributions; Red Hat Linux back then and now Fedora, CentOS, and Red Hat Enterprise Linux. I do not experiment as much as I used to, sticking largely to Fedora and CentOS with forays into Debian, for working with projects that are designed to work best with an apt/deb-based Linux. I do check out what is going on with OpenSUSE and Ubuntu occasionally, but I have not explored any of the BSDs in several years.

To rectify that, I recently took a look at PC-BSD, a BSD distribution that seeks to create a desktop-friendly experience on top of a FreeBSD core. I was pleased with the experience, but do have some nitpicks. Here, I provide a brief overview of PC-BSD and my thoughts about the distribution.

Installing PC-BSD

An operating system's installer is important, because as the saying goes, "You never get a second chance to make a first impression." PC-BSD's installer makes a good, but not great, first impression. It is usable and it gets the job done, but it has several rough edges that really need to be polished.

Right from the start there are some sub-optimal interface choices that really need to be fixed. The installer's first screen asks the user the pick the language to use during installation, but it does so by presenting the language choices with the most confusing sort order I have ever seen. The list of languages uses what they are called in their own language (e.g., Deutsch, not German) but the items are sorted by their English names. You'll find Nederlands sorted as if it were Dutch and Deutsch in the Gs.

Despite the rough start, the installer is nice and presents the user with decent options. The installer lets the user install PC-BSD; TrueOS, a server variant; or restore a system using a backup created by Life Preserver (PC-BSD's backup utility). When installing PC-BSD, there is large selection of desktop environments and other software on the installation media. GNOME, KDE, Cinnamon, and MATE, as well as many other, lighter options are available from the same install disc for the user to pick and choose from. In addition, the disc contains a number of key applications, including LibreOffice and Virtual Box, and there is plenty of other software available for download after the system is installed.

The installer's software selection screen does have one major rough spot: PC-BSD recently introduced "roles" (pre-selected sets of software based around a certain role, e.g. "Development" and "Office and Productivity"), which are included in the software selection list instead of appearing separately or as a higher level selection option. As is, the roles appear as just another category in the list of software packages to install and have little description of what they are, or what software they will install exactly. The idea of roles is a good one, but the implementation still needs work.

PC-BSD's default installation

By default, PC-BSD installs the KDE 4 desktop environment and Firefox. KDE users will find few surprises with PC-BSD's KDE desktop.

PC-BSD does provide some customization to KDE, but not much. Most of the value PC-BSD adds to the experience comes from additional utilities, such as the Life Preserver backup program and the system update utility, both of which appear in the system tray near the clock. Other useful additions include PC-BSD's AppCafe, Control Panel, and Handbook, which appear on the desktop. Of course, all of these PC-BSD specific programs are available under every desktop environment, but PC-BSD's first run welcome application uses KDE as the sole example desktop environment.

PC-BSD KDE desktop

AppCafe graphic interface

AppCafe is PC-BSD's graphic interface for installing software packages. It contains a wide variety of software, including software that I cannot get on my Linux distribution of choice, Fedora, without using 3rd party repositories. Though, conversely, there are packages that PC-BSD does not have that I can easily find in just about any Linux distribution.

Of course, software preferences are highly subjective, so your own experience will vary. AppCafe even supports three different update release schedules, Enterprise, Production, and Edge, for users who prefer long term support or bleeding edge new packages.

PC-BSD control panel

PC-BSD's control panel provides a centralized location for all of PC-BSD's settings.

From installing applications and updating the system to configuring hardware and software, everything is in once place and well organized. It even integrates control panel items from various desktop environments, making it a true one-stop location for configuring the system. Perhaps the nicest thing is the easy to find "Report a bug" item, which helps the user report bugs to the appropriate place.

However, like many other open source projects, PC-BSD's bug reporter suffers from the flaw of expecting the user to fully understand how all the components of the operating system fit together before they can report a bug. The first step in the wizard asks the user to identify which component the bug is related to and expects the user to understand the difference between PC-BSD specific components and the FreeBSD components PC-BSD is built upon before they can proceed to the next step.

PC-BSD control panel

PC-BSD Handbook

Thanks to being featured on PC-BSD's desktop, the PC-BSD Handbook is easily located by even the most novice user. There is no need to search through the system's installed applications for a manual, or relying solely on the help documentation for individual components. While not comprehensive, PC-BSD's handbook does a good job as striking a balance between concise and thorough. It contains enough information to help and provides detailed instructions for the topics it covers, but it avoids providing so much information that it overwhelms.

As nice as the manual is, it does contain some oddities. For example, the 'killall' command is listed as the way to exit a few of the lightweight desktop environments (e.g., i3), even though those desktops have their own logout/quit commands. However, those issues are minor and the documentation about PC-BSD specific features seems to be free from those kind of issues.

Lumina desktop environment

For users that want to try something new, PC-BSD offers the Lumina Desktop Environment. Lumina is work in progress (it is currently at version 0.8.7) desktop environment developed on PC-BSD for PC-BSD.

Written in C++/Qt5, Lumina is a lightweight desktop environment that does not pull in too many system requirements. It does what it does well and stays out of the user's way. Unlike many other desktop environments, which are developed on Linux with Linux specific features in mind, Lumina is designed to be able run on any Unix-like operating system, but PC-BSD is the best supported operating system at present.

PC-BSD Lumina Desktop