Date : Thu, 28 Feb-1985 15:55:37 PST
From : Lauren Weinstein <vortex!lauren@rand-unix.ARPA>
Subject: UUCP
Since it is pretty widely known that I have my own versions of
UUCP that are unrelated to AT&T code, I thought I'd comment
on this general topic now to head off the direct mail that usually
gets sent to me after such queries.
---
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. I'll be releasing my MSDOS uucp/mail/netnews/
remote access package, including domain support, as a complete package.
For people who don't need all that stuff (and it is a LOT of stuff)
I'll be happy to discuss unbundling UUCP itself or other parts
of the package if people really want it.
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--