I might have worded it weirdly, sorry. I didn't mean that the *BSD support never moved past 2004, more like it is as comprehensive as the Linux kernel was around 2004. Back then you carefully had to pick your hardware to have a computer that actually will be able to run Linux, as Linux only supported pretty select and mostly older hardware. (especially everything with blobs like wlan was a bitch if not just downright impossible) Something that isn't really a problem with Linux in recent years, at least for mainstream hardware.
Good to hear that FreeBSD's kernel can keep up more these days though. I actually toyed around with it here and there over the years, but only for very short times. I always felt the ports system was inferior to Gentoo's portage, but that was also before the latter became incredibly bloated in weird places. I did admire the tooling though, especially the basic core stuff. It was all clean, lightweight, adhering to unix philosophy and well documented. GNU's util-linux and coreutils is an absolute mess in comparison, from documentation to unreadable source code to actual toolchain required to build it. (and it just seems to get worse each release) I think what comes close to the same cleanliness and low amount of dependencies these days in that area is busybox and I'm not surprised at all some distros use it exclusively instead, even though it's originally more intended for embedded platforms with very low resources. (although even the lowliest of ARM SoCs often have hundreds of MB RAM and more than one core these days) I also actually used to use tcsh for a while in linux and admired the less nonsensical scripting syntax, but found it didn't integrate well with the environment, so to speak.
I googled around a bit and FreeBSD might actually support my notebook just fine, so I might give it a shot again. I always found you're never going to seriously use something new if you don't just jump into cold water and install it on a system you actually intend to use.
I used to groan about how slow FreeBSD is when it comes down to supporting new hardware and features,
but there is a blessing to be had: when FreeBSD adds support for a network card, a CPU, a GPU, or God knows whatever else, it actually fucking
works without much need for hackish solutions to get yourself off the ground. I've often found that Linux tends to muddy up system configurations for new hardware with "quick and dirty" fixes to get certain types of hardware up and running. I've experienced this
many times back in 2012-2013 when I was using shit netbooks and old ass computer towers that had Ralink or Broadcom wireless cards (i.e. I'd have to still set up a file in /etc/modprobe.d/ to get Ubuntu to recognise my wireless card). FreeBSD on the other hand actually recognised my wireless cards without issue or any need to create additional configuration files.
Also, maybe this is my ill-informed Linux nerd talking here, but I absolutely adore the fact that FreeBSD's sound system actually y'know...
works without any real fuss? I can't tell you how many times on Ubuntu, Debian, Mint, Arch, Fedora, or what have you where I had some weird ALSA bug or some issue with PulseAudio affecting my configuration (i.e. having to unmute my speakers via software despite explicitly creating a text file with the appropriate setup to keep that from happening). As far as package management is concerned, FreeBSD's binary packaging
used to be awful prior to 9.x, but they immediately fixed that in subsequent releases with pkgng. Having fiddled around with FreeBSD 12.x in VMWare fairly recently, I can safely say that pkgng's just as fast and robust as APT/pacman on Linux.
I can sperg about it forever, but just do yourself a favour and try messing around with it on real hardware to see how you like it. I'm 90% certain you'll enjoy the trip down memory lane while also being pleasantly surprised by what it has to offer you now.