[net.unix] UUCP and me

lauren@rand-unix.ARPA (03/01/85)

I've warned people about this many times before but I'll do it again.
Those notes that were taken from my Usenix talk about UUCP are essentially
useless.  They are of no value.  There are two reasons for this.
The first is that I was pressured into giving that talk before I
really understood what was going on, and as such much of what I said
turned out to be incorrect or at the very least highly misleading
in light of my later experiences.  It was based on some of my very early
experiments way before I had written even a partially working
private UUCP implementation.  That was the last time I let somebody pressure
me into giving a talk before I felt I was really ready, believe me.

The other problem was that the person taking the notes on the talk
did so without any coordination with me, and mixed up my already 
inaccurate information in the process.  The end result was that 
completely useless article in that old ;login.

----

It is important to realize that UUCP isn't really a protocol, it
is an EFFECT.  It is a bunch of different programs that happen
to know how to speak to each other.  There is no "formal" protocol
in the sense that TCP/IP is a formally specified protocol.
One reason you don't see much about how the protocol works is that
since it is embodied in trade-secret source code, it would be
illicit to read the UUCP source code to figure out the protocol
(and then use or publish that information in non-Unix-licensed environments).

I developed my own knowledge and versions of UUCP completely from the
outside, without any reference to UUCP source code.  This turned out
to be a tremendously more difficult task than I had originally
anticipated.  It involved almost two years of experiments and
endless experimental versions that "sorta" worked or worked only
with some sites.  One of the problems was that I never had any
way to know what I DIDN'T yet know--until one day some new site
would call me and everything would stop working.  Then it was
back to the drawing board.

Over a long period of time, mainly by trial and error, I've gotten
to the point where my own versions of UUCP and related programs
(mail, netnews, rdmail, etc.) seem to be compatible with all known
Unix UUCP's.  I've even got 822 domain support built into my latest
versions.  But when people complain that it has taken me so long
to make these available (particularly the MSDOS version) I can
only point out that it all (from the communications level to the
problems of incompatible filenames and file formats) was a LOT
of work and that I had to do everything on my own time without
any outside support.

Once the various versions of UUCP have settled down again,
I'll try get back to writing up a "formal" protocol spec, which
would include communications info, file naming and handling,
timing constraints (this turns out to be much more critical
than one would think, especially on small machines) and all the
other stuff I've learned over the last couple of years.  Since
all of this knowledge was gained without looking at Unix UUCP source,
I'll be happy to share it once I can put it into a coherent 
framework and I finally have some spare time.

----

Frankly, if I had all of this work to do all over again, I probably 
wouldn't have started.  It was simply too much work and ate a substantial 
chunk out of my life.  What would I have done instead?  I'd have used an 
automated Kermit for everything.  Which is what I currently recommend to
people trying to get fancy file transfer programs going with new
machines.  I am big Kermit fan.

--Lauren--

P.S.  If you have any questions, please contact me directly.
      I'll be happy to help.  But these poor lists are already
      overflowing!  Let's try give them a break.

--LW--