Also if I look at many of the "professional" unixes userland tools I'd choose GNU userland any day, because the userland tools are incredibly handicapped, e.g. name one Solaris (or even better hp ux) core userland tool that is better than it's GNU equivalent.
One thing that possibly comes to mind for me is macOS' launchd, which doesn't seem to give me the same headaches as systemd even though they're kind of the same thing (see also: windows services manager.)
Another is/was clang/llvm vs. gcc, but gcc seems to have improved since clang originally came out. And clang is readily available on linux distros.
BSD pioneered containers with jails (and zones on Solaris), but I have gotten used to (and perhaps come to appreciate) Linux's a-la-carte namespace/cgroups design. I don't really enjoy working with docker and kubernetes though.
One thing I like about FreeBSD is its documentation, which seemed (to me at least) to be reasonably clear, complete and well-organized.
I've liked NetBSD for a variety of reasons (somewhat coherent classic BSD organization, synchronized kernel and userland releases, great multiplatform support, support for classic systems and architectures, pkgsrc which works nicely across platforms and without root access, /usr/games, and just having a different kernel implementation) but I'm not sure I can point to individual utilities being better than their GNU alternatives.
XML definitions for service startup and inconsistent switches. Launchd is worse than systemd in those regards. I was quite happy to let go of my work iMac and do development on Linux.
YMMV - as I mentioned, I think launchd, systemd, and windows service manager are in a similar space; it could be I just encountered launchd first, so I'm more comfortable with it. Also the transition to systemd on Linux (e.g. rc files to upstart to systemd) felt more jarring than the macOS launchd transition.
That doesn't refute my statement that BSD pioneered containers with jails, as jails were widely used across multiple BSD versions (though they're oddly missing on macOS) before Linux's container architecture existed.
I had thought IBM did VMs rather than OS-level virtualization (wasn't Gene Amdahl the one who came up with the rules for classically virtualizable architectures?) but I'm not particularly familiar with IBM systems (though I have looked at the 360 instruction set, which has amazingly lasted for more than 50 years.)
Sadly the way things went, it isn't that much relevant nowadays.
Yes.
I wrote a history of this stuff in 2011:
https://www.theregister.com/Print/2011/07/18/brief_history_o...
FreeBSD jails first, then Solaris Zones, then Linux containers.
Linux VServer came first but is not really a normal container implementation, although it has similarities.
HP-UX 10.24 seems to be 1996:
http://www.bitsavers.org/pdf/hp/9000_hpux/HPUX_Versions.txt
I know next to nothing about it though.
> That doesn't refute my statement that BSD pioneered containers with jails
I'd say that was a fair call.
> I had thought IBM did VMs rather than OS-level virtualization
It does both.
AIX calls its containers WPARs:
https://www.ibm.com/docs/en/spectrum-lsf/10.1.0?topic=tips-o...
> (wasn't Gene Amdahl the one who came up with the rules for classically virtualizable architectures?)
No, Popek and Goldberg.
https://en.wikipedia.org/wiki/Popek_and_Goldberg_virtualizat...
FWIW I wrote a history of that, too:
https://www.theregister.com/Print/2011/07/14/brief_history_o...
On the GNU userland, something I hate it's the lack of integration. Emacs' calc shoudln't be calling Gnuplot, but GNU plotutils, at these should be enhanced to create 3D plots. Also, GNU Texinfo shoudln't be calling a full Texlive install to render math and PS/PDF files, but GNU Groff and geqn/gpic...
OFC
We mostly think that a variety of terrible technical decisions have been made and allowed to metastisize over the years, and that they are largely unfixable so long as Linux remains an operating system devoted primarily to ease of use, popularity, and packaged for non-professionals. A lot of this happened rather early on due to the influx of hobbyist programmers from the PC space, and so I think the GNU userland was mostly doomed from the beginning due to the qualifications (or lack thereof) of its programmers when important foundational design choices were made (they are better programmers and more professionally qualified these days, but they aren't about to roll back most of these foundational mistakes because it would collapse the whole thing like a tower of Jenga blocks).
Those goals actually align a lot with the GNU philosophies and so I support the Linux community fully in that way and for making free software available to as many as possible. But technically speaking, GNU userland is a pile of dog shit, and you've really got to rip it out and start from scratch like Chimera is doing as a bare minimum to actually make any kind of progress there.