Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Why do people use NetBSD over OpenBSD? Serious question.


Besides portability, NetBSD does have a lot of attractive technical features, including a cross-platform source-based packaging system, the rump kernel concept where drivers can be run in both monolithic and microkernel-esque fashions, an extensive kernel-level authorization system through kauth(9), a very intelligently designed driver framework with lots of low-level components abstracted into machine-independent interfaces (which OpenBSD and FreeBSD later integrated themselves), and so on.

NetBSD has also been the first to introduce new features like reforming the rc boot scripts into the more modern rc.d system.

Lots of people (esp. Linux users) have this impression that all Unix-likes besides Linux are hulking dinosaurs stuck in the old ages, but this couldn't be further from the truth.


Performance for one. OpenBSD's awesome security features do come at a cost regarding speed. Feature sets is another; NetBSD has some features, like Rump Kernels [1], which OpenBSD doesn't have, and has shown some hostility to in the past. Like any architecture decision, it comes down to researching who has the best solution set for your problem and working from there.

[1] http://rumpkernel.org/


NetBSD supports many more platforms and architectures than OpenBSD (I ran NetBSD on MIPS and 68k years ago).


NetBSD can be used as a rump kernel: http://wiki.netbsd.org/rumpkernel/


NetBSD is normally the first choice for embedded products in the BSD family, I'm aware of some large companies used NetBSD in their routers and printers.


Also worth noting that NetBSD can run Xen dom0.


FreeBSD may have that by FreeBSD 11


And related, why do people choose *BSD over Linux? (I'm genuinely interested, and not trying to start a flame war). I've used both OpenBSD and Linux on my personal computers, but only Linux for servers (mainly due to ease of setup). My understanding is that Linux has marginally better performance than any of the BSDs.


I initially went back to it over the way systemd was handled on Linux. Nowadays, I've really grown to appreciate the minimalism and the slower, more thorough pace of advancements. I find that being too cutting edge just tends to lead to more problems in production. I also really like the development model, and most design differences I read about (one quick example: /dev/random behavior) more in the BSDs. Lastly, lots of features I like a lot more. ZFS over btrfs, pf over iptables, etc.


I always heard good things about the BSD's and I was forced to use pf in my previous company..

but it was systemd that pushed me towards it, I'm not bound by random binaries that do random things with little documentation- everything is very clearly understandable and I can even guess what things will be doing with a large degree of accuracy.

the whole thing seems much more "sane", but- Linux is a better desktop in my opinion.


I choose BSD (as a router/firewall) because pf is more intuitive than iptables and tc. Go check out some manpages for tc and it's extended functionalities... awful documentation. I still use Linux as my desktop OS though.


ZFS and Dtrace. Full stop.

And I got completely tired of "distributionitis" on Linux--"Oh, you can't upgrade that particular package without upgrading every other package on the system."


well, FreeBSD is like that too...

  pkg upgrade apache22
is unsupported, but it might work.

If you understand the potential consequences you can do what you wish with the ports tree as an advanced user.


I would have picked OpenBSD over Linux for our production environment, if we didn't need the additional performance.

Modern Linux distros are messy and complex. I'm sure it's for good reason, they provider a ton of feature and tools for running very large installations. I just don't need that, we don't have more servers than you could reasonably manage manually.

I miss the consistency and simplicity of OpenBSD every time I log into one of our servers.


OpenBSD does a damn good job as a stand in for crazily priced network equipment. Being able to run redundant firewalls with fail-over firewall state, IPSEC state, and IP addresses all supported natively with awesome documentation is a killer feature. I haven't had to do so in 5-6 years though, so maybe others have caught up.


I like them both and go back and forth between them. Right now, i have NetBSD installed and I am playing with Veriexec.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: