Remember, you're comparing Linux and FreeBSD in 2022 but BSD lost to Linux much earlier, many years ago. Back when I was looking into them (long time ago, excuse me for not remembering the details), BSD felt more pleasant and coherent. But at the same time it had limitations on scalability, performance and compatibility with hardware and also with userland software. In every benchmark, especially on multi-core, multi-socket systems, Linux was ahead.
My theory at the time was this: GNOME won on developers' desktops, so most software was developed on Linux natively, with BSD compatibility (and performance) as an afterthought. IIRC Linus made a similar point on the mailing list that developers love servers that resemble their programming environments. TDLR: BSDs got stuck in CLI-only mode for too long.
The more common explanation was that Linux got a head start by a few years by being a clean-sheet implementation, while the BSD had to spend its early years purging itself off the AT&T copyrighted code, so it was untouchable from a commercial use perspective.
I remember why I chose linux in 1998 for my desktop, and would choose for my server.
Hardware compatibility. I could install Linux on my shabby work desktop, and it just worked. Actually it worked more stably than NT 4.
Binary distros. I could apt-get install stuff onto my box in minutes. I rarely had to build things from source.
Speed of change. Linux was acquiring features at a breakneck speed. Large companies started contributing. SMP, interesting networking stuff, better disk I/O, new filesystems, stuff like that. Hell, Windows emulation good enough to run StarCraft! It felt alive and cared for. It was apparent that many serious businesses want to bet big on Linux. Some say marketing; I say GPL and project guidance.
I also had a lovely server box with FreeBSD. It had select compatible hardware. It had really nice documentation. It ran Apache and Squid pretty well. I had to build the latter from source IIRC. I had to build a lot from source (slow in 1998). If that was not available as a buildable package, I often had to tweak header files to make it build. For many amenities which I took for granted on my linux box, I decided that it's too much hassle to make them built on BSD.
Features like SMP or journaling file systems were a bit late in FreeBSD. Maybe they were more solid, and achieved performance parity with Linux with time. Sadly, the industry largely made the choice.
I also find modern Linux a mess, and run a minimalist distro (Void) on my laptop. I could consider running BSD on a server, but most servers now have to run VMs and containers within them, most tooling just assumes Linux.
> I remember why I chose linux in 1998 for my desktop, and would choose for my server.
>
> Features like SMP or journaling file systems were a bit late in FreeBSD
Yep, it was timing for me - the Asus BP6 allowed dual Celerons but only Windows 2000 and Linux 2.6 supported SMP. I was using FreeBSD at the time, but had to move because of hardware support.
But I wouldn't say it was hardware support alone - I think GNU/Linux won because of the licensing - FreeBSD not having a viral license would have turned people off contributing only to have their code distributed closed source by companies... that's my take anyway.
We're far from the days of getting a free Redhat CD in a book, just popping it in a drive and restarting to have it start a Linux install. You're lucky now if you don't have to enable USB booting, register a hash/key, turn on a 3rd party cert or just turn turn off secure boot to get a USB drive to boot.
"With Linux, I just booted from a Linux boot floppy with my Linux install CD in the CD-ROM drive, and ran the installation. With BSD...it could not find the drive because I had an IDE CD-ROM and it only supported SCSI."
"It insisted on being given a disk upon which it could completely repartition. [...] Linux, on the other hand, was happy to come second after my existing DOS/Windows."
"By the time the BSD people realized they really should be supporting IDE CD-ROM and get along with prior DOS/Windows on the same disk, Linux was way ahead."
IDE was one of many hardware issues that just took too long to be solved. For a long time, BSDs didn't seriously try to support consumer-grade hardware - be it because of lack of manpower, conservative attitudes, or "commercial" choices. OpenBSD still doesn't support Bluetooth...
On the other side, the Linux community fought hard to get everything to work, creating positive loops: the more hardware it supported, the more people could get it to work on their hobby hardware, the more they'd become familiar with it and push for adoption at work.
Exactly, "commercial" choice. Any OS that wants to support consumer-grade hardware, in 2022, must provide Bluetooth; OpenBSD just doesn't care enough about the consumer market to do that.
I have to get an outlet for my masochism tendencies somehow, at least this doesn't leave scars - physical ones, that is.
I have to say though, my insistent trolling of the project on forums like these occasionally contributes to the push to progress - like the long-requested syspatch. I'm not sure what yours achieves.
Not sure what you could mean by “lost”, when BSD family operating systems are so widely adopted. I have more devices at home running such than I do Linux, not even counting Apple’s Mach hybrid. My internet traffic passes through more BSD-based than Linux-based devices as it crosses the globe, and my data resides on a variety of platforms that include both (and more besides).
These systems aren’t busy trumpeting their presence. Maybe the originators just don’t have fragile egos.
> My theory at the time was this: GNOME won on developers' desktops, so most software was developed on Linux natively, with BSD compatibility (and performance) as an afterthought.
when i tried FreeBSD a couple years ago i was actually surprised that gnome worked OOTB. i remember some of the settings were gated off (Bluetooth? can’t remember the specifics), but the base desktop worked exactly as before.
maybe different in the early days though: dunno, wasn’t there.
My theory at the time was this: GNOME won on developers' desktops, so most software was developed on Linux natively, with BSD compatibility (and performance) as an afterthought. IIRC Linus made a similar point on the mailing list that developers love servers that resemble their programming environments. TDLR: BSDs got stuck in CLI-only mode for too long.
The more common explanation was that Linux got a head start by a few years by being a clean-sheet implementation, while the BSD had to spend its early years purging itself off the AT&T copyrighted code, so it was untouchable from a commercial use perspective.