Skip to content(if available)orjump to list(if available)

Origins of Common Unix Programs

Origins of Common Unix Programs

14 comments

·January 19, 2025

donatj

CUPS was acquired by Apple, they did not originate it

https://www.macrumors.com/2007/07/12/apple-acquired-cups/

SllX

You can find manuals for just about every edition of UNIX AT&T released (and some they didn’t) somewhere online, but a good place to start would be here: http://doc.cat-v.org/unix/v0/

That’s a manual that predates even Edition 1 UNIX.

kaycebasques

The Dream Machine [1] gave me a deeper appreciation for how timesharing influenced Unix. Of course I've heard that idea before but never really thought much about the details. Commands like `who` which are frankly kinda useless for me are a lot more interesting and useful back in a timesharing context. E.g. `who` lets you see who else is currently logged on to the timeshared computer, and then you could use another program (I forget the name... `mail`?) to basically DM that person.

[1] This book was a slog for me. I know a lot of people here love it but it was like 2 months of tedium for me.

layer8

You might mean Talk: https://en.wikipedia.org/wiki/Talk_(software)

We used Unix machines in that multi-user way in the 1990s at university. The benefits were similar to the Cloud today: You could log on from everywhere and have your familiar environment and data there. Thanks to NFS, your files could be the same between different machines.

aldto

"write" was used to DM a person. And "mesg" was used to enable/disable messages from being displayed if you didn't want to be disturbed. I used this a lot earlier in my career. Later came "talk" which gave a fancy split screen chat session.

Phrodo_00

> CUPS > Apple

CUPS is currently owned by apple, but they only bought it in 2007. It actually originated as an independent project by a company calles Easy Software Products.

lloeki

And clang has no listed origin but its origin is Apple (although LLVM predates clang)

ajross

Too coarse. There was a huge sea change in 1979 with the release of v7. Before that, Unix was recognizably "Unix" but only barely. Process and kernel management was largely in place, you had a shell (not that shell) to compose commands with pipes (but not with the syntax we know today). The C compiler was cc and worked mostly like it does now. The Standard Editor was ed, recognizable now only because it lent its name to the "stream" variant sed, which was present already.

But then v7 shipped, and all of a sudden it was Unix! The bourne shell syntax is almost unchanged today (though the interactive features wouldn't arrive until ksh and bash cloned them from csh), and it was so powerful that "shell scripts" using the same language remain a productive environment in the next century. And if that wasn't enough, you could apply "awk" to problems that fit better into the newly en vogue world of regex processing. You could now build your software with this brilliant new tool called "make" that tracked dependencies automatically. And when it was time to share it, you could make "tape archives" with "tar" in a format that is still in use today.

Where v6 is like reading Chaucer (you can tell it's the same language, but only read it with difficulty), v7 is Shakespeare (merely crufty and old).

Though, to be fair, the standard editor in v7 was still ed. We had to wait a year or two for the Berkeley kids to save us with ex/vi.

guerrilla

I feel like this needs a different format, but I'm not sure what. At the very least, I need to be able to sort by "Origin" but I think a tree view might be even better, keyed on origin... or some kind of branching structure anyway.

amelius

Also, every entry in that table should be a Wikipedia link, at least.

flkiwi

I found myself muttering as I scrolled along, "I am almost certain there is extensive documentation of the source of each of these in obvious locations, probably wikipedia." This was more valuable as a list of utilities (etc.) than as documentation of their origins.

jasonpeacock

[citation needed]

kps

There are definitely errors.

BSD man pages tend to be good about attribution, e.g. https://man.freebsd.org/cgi/man.cgi?query=cat

    HISTORY
       A cat utility appeared in Version 1 AT&T UNIX.  Dennis Ritchie designed
       and wrote the first man page.  It appears to have been for cat.
Otherwise, you go to the TUHS wiki for earlier system man pages.

752963e64

[dead]