Why did Netflix choose BSD and not Linux?
Licensing is often a factor.
The reasons however will not be the same for everyone.
There are more similarities than differences between the two, however one difference IMO is that BSD has a level of "quality control", especially over the userland, that Linux does not. I find that my own sensibilities as a user align better with the relatively small number of people doing "quality control" and development for BSD projects than with the enormous number of people who work on Linux -- for me, the number of Linux contributors is too many to keep track of and I find it difficult to understand what all of their sensibilities are.
But Netflix chose it because of that: https://www.youtube.com/watch?v=KP_bKvXkoC4
Not that Linux (the kernel) is any worse, but userspace is developed separately and it's not as slick. We're also using openSuSE Leap, Debian and Ubuntu on the desktop. Probably going to ditch the last one in favour of Debian thanks to the snap ecosystem.
I think part of the reason is non-technical.
Some companies won’t use Linux in their hardware because of its license.
Similarly, some developers prefer working on BSD-licensed over working on GPL-licensed software. Some may also like working on systems with fewer developers, so that they can have greater impact on the direction of development.
Also, there are still new things being invented for BSDs (and Illumos) that aren't available in Linux. E.g. FreeBSD has Jails and Illumos has Zones which provide a complete solution for "containers" which are put together from different components in Linux which overall may not be as secure as Illumos Zones. Another one is the PF firewall. In OpenBSD they introduced security features like pledge and unveil.
Another thing is ZFS:
- on Linux there are legal problems with shipping it out of the box;
- it's far more popular on FreeBSD and Illumos than on Linux, so it wouldn't surprise me if there are bugs that will show up on Linux, but not on the other two.
Regarding the Illumos/FreeBSD "trifecta" of zones/jails, ZFS, and DTrace - I prefer LXC, I treat laptops/workstations like cattle and only run FreeBSD+ZFS where its needed, and I don't need DTrace.
Brendan Gregg can elaborate on these topics much better than I can, and his words probably carry more weight, given his involvement with Illumos: http://www.brendangregg.com/blog/2017-09-05/solaris-to-linux...
For me, I use it for things that I want to be simple or unencumbered from licensing. Any sort of storage server in my house gets FreeBSD almost automatically. OpenBSD, I keep around mainly as a learning experience - it's really a simple, well-documented operating system, and it works flawlessly on a number of different Thinkpads. There are also plenty of opportunities to participate in the development of the OS itself or its packages.
From my perspective: it's easy to modify FreeBSD and contribute to upstream, the "monorepo" thing with keeping libc and the basic utilities developed together with the kernel is nice (no stupid "glibc devs don't want to make new syscall wrappers" situations lol), the kernel is less complex than Linux, and has made different (better) technical decisions in many cases (kqueue got pretty much everything right around 2000 while it took epoll and friends years to not suck; ALSA is.. baffling while FreeBSD's sound system is good; Capsicum is the right model for app self-sandboxing; "udev populates /dev by symlinking stuff from /sys" is nuts; jails are really hard to screw up, unlike the overly flexible linux namespaces; …)
> BSDs descend from the original Berkeley Unix from the 70s
But they continue to be worked on. To wit, this announcement.
> the newer, Linux, line
Linux did not pop into existence. It traces its heritage too all the way back to Unix, which traces its way to MULTICS, which traces...
"The success of UNIX lies not so much in new inventions but rather in the full exploitation of a carefully selected set of fertile ideas..." --- Dennis Ritchie and Ken Thompson