Switching customers from Linux to BSD because boring is good
Stability? Predictability? Reliability? Where's the fun in that?
EuroBSDcon 2024 One of Stefano Marinelli's NetBSD boxes sat quietly serving for a decade, because everyone forgot about it. This is how Unix is meant to be.
After this year's Open Source Summit in Vienna, the Reg FOSS desk travelled to Dublin for the 2024 EuroBSDCon. One of the talks at the event was from the man who built that NetBSD server, talking about switching from Linux to BSD. You can watch the talk on Youtube's recording, and his slide deck [PDF] is on the event's website too.
He talked about the difficulties selling his services when what he offers is reliability and the lack of need for much ongoing support. Now, Marinelli has turned his talk into a blog post.
Marinelli attained brief fame in the geekier parts of the web a year ago, because of a long-forgotten NetBSD server of his – which, with no maintenance of any kind, quietly sat there doing its job until it passed nine years of uptime. But that's exactly what you want in a server: placid, unexciting reliability. Even on a home/gamer-level box. Something you can throw together in under 48 hours, which then lasts a decade.
As his talk conveys rather well, this kind of boring predictability is exactly what is required of an enterprise OS. Long-term, slow-moving, no-surprises software that a tiny handful of enterprise Linux vendors work very hard to deliver is the BSD baseline. That means it rarely hits the headlines, and in turn, that kind of community means that its events are different affairs to the big brash industry showcases – such as the event that until a few years ago was still called LinuxCon.
The BSD world is smaller and quieter than the Linux world. That's a good thing. Although the BSDs are slightly younger than Linux – NetBSD was first released in April 1993, and FreeBSD followed a couple of months later – they are doing just fine.
It also shows that there's an entirely different approach to open source software licensing which avoids loud public spats, such as those around Elastic, and CentOS and RHEL, and Hashicorp, and Redis. All these companies either changed their licensing, or started more closely following the letter rather than the spirit of licenses such as the GPL, to prevent commercial competitors profiting from stuff they're giving away for free.
The BSDs take a radically different approach: their licenses, such as the classic three-clause version, allow companies to take their freely-available source code and use it to build proprietary products – and sell them commercially. If you listened only to vendors like those in the previous paragraph, you'd think this was suicidally self-destructive, and yet the BSD family has been flourishing since 1BSD in 1977, shortly before Linus Torvalds' eighth birthday.
We found that some of the themes of Marinelli's talk were echoed by other attendees at the event. The Linux world is full of startups and entrepeneurs and exciting new tech, while the BSD world (mostly) isn't. What tends to make Linux folks consider BSD dull is its appeal for its developers and users. Marinelli spoke of the difficulty of selling solutions that work but are unfashionable. As he put it:
Clients are often influenced by hype. A few years ago, it was "Linux is a toy." Now, it's "Why bhyve and not Proxmox?" They ask, "How can they sell FreeBSD? There's no AI, there's no Cloud, there's no Kubernetes, there's no blockchain – there's nothing!"
We could relate to some of the issues he described, although not all of them. He talked about losing data on a Btrfs volume, which from this vulture's own direct personal experience with Btrfs is entirely believable. He talked about updating the Linux kernel and rebooting, only to find that network interfaces' names have changed: /dev/enx3e3300c9e14e
suddenly became /dev/enp10s0f0np0
, making the host inaccessible. One of his overall points is that easy deployment isn't as important as easy longterm maintenance and support:
But the simplest solutions are the easiest to maintain and manage over time. My experience has taught me that setting something up is often the easiest part. The hardest part is returning to it after one, five, or 10 years. Keeping it running, updating it, stabilizing it. For many, IT isn't their business, but a tool to achieve their goals. A Kubernetes cluster is fantastic, but it requires maintenance. Or it's external — so it's no longer ours. We've lost control of the data.
Like many people in the FOSS world, Marinelli started out on Linux, but after a few years got interested in the BSD family instead. He mentioned studying under Professor Özalp Babaoğlu as one influence, and we confess that we didn't recognize the name. We should have. When Babaoğlu was still a grad student at UC Berkeley, his virtual memory system became a core part of the kernel of Unix/32V, the first 32-bit version of Unix, written for the DEC VAX minicomputer.
FreeBSD enthusiast and advocate Florian Azim has recently blogged about making FreeBSD more attractive to new users, and the Foundation is working on it. At the same event, we met one of the developers working on modernizing FreeBSD's laptop support, as we recently reported now aided by STF funding.
If this kind of predictable reliability sounds appealing, you don't need to wait for these changes to happen. For a better experience, we suggest treating FreeBSD today much like Windows NT was in the 20th century (that is, before Windows 2000, and therefore before niceties like plug'n'play, power management, etc.). Use a desktop, not a laptop; use a wired Ethernet connection, not a wireless link; and don't expect great power management. Check the hardware compatibility list and adapt the hardware to the OS, not the other way round. Don't expect support for the latest CPUs and GPUs, for assymetric CPU cores and so on. And don't try to dual-boot: to avoid pain, devote a whole drive – or preferably, a whole server – to this OS.
- After 27 years, Tcl/Tk 9 finally arrives with 64-bit power and Zip file magic
- Germany's Sovereign Tech Fund throws cash at FreeBSD and Samba
- FreeDOS and FreeBSD prove old code never dies, just gets nifty updates
- CHERI Alliance formed to promote memory security tech ... but where's Arm?
But, saying that, interoperability between Linux and the BSDs is excellent: they're all forms of Unix, and they all talk the same protocols and languages, yet that doesn't mean that all the same programs and commands are there. They are not. FreeBSD is not a some odd, different cousin of Linux: it is very different OS, and its users have different expectations, which in some places do not overlap with those of even a knowledgeable Linux user.
We picked up some useful info about the problems we had last time with version 13.1. FreeBSD 14.2 is scheduled for December 2024, shortly before the end of life of 13.3, and we plan to take a fresh look at it then. ®