If you want a simpler system that is easy to understand, NetBSD is a pretty good choice. The source is almost entirely in a single repository for you to read, and you need a single command to build a boot-able release (you can even build it on other OSes and architectures). It's a level of familiarity with the inner workings of a system that is hard to express.
It has pretty decent support for ARM boards so that's the best hardware for trying it out, or not-too-recent x86 hardware. Another use case people have is using esoteric old machines like m68k and VAX, which NetBSD still supports with release builds.
Using it as a daily driver (I do) requires some tinkering on the initial setup, and people have mentioned it gives a vibe of using Gentoo, and that certainly has a market. But it's very easy to keep using the same setup you've had for years.
Most proprietary software doesn't support NetBSD, but if you were the type using primarily FOSS anyway, you might have all you need.
I don't know much about system development, but aren't most x86 platforms extremely backwards compatible? Would an OS that is not adopted to the latest CPU not load at all, or just wouldn't use that CPU to the fullest potential?
Especially in the case of NetBSD and OpenBSD, it's nice to SSH into a system, run ps, and be able to identify on sight every single running process. It's easy to know what everything is, and more importantly, why it's there. That's a beautiful starting position for building other systems even when you're not trying to boot it on a toaster oven.
I’d say BSD (esp Net and Open, as mentioned above), just don’t run as many processes, by design. BSDs are *nix, like Linux, but with their own traditions. If you, familiar with Linux, sat down at a NetBSD box, you’d be able to easily get around like a little girl[0]. You wouldn’t find systemd, though, you’d see a “wheel” group, your login shell might not be bash. The BSDs just decorate their houses differently than Linux[1].
I'd say it depends on the Linux distribution. Things like Ubuntu would be much like mentioned [1], packing just about everything¹, while on something like openwrt you would probably recognize or easily find out the function of all userspace processes - I counted 13 on my router.
It doesn't help that linux (kernel and userspaces) tends to resemble chaotic patchwork more¹ than a reasonably designed system.
Of course you are correct; “Linux” is a big landscape, and descriptions of instances run the gamut (eg: OpenWRT vs Ubuntu). When I was writing above I had (eg) Red Hat or Ubuntu in mind.
Well. Given the smaller user base the *BDSs are good candidates for a very low footprint secure OS installation. In our org we use an openbsd instance to run our low traffic but extremely secure master database. The system really spartan and has a very low footprint. It is sufficiently different from Linux that the casual automated attack wont work. Things like NetBSD are a useful starting point to getting an OS up and running on a new architecture. This happens quite frequently in research settings.
I don't now what goes into the day-to-day maintenance at sdf.org, but they are able to provide public access to a NetBSD system without any major security breaches. The lore there is that before the switch from Linux to NetBSD security was a mess. Of course they made the change almost 20 years ago, so things probably are different today.
sdf.org is interesting because it is one of the few services running a multi-user capable OS - and using it that way. I donated to them years ago, primarily for the complementary email address, and in setting that up I was poking around in the shell - that was the first I'd seen 'who' return a list active sessions that weren't me.
Without going too far in to the politics of GNU/Linux, it's a bit messy. All the distros are different from each other, plus they're changing so rapidly that a book about one version is much less useful for managing another (think Ubuntu 14 -> 16, or Ubuntu 16 -> 18).
Also, while GNU/Linux is generally portable, many of the things you learn about Ubuntu will be different on what you'd run on a Raspberry Pi, or an UltraSPARC, or on a PowerPC.
NetBSD is the same OS on all the hardware it supports, so the system consistently does what it does regardless of where it's run. If you want to develop on a desktop and deploy on a Pi, for example, you'll have a much easier time with NetBSD :)
Be careful about labeling yourself with technology X, it can reinforce identity/religious tribalism/biases/limitations.
If you want to:
- Try out a different flavor of BSD derived from BSD 4.3 Reno before NetBSD forked to OpenBSD.
- Run a modern version of Xen as dom0 (the host). I found around the time of 6.1 that Xen on NetBSD worked better and was simpler than FreeBSD's installation. Maybe things have changed.
- Learn something new.
- Also, like FreeBSD, it supports ZFS.
It's often used by numerous small, independent ISPs for their core infrastructure when they need a little more flexibility than OpenBSD. OpenBSD is great for certain use-cases.
NetBSD is a great system for learning Unix. It lets you deep dive into certain topics because you have to. I learned to use Unix with NetBSD in the 2000. Only problem: find hardware for it. If you do not have a Raspberry Pi, your PC should not be brand new ideally (3-4 years is a good starting point).
It has pretty decent support for ARM boards so that's the best hardware for trying it out, or not-too-recent x86 hardware. Another use case people have is using esoteric old machines like m68k and VAX, which NetBSD still supports with release builds.
Using it as a daily driver (I do) requires some tinkering on the initial setup, and people have mentioned it gives a vibe of using Gentoo, and that certainly has a market. But it's very easy to keep using the same setup you've had for years.
Most proprietary software doesn't support NetBSD, but if you were the type using primarily FOSS anyway, you might have all you need.