28 votes

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?

21 comments

  1. [3]
    Liquorist
    Link
    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...

    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.

    17 votes
    1. [2]
      zelderan
      Link Parent
      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 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!

      1 vote
      1. Liquorist
        Link Parent
        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),...

        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.

  2. [2]
    spinoza-the-jedi
    Link
    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...

    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.

    6 votes
    1. zenen
      Link Parent
      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...

      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!

      2 votes
  3. [2]
    Akir
    Link
    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...

    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

    6 votes
    1. stu2b50
      Link Parent
      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...

      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.

      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.

      5 votes
  4. devalexwhite
    Link
    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...

    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".

    5 votes
  5. Glissy
    Link
    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...

    I am looking for a system that is effective as a personal computer / internet browser as well as a general purpose server.

    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.

    5 votes
  6. [5]
    Comment deleted by author
    Link
    1. [3]
      vord
      Link Parent
      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.

      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.

      3 votes
      1. [3]
        Comment deleted by author
        Link Parent
        1. winther
          Link Parent
          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...

          I took it as the BSD community at the time being more mature in not slamming people.

          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.

          3 votes
        2. vord
          Link Parent
          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...

          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.

          1 vote
    2. winther
      Link Parent
      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...

      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.

      2 votes
  7. [2]
    stu2b50
    Link
    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...

    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.

    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.

    4 votes
    1. zenen
      Link Parent
      Open Source foundations are a core component of what I'm looking for, which puts macOS out of the running for me.

      Open Source foundations are a core component of what I'm looking for, which puts macOS out of the running for me.

      2 votes
  8. lucg
    Link
    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...

    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.

    3 votes
  9. [3]
    vord
    Link
    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...

    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.

    3 votes
    1. [2]
      Akir
      Link Parent
      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...

      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.

      2 votes
      1. vord
        Link Parent
        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...

        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.

        2 votes
  10. dave1234
    Link
    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 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:

    • All of the security features come at a performance cost. OpenBSD is fast enough, but it's not as fast as it could be.
    • There are missing features (often for security reasons), like the aforementioned Bluetooth functionality, and hyperthreading.
      • I recall that wi-fi connections had to be configured in a text file that only supported one connection profile at a time - so if I wanted to switch to a different wi-fi network, I had to use a terminal command.
    • The apps installed out-of-the box are reliable, but for anything else, crashes are not uncommon. The security mitigations would frequently crash non-compliant or buggy apps. I recall having issues with htop and the Xfce archive manager in particular.
    • General lack of software support. You'll be giving up on any Electron-based desktop apps like Discord and Spotify. Developers generally don't go out of their way to support OpenBSD anyway.
    • Lack of .NET support. I'm a software developer and frequently use C#. However, Microsoft doesn't support OpenBSD with either the .NET SDK or runtime.

    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.

    3 votes
  11. unkz
    Link
    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...

    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.

    1 vote