Any love for FreeBSD? -- A short story from using to contributing

While I see a lot of love for Linux, it’s rare to see love for FreeBSD.

I was inspired to write about my experience with FreeBSD by vynncentgm post on their unintentional 14 year Linux challenge.

I started with FreeBSD back in 2004, tinkered but eventually went back to Linux. At the time it didn’t offer much in terms of satisfying my needs.

Much later on in life, I decided to build my very first FreeNAS server in 2011. From there, I grew my knowledge and eventually became a prolific forum poster in the FreeNAS forum, as well as spent a lot of time in the IRC channel (back when it was Freenode, now Libera.chat) … and still do! As my experience and knowledge with FreeNAS grew I started to branch back out to FreeBSD, now I’m more comfortable with my acquired skills.

In about 2017, I migrated my own NAS to FreeBSD. I documented my efforts and tried to replicate a number of FreeNAS features that I was accustomed to.

Then in 2019, I was encouraged to submit a talk for vBSDCon about my experience migrating from FreeNAS to FreeBSD, the obstacles I faced, what I tried to replicate. My talk was accepted and can be seen on YouTube.

Part of that talk I said something along the lines of “I miss the auto-snapshotting feature of the OS each time you perform an upgrade”. From that point on I was encouraged to implement this feature in FreeBSD and in late 2021, my changes were accepted into the FreeBSD base and is now available for use in FreeBSD 12.3 and eventually FreeBSD 13.1. While my submission was small, it has the potential to make a big impact. I earned my first Errata Notice on March 15th :sweat_smile:

So, do any of you have love for FreeBSD?

11 Likes

I’m personally very much against folks “wasting life” with FreeBSD, and against people basing their products like TrueNAS and pfSense on top of it.

I have friends who worked on it on and off in the past mostly to “scratch an itch” and fix bugs so they could use ZFS on their particular hardware. I’ve wasted a ton of time trying to get virtio networking working well on pfSense (never got to the bottom of it, it seems like people don’t care about FreeBSD VM guest networking performance)

With TrueNAS Scale one of my wishes may come true, and TrueNAS/FreeBSD may finally die.

Netgate can replace pfSense with a bunch of wiki pages and a skinned OpenWRT at any time.

There’s no reason for FreeBSD to exist and be a brain drain, and yet it keeps on going.

I am quite interested in BSD! I want to ask you for some help, if I might.

I looked at the official documentation for OpenBSD and it basically only describes installing the base system, also in an antiquated manner in my opinion with separate partitions for things like /var for example and so on. I have neither found any instructions how to install any BSD on a ZFS root nor any instructions like there are for Arch that explain which options I have and steps I need to take to install things like a proper desktop environment. For Arch there are pages that guide you through the installation, and then mention that it is time to install optional packages, then there is a page with things a user might like to install, like window managers, network utilities and things like that, and then there are links to pages to all of these that explain how to install and configure them.

On the other hand, as I indicated, I found only basic instructions how to install the BSD base systems, like they come from the disc but no explanations about any user space tools or which user space tools are even available or how to install and configure them.

Using a BSD distribution for a server is one thing, but to learn I would like to use it as a desktop. If you have any helpful resources in that regard I would gladly take a look at them!

2 Likes

FreeBSD’s installer takes care for that for you. There’s a guided installer which allows you to select disks, pool type, encryption, etc. As for OpenBSD, support does appear to be coming.

Have you discovered the handbook yet? It covers basic installation to setting up a desktop environment.

FreeBSD gives you the tools to what you want, but it won’t stop you from shooting yourself in the foot.

1 Like

When FreeBSD is used by Netflix, Juniper, Sony, Nintendo and others either in part or in full, it wont be going anywhere anytime soon.

7 Likes

FreeBSD hasn’t been infested with various linux-isms that basically make linux worse (oh hi there systemd), is usable in whatever you want and runs in a fraction of the resources of linux.

Now, as someone who used FreeBSD between 2003-2010 fairly significantly but has not tried it on the desktop for a long time:

  • how’s the video support these days? does 3d (e.g., vulkan) work with AMD cards via something like the open drivers from AMD?
  • is linux emulation usable for steam, so that i could say, run Linux steam + proton under FreeBSD’s linux emulation?

Because if it does i’m tempted to blow popOS away and give it another shot

2 Likes

As far as I know, both AMD and NVidia support has been improved. By how much, I can’t say since I don’t currently use it on the desktop.

The Linuxulator has come a long way. It’s now based on CentOS 7, but you can get Ubuntu 20.04 working. People have used this to get Steam working as well as getting Netflix to be watchable. Wildvine DRM never made it to FreeBSD sadly.

There’s a ton of companies using FreeBSD, paying people to work on the codebase for one technical reason or another.

If I were to paraphrase my BSD vs GPL licensing argument against advocating FreeBSD, in a dramatic way, it’d be: “Poor Sony, Juniper, and Netflix are suffering - we tech literate developers should do more to help them, and others”.

I realize there’s smaller companies out there shipping FreeBSD in their products, there’s also small and large companies shipping Linux in their products.


The other argument is a cathedral vs bazaar, … specifically if FreeBSD+Linux developers would get together behind a single kernel (ideally Linux, because there’s more folks with Linux expertise than FreeBSD and more effort put in), we could avoid duplicating some of the work, which would allow other work to progress faster.

This doesn’t mean we’d stop having the ability to evolve parallel implementations of things, and give up on some variety. For example, there’s nothing that says we need to pick a single ELF format for a kernel, or that we’d have to stick to a single filesystem, or a single firewall implementation, or a single compiler.

Absolutely. While I haven’t made any serious attempts to migrate to FreeBSD, the system itself seems really interesting. Only real application where I’ve used FreeBSD was the simple web server I set up few years ago, just out of pure curiosity. I even documented it here on this forum.

3 Likes

Whatever your reason, you’ve made clear in your comments your dislike for BSD. I don’t want this to devolve into an OS war. The aim of this thread was to find other people who are enthusiastic about the BSDs.

4 Likes

See this is a philosophical argument.

  1. You believe that all software should/must be open and “free” - you want GPL everywhere
  2. You believe that you’d rather have commercial software exist for the things that will never be done adequately by totally free non-profit software, but you want said software to incorporate the best code available - you’re a BSD license person

I used to be #1, now i’m #2. Based on the experience of waiting like 25 years for linux to not suck (since i started with Linux in 1995 its been about 6 steps forwards and 20 steps sideways).

I’ve come to the conclusion that i’d rather have good paid-software options that can take advantage of community developed libraries/packages/etc. as that will foster open-standards - in software that is actually polished and documented properly.

GPL is “our way or nothing”, BSD is “our way, or use our shit to do it your way with open protocols/standards and additional chrome”.

I’d love for Microsoft to rip off FreeBSD or OpenBSD some more for example so they actually have decent code in a commercially viable product. I’m willing to pay for non-shit software!

IMHO - without the BSD license, TCP/IP would never have gotten off the ground the way it did.

1 Like

It’s not as simple.

BSD licenses (2-3-4 clauses) are very liberal, … there’s a spectrum of various GPL/AGPL/LGPL, and then there’s various MIT and Apache etc etc… and what you can link and what can you distribute together limits (or not, depending on your starting point of view) what you can do, and what others can do with stuff you sell or give away… and I don’t think all software should go into the same bucket.

There’s plenty of people making a good living out of a combination of variously licensed/copyrighted software.

Also, software shouldn’t be a leaky abstraction for a service.


There’s a bunch of nice stuff about BSD I like and miss in Linux, beyond just some of the people, like Ctrl+T for SIGINFO comes to mind, and ABI emulation.

I been using BSD with Truenas and Pfsence for a few years now. I enjoy it and it seems to make since to me over Linux, I guess its just thy way its put together.
I love GhostBSD and how fast it runs on older hardware.
I just wish I could get a gui running under XCP-ng right.

Its exciting to see the Pi get better support.

I think anyone says we don’t need BSD in the world is being short sided. For that matter why do we need linux. Life is easier to be on windows. A monolithic computing system is not beneficial

1 Like

BSDs in general, sure. I would advice anyone trying to get into BSD to give all the BSDs a try. I would say my personal favorites are OpenBSD, because of its secure by design philosophy and DragonflyBSD, because of its innovations like HAMMER2 file system.

But I will not bash on FreeBSD for choosing to develop things for speed (its network stack is the fastest available and FreeBSD is probably still the best OS to choose for a NAS), or NetBSD for being portable. I may even get into NetBSD if things don’t go too well with my ARM SBC adventures.

1 Like

I run FreeBSD on my main desktop. I also use Linux and Windows on other machines or in VMs where appropriate for a given piece of software. FreeBSD is my favourite, but they’re all fine. Honestly, while the different OSes do have their strengths and weaknesses, I find that the total amount of bullshit you have to put up with is about the same between them. It’s just different bullshit. :slight_smile: So I think the preferences are mostly dictated by what kind bothers you the least.

But no, seriously, I do like FreeBSD a lot. I think more people should try it. Some of them would definitely stay.

And by the way, GPU passthrough will probably be available on FreeBSD in an official release relatively soon (it already works if you’re willing to apply some patches yourself - they’re still in review). In fact I’ll post back on this forum once it’s out, if I remember to do so. I figure that might catch the interest of some of the users on this forum… (I’m not the author of that functionality, I’m just one of the people testing it).

3 Likes

Debatable…
… but also, … last I heard virtio still sucks in FreeBSD (and has, for a decade). There’d be a lot more FreeBSD around if VM network performance was better and if you could just run it on consumer hardware at 1Gbps or 2Gbps without burning a modern 5Ghz core to shuffle packets between a VM and a host.

Does NFS on BSD allow specifying the fsid in /etc/exports these days, or is that still missing? Is it possible to fail-over NFS serving with CARP without clients having to unmount/remount the share?

Ohh? For more than just Linux /x served clients? Now that Is interesting…

Yes. Again, it’s still a work in progress at this point and there are bugs still being worked out but I think that fairly soon you’ll be able to run GPU accelerated windows VMs, if that’s what you’re after.

1 Like

I do, actually :smiley:

After using OPNsense/pfSense and FreeNAS/TrueNAS for the base of my Homelab, I decided I wanted to learn more about the OS running underneath. To my surprise, they weren’t using Debian Linux, like most of the things today seem to do. At the time, I was debating whether I wanted to use Debian, Ubuntu, CentOS (rip) or some other Linux Distro for my Homelab (mostly running a Plex and Nextcloud Server).

At first, I was septic about using FreeBSD, since it’s entire user base is just as big as one of the “medium sized” Linux Distros and most software projects treate FreeBSD like a second class citizen. The fact the most software runs about 10-20% slower compared to GNU/Linux didn’t help either. But when digging a little deeper and me noticing all the “internal conflicts” in Linux land (e.g. the endless discussions about systemd, Redhat, and Lennart Poettering, all the elitism/looking down at other Linux users for using X Distro and all the Microsoft hate), I decided that I didn’t want to be part of that.

Some reason why I’ve gone for FreeBSD in the end were it’s simplicity: everything is just a human readeable rc / shell script, the amazing ZFS integration (boot environments, ZFS on root by default), Jails, the separation of system and 3rd party packages (/bin or /sbin versus /usr/bin or /usr/bin), the dead simple network configuration and it’s documentation (man pages, handbook, etc).
What really helped me switching to BSD are all the books by Michael w. Lucas. The first book of his I’ve read was SSH Mastery. After finishing it I looked for other books he had written and discovered all the OpenBSD / FreeBSD / ZFS e.g. books. I can really recommend these, even if you are a Linux user.

But especially Jails amazed me, where a container is just a directory with the FreeBSD userland installed, and an entry in /etc/jail.conf. The possibility to just tar up an existing FreeBSD install, scp it to another FreeBSD Host and then extract the tarball and continue using that as a container without any modification just blew my mind.

Creating a LAG with LACP, creating a VLAN Interface on top of that, renaming it and giving it a static IPv4 and IPv6 address and setting gateways literally only takes 1-2 minutes and about 10 lines in /etc/rc.conf. I once did the same in Debian and CentOS, which was everything but fast and easy.

I also like the community which because it is a lot smaller, feels a lot more personal, instead being just “one of many”. I also like the “less casual” feel of the forums and mailing lists, where most people want you to write a properly formatted problem report when asking for help, instead of just writing “X does not work”. But I must also admit that I have a heart for small “underdog” projects, which aren’t “mainstream”. :wink:

One thing why I want to use BSD is the current mono culture that is the Internet, where Linux makes up over 90% of all systems. This is exactly the reason why companies like Verisign use Linux and FreeBSD for their global DNS infrastructure, so their network won’t implode if someone finds a critical vulnerability in either os.

Another reason is that I really love (Open)ZFS which FreeBSD now uses and develops together with Linux, Apple, illumos and even Microsoft people.
I have already lost all of my digital data twice, which could have easily been avoided if I had used backups and snapshots. I also lost many pictures on an old digital camera due to bitrot. ZFS protects my from all of this, which is likely the reason why I never lost a single file ever since. Another place where ZFS really shines on FreeBSD are boot environments. If there is a big update, freebsd-update(8) just takes a snapshot, creates a boot environment with bectl(8), and if something goes wrong, one can simply reboot and select the old BE and recover their system in seconds.

All in all, I really like to use, learn about and experiment with FreeBSD. It’s just a personal hobby at the moment, but all the experience I gathered still helped me with problems I encountered at work or with my Linux Desktops.
IMHO, there is a place for Free/Open/NetBSD in the world, together with Linux and all the other Unix like operating systems that exist. Because if you like it or not, things like iOS/MacOS, LibreSSL and OpenSSH for example would probably not exist without BSD. :slight_smile:

4 Likes

I personally use FreeBSD on a lot of devices for various purposes however I also do use Linux based distributions and Windows. All OSes and distributions have both strengths and weaknesses, realistically I don’t see any replacing another anytime soon and I think most have realized that by this point.

@risk
In all honesty, I don’t see what you’re trying to achieve by being rather toxic. You don’t really go into what bugs you’re talking about and regarding at least as far as FreeBSD 13.X (and newer) goes virtualization performance in general works very well using Microsoft Azure, Amazon AWS, Hyper-V and OCI.

Your futher rant shows that you don’t understand the distributions and underlying systems also pfSense and FreeNAS is not FreeBSD, they’re based on FreeBSD and that includes ideas and philosophy both ways. We respect your opinion however at least try to keep it at a civilized level.

1 Like