This is the first part in our seven-part series on the BSD series of operating systems.
In this series, we’re going to try out each of the four major BSD systems.
From Wikipedia:
The term “BSD” commonly refers to its open-source descendants, including FreeBSD, OpenBSD, NetBSD, and DragonFlyBSD.
I started working with Unix in a pre-Linux environment, and learned Unix on SunOS, HP-UX, AIX, and SGI systems. Linux came along and my feeling was “cool, another Unix to play with” because learning the quirks of each OS just went with Unix.
Today, we are evolving towards a Linux monoculture. Commercially, Solaris will be dead soon and IBM’s AIX is almost a closed ecosystem. That leaves Linux…and BSD.
The BSD operating systems (FreeBSD, OpenBSD, NetBSD, and DragonFlyBSD, listed in order of popularity) are cousins to Linux. When I was a kid we’d visit my cousins in Canada and everything was very familiar but some things were a little different and you had to learn them. That’s the experience Linux people have when they play with BSD.
The Backstory
The University of California, Berkeley was embroiled in a lawsuit over Unix with AT&T, which wasn’t settled until 1994. Shortly after that, the famous Net/2 final distribution was released. From this comes FreeBSD and NetBSD, and from those, DragonFlyBSD and OpenBSD, respectively.
Note that Linux came along in 1991 and really picked up steam fast in 1992-1993, so that by the time Net/2 was free and open source software, Linux was already well established. If that lawsuit had never happened or it had been settled earlier, perhaps we’d all be using BSD-based systems today.
Today, each BSD family member has an individual identity. Make no mistake, this is high quality software and some of these BSD operating systems power very impressive solutions, sites, and services.
Part of this is due to licensing. Linux and much of the Linux ecosystem (glibc, gcc, and many other etceteras) are licensed under the GPL. BSD operating systems are licensed under the BSD license, which has no copyleft requirements. Apple’s macOS, for example, is derived from BSD for this reason.
But even if licensing wasn’t a differentiator, there are compelling reasons to use these operating systems. OpenBSD is a unique security-focused operating system. FreeBSD is built to be highly performant on x86-64 systems. NetBSD will run on your grandfather’s pocket watch.
One striking difference between BSD and Linux is that all userland is under one shared source. You can type a single make command and rebuild everything in the OS, from kernel to utilities to installed packages. This is very different from Linux, where the Linux kernel is joined with some GNU project userland tools, and then a diverse array of packages from many authors are installed to deploy the OS. On BSD, the entire OS is worked on by one team. This leads, in my experience, to greater consistency version over version.
It’s also good to stretch one’s Unix muscles and see how core ideas in the technology can be implemented in other ways. Some major ways the BSDs are different:
- init systems
- filesystem layout
- accounting
- system utilities (ps, df, etc.)
- firewalls
- package/port installation (just as there is yum vs apt)
Finally, one big flex by the BSD crowd is documentation. Both OpenBSD and FreeBSD documentation is gorgeous, and because it’s all maintained under one developer roof, in my experience it’s very up to date and accurate.
My BSD History
I’ve used OpenBSD a lot because it is simple and very well put together, and the documentation is amazing. The others I’ve only dabbled with over the years. NetBSD on a Mac 68K, and FreeBSD out of curiosity – neither in about 10 years.
So What Are We Doing Here?
In this series, we’re going to try each of the four BSDs out, with the goal of installing Nginx + MariaDB + WordPress.
I’m not going to configure a firewall on each because they all use OpenBSD’s pf, so for OpenBSD I’ll configure pf as an example for all.
Next Up: VM Config at Vultr
Related Posts:
- Crunchbits Discontinuing Popular Annual Plans – The Community Mourns! - November 20, 2024
- RackNerd’s Black Friday 2024: Bigger, Better, and Now in Dublin! - November 19, 2024
- It’s the Season of Giving and CharityHost Has Deals for You! - November 18, 2024
Fantastic. Thanks for the backstory.
What I was most excited to read about was your thoughts on documentation. In today’s era (2024) of LLMs and, good documents 100x the power. Someone with a doc, llm, and no prior knowledge can just ask.. how do I….?
Looking forward to your future articles.
Actually NetBSD uses npf which is different than OpenBSD’s pf.