NetBSD is not Linux

(It's not even a distro. The BSDs hard-forked 25 years ago.)

I thought I might talk about what, to me, sets it apart, and if you've already heard about it, hopefully convince you that it's important, actually.

release model, src and pkgsrc

The way NetBSD handles releases might be pretty alien if you're coming from a Linux background.

The base operating system is a reproducible image, developed in one source tree by one team.

A release is a snapshot of that tree in a point in time. New major releases are made every ~2 years and supported for ~4 years, with fully compatible minor releases from the same branch containing fixes and features in the intervening period.

In contrast, the packaging system for third-party software (pkgsrc) is developed separately, and sees new stable branches roughly every 3 months.

The packaging system is entirely optional and aims to be non-invasive. Multiple copies and older versions of it can co-exist on one system. The scientific computing community took note of this, and NetBSD's packaging system has been adopted at various university high-performance computing departments for use in long-term experiments, and also at NASA.

The packaging system and the core OS can also be used in a "rolling release" manner (usually called -current), and mix and matched, so there is a lot of opportunity to use it in ways that suit your particular use case.

security

The memory protection NetBSD enforces by default is a lot stronger than most operating systems, making it perhaps suited for unattended systems where updates can't be performed regularly. For example, special exceptions are embedded into binaries that need to execute writable memory.

A strong focus on system security has also led to some interesting features, for example, an unusually strong chroot implementation, and the VM system, NVMM, which is particularly suitable for running untrusted guests.

The ability of the NetBSD anykernel to run as a userspace program has also led to useful applications in QA and finding security-critical bugs.

NetBSD has had some success running on firewall/router/networking devices (particularly in Japan, where there's a very significant user community), and its native firewall, NPF, is a joy to configure.

hardware support and ARM

In recent years, NetBSD/arm and NetBSD/aarch64 has become a very popular and actively developed platform, supporting a lot of new and inexpensive ARM hardware very well. A NetBSD developer publishes easily-writable SD card images for a large number of ARM devices on his website armbsd.org.

Somewhat differently from Linux, rather than being written by hardware people, the support for ARM hardware is mostly written by independent NetBSD hackers, based entirely on hardware documentation, and does not happen in forks or follow product support cycles.

Once you have installed NetBSD on an ARM device, or any other hardware, you have a reasonable guarantee that it will keep working and keep being supported with updates for many years into the future. Along with very low system requirements, this perhaps goes some way towards explaining NetBSD's popularity on older hardware. It'll also keep working well beyond Year 2038.

A strange ARM device

year of the NetBSD desktop?

I'm one of the (maybe not so crazy enough) people who are running NetBSD on my main laptop (and all my other computers, as the only OS). It shines on my Thinkpad X250, with effective GPU acceleration and suspend.

In my case, it does pretty much everything I need. There's modern web browsers - most notably Firefox, and open source creative tools in the case that I want to mess around editing images/videos/audio files.

I don't particularly care about AAA gaming, but sometimes there's an indie game with a DRM-free Linux release, and usually it runs just fine in the Linux compat layer with a little bit of shared library acquisition. From that point, it runs just like any other native application.

But for me, it particularly shines as a development environment. It places such little distance between any given binary and the source code for that binary, for base and packages.

Combined with an easily understandable system with excellent man pages, it makes for a very fun system for hacking on, and scratching whatever programming itch you need to scratch.

NetBSD running on a Thinkpad X250, showing a Wayland compositor and web browser

community

There's probably quite a bit more of it than a typical open source project.

In the case of both developers, and users who have been on IRC and the lists for a very long time, we tend to know each other and be familiar with each other's quirks.

As part of the developer on-boarding process you get a PGP key signed, quite often this involves meeting another developer in-person, so the developers generally know at least one other developer IRL, some of us meet up regularly, or yearly, etc.

conclusion

NetBSD is a cute little OS with some interesting features and I recommend you try it if you have any curiosity about it - maybe on ARM, or some old hardware you have lying around not doing much, or a VM.