I noticed this too. One of the main *BSD benefits people always tout is that it has "one true way" of doing things - yet having 3 different ways to do firewalling is somehow a great thing when we're talking about FreeBSD?
>They don't list anything technically better about bhyve. Why would I use this over xen or kvm?
Isn't it actually worse? There doesn't seem to be AMD support:
>Hosting Linux guests or FreeBSD guests with more than one vCPU requires VMX unrestricted mode support (UG)
Does AMD have UG or does this mean no AMD support for multi-processor guests?
With Meltdown and Spectre, doesn't this mean that VMs on linux AMD systems provide much better performance, and even better performance per dollar?
I dunno about the details but I've got a Debian VM with 6 vCPUs running on Bhyve, FreeBSD 11.3, on my Threadripper 1920X.
And even to avoid running headlong into this troll pit: Linux distros without systemd exist. It's dishonest to compare FreeBSD to Linux and then only focus on a subset of Linux distros.
Are any of them mature enough to depend on for serious work? I looked at moving back to Linux a few months ago, but all the non-systemd distributions seemed to be small projects and many of them looked to have schismed, collapsed, or both.
It's also unlike a number of 'systemd free' distros (many of which are essentially "Distro X, except without systemd") because its non-use of systemd is not out of some hate for systemd, but because the developers decided after using systemd (Void adopted systemd for a time really early on) that it conflicted with other goals of the project (like offering a musl libc flavour alongside a glibc flavour).
I wouldn't run any small distro in AWS.
Anyway the reasons I say that: These days I only run distros locally that I would run in production. I get intimately familiar with the intricacies of the distro that way and managing the servers comes natural to me because of that.
Some stuff runs great in Alpine. Other stuff is subtlety but catastrophically broken in Alpine (such as database servers/clients and others that depend highly on locale for determining encoding).
Mainly Python, some issues with Musl, but nothing too bad. Anyway, these days I tend to mainly use AntiX.
"Unix" hasn't referred to a specific operating system since the 1980s. FreeBSD and Linux are both Unix OSes: different flavors of it.
/me ducks
As far as I understand it we got the name Linux because Linus Torvalds was quite bad at naming things. :)
If I recall correctly, Linus originally wanted his OS to be called “Freenix” because he thought naming it after himself was a little vein.
This excludes a lot of non-free software, which is included in ports.
> Ok. Linux has iptables and now nftables/bpfilter. It's also got queuing, stateless and stateful features, protocol tracking, etc. CARP can be done in userland, or via other solutions like linux-ha/stonith. What are the reasons to choose FreeBSD here?
Documentation, in my experience.
> They haven't listed what's actually technically better about it than in systemd. (not subjectively)
From experience, documentation and bugs (mostly due to age, but still absolutely relevant). I have about a billion questions about why systemd is built the way it is but I suppose that's a matter of taste and who paid to build it.
> Jails as described in the article, have the same features as lxc.
Documentation as always with the linux/bsd comparison. In addition, LXC—in particular cgroups—is still quite young and unproven. The major benefit here is the docker interface enabling easier deploys and an image specification format, which freebsd still lacks.
Honestly, the documentation alone is enough to move me over to BSD—linux is basically the wild west, and you often discover undocumented behavior (is it a bug? is it intended? ask developer xxx on the mailing list.)
This depends completely on your choice of a distribution. There's nothing about package managers that makes a difference in this case.
For example Arch, especially with AUR will include all non-free software you want. Ubuntu offers them. Debian/RH have them one config edit away. Recently snap/flatpak also provide those to all distros - whether they're using free-only repos by default or not.
> In addition, LXC—in particular cgroups—is still quite young and unproven.
LXC was introduced over a decade ago. Cgroups even before that. Cgroups themselves are enabled per-session and per-service in pretty much every modern linux deployment for years now. There's less time between jails and cgroups than between cgroups and current day. Cgroups were added to linux in the same year as zfs was added to freebsd. (2007)
I'm not sure what you see as young or unproven about them.
With respect to cgroups versus lxc specifically, I don't think the approach is well suited for security reasons—the surface area for bugs and vulnerabilities is much larger than with the jails approach.
It would be great if someone wrote an article with technical details about it. I see this repeated very often, but if you actually go looking for details... it's hard to find any justification.
> Normally when you install software on a Unix operating system you find and download the software.
According to the title, this is about choosing FreeBSD over Linux, not over Unix. That means the normal way to install is "<package_manager> install <package_name>". For the end user this is just like ports without having to compile anything. Once you don't have the package or the port available, you end up in the same situation: download the source and compile (which is more likely to work on Linux OOTB simply due to popularity).
> Poudriere is a utility for creating and testing FreeBSD packages. It utilize the FreeBSD jail system to set up isolated compilation environments.
In Debian-like systems you can use pbuilder in the same way. Each package is built in the same clean choot. I suspect RH has something similar?
> bhyve
They don't list anything technically better about bhyve. Why would I use this over xen or kvm?
> FreeBSD has three different firewalls built into the base system: PF, IPFW, and IPFILTER, also known as IPF.
Ok. Linux has iptables and now nftables/bpfilter. It's also got queuing, stateless and stateful features, protocol tracking, etc. CARP can be done in userland, or via other solutions like linux-ha/stonith. What are the reasons to choose FreeBSD here? (also, mentioning 3 firewalls after being excited about well-designed system that just comes together rather than being glued together from third-party software just sounds weird)
> BSD init
They haven't listed what's actually technically better about it than in systemd. (not subjectively)
> Jails
Jails as described in the article, have the same features as lxc. Lxd provides zfs-as-a-backing-store option as well.
> FreeBSD has over five hundred system variables that can be read and set using the sysctl utility.
Ok. On my Fedora system "sysctl -a | wc -l" gives 2093.
> For example, on top of the geom_mirror module an encryption module can be added, such as geom_eli to provide a mirrored and encrypted volume.
So how is it better than lvm with its layers dm-raid and dm-crypt?
I get that people are excited about FreeBSD and I'd love to learn what are the technically better sides of it. But this article really doesn't list that many.