The article is a few weeks old now. One change since it was written -- Raspberry Pi 2 SMP support has been added to -current and is expected to be part of the 7.0 release.
The accelerated graphics are heaven-sent (thanks @Riastradh). As much as having non-accelerated gfx was frustrating before, NetBSD was too charming to give up as my daily driver. Anybody who's curious to jump in should do it! Exciting times for a rock-steady well-thought-out OS...
Is there anything which might catch the eye of a regular linux user? (FreeBSD users would like to point out ZFS, jails etc., OpenBSD users usually point out pf/security and DragonFlyBSD users point out Hammer FS and an inviting community).
1) I'd say the "fit and finish" is remarkable. But everybody probably likes what they've got with their OS, so maybe that's not worth much.
2) If you're into firewalling/networking, it does have the venerable ipf, OpenBSDs pf, and the shiny-new npf for packet filtering -- and the network stack that held the Internet "land speed" record. Twice[0]
3) there is remarkable kernel research that is going on, that research makes the kernel available to YOU[1][2]
4) pkgsrc is topnotch. And others use it too, so like the famously portable OS, the 3rd party software is tested in the realworld on disparate machines.[3][4]
5) The community is small enough, friendly enough, and smart enough that it's simple to get into and has a high signal-to-noise ratio.[5]
6) Other interesting security[6], virtualization[7]
7) Good documentation, good code (forged by years of portability -- getting code running on so many different architectures doesn't happen by accident, and the lessons are carried on. And to be clear, unlike Linux, the NetBSD code that runs on (eg) a Vax is from the same codebase than runs on an 8-way amd64... versus (afaik) Linux where ea. target is pretty much a rewrite.)
8) I could go on... if you have more questions, don't hesitate, or better, drop in on #netbsd IRC channel on Freenode[8].
> ... held the Internet "land speed" record. Twice[0]
"SUNET has transferred around 840 GigaBytes of data in less than 30 minutes, using a single IPv4 TCP stream, between a host at the Luleå University of Technology and a host connected to a Sprint PoP in San Jose, CA, USA."
Come on, everyone knows Sprint doesn't have that much bandwidth. I bet they were faking speed test results again. grin
And to be clear, unlike Linux, the NetBSD code that runs on (eg) a Vax is from the same codebase than runs on an 8-way amd64... versus (afaik) Linux where ea. target is pretty much a rewrite.
That is not really an accurate way to characterise how the different Linux target architectures are supported in the source. As you would expect, the vast majority of the code is in fact shared.
No it is not entirely accurate, but the Linux situation is very frustrating, with some functions not being supported in different architectures, random different header differences (ugh, mips) etc.
Agreed -- and people are proud (NetBSD) or defensive (Linux) of the characterization I made -- and while of course every single line isn't re-written, and presumably Linux kernal devs will talk to ea. other, or perhaps one person maintains multiple architectures and therefore gets automatic code/idea sharing, NetBSD goes through pains to make sure all the supported platforms' origin is the one, single repository that is NetBSD.
This entire file is compiled on all architectures with MMUs (madvise() is pointless on architectures without MMUs and hence without virtual memory). Everything architecture-specific in this file is abstracted away by macros like PAGE_SIZE and PAGE_SHIFT.
The other answer here is very comprehensive and accurate. I first got interested because it has a good test story, the tests are built with the system and you can just run them. FreeBSD has ported some of this now, but without the rump kernel (which lets you run the kernel you are testing in userspace) it is not nearly as effective.
Now we have it set up so you can compile kernel plus libraries plus userspace into a single binary (in a few minutes of build time) I am looking at more test strategies - kernel+userspace fuzzing for example should be possible.
The Coverity scan score for NetBSD is 0.32, vs Linux at 0.66, and that is including the whole base system (gdb has a lot of problems) - the project has been working on this type of issue for ages.
The codebase is easy to use elsewhere, it is used in lots of other operating systems eg Minix, Android, QNX, Genode - the portability really helps here, it is not just different architectures but you can cross compile from any other operating system, and it supports both clang and gcc as system compilers (and partial support for pcc).
Well it seems I don't use 'distro' properly. I guess it only concerns Linux, but I personally don't see any reason it can't be used for OS flavors in general. Hell, the website distrowatch includes BSD and everything in between. Is there a similar phrase for BSD variants?
And ZFS is on a lot more than just FreeBSD, even if it's not official. ZFS started on OpenSolaris, not on FreeBSD. OS X has a port. Then FreeBSD got it's port. Linux has a stable port. And there are NAS OS's shipping with it like FreeNAS, TrueNAS, and a device called ReadyDATA by Netgear that has it.
I was mostly surprised at this: "The good stuff that probably won’t make it to NetBSD 7: Stable ZFS." So you're telling me ZFS isn't considered stable on NetBSD? It seems to be that it's pretty stable on quite a few other platforms, some mentioned above.
Linux distros share a kernel -- the Linux kernel. Maybe different versions, maybe a few different patches here and there -- but unquestionably the same kernel.
In BSD world they're completely separate OSes. Their kernels have evolved differently. They may have similar ancestry. You can't just copy and paste code from one to another and expect it to work.