Perceived balance of Unix tradition, progressiveness and sane engineeering/community.
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.
Additionally, it’s not windows, not MacOS, and not Linux. It’s difficult to escape those in day-to-day computing, so my daily driver (thinkpad laptop) is slightly different on purpose, the idea being that, to a degree, everything I do is necessarily very “conscious”. What I mean is that nothing works automatically because I’m part of a vast majority. Where I run into friction, I try to take note and keep this in mind with the rest of my relationship with the world, whether it’s developing software, or making assumptions about the way people use computers.
I often cite Neil Young to describe my “ditch”[0] computing.
I also run NetBSD (mostly on servers, but occasionally PCs as well). I can relate to this. Difference is good; it helps challenge assumptions. Running different operating systems is good for the same reason as testing websites on different browsers is, or having things tested by disabled people for accessibility, or visiting foreign countries and learning about different cultures.
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.
This is another good point that I think can’t be overstated (running on big-endian or otherwise non-x86 arch). Support the unconventional and it supports you back. It’s a fun, positive feedback loop.
I love this approach and analogy. You're absolutely right: it's incredibly hard/impossible to _not_ make assumptions when you're part of the herd.
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. :-)
Can you go a bit more in detail why Net vs Free? I would LOVE to replace Linux (Fedora) with one of the BSD's. It's philosophy and everything basically suits me far more than anything else, but I need CUDA, I need Nvidia drivers, I like to play with ML, I need few more things like that which makes it a no go as far as I'm aware.
You probably have a herculean challenge ahead with the Nvidia / CUDA stuff. A couple years ago I got an R stack up and going on OpenBSD, and that took some deep dives to get all my packages working. It was rewarding and worked well, but it wasn’t something I’d do under deadline.
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.
Forgive me if you've already heard this a lot, but Slackware is often described as being a very "BSD-like" Linux and might be another way to get some of the philosophy you're seeking.
I've been using Slackware as my main desktop OS for a few years now (on my main personal and work laptops, plus my primary desktop; most of my other machines run OpenBSD, with the notable exceptions of one running Haiku and one currently running 9front). So far I've been overwhelmingly happy with it.
Indeed, Slackware, Void, or Arch. Or since the parent poster seems to be somewhat into scientific computing, NixOS could also be interesting. NixOS is like having virtualenvs for everything.
I'm in creative, but do a lot of graphics and video programming and research for fun and profit, as well as programming for the fun of it! One of these days I'm going to try Qubes OS and try playing with different OS' at the same time!
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/
[4] https://en.wikipedia.org/wiki/Rump_kernel
[5] https://news.ycombinator.com/item?id=6562611