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--