dcrocker@TWG.COM (Dave Crocker) (11/17/88)
Sometime back, Bill Lewandowski asked tcp-ip and sun-spots about the origin of using per-cent (%) in mail addresses and whether he could use dollar sign ($) instead, due to some constraints. I don't know the address of sun-spots, so this is being sent just to tcp-ip. Bill tells me that he got many replies, none of which could elucidate the usage. To my knowledge, I introduced it into common use, so here is the history: At the University of Delaware, we began relaying mail, circa 1979, via The Rand Corp. They were attached to the Arpanet and UDel was not. RFC733, the addressing/format standard in effect at the time, allowed the use of multiple at-signs (@), which would permit specification of routes. This would have been just fine for our needs, except that we could not find a single mail server or user agent that could handle it. (The test was not exhaustive, but after five or ten, it didn't matter, since the addressing scheme had to be universally acceptable.) This required that the additional routing information be buried -- i.e., Arpanet hosts could be allowed to see only the next-hop host, in this case Rand. Any additional route information, usually only one more host, the destination, had to be invisible. I checked for the set of characters that were not special to mail systmes OR TO TERMINAL HANDLERS, ETC. The mail relay software we had developed (MMDF) had a telephone link protocol that went through un-modified, line-at-a-time terminal handlers -- e.g., you did not have to put Unix into raw -- so that I needed to avoid any operating system-specific special characters. Only two or three characters passed this test, with per-cent laying claim to some degree of being common-sense, since it also is used to mean "in care of", thereby already being established for one kind of mail processing. All of this was to be a short-term hack, waiting for addressing standards to add the ability to specify routing information. Domain names and the <@a.b.c, foo@d.e.f> syntax of RFCs 821/822, came a few years later. Unfortunately, it was too late. Some places have actually enacted new standards that specify semantics for per-cent, officially. Sigh. Besides adding complexity, the damn character is upper-case, in that you need to type shift. This slows down typing. Once again we learn that there is no such thing as throw-away code.. Dave