Sure, if you’re a techie, you know about Linux, even if you don’t really use it. It’s a powerful, enterprise-class Unix-like OS. But what if there was another kind of free Unix system? The BSD family of operating systems offers a viable alternative to Linux. In this article, we’ll look at the history of BSD and examine several of the major versions to see if one of them may be right for you.
Berkeley Software Distribution’s History
In its early days, Unix wasn’t a commercial product, but a research one. AT&T was barred from offering it for sale by the government, but they were allowed to give it away for next to nothing to universities. One of them was UC Berkeley. Since it came with the source code, grad students couldn’t resist tinkering with it. One of those students, Bill Joy, started adding his own programs to the mix, including the vi text editor. He packaged some of his tools into something called the Berkeley Software Distribution, or BSD.
A major breakthrough came when the university got a brand-new Digital Equipment Corporation VAX minicomputer. There was already a version of Unix for it, but it didn’t take advantage of the virtual memory features the computer offered. Joy and a few other students did manage to add support, and BSD became the Unix of choice for VAX machines.
In the early ’80s DARPA granted UC Berkeley a contract to add TCP/IP support to BSD, as Unix was becoming a de facto standard in the computer science research world.
A number of companies were offering workstations running BSD that were essentially minicomputers shrunk down to desktop size. One of the major manufacturers was Sun Microsystems. Bill Joy was even one of the founders.
In the early ’90s, William Jolitz ported BSD to the PC, yet another major breakthrough. He found the task of developing the OS by himself too daunting, but his 386/BSD is the basis for all the modern BSD versions today.
Despite a promising start as nascent Interne’ts operating system of choice, BSD was hampered by a lawsuit from AT&T alleging copyright infringement. However, eventually the courts ruled that BSD had diverged so much that only a few files were in violation, and they could easily be rewritten. The lawsuit meant that a little project, Linux, rocketed ahead in the early ’90s to attract a worldwide following. The fully open-source BSD systems mentioned below eventually did emerge to attract dedicated user and developer communities.
If you want to learn more, Kirk McKusick, one of the original developers, has given a detailed and informative overview of the history of BSD.
There are a number of BSD versions to choose from.
FreeBSD is one of the biggest. It focuses mainly on servers, particularly Web servers and file servers. FreeNAS is an offshoot that offers a complete, easy-to-use network attached storage server. PC-BSD is the BSD community’s answer to Ubuntu, packaging FreeBSD into an easy-to-use desktop environment.
NetBSD is a version of BSD that’s designed to be portable – and they mean portable. It supports a lot of hardware that’s long since been out of production, from x86 all the way to the original VAX. Some enterprising users have even gotten it to run on a toaster. It’s very popular in embedded systems development, especially in networking equipment. In fact, your Wi-Fi router is probably running it.
OpenBSD is designed to be very secure. Its developers scrutinize the code very carefully, looking for holes, and have included features such as a built-in firewall. They only claim two remote holes in the default installation, which is a very impressive record. In the wake of the Heartbleed debacle, they’ve broken out their own version of OpenSSL, calling it LibreSSL. (Yes, that’s Comic Sans on their page.)
They’ve also contributed a couple of major programs used throughout the open-source world, even if you’ve never used OpenBSD itself. OpenSSH is used for remote logins and tmux is a neat program that lets you multiplex your terminal, or have a kind of "tabbed browsing" for the command line.
DragonflyBSD is yet another version of BSD, but this one aims for performance. In recent years, it’s been making a big push for SSD performance and performance over multiprocessor systems.
Culture: BSD Vs. Linux
One of the major differences between BSD and Linux culture is the preference for open-source licenses. Both the BSD license and the GPL let you look at the source code, but the GPL requires you to open the source code to any derivative versions you release. The BSD license, on the other hand, has no such requirement. You’re free to make modifications to the code and release a proprietary version if you want. BSD developers say this gives developers even more freedom to do what they want with the code than the GPL does.
The BSD Philosophy
Another major difference between Linux and BSD is that BSD systems are designed to be coherent systems, as Matt Fuller writes. Most Linux distributions are a hodge-podge of the Linux kernel, GNU utilities and anything else the developers wanted to include. BSD developers, on the other hand, build a minimalistic "base system." Users can then add what they want to it. This makes for a very stable installation. Linux lacks a central base system. From the BSD perspective, everything is an add-on. BSD developers generally think their way of organizing the operating system yields better results in the long run. When faced with a choice between stability and supporting new features, BSD developers will generally take the former.
The bottom line? If you’re looking for a stable, rock-solid system that traces its lineage all the way back to the original Unix, BSD operating systems are well worth seeking out. They may not be as popular as Linux, but the developers probably like it that way, and you just might feel that way too.