UNIX is dead. Long live UNIX

Sun 12 November 2023

I remember once watching a video of presenter at a Linux conference boldly proclaim, "UNIX is dead."

As someone who worked on UNIX systems for over a decade, and who's played with UNIX variants off and on for three decades, that is a pretty incendiary statement.

With apologies to Sophocles, "you can kill a product, but you can't kill an idea."

So, UNIX as a product is dead. The corporate UNIX wars are (for better or worse) long over, and the very last commercial UNIX of any real interest to me (not counting commercial Linux distros) was classic Mac OS X.
For a while there, Mac OS X was the coolest UNIX for the desktop. Amazing graphics, friendly GUI, and solid UNIX-y internals. Modern MacOS... is not that. It is increasingly an invasive data-gathering platform that's trying way too hard to be iOS. Apple in the post-Jobs era has become little more than a techno fashion brand, more interested in bilking middle-class tweenagers of their income than building anything "Insanely Great."

So, what are we left with. Linux! Is Linux a UNIX? Well.... Yes and no? Is any extant operating system truly a UNIX? I guess that's going to depend on how you define UNIX. Here are some possible ways of looking at it, from the strictest to the most silly:

  • UNIX died the second AT&T stopped selling it.
  • UNIX died the second the Berkeley CSRG disbanded and last official BSD release shipped
  • The current BSD projects are the true scions of the UNIX royal family
  • Linux distros are a UNIX
  • Linux distros are the only credible replacement for UNIX
  • Android and ChromeOS are UNIX
  • Windows is UNIX
  • My cat runs UNIX

I think it is perhaps best to define UNIX along conceptual lines:

  • A command line-oriented and command line-preferring operating system
  • An operating system comprised of many stand-alone components that tend to do one thing or one type of thing very well, that receive data from STDIN, *argv[], or files, and provide output via STDOUT, STDERR, or files.
  • An operating system configured by plaintext files
  • An operating system with a very powerful command interpreter and scripting language based on or inspired by the POSIX shell
  • An operating system that leans heavily on shell scripts for maintenance and administration when a bespoke program written in a compiled language isn't needed, or would lack flexibility
  • An operating system that presents much of its devices, configuration, and internal specifications as files, such as those in /dev, /proc, /sys, and so on.

By this rubric, Windows fails outright, MacOS finds itself increasingly alienated, and Linux is at times an edge case.

Now let me be clear: I love Linux. As with anything else, I don't love everything about it all the time. As the Linux community is a very "big-tent" affair, you will find within it a wide spectrum of users, from agèd UNIX wizards to everyday programmers, from non-programmer power-users to casual OS users and clerical workers, to AAA gamers.

Linux tries to be all things to all people, and as anything else with very lofty goals, it sometimes fails beautifully.

So, is Linux a UNIX, and does it even matter?
I suppose that depends on where you fall along that spectrum.

To me, Linux loses a bit of its luster as its userspace becomes increasingly convoluted and geared to the GUI at the expense of having a sane, human-comprehensible structure.
I'm scarcely a UNIX wizard, and I definitely feel like a 30-year UNIX noob, but I find Linux' everything-and-the-kitchen-sink-and-by-the-way-lets-have-some-binary-configs-and-binary-log-files-because-bite-me-that's-why a little... jarring. ;)

OpenBSD on the other hand, while definitely not a perfect platform, and definitely not for everyone, has a sane structure to the way its organized. The man pages on average are generally very complete and incredibly helpful, the config files make sense and are easy to understand.

So, does UNIX really mean anything in our contemporary context?

I think UNIX-as-an-ideal is still compelling for some people, including myself. Or to use a more general term, operating-system-as-an-ideal. For those of the operating-system-as-enablement (unto programming, gaming, or whatnot), operating system ideological debates seem very pointless.

Note: This article has a Part II !

Category: Tech Tagged: BSD Computing Ethics FOSS (Free and Open Source Software) Linux Non-religious post Philosophy UNIX WritingMonth