I strongly favored Linux in the nineties because the elitism of the BSD world was infuriating back then. There were no device drivers for IDE CD-ROM drives because "real men" were supposed to use SCSI. There were no binary packages, yet ports were constantly broken. Sound support was non-existent by default. Not to mention the early BSDs were extremely buggy, let alone the train wreck that was 386BSD. Linux 0.9 was already more stable, performant, and usable. A true hacker paradize.
Then Linux started transitioning from a patchwork of loosely coupled replaceable components to integrated stacks in the mid-2000s, becoming ironically more and more of a corporate commodity rather than a playground for software freedom. You would need to define "the dark ages", as I understand casual users may prefer this trend, but for me, NetBSD is where the spirit remains. This is an entirely dependable, simple, hackable, grokable system and that's the way I want it to stay.
I installed Linux in fall 1994. I looked at Free/NetBSD but when I went on some of the Usenet BSD forums they basically insulted me saying that my brand new $3,500 PC wasn't good enough.
The main thing was this IDE interface that had a bug. Linux got a workaround within days or weeks.
The BSD people told me that I should buy a SCSI card, SCSI hard drive, SCSI CD-ROM. I was a sophomore in college and I saved every penny to spend $2K on that PC and my parents paid the rest. I didn't have any money for that.
The sound card as you mentioned was another issue.
I remember software based "WinModems" but Linux had drivers for some of these. Same for software based "Win Printers"
When I finally did graduate and had money for SCSI stuff I tried FreeBSD around 1998 and it just seemed like another Unix. I used Solaris, HP-UX, AIX, Ultrix, IRIX. FreeBSD was perfectly fine but it didn't do anything I needed that Linux didn't already do.
I don't know what years you are talking about, but in the early 00s I found audio in FreeBSD with OSS to just work (if you had supported hw), especially compared to the mess that was Alsa, and the ever bigger mess that was Pulseaudio.
It took years for audio in linux to become decent.
> the elitism of the BSD world was infuriating back then.
You do have a point there.
I found it very difficult to try to get FreeBSD up and running well even ~20 years ago, and yes, up to around the Ubuntu era, the BSDs were just a bit too hardcore for me. Linux was hard enough, but one got the feeling that most of them were trying to help, trying to make stuff work and make it easier.
(All right, except Debian. There was a strong attitude of elitism in that community, too, and while traces are still there, Ubuntu has taken Debian more mainstream than any other derivative ever did. Stormix, Corel LinuxOS, Lindows, Libranet... all tried but none quite cut it. Ubuntu made Debian easy, and Debian has benefitted a lot from that, IMHO.)
> Then Linux started transitioning from a patchwork of loosely coupled replaceable components to integrated stacks in the mid-2000s
I cannot imagine a better sales pitch for Linux as an operating system for people who actually want to use a working, reliable, well integrated, featureful, coherently designed, modern operating system to actually get really cool things done as opposed to people that want to endlessly tinker with a giant pile of glued-together parts.
I had a phase when I wanted to use minimal Linux distros and cobble together the individual components of my system of myself, with only what I needed and nothing more and making sure I understood how everything fit together, but I quickly realized that that's just not the way to produce a system that's actually nice to use and useful.
> ironically more and more of a corporate commodity rather than a playground for software freedom
Having an actually integrated set of system components and software stacks may make the system less modular, and so less free in some sense, but I don't think it takes away software freedom in a way that really substantially matters. FLOSS software can be tightly integrated and remain free. Especially when there is still so much modularity, and the trade-off is a much better system, which is worth it in my opinion. Also, I don't see why integrated software stocks are inherently corporate, although it is true that Linux is getting a lot of corporate funding.
> This is an entirely dependable, simple, hackable, grokable system and that's the way I want it to stay.
This desire to be able to understand absolutely everything on your system seems kind of absurd to me.
It is the primitivism, the going to live in a log cabin in the woods completely off grid using 1800s technology, of the software world — both in that the impulse to give up the benefits of the division of labor and modern society and economies, the ability to have people specialize in understanding and building things that you don't have the time to specialize in or build yourself, is just patently absurd and essentially reactionary, born out of a fear of the unknown, and because even such people find themselves inevitably depending on things that they don't fully understand or didn't fully do themselves. I guarantee you that you wouldn't be able to understand the full intricacies of all of the components on your system, including the compilers and the entirety of the kernel and all of the drivers and everything else, and that's not to mention your processor architecture or whatever.
And if your argument is that you understand the high level components and how they fit together, that is precisely as true for a system with larger components. My point is that any system beyond Forth running on bare metal is probably beyond the ability of any single person to actually understand fully and if you are okay with a certain level of abstraction that I don't see the difference.
> This desire to be able to understand absolutely everything on your system seems kind of absurd to me.
There's a difference between having a desire to be able to do something and having a desire to actually do that something. I intensely want to be able to understand something, if I have the time, energy and motivation. The fact that it's possible is what matters, not whether or not I actually do it.
You're not making that distinction, it seems, but it's a very important one. Arguing for choosing complexity that removes that option because otherwise we're irrationally afraid of the unknown is really one heck of a take.
I can't understand every intricacy of my systems, but I know several NetBSD developers who have intimate understandings of literally every aspect of their computers. Because this is possible, and because people with this level of understanding exist, I trust what comes from the NetBSD project more than I trust anything from any of the Linux distros.
I'm not making the distinction because I was talking purely about the desire to be able to understand everything, not the desire to actually do so at all. So your attempt to split hairs is purely irrelevant to my point.
Even the desire to be able to is one I find absurd, and as I said fundamentally based on an irrational fear of the unknown — specifically the fear of having to rely on something that you may not be able to perfectly understand or control — and a prideful desire to not only control everything but not have to rely on the expertise of others. Moreover it is a mindset that is simply not practical in any other field of life, in modern society, and while it may once have been possible in the software industry, I don't think holding back software from the many benefits more complex and complete software can bring making it easier to use, handle more edge cases, solve problems more completely and from first principles, have more useful features, integrate better with other things, and so on just to preserve that state, th)at sort of atavistic design philosophy, is sensible either. It seems like a monomial pursuit of the optimization of one variable, namely a certain specific sense of reliability where edge cases and the fragility of the integrations between things and the lack of accounting for various use cases necessitating piling on more ad hoc tools, are not counted, at the expense of many other things.
> Arguing for choosing complexity that removes that option because otherwise we're irrationally afraid of the unknown is really one heck of a take.
It doesn't seem like a particularly crazy take to me at all. Perhaps in the software industry it is, because there has been such a cargo cult like obsession with the Unix Philosophy for a very long time, but I've always been a crank and have no desire to apologize for that, and it's a trade-off we make every day in other areas: choosing something that even if we wanted to we probably couldn't fully understand all of the intricacies of because it serves our needs better on a practical level is something every person in modern society does every day with a vast panoply of things, including software, because the division of labor and specialization and so on is actually a very important part of what makes the modern world with all of its advanced technology and convenience and so on possible.
> I can't understand every intricacy of my systems, but I know several NetBSD developers who have intimate understandings of literally every aspect of their computers.
I'm not so sure that's true, except on an abstract architectural level probably, in which case the second part of my argument above would come into play.
> Because this is possible, and because people with this level of understanding exist, I trust what comes from the NetBSD project more than I trust anything from any of the Linux distros.
> fundamentally based on an irrational fear of the unknown — specifically the fear of having to rely on something that you may not be able to perfectly understand or control — and a prideful desire to not only control everything but not have to rely on the expertise of others.
That's you. Please don't project your inabilities on everyone else.
> I'm not so sure that's true.
Interesting that you think it's OK to simply assert something based on absolutely no actual data, information or experience, in direct contradiction to what others personally know and experience. What a take!
You're making an argument that looks like this: things happen, and we're OK with them. Therefore, we should be OK with the same things happening with other aspects of life. Simply, no. I can accept that I know very little about how municipal water systems prevent contamination, growth of microbes, et cetera, but how ridiculous is it to suggest that because I simply accept that it's done reasonably well, I have to do that in other areas, too? Do I need to accept being as ignorant about the intricacies of something as everyone else, even when I'm an expert in that particular field? That's absolutely ridiculous.
> simply not practical in any other field of life
Bullshit. I can think of many, many examples where this is plainly not true. See my previous statement.
The fact that you think this complexity that defies understanding is required to handle problems that can't be handled more simply shows you have a shallow understanding of things. I genuinely don't know if you can't understand this, or simply choose not to, but I'll say that you giving up does not have any impact whatsoever on those of us who haven't. Needless to say, arguing for others to give up wanting to understand something that you seem to lack understanding of is, in basic terms, gatekeeping. You're no different from people who say to not self-host email because they can't self-host email (or for whom it's too much "work", or takes too much energy). Likewise, if you don't want to do something, that's really not an argument for telling other people to not want to do something. What kind of person does that?
Then Linux started transitioning from a patchwork of loosely coupled replaceable components to integrated stacks in the mid-2000s, becoming ironically more and more of a corporate commodity rather than a playground for software freedom. You would need to define "the dark ages", as I understand casual users may prefer this trend, but for me, NetBSD is where the spirit remains. This is an entirely dependable, simple, hackable, grokable system and that's the way I want it to stay.