The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Eric Allman <tuhs@eric.allman.name>
To: tuhs@minnie.tuhs.org
Subject: Re: [TUHS] mh/hm, mmh
Date: Sun, 31 May 2020 11:56:07 -0700	[thread overview]
Message-ID: <7180f41c-39ea-4271-578e-184057d5a723@neophilic.com> (raw)
In-Reply-To: <bd93f90e-c613-3ebf-749e-3c4ed734d34c@mhorton.net>

Ah, time for some "Email at Berkeley" history....

First the back story.  In the beginning, /bin/mail was the mail system. 
All mail was local to one machine so the distinction between MUA, MTA,
and MSA (Mail Storage Agent) didn't exist.  At this point there were no
options, at least at Berkeley, although I suspect that Bruce was working
on MH by then.

If my memory serves, networking at Berkeley started with BerkNET.  Clem
got it right: Eric Schmidt wrote it, and it was designed to be cheap. 
The main purpose was that Berkeley was getting more Unix machines and
carrying tapes was problematic.  It was purely batch (no interactive
sessions; file copy and email only) and ran over 9600 baud TTY lines. 
Eric hacked /bin/mail to do the appropriate calls if it saw a colon in
the address, so the flow of a typical message would be keyboard →
/bin/mail → BerkNET → /bin/mail → /var/mail.

In about 1976 the INGRES project at Berkeley got an ARPAnet connection. 
6th Edition was current then, and we got the software from (iirc) UC San
Diego.  It was kind of a mess, but it did work.  It was a VDH (Very
Distant Host) interface running at 9600 baud.  But the mail system it
included, MSG I think, was a world unto itself, and definitely did not
use /bin/mail.  So now we had two universes: to send something to both
someone on BerkNET and someone on ARPAnet you had to type the message
into two different MUAs.  But at first this was good enough.  But not
for long.

The problem was that to use the ARPAnet you had to be logged into our
PDP-11/70.  Back then the cool kids had "glass TTYs" (i.e., adm3a).  But
BerkNET didn't have interactive connections, so you had to actually have
a TTY line into our machine.  Two problems arose: first, INGRES was in a
different building (Cory Hall) than the rest of the department (Evans
Hall).  But that's OK, there were already wires running between the two
buildings that were probably inspired by BerkNET.  Second, our PDP-11
had a single DH-11 multiport interface with 16 ports.  Only two of those
ports were available, and new DH-11s cost on the order of $15,000, money
which we did not have.

But no problem.  At this point there was already a "plug board" in the
mail room in Evans that had ports to the half dozen or so machines that
were by then on campus and lines to each office.  To connect you would
plug in a wire between the machine you wanted to use and your office. 
Protocol was that you remove the cross connect after use, but that was
widely ignored.  Ing70 ports were quite frequently being pulled out
while in use and no one was happy.  Unfortunately since I was kind of
managing that machine, I was the one who got yelled at.

Also in that period Berkeley got connected into UUCP.  UUCP had also
done a hack to /bin/mail, so it was becoming quite the big mess.  I made
the observation that I could hack /bin/mail to forward messages with an
"@" sign in the address to our ARPAnet-connected machine, but at that
point the code was becoming unwieldy.  Enter delivermail, which was
essentially what we now call an MTA.  It was still a hack, but it was
easier to deal with because it didn't have MUA and MSA functionality.  I
changed /bin/mail to call delivermail unless it got a "-d" (deliver)
flag, so now the sequence for local mail was /bin/mail → delivermail →
/bin/mail -d → /var/mail.  And most importantly, I hacked the ARPAnet
code to use delivermail as well, so now Ing70 could forward mail from
BerkNET to ARPAnet and back again.  The fights over our two plug board
ports mostly dissipated and my life got better.

I'm pretty sure that at this point Kurt Schoens was working on Mail.  He
read /var/mail (at that point it had been migrated to /var/spool/mail)
directly, so there was no hiding of the mailbox format, so he had MUA +
a half of an MSA.  He converted Mail to use delivermail for outgoing
mail.  I don't recall the details of how MH got hooked in, but it did
have a separate program for sending (called "send" I think) that would
have been fairly easy to hack.  It still had "inc" (incorporate) to
bring mail from the /var/mail one-file-per-mailbox format into the MH
one-file-per-message format, so the three functions were not completely
broken out, but it was really the closest to that ideal model available
at the time, so far as I know.

That's the gist of that story.  Sendmail is a completely different
story, driven by the onset of the Internet, and I won't make this
already long message even longer by going into it here.

By the way, I have a 9-track tape sent to me by Marshall Rose containing
the November 1983 version of MH that UCI did (based on the Rand system),
complete with original versions of the documentation.  If anyone has any
way of reading it I'm happy to pass it on.

eric

  reply	other threads:[~2020-05-31 19:38 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-28 12:34 [TUHS] fmt(1): history, POSIX, -t, -c markus schnalke
2020-05-28 13:08 ` Rob Pike
2020-05-28 13:30 ` Clem Cole
2020-05-28 13:47   ` Clem Cole
2020-05-28 16:08     ` Mary Ann Horton
2020-05-28 18:00       ` Clem Cole
2020-05-28 18:35         ` Richard Salz
2020-05-28 18:51           ` Clem Cole
2020-05-29  0:18   ` Greg 'groggy' Lehey
2020-05-29  5:10     ` Michael Stiller via TUHS
2020-05-29  5:19       ` Greg 'groggy' Lehey
2020-05-29 13:39       ` Clem Cole
2020-05-29 15:43         ` Warner Losh
2020-05-29 16:12           ` Clem Cole
2020-05-29 17:14         ` Mary Ann Horton
2020-05-28 13:46 ` Clem Cole
2020-05-31 13:01   ` [TUHS] mh/hm, mmh (was: fmt(1): history, POSIX, -t, -c) markus schnalke
2020-05-31 14:53     ` Clem Cole
2020-05-31 16:25       ` Richard Salz
2020-05-31 16:50         ` Larry McVoy
2020-05-31 17:09       ` Ralph Corderoy
2020-05-31 17:25         ` Jon Steinhart
2020-05-31 17:28       ` [TUHS] mh/hm, mmh Mary Ann Horton
2020-05-31 18:56         ` Eric Allman [this message]
2020-05-31 19:49           ` Clem Cole
2020-05-31 21:31           ` Mary Ann Horton
2020-06-01  6:32             ` Caipenghui
2020-06-01  7:14             ` markus schnalke
2020-05-31 12:35 ` [TUHS] fmt(1): history, POSIX, -t, -c markus schnalke

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7180f41c-39ea-4271-578e-184057d5a723@neophilic.com \
    --to=tuhs@eric.allman.name \
    --cc=tuhs@minnie.tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).