The NetBSD Project is pleased to announce NetBSD 8.0, the sixteenth major release of the NetBSD operating system.
This release brings stability improvements, hundreds of bug fixes, and many new features.
Major changes are a rework of the USB stack and the addition of USB 3.0 support and Spectre and Meltdown mitigations.
Since this hasn’t had that many comments I want to just say a few words for some of the (possibly younger) members who might now know why NetBSD is important.
NetBSD is designed to be portable across many architectures. Not compatible, portable.
That might not sound like much but it is very significant. It means the design and engineering of the OS has to be much much more thought abut than if you were just targeting a specific architecture, or even a specific variant within an architecture.
This means good design.
Good because the designs have to be the right abstractions, which are general enough but not too poorly performing.
This leads to excellent software quality. It also means the design, being more general that many, is much more elegantly extensible an evolveable. With other OSes, change is hacked, grafted on, and twisted in.
Yes – this means the OS doesn’t develop as rapidly with the very latest hardware and trends, but what it never tried to do that. It tries to do it right.
It’s also very tiny compared to modern OSes. Perfect for embedded and appliances. Some Sony products have netBSD in them. My BluRay player does, for example.
One really solid benefit of this considered approach to design is security. When you design things properly, the security of those elements tends to be better – through isolated components, abstractions that make sense so coders don’t trip up, .. and…
. and this is the big one – by designing to be portable, security issues and bugs that don’t show up on one architecture do show up on other architectures. This helps make the code even better for all architectures.
It is no surprise that OpenBSD which takes an even more “correct by design” approach to security force from NetBSD.
Yes – you may not see these OSes being advertised, they don’t have massive marketing budgets like Wndows or MacOS .. nor the huge corporate backing like redhat/fedora .. nor the star quality of ubuntu…
but these OSes are there, hidden away in drives, and providing elements for things you do see… Sony Playstation has FreeBSD components I believe.. Windos transplanted the BSD IP stack a while back…
“research” OSes at their best.
Windows Vista replaced the BSD stack.
And let us not forget how painful that was and how much Vista sucked relative to XP… it took a whole generation of OS development to get it usable again.
That said as you say the network stack was one of the better areas, but given 2 low end computers XP might still beat Vista just due to overhead in other areas.
Edited 2018-07-24 17:19 UTC
Windows never used the BSD TCP stack. Windows NT 3.1 networking came from STREAMS (Unix System V), ported over by Spyder Systems as streams.sys. It was rewritten by Microsoft for NT 3.5 (still STREAMS compatible). And replaced in NT 4 with the network stack from MS LAN Manager for OS/2 2.1.
The only bits of BSD networking in Windows were a handful of client utilities, like http://ftp.exe and telnet.exe and such.
https://en.wikipedia.org/wiki/STREAMS
Edited 2018-07-25 19:22 UTC
See my reply above. Windows never used the BSD network stack, just a handful of client utilities like http://ftp.exe and telnet.exe and such. Nothing in the kernel, though.
MacOS X originally used the NetBSD userland atop the Mach/XNU kernel. It was later replaced with the FreeBSD userland tools. There’s a couple of BSD subsystems in the XNU kernel as well (memory and network I believe?).
Playstation OS is based on FreeBSD.
JunOS (Juniper router OS) is a customised version of FreeBSD.
Netflix uses FreeBSD for their OpenConnect CDN boxes.
A handful of storage companies use FreeBSD for their NAS/SAN products (I want to say Nimble, but I think it’s a different one) using ZFS behind the scenes.
I haven’t seen NetBSD advertised as being the basis for anything recently, but it does get used a lot behind the scenes.
BSD doesn’t make a lot of noise in the news, but it supports a heck of a lot of the systems out there.
A lot more than that, actually. From Wikipedia
The Berkeley Software Distribution (BSD) part of the kernel provides the POSIX application programming interface (API, BSD system calls), the Unix process model atop Mach tasks, basic security policies, user and group ids, permissions, the networking protocols, the virtual file system code (including a filesystem independent journaling layer), several local file systems such as HFS/HFS+, the Network File System (NFS) client and server, cryptographic framework, UNIX System V inter-process communication (IPC), audit subsystem, mandatory access control, and some of the locking primitives.[6]
I really want to like BSD. I did a bit of programming (fortran) back in the stone ages and happily hacked the various versions of Windows up until XP. At that point I moved to Linux. It had a bit of a learning curve and you had to be comfortable with a CLI but there were a ton of resources to get you up to speed. Pretty much any hardware could be made to work if it was 2 or 3 years old. Today Linux is darn near a forehead install. I don’t need it that easy with BSD, but every PC I have tried to install BSD on has run into some roadblock that I just could not get around. Short of custom building a PC, it is still a no-go for me. Maybe BSD will never get to the point where people with just some technical skill can use it as their daily driver. Maybe that is OK. I will keep my eye on it, but for now I will have to stay on the sidelines.
I want to like BSD too; but mostly I just want to slap them.
NetBSD want “portability (then security and usefulness)”, and mostly sucks because there’s not enough developers.
FreeBSD want “usefulness (then portability and security)”, and mostly sucks because there’s not enough developers.
OpenBSD want “security (then usefulness and portability)”, and mostly sucks because there’s not enough developers.
They all want the exact same thing (in a slightly different order) and they’re all derived from the same original source, and if they merged together into a single BSD it’d go a long way to fixing the “not enough developers” problem; but that won’t happen because spoilt children will throw little hissy fits.
– Brendan
The ‘portability’ of NetBSD means you can boot it on very obscure/obsolete platforms like ‘big’ classic Amigas (with MMU) but for actual work, hardware support and stability are lacking. When you want to seriously use real-life, modern hardware platforms, Linux is more ‘portable’. NetBSD may be good for kernel-level tinkering but it simply lacks the manpower to run everywhere well.
In general this feeling comes from ported software and lack of hardware support compared to Linux or Windows. If you have a “right” setup (which is possible to do even including laptops) it solves half of the problem . State of software varies unfortunately.
vezhlys,
Yeah, they’ve given so much to the industry under very liberal licensing.
While competition and alternatives can be useful, I worry that the loss of just a few key devs could be the end for some and much of the effort will be lost, which is why I question the wisdom of maintaining separate communities/forks/ancient platforms given how they fragment the resources of an already extremely small & fragile market. Like Brendan, I feel they could be better off if they joined forces. Of course, it’s their prerogative to split apart and do their own thing even if they were stronger together.