KLH@MIT-AI 05/03/77 11:32:21 Re: Here's the "history" you wanted... To: clj at MIT-MC, (FILE [ksc;?item random]) at MIT-MC (You can trim this however you wish... it is always difficult to explain something like this in 25 words or less.) Mail on the ITS machines was originally set up as a purely local thing; one typed :MAIL FOO ^C and the message was added to the file COMMON;FOO MAIL. Reading mail was done simply by reading that file just like any other file; there was no ARPA network and mail was more like a message board used when someone wasn't at the lab at the moment. The ARPA network and FTP mail (and the TENEX SNDMSG program) had been around for some time before I started writing a new mail system in the summer of 1974. It wasn't entirely a matter of choice, as I was looking for some legitimate work to do at the lab and mail was the most interesting thing that they would pay for. (In general, because money is always a problem, you will find undergraduate students being paid (at cheapo student rates) for work that would net a professional twice the amount...) The mail system I designed had three basic components: a central, "demon" process responsible for all of the actual mail sending, a "sender" program which the user would talk to, and a "reader" program with which to read one's mail. The sender program is QMAIL; the reader program is RMAIL; and at the center of everything is COMSAT (so named by analogy with a communications satellite; it orbits the system independently, relaying messages from anywhere to anywhere else). This centralization makes it very easy to apply any form of processing to all mail; by giving a message to COMSAT in a single trivial operation, any program can send mail and take advantage of powerful facilities that would be too cumbersome to include in each program. Control and standardization are equally elegant. The first version of COMSAT wobbled aloft that fall (74) and since then, until I graduated in '76, it was steadily improved. QMAIL appeared a few months later as the first user interface to COMSAT - the Q distinguished it from the old :MAIL, which did not disappear until a year later when it was apparent that COMSAT had become reliable enough. (an important point as the program must run without human supervision, and keep running - when it stops, ALL mail stops as well, and just piles up waiting to be sent.) RMAIL was written by RMS (Richard Stallman) at about the same time that old-style mail went away, or a little before; fall 75 I think. It is actually written in the command language of the ITS text editor (called ITS TECO or EMACS or E) and thus provides excellent editing facilities for mail handling, as well as the inverse; people working in the editor can easily call on the RMAIL package to handle mail files or send messages. Until very recently, RMAIL when sending a message would merely invoke QMAIL, but now it will give them directly to COMSAT for sending. I'd like to point out that a good deal of the work I did on QMAIL and COMSAT (and RMS's on RMAIL) was not supported at all by anything other than the desire to produce a good program that did what people wanted it to. Although I am at SRI, I am still, for example, gradually adding this thing or that which was always in the plan (or asked for) but never implemented for lack of time. Dave Moon (MOON) is technically now maintaining COMSAT, but has even less time than I do.