Tech News
← Back to articles

A brief look at FreeBSD

read original related products more articles

Recently I've been playing around with FreeBSD in a virtual machine. The reason for this is that (if all goes well) some time in December my new Framework laptop will arrive, replacing my current X1 Carbon that is starting to show signs of old age (e.g. a keyboard where certain keys don't always work). Framework in turn has a strong focus on Linux compatibility, and FreeBSD compatibility to a certain degree. The FreeBSD foundation in turn is sponsoring work on improving the laptop experience of FreeBSD, with a focus on Framework laptops in particular.

In other words, if I ever wanted to run FreeBSD on a laptop, a Framework laptop would probably be the best option, and using a new laptop means I can just wipe the installation and replace it with Fedora if FreeBSD turns out to not be worth it. But before I do that, I needed to figure out if it's even worth the effort and what I might have to keep in mind.

Why FreeBSD?

Before I discuss my experience playing around with FreeBSD thus far, let's discuss why I would even consider using FreeBSD. After all, I'm pretty happy with my current Fedora Silverblue, minus some paper cuts here and there. But hey, Linux wouldn't be Linux without paper cuts.

The first reason for looking into FreeBSD is the more cohesive experience it claims (or at least its users claim) to have. That is, it's not just a kernel but a kernel plus userspace utilities and a bunch of other things. Whether this actually matters for end users is difficult to say, but as somebody who might want to contribute back it could be a benefit. For example, say you want to contribute a function (e.g. a hypothetical get_dns_without_blocking_the_calling_thread function) to the C standard library and this function requires some kernel changes. For Linux this means contributing a change to at least two to three different projects: the kernel, and glibc, and maybe musl for increased portability. In contrast, for FreeBSD you just contribute to, well, FreeBSD.

The second reason is the availability of software. While some programs are not available on FreeBSD (e.g. lua-language-server is not available) or others lag behind a bit at times (e.g. Electron updates apparently can take a while to become available), it seems there's a surprising amount of software available.

The third reason is the (at least claimed) stability of FreeBSD as a whole. Combined with the availability of packages this means that in theory you can get a system as stable as e.g. Fedora Silverblue, but with a lot more (and more frequently updated) software available.

There are some additional nice-to-have's that aren't necessarily unique to FreeBSD that are still potentially interesting. For example, ZFS seems interesting but Btrfs is probably close enough for most people. FreeBSD also has jails and had them for a long time, but Linux has LXC (basically FreeBSD jails), Podman, and basically whatever else builds on top of the Open Container Initiative.

Of these reason the first one is the most important one: a system that's more cohesive, rather than something that feels more like a car engine with a bunch of components bolted on top, each maintained by a different person.

The setup

... continue reading