GoodBye BSD

Yes, after months of research and evaluation, I have decided I'm going back to linux. I have already stated why I don't feel like using FreeBSD. The userland is mostly the same as in Linux with only minor changes. The real difference is in the more server/sysadmin side of the OS. FreeBSD jails, bhyve, zfs, all the init system shenanigans...

I however only use the OS as a workstation, so I'm not affected by most of that stuff. It is therefor not worth the lack of software support to use FreeBSD.

Few weeks back, I have decited to give BSDs one more try, this time with OpenBSD. OpenBSD claims doing things differently. If there is some *nix different enough to sway me away from Linux, it would be OpenBSD.

Right now I'm writing this from a fresh install of Fedora 41, so you can probably guess how it went.

But why was OpenBSD not right for me?

Good question.

Just like I was told, OpenBSD is not afraid to do things differently. This did affect the userspace, but not in the way I wanted.

One of these situations was the lisp problem mentioned in my previous example. Another I could not solve was trying to set up raylib.

I have successfully managed to make ex:forth compile. Turns out my knowladge of CMake and greping ability was not very good. Anyways, now I wanted to continue tweaking it until gforth-tetris is playable. Now just run the source with it and... The bindings won't compile.

For some reason I could not get raylib in a state where I could create shared object linking it. I tried on linux, and it just worked.

I don't know if the problem was in OpenBSD, Raylib, whatever. I just know that solving it would take a lot of time I could be spending on making ex:forth work.

This is how it generally felt like using OpenBSD. I felt like I was constantly fighting with it, just to do things that 'just work' on Linux and FreeBSD.

I told myself that it might just be a skill issue and once I understand OpenBSD, Things would suddenly make sense and solutions would be obvious. Kinda like using Linux or Vim for the first time.

Except that I had no issues using Linux for the first time. Things just worked. You learn the basics of Vim in an afternoon and then learn as you go. No need to learn specific feature to accomplish something, only to extend the toolbox when you feel like it.

Part of Linux going so well was that for every problem I could face, someone has already asked on at least one forum. Sure, the OpenBSD way might be to read the manual. I might just be vary bad at it, but I could not find anything saying I should disable W^X in order to make sbcl executable do something else than point me to ulimit and crash. Or why was raylibs CMake not working as intended.

You might notice that I am just repeating the same two examples. This is because they were the the only ones to take me long enough to remember. My memory is very bad sometimes. One more thing I remember is vlime not working. I solved it by switching to nvlime, which I find slightly inferior, as I cannot convince it to close all it's windows.

Now back on Linux and vlime works like a charm.

I'm not saying that OpenBSD is a bad OS. I'm not even saying that it's a bad workstation. I'm just saying that it does not suit my needs, so I will not continue using it.

I might revisit it one day once I get bored, but it won't be any time soon.

Did I learn something?

Yea, that I like Linux.

Also that a lot of things in a OS do not matter to me, even tho it is very fun to pretend like they do. Systemd is one of those things. Sure, I don't feel like a lot of things it does are needed, but what? I have homed running right now, it seems like my user is not even managed by it, it just kinda exists in the void, waiting for commands. It does not affect my machine enough for me to notice. Firefox also has like at least a hundred processes, who cares anymore.

Sure it might be more relevant on a older, less powerful, machine, but I don't use that, so I don't care.

I also learned that gnu utils do a LOT of things outsite of the standard, so if you wan't to make some portable scripts, make sure to consult the BSD manual first.

I don't need a lot of things I used before like LSPs or a fancy shell. (I do use fish now tho, but I might look into zsh at some point)

BSD kitty does not support images in tmux, but it works on Linux.

Every *nix seems to have different lsblk(8) implementation. Not very important, but I have learned it...

And probably few more things I can't remember right now

Conclusion

Would I recommend you to try out BSDs? Yes, but only if you already know some linux and are the kind of person to procrastinate reading about obscure operating systems.

It is nice to see some alternatives, but, at least for workstation purposes, the changes are not that relevant. I could daily-drive them, but I prefer Linux.