- (Net)BSD is the new Linux
- OpenBSD: a new era for my VPS
- Down the rabbit hole
- Back to basics
- Conclusion
I don’t exactly know when it started. I always had this itch to learn more about the *BSD operating systems (at least one of the big three: FreeBSD, OpenBSD, and NetBSD), but it never actually materialized properly:
“Linux is basically the same thing, and it works just fine”
“I have been using Ubuntu and Debian derivatives for years, no need to change”
“Then something won’t work, and I will spend days trying to figure it out”
Things like that.
Then this happened:
I realize that some people really dislike AI, but this is an area where I’m willing to absolutely put my foot down as the top-level maintainer.
Linux is not one of those anti-AI projects, and if somebody has issues with that, they can do the open-source thing and fork it.
Or just walk away.
AI is a tool, just like other tools we use. And it’s clearly a useful one.
Typical, textbook Linus. It’s not the first time that he decided to put his foot down, and probably not the last. Still, openly allowing slop in the Linux kernel? That didn’t feel right. That felt definitely worse than GCC’s AI Policy which declines legally significant AI contributions (but allows them for test cases, go figure).
Over the past few months, I have been thinking a lot about AI, what it means for mankind in general, and the IT world in particular. And well, long story short, I came to the conclusion that the world would probably be better without it.
Needless to say, I didn’t feel comfortable using Linux anymore. And for the record, it does suck that I have to worry about the political implications of software, but I learnt from my fellow Mervfolk that sadly, there is no such thing as apolitical software: software, like everything else, has a political aspect to it, which must be taken into account.
I won’t lie: I work for a big multinational company which – like almost all multinational companies – ends up making questionable choices at times. But at least I felt that I could question what software and operating systems I use in my (very limited) free time: I recently purchased an EeePC that was manufactured in 2011, and I originally put AntiX Linux on it. Now, as far as Linux goes, that is probably the most anti-corporate, anti-fascist distros there is… but sadly, what’s the good of that if it is built on top of slopware?
(Net)BSD is the new Linux ⇈
I looked around, and I (re-)discovered that BSD-based operating systems (FreeBSD, NetBSD, and OpenBSD) are now one of the last true strongholds (at least operating system wise) of Free Software that is also taking an active stance against the rise of AI (NetBSD in particular).
So… well, long story short, I decided to install NetBSD on my old EeePC. I had used FreeBSD in the past (probably 20 years ago), but I felt it was more geared towards user-friendliness and Linux compatibility. I had never tried NetBSD or OpenBSD, so I decided to go for NetBSD for my EeePC.
The installation felt refreshingly low-tech (it’s fully text-baseed), and in less than half an hour I had a fully-functional NetBSD system running on my EeePC.
Of course it runs NetBSD – that’s one of the slogan of this popular BSD variant, and what made me choose it for my old 2011 hardware.
Of course it didn’t just work_™: WiFi didn’t, for example, and I had to dig up how to get wpa_supplicant to work and get me on the Internet. I knew about it from when I experimented with more bare-bones Linux distros in the ‘00s, so I got that working relatively quickly.
The one thing that struck me (in a good way) about NetBSD was how simple and bare-bones everything was: I had to manually edit the /etc/rc.conf file to configure services to run at startup, and I deliberately choose not to immediately switch to a graphical environment at boot: sometimes you just want to be productive with he command line, so I configured things so that I had to manually run startx if I wanted a graphical environment.
I also rediscovered the orderly pleasure of a very organized file system: an /etc directory for all configuration files, /usr for user-installed programs, /var for (mostly-)temporary system data, and so on. OK, they are on Linux as well, but on BSD this structure definitely felt more mandated and consistent, with the result that you would always know where to look for something.
For the first time in a good while, I felt I had full control over my operating system: I had the power to decide how it behaved, which window manager to use, and which application to use to browse the filesystem or the Internet: I was experiencing true personal compiting.
In the end, I chose JWM (Joe’s Window Manager) because it felt like a good compromise between an absolute bare-bones environment (like cwm) and fancier stuff like XFCE or Gnome: I had full control over what to put in my menus, and which widget to use to display battery usage, and which icon theme to go for. It turns out that I really love early ‘00s aesthetic (not surprising, being a Millennial myself), and the Tango icon set was enough for my needs.
In just a couple of days, I had a fully-functional, minimalist, utilitarian, NetBSD-powered desktop environment. And that only took a few hours of my precious free laptop time! And it was definitely time well-spent.
Back in the day, installing Slackware or Gentoo felt liberating. Now, I experienced exactly the same feeling installing NetBSD: in that way, I feel very much that BSD is the new Linux.
OpenBSD: a new era for my VPS ⇈
The other obvious Linux system I have been using for the last 10+ years was the Ubuntu LTS installed on my Digital Ocean VPS.
Ten years ago, Digital Ocean was the VPS provider to choose: it was (relatively) small, had wonderful documentation to get started, a good web UI to manage things like DNS and backups, they were cheap enough, and they were the hacker’s choice when it came to small VPSs.
Fast-forward to 2026, and the same company pivoted into becoming a mainstream cloud and AI provider. I always disliked The Cloud for my personal projects, nevermind AI! Still, I had been using the same droplet for over ten years, it was working well enough, and above all changing VPS would have meant spending a substantial amount of time migrating everything to a new host – not something I could have pulled it off now, with a full-time job, a wife, and two small children!
I tried not to log on too often from the now-redesigned, slopified, Digital Ocean home page, and carried on. Then… the final straw came when the same company I once trusted decided to pledge $3M to Omarchy, DHH’s latest questionable endeavor.
Quick recap: even though back in 2005 I admired David Heinemeier Hansson for creating Ruby on Rails, easily the most revolutionary web framework of the last thirthy years… it seems that he now suddenly turned fascist and expressed his own very questionable opinions on… ethnic cleansing in the UK. Like, for Heaven’s sake, you cannot trust anyone these days, can you?
So… with my newfound political awareness, I decided that this was enough for me, and just over a week ago signed up for a new VM at OpenBSD.Amsterdam.
I had heard literally only good things about this small, niche, opinionated, European hosting provider from my fellow Mervfolks, and I was itching to try it out, even though I had never used OpenBSD before. So one night, just after my little nine-month-old decided to wake me up at around 2am, I decided to impulsively sign up and request a 50GB disk, 2GB RAM machine for… huh… 81€/year! That was much cheaper than the 25€/month I was currently paying for Digital Ocean anyway.
When I woke up in the morning, I was surprised to find an email by this Misha guy in my personal inbox saying that I could just ssh into my new OpenBSD VM at a specific IP address. I was like oh f***! and I didn’t even pay for it yet!
So huh… well, I guess I did try to log on into the new machine using the SSH key I provided at sign up but… it didn’t work. Darn. That was embarrassing: I had this petulant voice in my head going I told you so, you can’t even manage to log in, nevermind migrating 18 domains, subdomains, and apps!
Well, there was no way around it: I just couldn’t log in with the key I provided, so I decided to reply to that automated response of that Misha guy providing the same public SSH key again, hoping to get some sort of assistance.
Sure enough, five minutes afterwards Misha emails me back saying that I originally had an extra space in the public key I provided, and that I could give it another try.
Well… what can I say? Surely a sleep-deprived father-of-two can make mistake and type the wrong key when copying and pasting from his phone in the middle of the night!
After the initial amazement derived from the fact that I had just received a mail from an actual, helpful human being, I managed to connect to the VM and started inspecting things: it seemed to be real!
Let’s recap a second: it’s 2026 and half the world is loosing their s***t (and money, and brains) for some sycophantic machines, and I get a mail from a real human being helping me, and giving me access to a real OpenBSD VM in Amsterdam, even if I didn’t even pay for it yet? That was pure insanity. But good insanity.
“Honey? Did they clone your card or are you really sending 80€ to some dude in Amsterdam?”
…That was my wife reacting to an alert on her phone (shared bank account… a blessing and a course!)
Well, I did pay that dude in Amsterdam. That turned out to be 81€ well-spent.
Down the rabbit hole ⇈
That was it: I had just paid for my new VPS for a year. My wife was happy as I told her this would have ultimately saved us money, and now I had no choice but… migrating all my stuff to OpenBSD Amsterdam.
Coming from a few days on NetBSD, OpenBSD felt like something slightly more polished and optimized for networking. I quickly learnt the joy (well, kinda) of having a lot of network stuff chrooted for improved security, but, after the initial shock, I managed to get the hang of it pretty quickly.
I made the deliberate choice not to replicate my former Linux VPS, except maybe for using Nginx instead of httpd (I have quite a lot of weird reverse-proxied stuff), and chose to stick to the official base system and packages as much as possible. The first thing I decided was to actually use vi for all the text editing. Yes, you read it right: that’s vi (actually nvi), not Vim, nit NeoVim: just the original editor from the 70s: no syntax highlighting, no visual mode, no huge .vimrc, and a backspace that works in the weirdest way (it turns out backspace in vi can only delete characters that you have typed yourself, not pre-existing characters) – but damn it felt nice: simple, but very powerful.
The next thing I tried was compiling some of my core ecosystem projects. Most of the stuff I use is built in Nim, and luckily, it runs just fine on OpenBSD: there’s even a package for Nim itself (although an older version)! I only had to make a few minimal changes to my code here and there, but everything worked smoothly. I then learnt to appreciate the simplicity of rcctl – it felt much simpler to manage than systemd for managing daemons.
After a few hours hacking away with this new operating system, I genuinely felt I could actually pull it off: I made a checklist of each app or web site to migrate (eighteen of them!), and started going through… Some of them, like my statically-generated sites, were straightforward enough, other things (like my NextCloud instance) were not, but in the end I managed fine: I was actually able to migrate everything, one vi-edited config file at a time, and most importantly I genuinely felt I was learning something new and useful in the process!
Back to basics ⇈
The two things that also scared me were 1) managing and migrating all the DNS configuration I had in Digital Ocean, and 2) managing my own backups. Digital Ocean spoiled me with their easy-to-use UI for these things, so I was a bit lost initially.
The DNS part turned out to be easy enough: Following @alderwick’s advice, I signed up for Hurricane Electric DNS, a free DNS provider, and slowly transcribed my entire DNS configuration, record by record. Soon I realized I could just change the DNS provider and point to the old DNS droplet, and then migrate a particular app or web site and change the DNS to point to the new VPS: zero downtime!
Backups took a little bit more of researching, but in the end I settled with Restic: it seems to be one of the easiest things to configure for this, and it works very well with the remote backup storage of 10GB that OpenBSD Amsterdam gives you with every VM.
Conclusion ⇈
For the first time in a good while, I feel like I am back in control: I understand how my system works, I can tweak it and tailor it to my needs.
After just over a week, I was able to turn off my Digital Ocean droplet and enjoy all my personal projects running from a human-friendly, European, VPS provider! And I am happy to report things are running much more smoothly, using less RAM and CPU.
I really hope that OpenBSD Amsterdam carries on their stellar work… I am extremely happy about my choice, and my only regret is that I didn’t do this sooner!