Is OpenBSD worth investing in?
From what I can tell, this is a pretty hot debate in the open-source world. I've spent the last ~5 years or so investing into learning UNIX systems, particularly Linux. I just came across an article expounding the glories of OpenBSD as a system, and it made some valid points. Generally though, I don't want to dive deeper than I have to into learning new platforms for the sake of it. I do want to arrive at the simplest possible configuration for a digital system, and that involves choosing the best possible foundation. It should be noted that I am looking for a system that is effective as a personal computer / internet browser as well as a general purpose server.
For users of OpenBSD - What's your usecase? why did you switch? What did you miss? What did you appreciate?
For users of Linux who have tried other kernels - what was your experience? Was it worth trying? Why did you switch back?
OpenBSD has an incredibly different feel and user-space to Linux, and to me feels more technical and less user-friendly. I’m sure there’s just a learning curve though.
That said its primary purpose is to be used for servers, network attached devices, embedded systems, anything facing the outside world in your network—it’s not intended to be a desktop operating system.
I found it incredibly robust and feature-packed, but there’s a big barrier to entry if you’re not already coming from a UNIX or *BSD background.
I ultimately stopped using it in favour of Linux for my purposes (running an ad-blocking DNS server on my network) as PiHole did the same thing with a lot less effort, but I felt it was way more secure against bad actors than the PiHole is.
Just my $0.02.
I'm curious, I've been wanting to get into home networking recently- are you running that server on a raspberry pi? Any resources where you or someone else could point me to would be great!
I’m running it on a Pi 3 Model B that I got used for like $50 a l’il while ago.
Generally if you can install Raspberry Pi OS (which Raspberry Pi themselves offer detailed instructions for), installing PiHole and getting it up is fairly simple.
I’ve complicated things by running it on a non-supported distribution (Debian Testing), but even then it isn’t super difficult to keep running.
It’s well worth the effort—an ad-free home is a happy home.
I really like BSDs. I especially like the idea of BSDs. I've tried FreeBSD and OpenBSD, and for a long while I ran a FreeNAS media/storage server (now called TrueNAS Core, I think). Around four years ago I was running Manjaro Linux on a Thinkpad for work and tried to switch to FreeBSD. To be honest, it went extremely poorly. The desktop experience was a bit frustrating, but I've come to accept that the desktop experience isn't really the primary focus of most BSDs.
Having said that, I really like BSDs as servers. Linux tends to be a bit "wild west" in comparison, and I've come to appreciate the more polished BSD projects out there. I switched away from FreeNAS years ago mostly because I wanted to use containers as opposed to jails. That was some time ago, though, and I believe container support has improved a bit since. I've been tempted to switch back.
I would argue it's worth messing around with on a server and maybe worth messing around with on a desktop or laptop (just be prepared for problems). I'm sure there are tons of people out there who disagree with me, but I've found the Linux desktop experience "just works" in comparison to the BSD desktop experience. That feels weird to say, but there it is. But again, some may disagree. If I recall, GhostBSD (if the project is still out there) tries to focus more on the desktop experience. So, YMMV.
Truly, the year of the linux desktop is upon us.
It seems like the consensus is that if I'm going to be running a desktop (and maybe running a simple server like an HTML page), then Linux is the way to go. If I'm running a dedicated server, especially one with multiple services or complex interactions, then BSD is a great option. Time to get a flash drive and start playing around!
OpenBSD is great. It’s very stable and is a great thing to run on a server.
It’s Unix, so if you know how to run Linux, it’s basically the same except with different utilities that may take different options. But at the same time it isn’t Linux. Drivers for Linux need to be ported to run on BSD, and that means binary blobs basically can’t be ported. With that in mind it isn’t great for personal systems where you need support for a wide range of hardware.
My favorite thing about OpenBSD specifically is that every six months they release a song to go alongside it:
https://www.openbsd.org/lyrics.html
Ironically that's one of the signs that Linux isn't Unix anymore, in both the kernel and in userspace, as GNU has long since eschewed Unix specs for applications.
Not that it matters all that much, the Unix OS with a large marketshare these days is macOS.
I recently setup OpenBSD on a spare M1 Mac Mini I have and am planning to migrate my website and some other hosted services over to it. So far I've found it to be pretty intuitive, and the documentation is excellent. Most things I want are already included in the base packages, and it's refreshing to know how secure it is. I feel a lot more confident with OpenBSD that things will "just work".
Can't really see much reason to use OpenBSD in that case. You could but it begs the question of why given that isn't really what it is supposed to be doing.
Linux fills that requirement admirably and probably doesn't require you to invest much or any time in making it do so.
I mean, I might just be privileged, but I'd almost prefer be told to piss off than be perpetually ignored. At least then I know to not bother waiting.
Snubbing is not neccessarily kinder.
The people I knew who ran BSD were all mostly professionals using it for backbone services in an ISP or something. A big part of the Linux community were really just a bunch of teenagers (myself included) trying to be cool because we hated Microsoft. I know lots of people also used Linux professionally, but a lot of the Linux trend in the early 2000s did revolve around a somewhat immature hate against Microsoft. Which showed in the forums. The BSDs would run old-school mailing lists whereas Linux users were mostly on various phpBB forums. I am sure that attributed a lot to how each community behaved.
Don't get me wrong, I'd prefer it be polite and mature. But a simple "This isn't the place to ask this question, try Google." is way better in my eyes.
Kind of like doing job interviews. I'd rather get a quick 'no' than indefinite silence.
I haven't touched OpenBSD since I ran a homeserver with it 15 years ago. Didn't do much in the mailing lists, but you are right about the man pages. Overall the documentation was brilliant. I remember OpenBSD as a very consistent system that didn't break if you just followed the manual. The upgrade process through every release was well documented and always worked. Linux always felt more messy even though you could do way more with it. Documentation and help online was all over the place and all the different distros did things slightly different, so your own system might not be 1:1 what was in the random tutorial you found. In that regard, the BSDs was usually trustworthy. But also very inaccessible if you wanted to do things not covered in the official documentation.
openBSD or freeBSD probably aren't the solutions there, then. It's not like you can't make it work, but the desktop environment and driver support is even more primitive than Linux's, which has gone a long way over the years. It's not going to be a simple solution for personal computer use, although it may be one for server use, even if documentation is harder to find.
If you're looking for a polished Unix desktop, then the premium choice there is macOS.
Open Source foundations are a core component of what I'm looking for, which puts macOS out of the running for me.
I think it's similar to switching from Windows to Linux: you'll constantly wonder where that button went, or what the equivalent of some command is, for some time. There's a lot of implicit learning going on, where you get used to a certain way of working and you didn't realise you've been practicing how to use a certain OS for more than a decade until a lot of things are changed around.
Besides that, from my experience it's a pretty complete and usable system, with the qualifier "pretty" for the smaller user base which means there are fewer ready-made bite-sized answers.
I really, really liked FreeBSD when I used it last on servers...but the tooling for Linux has gotten so good it's hard to justify jumping back to a BSD.
Systemd is so much smoother for system management and troubleshooting...I don't miss digging in /var/log. The container tooling is way nicer than jails, namely the Dockerfile. While ZFS is an utterly fantasic filesystem, at this point I prefer BTRFS's flexibility for home use.
Ultimately they suffer a bit from BSD licensing. The GPL works, and the driver support for Linux is proof of that. The BSD driver support has always been spottier because there was far less incentive to push back upstream, especially if you were making a closed product. Wireless support in particular is ages behind.
Jails has been around quite a lot longer than Docker, and as far as I am aware there is no problem running Docker on BSD.
Somewhat ironically Wi-Fi support is the reason why I tried out OpenBSD years ago. It got support for Ralink Wi-Fi cards before Linux did, though I can’t entirely recall why exactly that was.
Oh I know jails are ancient. They're great. But if I wanna spin up a quick app and discard it just as fast? Especially from a random project? Not many projects are providing BSD install steps, but many provide a Dockerfile now. Maybe something changed in the last 4ish years, but when I last tried the main option to run Docker on a BSD was to run a Linux VM, the way Windows and Mac essentially do. Docker is just a really nice frontend for cgroups, which is close to BSD jails, but not in any way that is directly portable.
And if I'm doing that....I might as well just install Linux on the bare metal and port the BSD stuff over I want.
I used OpenBSD as my daily driver on a ThinkPad X220 for around six months due to some issues I had with my previous daily driver, Debian. This was years ago now, so things may have changed and/or I may be misremembering some details.
OpenBSD was ok. The documentation (man pages) are outstanding. 11/10 points there. I admire the dedication to security and clean code, like the way they removed the Bluetooth functionality because it had ongoing issues and nobody wanted to maintain it.
The problem is that you have to make a lot of sacrifices to use it as a daily driver:
Due to these issues, I returned to Debian after six months, then later switched to Fedora where I've remained ever since.
I'd recommend OpenBSD for a server, but generally not as a daily driver unless your use case happens to fit in well with OpenBSD's limitations. It reminds me of what it used to be like to use Linux circa 2000, where the user experience was a lot less polished than it is today and fewer things worked properly.
I’m a daily user of OpenBSD (for decades, since about 1999) for its primary use case, which is firewalls. I think you would be crazy to use it for anything else, honestly. It’s just not very good at anything else compared to the alternatives.