[TUHS] Macs and future unix derivatives

Theodore Ts'o tytso at mit.edu
Tue Feb 9 15:29:58 AEST 2021


On Mon, Feb 08, 2021 at 10:58:08PM -0500, M Douglas McIlroy wrote:
> > Do they *really* want something which is just V7 Unix, with nothing else?
> > No TCP/IP, no hot-plug USB support?  No web browsing?
> 
> > Oh, you wanted more than that?  Feature bloat!  Feature bloat!
> > Feature bloat!   Shame!  Shame!   Shame!
> 
> % ls /usr/share/man/man2|wc
>     495     495    7230
> % ls /bin|wc
>    2809    2809   30468
> 
> How many of roughly 500 system calls (to say nothing of uncounted
> ioctl's) do you think are necessary for writing those few crucial
> capabilities that distinguish Linux from v7? There is
> undeniably bloat, but only a sliver of it contributes to the
> distinctive utility of today's systems.

Well, let's take a look at those system calls.  They fall into a
number of major categories:

*) BSD innovations
  *) BSD socket interfaces (so if you want TCP/IP... is it bloat?)
  *) BSD job control
  *) BSD effective id and its extensions
  *) BSD groups
*) New versions to maintain stable ABI's, e.g., (dup vs dup2 vs dup3,
   wait vs wait3 vs wait4 vs waitpid, stat vs stat64, lstat vs lstat64,
   chown vs chown32, etc.)
*) System V IPC support (is support for enterprise databases like
   Oracle "bloat"?)
*) Posix real-time extensions
*) Posix extended attributes
*) Windows file streams support (the original reason for the *at(2)
   system calls -- openat, linkat, renameat, and a dozen more)

Ok, that last I'd agree was *pure* bloat, and an amazingly bad idea.
But there are plenty of people who have bugged/begged me to add
windows file streams because they were *convinced* it was a critical
feature.  And I dare say bug-for-bugs Windows compatibility was worth
millions of $$$ of potential sales, which is why they agreed to add it
--- and why I kept on getting nagged to add that feature to ext4 (and
I pushed back where the Solaris developers caved, so there.  :-)

As for things like System V IPC support, that was only added to Linux
because it was worth $$$, because enterprise databases like DB2 and
Oracle demanded it.  Is that evidence of "cancer"?  You might not want
it, but that's a great example of "one person's bloat is another
person's critical feature".

Or consider the dozen plus BSD sockets interface, which if removed
would mean no TCP/IP support, and no graphical windowing systems.
Critical feature, or bloat?

But hey, if you only want V7 Unix, why are you complaining?  Just go
and use it, and give up on all of this cancerous new features.  And I
promise to get off of your lawn.  :-)

Cheers,

						- Ted


More information about the TUHS mailing list