A Journey from Linux to FreeBSD

71 pointsposted 11 hours ago
by BSDobelix

48 Comments

nils-m-holm

9 hours ago

I have used FreeBSD for work and play since version 1.1.5. Never had any trouble with it. Since more than 10 years I am also running it on notebook computers.

Back in the days a friend visited and we talked about fork bombs. I fetched a spare FreeBSD box and ran the infamous shell script on it. System performance went down to a crawl, but I was still able to log in on a different virtual console and shut the machine down. Many systems back then would not have recovered from that.

thowawatp302

8 hours ago

What won me over is how it treats an NFS share going away. Linux gets so weird you need to reboot but FreeBSD is usable to the point I can fix the issue.

Honestly it’s the same with out of memory issues too.

I just can think about my FreeBSD boxes less.

BSDobelix

8 hours ago

Yep, you can test this right now, do a "stress -c 320" (that's 10 times the number of cores I have), a linuxbox starts to stutter massively (sometimes even audio), with FreeBSD no stuttering at all, just a bit less responsive.

CodeCompost

6 hours ago

Ok but when I run it on my notebook, WiFi is slow, the laptop crashes when I connect it to a docking station, audio doesn't work and suspend and resume is broken. And this on a Linux certified machine.

serf

3 hours ago

'notebook computer' is so ambiguous as to be useless.

go find one of those 'notebook computer's that the dev team uses (probably a few-generations-old thinkpad or dell) and go see what the experience is like if you're unwilling or unable to put the work into getting your machine to run as you wish.

furthermore this isn't a solved issue for ANY OS on the fringe of the computer market. Go install the newest version of Windows on a Chuwi machine and see how many drivers are MIA and functionalities lost. Install Linux on an obscure VAIO or Toughbook and see what happens.

Regardless of the promises and hoped-for-wishes, EVERY os is hardware-centric, and they all have different orbits.

The BSDs just tend to make choices that give them one of the widest arrangement of choices in the 'will-it-run-on-this' category.

musicale

2 hours ago

> EVERY os is hardware-centric, and they all have different orbits

Kind of why I like macOS (works fine on any Mac, with about 7 years of support – though I wish it were 10, and x86 support may stop sooner) and Windows (runs on any x86 PC, games work without issue, years of updates and backward compatibility.)

But on a mainstream x86 laptop like a ThinkPad, I'd expect Ubuntu/Debian/etc. and FreeBSD to work well, for 10 years or more of updates. (And I'd expect most games to work on Linux with Proton.)

ghostpepper

7 hours ago

This is fascinating. I always assumed the susceptibility to fork bombs was an inevitable consequence of the Unix process model optimizing for speed of fork.

Do you know why/how BSD handles it better?

chungy

6 hours ago

I can't really speak to what FreeBSD is (or was?) doing special, but even on Linux these days with proper ulimits, fork bombs are pretty far from the disaster they once were.

jmclnx

10 hours ago

Love seeing all this FreeBSD press!

Maybe people will give it a try and hopefully Linux developers will once again start believing portability is a good thing :)

KnowtheRopes

9 hours ago

FreeBSD is a cool OS, especially as a work machine. Once, I almost joined a company where my first assignment was to install FreeBSD on my work computer. It worked really well, and I actually liked using xfce. What a time! I was young, the grass was green, and the skies were blue.

cruffle_duffle

7 hours ago

Typing “man $something” and getting actual good documentation rather than “use infodoc you uncultured swine” was always a bonus too.

Back when such things were my deal, the FreeBSD docs were a breath of fresh air. It was like the whole platform was designed intentionally rather than the pile of cobbled together components that most Linux distros felt like.

jmclnx

6 hours ago

>“use infodoc you uncultured swine”

Quote of the year. I see you hate info almost as much as I do.

IshKebab

4 hours ago

Ha yes let me just agree with you both that info is trash. It's the GNU way to make things unnecessarily difficult. If it was easy then any commoner could do it. By making things difficult they ensure that only the most dedicated acolytes can succeed, and everyone else is unworthy and pitiable.

musicale

2 hours ago

man should just handle info transparently.

0xcde4c3db

8 hours ago

Are the (non-Nvidia) GPU drivers still years behind mainline Linux? I might be misinterpreting the release scheme, but it seems like FreeBSD 14's drivers correspond to Linux 5.15 and FreeBSD 15's will correspond to at least Linux 6.1. Is that right? 5.15 should be new enough to have decent support for my GPU (which "worked" out of the box on Linux but didn't really stabilize until 5.12 or so).

ramon156

9 hours ago

As a fedora user, why would I consider FreeBSD? I don't know enough about the differences. All I know is that FreeBSD is currently behind on features and tool versions

binkHN

9 hours ago

I find the BSDs, in general, take a more holistic approach to the operating design and everything feels very cohesive. In contrast, Linux feels more like an assembly of parts to form a unit and everything feels far more disjointed. That said, I run Linux on my production workstation because it supports more modern stuff. However, OpenBSD is one of my favorite operating systems to put on the back end because of its very simple and consistent design, and, well, strong focus on security.

linguae

8 hours ago

Exactly. The reason why I'm a fan of the BSDs in general is because of the cohesion of the base system, not to mention the high quality of its documentation and source code. I tend to prefer cleaner, cohesive systems that seem "designed" (System 7 Unix, the BSDs, Plan 9, C, NeXT and early Mac OS X, Smalltalk, many functional programming languages like Scheme and Standard ML) to large, complex systems that seem "evolved" (Windows, Linux, C++, JavaScript, the Web in general). I also like the conservative, deliberate approach that the BSDs take when it comes to the inclusion of new features. I remember reading a FreeBSD guide about 20 years ago that said something to the effect of "BSD is what you get when Unix hackers make a Unix for a PC, while Linux is what you get when PC hackers make a Unix for a PC." The spirit of that quote is that the BSDs tend to adhere to the Unix philosophy and thus their feature additions are in line with the philosophy of the overall system. The consequence of this, though, is that the BSDs are slower to adopt new technologies compared to Linux, though there is, in my opinion, a tendency in the Linux ecosystem for new technologies to be pushed before they are 100% ready, and the Linux ecosystem, as you said, feels more like an assembly of parts, each with their own design philosophies, rather than a cohesive system. Linux is certainly good, but I personally find FreeBSD more pleasant.

With that said, I use FreeBSD for my home server and also inside VMs, but I find myself using Linux more. There are many situations where I often need to use Linux instead of FreeBSD due to either software compatibility reasons or lack of drivers.

ghostpepper

7 hours ago

I hear this claim about security repeated a lot but not everyone agrees[0]. Always interested in hearing perspectives from actual users though. What do you like about their focus on security?

[0] https://isopenbsdsecu.re/about/

binkHN

6 hours ago

There's a lot of defense in depth approaches in OpenBSD, and as someone who's been on the mailing list for quite some time, I get to see them in real time. https://isopenbsdsecu.re/mitigations/ does break them down fairly well, perhaps a bit pessimistically, but, if you take time to read through this, you can still see a lot of innovation coming from OpenBSD, and often before others.

ofalkaed

6 hours ago

The main benefit for me is that it provides a very stable user experience since it is not under the influence of the war between linux distros; you learn the system once and you might spend 5 minutes after a major update learning what is new and configuring. But much of that software in ports is developed for linux with no consideration for BSD so it can cause headaches since the maintainers of those ports can not possibly test every possible use case and generally port it for their own case. A big rub for me is the sound situation, I love OSS but not all programs support it so I still get stuck using Jack.

I almost made the switch to FreeBSD a few times but Slackware still offers fewer compromises for me with the same ridiculously stable user experience and I don't have to worry as much about drivers when computer shopping. I assume I will end up switching to FreeBSD when Patrick dies since Slackware will probably die with him so I keep an eye on it and play with it once every year or two.

hedora

5 hours ago

For my use cases (a stable environment for writing and running systems code locally, browsing the internet, reading pdfs, etc), desktop Linux peaked about ten years ago.

That was back before systemd/wayland, and back when deleting pulseaudio just made everything work better.

Also, minimal window managers like evilwm were more tenable, since the only useful thing that really used the notification area/dbus was wifi.

Anyway, being behind on the spiral of instability I’ve seen with recent Linux desktop environments seems like a feature, not a bug.

loeg

9 hours ago

No real reason to as an end user. Maybe better ZFS integration out of the box is appealing for a NAS or something like that. But the desktop user experience on FreeBSD is not great. Lots of regressions in things you might care about (wifi, kde/gnome, chrome web browser) relative to Linux.

pxc

7 hours ago

Seeing this kind of attitude in the Linux community saddens me. We should remember that Linux too has been small, and incomplete, and difficult— and it still is at least some of those things within the wider desktop world. So are a great many Linux distros, including fabulous ones that should not be overlooked.

I hope that the Linux community will long retain at least some echo of that exploratory spirit, and extend that to projects like FreeBSD.

IWeldMelons

9 hours ago

Did you actually use it for desktop? Yes it has some regressions and rough edges, but it has very nice release cycle for packages - quarterly (much like ubuntu but twice as fast), and separate schedule for the base system; the makes borking OS more difficult. Packages are fresh, security updates frequents, what not to like?

Hardware support is abysmal though.

loeg

8 hours ago

> Did you actually use it for desktop?

Yes.

IWeldMelons

8 hours ago

I personally use it frequently in a VM, and I find it nicer than Ubuntu as I get fresh packages, without risk of borking os itself, ass base and packages separate. Other than that, chrome/kde works about same.

hnlmorg

9 hours ago

What sort of regressions are there in KDE and Chrome?

loeg

8 hours ago

A variety of things don't work or break frequently. Google does not support Chrome on BSD at all and refuses to upstream any BSD support patches in chromium, so ports maintainers struggle to re-port new chromium releases to BSD (there is a giant stack of patches that keeps growing bigger). Updates lag upstream, often by a long time. Chrome's core security sandboxing features are broken on BSD (it just runs un-sandboxed!), which is kind of a major issue that no one talks about.

skydhash

8 hours ago

Is chrome a web requirement these days? I'd say use Firefox and be done with it.

loeg

7 hours ago

Lots of people seem to prefer Chrome to Firefox, possibly some for good reasons: https://www.oberlo.com/statistics/browser-market-share

Firefox may work better on FreeBSD, or not -- I don't have as much personal experience with it. (It's not like there are a huge number of BSD Firefox developers, either.)

timeon

6 hours ago

> possibly some for good reasons

Can you help me? I didn't find any in that article. Maybe I missed in the flood of term 'market share'.

timeon

6 hours ago

> you might care about (wifi, kde/gnome, chrome web browser)

It is 2024. I do not care about the browser functionality for ~15 years.

craftkiller

8 hours ago

> behind [..] tool versions

I run both Arch Linux and FreeBSD. It is not uncommon that FreeBSD's packages update faster than Arch Linux. Make sure you update your pkg config to use the latest packages instead of the quarterly packages it uses by default.

Also, I'd like to point out that FreeBSD has thousands of more packages than Fedora: https://repology.org/repositories/statistics/newest

> why would I consider FreeBSD

ZFS: Since FreeBSD isn't encumbered by the GPL, it has fully integrated ZFS which is a far better experience than on Linux. On FreeBSD ZFS always works, whereas on Linux ZFS is an out-of-tree module and your dkms builds breaks frequently when the kernel updates. Also, a lot of software on FreeBSD takes advantage of the features of ZFS, whereas on Linux most software doesn't use the features of either btrfs or ZFS.

PF: This firewall has a great config format. After using PF, Linux's iptables makes me want to walk into the ocean.

poudriere: A great and easy-to-use package builder. I use this to build both my OS and all my software with CPU optimizations for my specific processor (but FreeBSD has official package repositories, so you don't need to build your own if you don't want to.)

kqueue: FreeBSD uses the kqeueue syscall. Later Linux created their own syscall: epoll. But epoll is fundamentally broken: https://idea.popcount.org/2017-02-20-epoll-is-fundamentally-...

jails: more secure than Linux containers despite being invented 7 years earlier.

sysctl instead of /proc: On FreeBSD, when you're listing the running processes (for example, top, htop, or ps), it uses sysctl which gets an atomic snapshot of the running processes. On Linux, you have to crawl through the /proc filesystem which is MANY more syscalls and the contents of /proc are changing out from under you while you're crawling through it.

-----

That being said, Linux has some wins over FreeBSD:

systemd: As controversial as it is, I think systemd is nicer than FreeBSD's init system. systemd supports user services whereas the built-in FreeBSD service manager does not (3rd party ones do though). Systemd automatically captures stdout/stderr to a log whereas FreeBSD relies on each service invoking the daemon tool to redirect their stdout/stderr. FreeBSD still uses pidfiles for everything which is flawed.

documentation: FreeBSD has much better man pages than Linux, but the Arch Linux wiki is the champion, no contest.

wifi: FreeBSD's wifi support is definitely not great. There are efforts under way to make a shim that will allow FreeBSD to use the Linux wifi drivers (similar to what they did for graphics drivers) but where it stands today, the wifi support is not great. That being said, there is a package called "wifibox" that spins up a tiny Linux VM and has Linux drive your wifi card, bridging the connection back to FreeBSD.

------

Finally, this is a popular blog post on why someone would choose FreeBSD over Linux: <go see Vermaden's post at https://news.ycombinator.com/item?id=41820161 >

Edit: Vermaden himself has posted the link to his blog post at https://news.ycombinator.com/item?id=41820161 so I am removing the link.

homebrewer

8 hours ago

These days, iptables is often just a wrapper around nftables. Familiarize yourself with it if/when you have the time, you might actually like it. It uses a declarative approach similar to pf et al., and uses the same set of rules for ipv4 and ipv6.

https://wiki.archlinux.org/title/Nftables

TacticalCoder

9 hours ago

> As a fedora user, why would I consider FreeBSD?

The vid talks about how big Linux vendor, like Red Hat, betrayed the Linux community (their words, not mine).

If you're fine with the "microsoftization" of Linux, then you're all good and set with Fedora or Ubuntu.

For many users Linux is just "Windows but sucking a bit less than Windows".

But others do feel the betrayal they talk about in the vid. For me for example systemd and systemd's author now officially being on Microsoft' payroll is a very hard pill to swallow. Same for many non-portable things now targeting only the bastardized Linux ecosystem, instead of targeting all the Unixes still out there (including FreeBSD and OpenBSD).

Thankfully due to the unfathomably big number of Linux containers / virtual machines being spun on and off and the need for utmost speed of these, systemd ain't much of a thing in the Linux container world. And Linux is still the kernel and it's still possible to have both systemd-less containers and systemd-less distros. I'm not sure how long that'll last though seen how systemd is spreading its tentacles everywhere.

For people who love Microsoft INI files and who love the rube-goldberg monstrosity that Windows is, systemd Linux distros with snap and whatnots are just fine. To them Linux is just basically a Windows a tiny bit more secure and crashing a tiny bit less. And don't worry: Microsoft employees are hard at work making sure Linux gets shittier by the day, emulating the mistakes of the biggest turd of an OS ever made (that'd be Windows).

For others, thankfully the BSDs do still exists.

homebrewer

8 hours ago

You're unlikely to convert anyone with that kind of attitude and these massive exaggerations, which are obvious to anyone who knows their linuxen. Some BSD advocates are like sandpaper, unfortunately, which is not helping the OSes, which often get defined in terms of what they're not.

Rotundo

5 hours ago

Unlikely to convert anyone, but they are not wrong either.

I don't use BSD, but as a long time user of Linux (started with Yggdrasil) I can't help but think Linux is slowly but surely getting sabotaged. Systemd, Wayland, Pulseaudio, it is all needlessly complicated and introduces dependencies in other software that shouldn't be there.

Maybe I _should_ take a good look at the BSD's after all.

myaccountonhn

8 hours ago

There’s also Void, Alpine and Guix if you don’t want to use systemd.

What I personally really like about the BSDs are that they are very hackable with great documentation. The code base is much smaller and building your own kernel is very straightforward. I was able to even fix some of my own drivers and learnt a ton in the process.

carapace

8 hours ago

As a fedora user you probably shouldn't consider FreeBSD, it's more for servers than desktop systems. E.g. I run it on my laptop even though I can't adjust the brightness of the monitor.

For me being "behind on features and tool versions" actually means that there's much less going on so I'm more confident that everything works and works well together. From my POV Linux has developed a case of Winchester Mystery House syndrome.

craftkiller

8 hours ago

Have you tried the backlight[0] utility they added to the base system? None of the sysctls I've found have worked at adjusting my laptop's backlight but the backlight utility itself succeeds for me (on an AMD framework laptop).

[0] https://man.freebsd.org/cgi/man.cgi?backlight

carapace

6 hours ago

I haven't, thanks for the tip! :D

BSDobelix

8 hours ago

>All I know is that FreeBSD is currently behind on features and tool versions

Well, I don't want to be that guy, but you're wrong about that too ;)