On Wed, Jan 22, 2020 at 12:54 PM Paul Ruizendaal <pnr@planet.nl> wrote:
I can answer some of the below, as I was looking into that a few years ago.

> 81. Q:  What was the first Unix network?
> A: spider
> You thought it was Datakit, didn't you? But Sandy Fraser had an earlier
> project.
>
> When did Alexander G Fraser's spider cell network happen? For that matter,
> when did Datakit happen? I can't find references to either start date on
> line (nor anything on spider except for references to it in Dr Fraser's
> bio). I can find references to Datakit in 1978 or so.

Spider was designed between 1969 and 1974 - the final lab report (#23) dates from December 1974. It was based around a serial loop running at T1 signalling speed (~1.5Mhz). Here is a video recorded by Dr. Fraser about it: https://www.youtube.com/watch?v=ojRtJ1U6Qzw (first half is about Spider, second half about Datakit).

Cool! I'll have to watch that.

It connected to its hosts via a (discrete TTL-based) microcontroller or “TIU” and seems to have been connected almost immediately to Unix systems: the oldest driver I have been able to locate is in the V4 tree (https://minnie.tuhs.org/cgi-bin/utree.pl?file=V4/nsys/dmr/tdir/tiu.c). It used a DMA-based parallel interface into the PDP11. As such, it seems to have been much faster than the typical Datakit connection later - but I know too little about Datakit to be sure.

Me too. I know even less about Spider. I've been looking for Bell Labs Computing Science Technical Report #23. It's referenced in the visit report below. So far, the closest I've come is https://www.computerhistory.org/collections/catalog/102773566 which says that CHM has it on paper. :/ From about 1990 or so, these reports are easy to find.
 
There is an interesting visit report from 1975 that discusses some of the stuff that was done with Spider here: https://stacks.stanford.edu/file/druid:rq704hx4375/rq704hx4375.pdf
Beyond those experiments I think Spider usage was limited to file serving (’nfs’ and ‘ufs’) and printing (’npr’). It would seem logical that it was used for remote login, but I have not found any traces of such usage. Same for email usage.

Oh that's very interesting. The earliest Network Unix was all about remote login and file transfer (not file servering). The earliest version were for telnet/ftp clients. Later versions have the servers in them.
 
>From what little I know, I think that Datakit became operational in a test network in 1979 and as a product in 1982.

OK.  That's good to know. Are there good references for this?
 
> I  thought the answer was "ARPANET" since we had a NCP on 4th edition Unix
> in late 1974 or early 1975 from the University of Illinois dating from that
> time (the code in TUHS appears to be based on V6 + a number of patches).

“Network Unix” (https://www.rfc-editor.org/rfc/rfc681.html) was written by Steve Holmgren, Gary Grossman and Steve Bunch in the last 3 months of 1974. To my best knowledge they used V5 and migrated to V6 as it came along. I think they were getting regular update tapes, and they implemented their system as a device driver (plus userland support) to be able to keep up with the steady flow of updates. Greg Chesson was also involved with this Arpanet Unix.

That makes sense. The version in our archive is very close to V6.
 
As far as I can tell, Arpanet Unix saw fairly wide deployment within the Arpanet research community, also as a front end processor for other systems.

My research matches that. Starting in about 1976 there was an explosion of host names with -unix in their name. There's a number of ARPANET census reports, or ARPANET resource reports that have lots of Unix systems. RFCs show the explosion from 1977 onward. Google has these reports that can be downloaded as a PDF, but are otherwise kinda hard to find :(.
 
A few years back I asked on this list why “Network Unix” was not more enthusiastically received by the core Unix development team and (conceptually) integrated into the main code base. I understood the replies as that (i) people were very satisfied with Spider; and (ii) being part of Bell they wanted a networking system that was more compatible with the Bell network, i.e. Datakit.

Yea. I never understood how Unix could be so leading edge in computing, yet so backward (at least so poor at picking winners) at networking. But this does make a certain amount of sense. We've also seen NIH in the children of Unix as well (Linux, NetBSD, FreeBSD, OpenBSD and MacOS have all had this issue, sometimes for good, sometimes for ill).
 
In my opinion both “Spider Unix” and “Arpanet Unix” threw a very long conceptual shadow. From Spider onwards, the Research systems viewed the network as a device (Spider), that could be multiplexed (V8 streams) or even mounted (Plan9). The Arpa lineage saw the network as a long distance bidirectional pipe, with the actual I/O device hidden from view; this view persists all the way to 4.2BSD and beyond.

Yes. It's difficult to match a connected socket to a network interface...  And sockets definitely take the view that it's not a device you are talking to at all, but a special kind of thing that you can do normal I/O to (and a few other special things too).
 
I often wonder if it was (is?) possible to come up with a design with the conceptual clarity of Plan9, but organised around the “network as a pipe” view instead.

We'll never know.

Warner