The base build system (build.sh)[0] which is essentially Makefiles is absolutely beautiful to work with, ditto for pkgsrc[1]. They’re “progressive” enough to include dtrace[2], work on neat security[3], and kernel models[4][5], but have eschewed modern Linux-isms like ip(1), systemd. Of BSD v Linux, my heart is definitely with the more traditional BSD. Of BSDs, I feel Net is capable enough, simpler than Free, but more feature full than Open. The other interesting BSD would be DragonFly - really interesting, but I’m happy enough w Net that I’m not going to swap it out, and don’t need more (different) systems in my life right now.
[0] https://www.netbsd.org/docs/guide/en/chap-build.html
[1] https://en.wikipedia.org/wiki/Pkgsrc
[2] https://en.wikipedia.org/wiki/DTrace
[3] http://www.netbsd.org/support/security/
I often cite Neil Young to describe my “ditch”[0] computing.
One of my NetBSD machines is an UltraSPARC box. I've heard both NetBSD and OpenBSD devs say it's one of their favourite platforms, because being a big-endian 64 bit machine, it helps discover many false assumptions made in low level code.
I'd like to think there can be enormous payoffs to this kind of careful thinking, but I suspect it pays out sporadically and sometimes not at all. Such is the fate of any outlier or pioneer.
Either way, traveling "in the ditch" means you get a lot of weird looks from people cruising by on the latest bandwagon. :-)
NVidia on the other hand seems like a far harder problem than needing to patch some C code here and there. NVidia make the drivers that they make. AMD has been more open source friendly these days, which is good if you want 3D graphics, but doesn’t solve the CUDA issue.