Switching customers from Linux to BSD because boring is good
- Reference: 1728390849
- News link: https://www.theregister.co.uk/2024/10/08/switching_from_linux_to_bsd/
- Source link:
After this year's Open Source Summit in Vienna, the Reg FOSS desk travelled to Dublin for the [1]2024 EuroBSDCon . One of the talks at the event was from the man who built that NetBSD server, talking about [2]switching from Linux to BSD . You can watch the talk on [3]Youtube's recording , and his [4]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 [5]blog post .
[6]
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 [7]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.
[8]
[9]
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 – [10]NetBSD was first released in April 1993 , and [11]FreeBSD followed a couple of months later – they are doing just fine.
[12]
It also shows that there's an entirely different approach to open source software licensing which avoids loud public spats, such as those around [13]Elastic , and [14]CentOS and RHEL , and [15]Hashicorp , and [16]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 [17]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 [18]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 [19]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 [20]core part of the kernel of [21]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 [22]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 [23]aided by STF funding .
[24]
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 [25]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.
[26]After 27 years, Tcl/Tk 9 finally arrives with 64-bit power and Zip file magic
[27]Germany's Sovereign Tech Fund throws cash at FreeBSD and Samba
[28]FreeDOS and FreeBSD prove old code never dies, just gets nifty updates
[29]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 [30]problems we had last time with version 13.1. FreeBSD 14.2 is [31]scheduled for December 2024 , shortly before the end of life of 13.3, and we plan to take a fresh look at it then. ®
Get our [32]Tech Resources
[1] https://2024.eurobsdcon.org/
[2] https://events.eurobsdcon.org/2024/talk/LNMLZX/
[3] https://www.youtube.com/watch?v=u_bdSqqHm58&t=19285s
[4] https://it-notes.dragas.net/slides/EuroBSDCon2024_Marinelli.pdf
[5] https://it-notes.dragas.net/2024/10/03/i-solve-problems-eurobsdcon/
[6] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2ZwVXIUx1tDYrMVKhYc4tTQAAARI&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0
[7] https://it-notes.dragas.net/2023/08/27/that-old-netbsd-server-running-since-2010/
[8] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44ZwVXIUx1tDYrMVKhYc4tTQAAARI&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[9] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33ZwVXIUx1tDYrMVKhYc4tTQAAARI&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[10] https://www.theregister.com/2024/04/17/30yo_netbsd_releases_v10/
[11] https://www.theregister.com/2024/07/02/freedos_30_freebsd_31/
[12] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44ZwVXIUx1tDYrMVKhYc4tTQAAARI&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[13] https://www.theregister.com/2021/01/18/elastics_doubling_down_on_open/
[14] https://www.theregister.com/2023/06/23/red_hat_centos_move/
[15] https://www.theregister.com/2023/08/11/hashicorp_bsl_licence/
[16] https://www.theregister.com/2024/03/22/redis_changes_license/
[17] https://opensource.org/license/bsd-3-clause
[18] https://www.tuhs.org/cgi-bin/utree.pl?file=1BSD
[19] https://www.unibo.it/sitoweb/ozalp.babaoglu/en
[20] https://orcid.org/0000-0001-5848-1319
[21] https://gunkies.org/wiki/Unix/32V
[22] https://gyptazy.com/freebsd-how-can-we-make-it-more-attractive-to-new-users/
[23] https://www.theregister.com/2024/10/01/freebsd_and_samba_funding/
[24] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33ZwVXIUx1tDYrMVKhYc4tTQAAARI&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[25] https://www.freebsd.org/releases/14.1R/hardware/
[26] https://www.theregister.com/2024/10/02/tcltk_version_9/
[27] https://www.theregister.com/2024/10/01/freebsd_and_samba_funding/
[28] https://www.theregister.com/2024/07/02/freedos_30_freebsd_31/
[29] https://www.theregister.com/2024/06/18/cheri_alliance_formed_to_promote/
[30] https://www.theregister.com/2022/05/20/freebsd_131/
[31] https://www.freebsd.org/releases/14.2R/schedule/
[32] https://whitepapers.theregister.com/
Re: I love FreeBSD for its reliability
Nas4Free/XigmaNAS FTW!
Super reliable
In the mid 2000s I was asked by a local hair salon if I could build them a booking system.
They'd been given numerous demos off the shelf solutions but they were either overly complex, too pricey, or had bugs. When I went in to discuss the project one of their main requirements was along the lines of "the booking computer must never go down". They didn't need anything that was internet facing, just something they could use within the shop.
I realised that all of the systems they'd had demonstrated worked on Windows and several of them were crappy web apps that only worked in Internet Explorer.
In the end the solution I used was to build them a custom web app and install it on a NetBSD box. At the time their public website didn't take bookings although they said they might want to do that in future.
The entire solution ran for years to the point where I'd almost forgotten about it. It never once went down. About 7 or 8 years went by and they asked if I could adapt the system to take bookings from a website. It was relatively simple to make a connection from the NetBSD box to an endpoint that sent booking data to the system I'd built including cancellations and rescheduling.
They still use the system to this day and as far as I know have never experienced any form of OS error or application problem. Some of the hardware was upgraded over time and moving all of the installation across was one of the easiest, least painful jobs ever.
"Even on a home/gamer-level box. Something you can throw together in under 48 hours, which then lasts a decade."
For a server were you want things to be slow moving an reliable BSD is a good choice for something that you want to run for many years, but BSD as a gamer system?
but BSD as a gamer system?
I don't think the suggestion is using BSD as an OS for a gaming set up.
If you read the externally linked article Marinelli says
> I suggested the client invest in Enterprise-grade hardware. However, they insisted on using a server they already had, assembled by a local vendor with “gaming-quality” parts.
"I don't think the suggestion is using BSD as an OS for a gaming set up."
I believe they are referring to more dangerous "games". Like Elbrus processors powering Russian weapons or VxWorks software powering USA weapons.
[Author here]
> Like Elbrus processors powering Russian weapons or VxWorks software powering USA weapons.
Nope. I meant that Marinelli's box that ran for 12Y was built from leftover gamer-level bits, that's all.
I mean you may well be right but I was not even hinting at speculating about xBSD in defence kit. I don't know, and TBH, I don't want to know.
The most cheerful interpretation I could imagine was using it to build some super-secure encrypted laptop that can't even run exploits targeting Linux.
[Author here]
> but BSD as a gamer system?
As @andy 103 says, no, that is not what I meant or said.
As per Stefano Marinelli's presentation, the NetBSD box he set up in under 48h that ran for 12Y with an over 9Y uptime was not built on server-grade kit, it was built from gamer components that the customer already had available.
That's what the reference to gamer-grade kit meant.
CELL OS
ORBIS OS
Coming shortly
Writing this in GhostBSD (FreeDSB-based). Sussing it out before switching from MX Linux (and from Miint and fromr Windows before that).
Just got to get to grips with Fish and then it's migration time.
Thanks to Liam for the articles.
When I first started out, I used to look at the Unix machines in the server room with the same kind of awe and fear I felt when I looked at the humming transformers in an electricity sub-station.
Now it has moderated somewhat but it still feels like the BSD variants are grown up serious stuff, and the linuxes are the toys and playthings.
it still feels like the BSD variants are grown up serious stuff, and the linuxes are the toys and playthings.
Yes and no.
If you read the post I made earlier I used NetBSD about 20 years ago to deploy an application largely on the premise that it was a super reliable OS. The application and use-case of what I'd deployed was relatively basic. It was being used in a hairdressers although NetBSD could clearly be used for more demanding applications.
If I was to be tasked with the same project today - and didn't know anything about NetBSD or have that past experience - my guess is I'd deploy to AWS/Azure/Google Cloud on some Linux based VM. I'd be willing to bet it wouldn't be as reliable over the years; but suggesting Linux is a toy nowadays ignores how many production web servers it's powering. Some of which are used for very serious applications.
I'll agree
"I'd be willing to bet it wouldn't be as reliable over the years; but suggesting Linux is a toy nowadays ignores how many production web servers it's powering. Some of which are used for very serious applications."
I agree, Linux has proven itself a solid server OS. I think the "toy" is issue when people have decided to package Linux to make hundreds of versions of the server OS for desktop use. 'New Linux distro of the week' is tiring.
Re: I'll agree
Yes, it's not so much "Linux is a toy", more "it's often used and packaged like a toy"
Lack of commercial support is a problem
For any system I run today, I need the ability to run certain tooling, such as an EDR (yes, including on servers). Unfortunately, support for the *BSDs is quite lacking. Yes, there are longstanding feature requests to add support, but the movement has been away from the BSDs, not toward them.
Re: Lack of commercial support is a problem
https://heimdalsecurity.com/blog/open-source-edr-tools/
Re: Lack of commercial support is a problem
there's a port for Wazuh also: https://www.freshports.org/security/wazuh-agent
Small correction
Great article!! 1 teensy correction:
"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."
The funding to modernize laptop support is not from STF, but rather Quantum Leap Research and the FreeBSD Foundation
Applies to illumos too
You could pretty much replace FreeBSD with illumos and exactly the same applies - boring and invisible is good. Stability at both the system and interface level is paramount.
(As a big difference, illumos doesn't have any Sovereign Tech Funds backing it.)
Differences
… 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
I'm a long term FreeBSD user with a couple of Linux boxes and get caught out on commands occasionally, but it's no big deal because I'll remember it's ip rather than ifconfig (or whatever) pretty much as I hit return. The OS that makes me incandescent with rage is Mac OS - sort of Unix, but very definitely isn't. /etc/hosts? Sure, you can create one for a quick fix but it will be ignored. Want to mount NSF disks in the same place as all the other boxes? Nope, they must go under /Volumes. Lots and lots of niggling little differences that totally bugger up Unix admin, because Mac OS is for "creatives" and they don't understand need to worry their pretty little heads about such things.
Re: Differences
[Author here]
> Lots and lots of niggling little differences that totally bugger up Unix admin
I have been reading comments like this since I was running Mac OS X 10.0 "Cheetah" on a heavily-hacked PowerMac 7600 via XPostFacto.
Yes, it is based on some Unix code. Yes, it passes compatibility testing. It is a UNIX™.
But no, it is not like any other Unix, and if you try to treat it like one, you will have a bad time. It's a hybrid OS with a Unix-derived userland that enabled NeXT and Apple to get to market with a multitasking GUI OS years earlier than just about anyone else.
It predates Windows NT, Linux, FreeBSD/NetBSD/OpenBSD, and was demonstrated in public the same month that OS/2 1.1 was released, the first version of OS/2 with a GUI. (And a fairly ugly GUI it was, especially compared to the beauty of NeXTstep.)
The *only* other GUI OS that is still maintained from the same codebase that survives that is contemporary with what's now called macOS is RISC OS. Windows has been replaced with a rewrite. OS/2 was replaced with a rewrite. All modern FOSS Unixes date from the decade after NeXTstep.
It's _old_. And it's a pure play GUI workstation OS. Its creators cheerfully tore up the rule book and ripped out all the existing plumbing meant for workstations.
The result has been a product with sales in the billions: iOS and all other Apple OSes are based on OS X. I think it is fair and accurate to say that sales of the Apple OS family exceed _all_ sales of *all other proprietary and licensed Unix of any form PUT TOGETHER.* That's every proprietary/commercial Unix, counting seats not CPUs, and I strongly suspect all sales of all commercially licensed Linux (SLE, RHEL etc.) put together, don't even make a dent in the comparison... and Apple is 1 box = 1 user.
(And yes, I am also counting the weird things that passed Unix certification like z/OS and OpenVMS. And by seat for them too, not by processor, which boosts their numbers by at least an order of magnitude.)
Few Macs run anything except macOS, just a tiny rounding error, and macOS runs on nothing but Macs, except for a tiny rounding error.
No, it is not like other Unixes.
And the most important way? Unlike other Unixes, it's commercially successful.
I had a HP print server which ran without needing any attention at all for over twenty years, during which period it only rebooted because of power cuts, once every couple of years or so. I presume it had some sort of OS, thought it wasn't terribly full-featured.
Rule of thumb is:
If you want naff "modern" features, home desktop and games, stick with Linux.
But if you want a good operating system, give BSD a shot.
No security updates
Nine years of uptime isn't possible unless you don't apply security updates. The kernel and server daemons he was running (which included externally accessible Apache and PHP, SSH, internal dhcpcd, etc.) have all had security updates since NetBSD 5.1 was originally released in 2010.
You could put pretty much any operating system on reliable hardware and run it for decades without any updates, but I'm not sure you'd want to.
Don't forget 386BSD!
The statement that *BSD predates Linux is questionable.
When I first started dabbling with Unixy OSes on my home PC, I installed a copy of 386BSD. That was in the early '90s. IIRC, it was before Linux appeared on the scene - or before Linux appeared as a "product" to buy.
The main problem with 386BSD was getting the X server to work with the graphics card in my PC. I eventually gave up and replaced 386BSD with one of the first iterations of Slackware, and I've had Linux on the desktop ever since. But perhaps I should consider using *BSD on my servers. Diversity is always good, and servers don't need graphics.
I love FreeBSD for its reliability
My TrueNAS server runs FreeBSD and behaves just like a proper UNIX server. It just does what it's supposed to do, year after year after year.
That iXSystems have now spurned FreeBSD for Linux so that people can overload their reliable storage systems with loads of plug in and VM add-ons is probably one of the most monumentally stupid decisions I've seen.
TrueNAS Scale? Just say no.