What is FreeBSD, actually? Think again.

probono
3 min readSep 17, 2021
FreeBSD Daemon, created by Poul-Henning Kamp
Source: /usr/share/examples/BSD_daemon/

Recently there was a challenge on Twitter to “Describe FreeBSD in three words only”. An operating system. Right? Berkeley Software Distribution, literally. Dating back to early UNIX, and powers macOS and the iPhone, that’s what I always mentally filed FreeBSD under. But also as something that still requires you to use a cryptic command line and to configure stuff — like if the graphical desktop, Plug&Play, and Live ISOs that “just work” never had happened. Maybe I was wrong all along.

When I think of an “operating system”, I think of Windows, macOS, or Ubuntu-style “Linux”. And naturally, that was the standard I kept measuring FreeBSD against. In comparison, FreeBSD felt so much more cryptic and complicated. I always wondered why that was.

So “Community nongraphical UNIX” is what I wrote.

When I read through the answers to the “FreeBSD in three words” question it finally dawned upon me:

Infrastructure, not product. Interesting way to look at it. In the Linux world, many distributions are based on Debian, including the arguably most popular one on the desktop, Ubuntu. So in a way, FreeBSD is like Debian if it was simply a building kit for other distributions. It is not the Ubuntu Desktop Live ISO that made Ubuntu so popular and the experience I am after — pop it into a computer and be able to use it as a desktop machine.

Infrastructure, not product. Is that a good thing? My initial reaction would be “no”. For many years I looked at FreeBSD and always decided to test it “once they have a Desktop Live ISO like Ubuntu I will try it out”. Which never happened.

Yes, variants of it like TrueOS, DesktopBSD, FuryBSD came and went and some are still around like GhostBSD and NomadBSD, and new ones like my own helloSystem are coming up , but are they really FreeBSD? Places like https://forums.freebsd.org/ say no, and don’t want to support them.

Infrastructure, not product. Is that really a bad thing? After all, wouldn’t it be a good thing to have an official FreeBSD Desktop Live ISO?

Turns out the issue goes deeper than that. Unlike Linux distributions, FreeBSD draws a strict line between the core operating system (base.txz) and what is thought of as “packaged third-party software” (Ports and Packages that live in /usr/local). The the core operating system is BSD licensed and developed as a fully integrated operating system by the FreeBSD team, whereas the rest happens to run on FreeBSD but is essentially mostly third-party software which may or may not agree with the FreeBSD objectives.

So, wouldn’t it be nice to have at least a very spartan, minimal graphical environment as part of the FreeBSD core operating system ? Operating systems like Haiku and SerenityOS see graphics as an integral part of the core operating system. FreeBSD doesn’t.

And then it dawned upon me again:

Own the stack. That is certainly a good thing and an aspect I really like. No one is following some hidden agenda to force certain stack elements (“unwelcome technology”) upon users, such as SELinux, systemd, Gtk, Gnome, Wayland, Pipewire, Flatpak and so on. And I like FreeBSD for that. So, maybe we should really come to embrace that FreeBSD wants to be more like a toolkit that enables third parties (you and me!) to build the end-user experiences we like rather than a readimade operating system like Windows, macOS, or Ubuntu-style “Linux”.

And in fact, it is very good at that. It allows us to build a helloSystem user experience exactly to our liking.

helloSystem 0.5.0

Maybe FreeBSD should position itself as a “toolkit for building operating systems” rather than an “operating system”. I think it would have helped me understand it better.

But… somehow I think it is still sad that graphics is completely absent from the FreeBSD core operating system. At least the window server and graphics drivers….

What do you think?

--

--

probono

Author of #AppImage and contributor to hundreds of open source projects. #LinuxUsability, digital privacy, typography, computer history, software conservation