[TUHS] [OT?] 1993 'Sourceware' paper anniversary. What was right & any surprises?
davida at pobox.com
Thu Nov 10 11:28:49 AEST 2022
> On 10 Nov 2022, at 11:47, segaloco via TUHS <tuhs at tuhs.org> wrote:
> What I find incredibly interesting any time the concept of fragmentation comes up is how did several versions of UNIX with slightly differing interfaces create such a headache for UNIX vendors and users in the day, but now we've got a Linux/BSD landscape out there with still pretty significant differences between distributions and UNIX's progeny seem to be doing just fine.
> Were users looking for different things from their computers in the 90s vs today? Have folks just gotten more used to variability in computing environments and just accept it as part of the plan?
Two things, I think:
a) Today most identifiably Unix software is “sourceware”, and so the differences between Linuxes, *BSD, and macOS are fairly easily taken care of (eg. with autotools).
b) A lot of Unix software is now distributed (more or less) by the OS vendor. Packaging has hidden the portability problem from the end user.
> What comes to mind for me is the different init systems, desktop environments, networking tools, user management tools, and basically that anything that isn't lore in POSIX seems to be up in the air these days. However, you go back to when SVR4 derivatives were king, they all had the same init, the same useradd, the same /etc/passwd, the same ifconfig. Maybe some of the snazzier new features were pretty variable, but the most basic stuff like starting your system, creating a user, seeing if you were connected to a network, essential administrative functions, were relatively consistent.
> Nowadays I have to wonder if my init system is runlevel based or some systemd monstrosity. I have to question whether I can rely on useradd or some other tool being present or if I should forgo it all and just edit the /etc files directly. Heck, I couldn't say which but I seem to recall a distro I played around with in the past year where this actually didn't work, I had to research whatever arcane user management tools they shipped with that one because whatever they chose broke with convention so much. I have to pray it has ifconfig or else go look up the docs for iproute2 and iw because nobody can make up their mind on what to replace ifconfig with, just that it has to go and replacing it haphazardly and non-universally is better than fixing/modernizing it.
> Not looking to start some great debate over which of these components is ideal of course, just remarking at the fact that in the early 90s, if you were on a contemporary UNIX system, you'd probably have no trouble modifying system init, adding users, networks, etc., but today I sit down at an unknown Linux machine and I have no confidence that the particular flavor of system administration that I'm used to will be even remotely represented in the subset of tools that particular distro ships. Luckily, it's free, so perhaps that is what has made the difference, folks are more willing to deal with variability when they aren't paying for what should be a consistent experience, but regardless, the fragmentation in Linux world today feels like it is much more severe than UNIX was in the past, but that's also looking through a lens upon a time I certainly wasn't cognizant of this stuff in.
iOS and Android are the most popular end-user Unix systems. None of these concerns matter there — they’ve got two completely incompatible layered APIs that hide the fact they’re Unix from applications and users.
Even if you restrict the discussion to non-mobile systems, macOS and ChromeOS probably top the list for end-user systems. Again, none of these concerns matter. I mention this to make the point that “Unix” is not what it once was, both in technical terms, and in commercial success.
More information about the TUHS