29 comments

[ 0.24 ms ] story [ 13.7 ms ] thread
Very nice, wonder what's the state of using NetBSD as a daily driver?
NetBSD feels like a high quality, ancient relic from the University of California, Berkeley, from the 1970s, made for munks, secret FBI databases and special military operations.
> CD-ROM media

Wow, I just learned that I can still buy a pack of new CD-RW discs. This is an almost 30 year old format that is still published for!

Long live ATAPI!

Seriously though, why still publish CD formats when a usb-stick is far more ubiquitous and much easier to actually write. Are there systems that can boot CD-ROM interfaces that don't have USB boot capability still?

As someone reading this fresh, they are almost apologetic for a release with open issues. But presumably the release closes off many more than it creates. I could see any other author/org approaching the messaging very differently!
Just finished upgrading, went easy. Because I am using cgd(4) I find it much easier to use sysupgrade(8) from pkgsrc.

I was running the R/Cs without any issues, so I am sure 11.0 will be very stable.

I often wonder what the current status is of the BSDs (FreeBSD, OpenBSD, NetBSD). Who uses them, who works on them, what is their motivation for doing so? How do they compare to Linux these days, in terms of size, feature set, security hardening, etc? Is their usage/development happening at a relatively constant level, or is it growing/shrinking?
I think I could probably live on them. I am actually seeking a more restricted computer system these days... I really don't need DRM or slop apps or games.
I use stock OpenBSD with nothing else for a web server. Very easy to maintain and configure, very good manuals and very good vulnerability track record. OpenBSD 7.9 was released 1-2 months ago.

I know some people use OPNsense or pfSense for their router and firewall needs, which are both based on FreeBSD.

I've been using OpenBSD on my router/firewall boxes (in various forms, mostly i386/amd64 - Soekris or PC enginers but also mips/octeon - Ubiquiti boxes) for the past 20+ years. Mostly because in that area I do not want any compromises (literally and figuratively) on security. I like the Packet Firewall philosophy and functionality. The fact it is rock solid I take for granted. Another reason is that the system is cleanly designed and simple. Quite easy to reason about with source code in hand.
I have been using in parallel both Linux and FreeBSD on my computers for around 3 decades, because each has advantages over the other in certain circumstances.

Until around 2004, I looked at Linux more like a toy in comparison with FreeBSD, because the latter had much better reliability and performance.

However, in the early years after 2000 Linux has evolved and it gained more and more advantages over FreeBSD, mainly caused by a much greater number of programmers that contributed to Linux.

The first that affected me personally was that gradually Linux added support for a much greater number of peripheral devices.

Unfortunately, after the launch of Windows 95 all vendors of PC peripheral devices have stopped providing technical documentation for their products, replacing that with Windows drivers (or in rare cases, e.g. for network interfaces, they might provide drivers for a few other operating systems).

This means that for non-Windows OSes someone has to reverse engineer the device drivers. In the better cases, there are some standardized peripheral interfaces, like USB, ATA, SCSI etc., but that is not good enough for using a given peripheral device, because most of these have always been full of undocumented bugs and they work on Windows only because the Windows device drivers contain workarounds for the undocumented bugs.

This means that the Linux kernel includes a huge database of quirks with the bugs of various peripheral devices that exist on the market.

Eventually the BSDs were also forced to include such bug databases, but theirs were and still are much smaller than those of Linux, because they have less users, so less people who might encounter the buggy devices, investigate the cause and report it.

For example, I had some Athlon CPUs that I used with motherboards bought in 2001, which had VIA chipsets. In 2000/2001, the VIA chipsets had a horrible bug that caused data corruption on hard disks. There was a workaround to serialize some of the ATA commands, to avoid their concurrent execution that resulted in data corruption. Of course, VIA kept secret the existence of the bug, so who knows how many people have lost precious data because of this.

When I first bought a motherboard with a variant of the buggy chipset, for a Pentium III CPU, by chance I discovered very early the data corruption on Windows, and I returned the MB. I bought another MB with the same chipset from another MB vendor (Soltek), and I blacklisted the first MB vendor (Soyo), after not seeing data corruption on the new MB.

I was very wrong because the MB vendor had no responsibility in this, only VIA was guilty. The bug disappeared on the second MB because meanwhile VIA had updated its Windows driver. So they caused lost sales to the first MB vendor, by their secrecy.

Sometime later, I decided for a MB with Athlon to be my first desktop PC that was not configured for dual-booting with Windows, so I wanted to install on it only a *BSD or Linux.

However, neither FreeBSD nor NetBSD nor OpenBSD worked on it, all had the data corruption problem. But Linux worked fine, so I installed Linux and since then I used only Linux for PCs, restricting FreeBSD for certain kinds of servers.

Only later I discovered the reason why Linux worked, unlike the BSDs, which was because it was aware of the bug existing in the VIA chips and it included the same workaround as the Windows drivers.

I believe that my experience was typical of the positive feedback loop that enhanced the market share of Linux, more users resulted in good support for more hardware devices, which enabled the adoption of Linux by more users, and so on.

Then the major blow that hit the BSDs was the launch of Pentium 4 with SMT in 2003, followed by the dual-core AMD CPUs in 2005.

On a single-thread CPU, FreeBSD 4.x had a much better performance than the contemporaneous Linux, for networking and storage operations.

But the design of the *BSD kernels was incompatible with multiple threads and the rewriting of the *BSD kernels to work with multi-core and/...

(comment deleted)
I will focus on the things that people rarely point out. Btw. to be clear, I largely use Linux personally and professionally. So no evangelism here.

First of all: The BSDs are ALL general purpose operating systems, not distributions. I just mention this because there is that general "OpenBSD is for routers" and "NetBSD is for old hardware" nonsense. To give you an example. Various things including 3D graphics acceleration for various devices has been available in OpenBSD and DragonFly a lot earlier than in eg. FreeBSD even though FreeBSD for example has proprietary NVIDIA drivers available unlike the rest. People use all of them on server, as desktops and even on gaming devices. It's even kind of a myth in BSD communities that "this BSD is for X".

Something that people who aren't in the BSD users already and especially ones that do use Linux sometimes misunderstand is that the BSDs are independent of one another. Eg. OpenBSD and FreeBSD are as different as eg. FreeBSD and macOS, which is also a BSD and has A LOT of kernel and user space level code shared with FreeBSD. That's why grep -v says FreeBSD that's why docker uses (or used) xhyve which is FreeBSDs bhyve for macOS, which is why you got kqueue and dtrace, etc.

So in that respect "the BSDs" doesn't really work that well and is "dangerously" oversimplifying things.

All of them have a pretty good security track with strengths and weaknesses compared to each other and Linux. I would say it's overall even. But depending whom you ask the difference may very, because even in the Linux world there are different approaches to security. And as anyone having anything serious to do with security it's not that easy to measure security in first place. OpenBSD has a strong focus and achieves a lot on the C side and people who don't use any BSD at all actually and basically don't know it have critical C code compile on OpenBSD to spot issues affecting their actual target platform.

As for development. All of the BSDs increase in terms of development (only happen to know it cause someone once pointed me at an obviously wrong graph). I got a bit interested in that comparison because something that people like to underestimate is that single individuals are still the ones doing huge chunks of big projects. It's insane. Linux kernel might be one of the very few exceptions because a huge amount of people make hardware essentially for it for a living (SBCs and so on). Even if you look at other "big" projects like Postgres and so on which huge companies absolutely rely on it's a couple of people doing insane amounts of work. You have that in all BSDs.

FreeBSD sees a lot of usage as a base for commercial OSs (video game consoles, Netflix cache servers, etc.). However to be fair while some parts come back to the OS they also have companies that shamelessly take code without giving pretty much anything back (looking at you, Apple). Nobody is angry at that cause that's the terms and people in the BSDs often contribute out of the drive to make a great OS.

Something in my opinion greatly overlooked is that FreeBSD has one of the best package bases of all open source operating systems including all the Linux distributions. This is somehow rarely advertised but you have a huge official, very stable, very up to date, highly configurable "repository". I think this is pretty much unmatched elsewhere. It's like having Arch AUR, but without the security nightmare nor instability. In fact getting a commit bit is on the harder side compared to many Linux distributions. Many official package maintainers cannot commit on their own. This means that the "many eyes" does a lot of work there.

You get binary packages with one of the best binary package managers out there (classic case of being late to the game, but taking all the leanings and doing a great implementation).

You get close to 35k of these "ports" both binary or compiled if ...

> Who uses them, who works on them, what is their motivation for doing so?

FreeBSD (and all the BSDs really) do not use systemd.

> How do they compare to Linux these days

They don't use systemd.

> How do they compare to Linux these days, in terms of size, feature set, security hardening, etc?

Security harderning? They don't have systemd. So there's no backdoor in SSH because somehow sshd is linked to some compression library because a Microsoft employee decided Linux should use compressed logs.

Really: no systemd is a big one.

From the linked release announcement:

> Improvements to the npf(7) firewall, including layer 2 and user/group filtering

That's a valuable, useful feature

> New MICROVM kernel for x86... it can boot in about 10 ms

That could open some doors, nice

There are some good hardware improvements too.

Not about BSD, but anybody else using side tabs in FF with that site? Somehow the rendering of that dashed line at the top runs across into the "pinned tabs" section. (Linux/Wayland/Debian). Curious if anyone else is seeing it.
> Somehow the rendering of that dashed line at the top runs across into the "pinned tabs" section

Graphics programming is very hard. Borland tried to improve the situation in the 90s with it graphics library, but little progress has been made since then. One of the most difficult things today is finding out the coordinates of the drawing area. /s

Ages ago I know someone did the work to get wine running on a then modern NetBSD, has that effort been kept up, and can it run reasonable programs? Ideally someone has tried it with some success, I am hoping to try running NetBSD on an old thinkpad, but I need some software for a SDR dongle that was only written for Windows, and works great under Wine on linux.
Congratulations to the first NetBSD release with RISC-V port!
> Improved support for vintage and misc. hardware: alpha evbppc hp300 hppa m68k mac68k macppc mips x68k

It is interesting to see that as Linux drops support for legacy computers NetBSD still welcomes them. This is a NetBSD thing as it's not so much for FreeBSD.

As of now NetBSD is probably the go-to operating system for vintage hardware.

I hope AI will help niche operating systems like BSD reach a point where they can be used as practical daily drivers
NetBSD specifically prohibits AI contributions as far as I'm aware of -and thank god for it!
When I was in graduate school, I was doing a lot of molecular dynamics simulations, but I did not have access to a lot of high-performance hardware. The math department had a 4-node Cray that was impossible to reserve time on, and the CS department had a 16-node Dell cluster that ran SGE and was decently reliable. When those resources ended up not being enough for my crazy array of tasks, I got resourceful and started gathering every single outdated CPU anyone anywhere on campus was getting rid of or had no use for, and built my own cluster in our lab. Before finishing my Ph.D. I had 12 SGI Indys, 8 PowerMac G3 6300s, 10 PowerMac G3 7600s, and 20+ Dell P3 towers in my "cluster".

NetBSD is the only thing that made that possible.

Very nice, I know how things like this go. You are in a hurry and documentation is something never gotten to. Plus it is a "one-time" setup, to be thrown away when complete. That is fully 100% full understandable :)

I am sure there are other impressive stories about what people did with NetBSD, too bad these really never get published. Things like this would have been nice to show up here:

https://www.netbsd.org/gallery/research.html

NetBSD is the only nix I've ever been able to use for novel (for me) tasks without consulting the internet for help; the design is so clean and the documentation complete that I never felt the need for outside help. I love the package management system. Definitely my desert island OS.
Moat portable OS in the history of computing. It supports like 20 more architectures than Linux, including VAX 780 from 1979(!!!) that can run it out of the box - same source codeBASE as in x86 or ARM etc.