Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: Uuencoding (AKA UUE) history?

28 views
Skip to first unread message

Ivan Shmakov

unread,
Mar 20, 2013, 2:01:44 PM3/20/13
to
>>>>> Richard Kettlewell <r...@greenend.org.uk> writes:
>>>>> Ivan Shmakov <onei...@gmail.com> writes:

[Cross-posting to news:comp.mail.uucp and dropping
news:comp.misc from Followup-To:, for obvious reasons.]

>> I wonder if someone could comment on the Uuencoding (UUE) origins
>> and history?

> The oldest uuencode.c I have is in 4.0BSD and is timestamped October
> 1980. The corresponding man page mentions 6/1/80 in the .TH field
> (which probably means June, going by other files in the same
> directory) and credits Mark Horton as the program's author.

ACK, thanks!

Strangely enough, there's one more [1] timestamped 1983, yet
claimed to belong to 2.9BSD. Any idea why it may be like that?

[1] http://minnie.tuhs.org/cgi-bin/utree.pl?file=2.9BSD/usr/src/cmd/uucp/uuencode.c

[...]

>> Also, is the documentation for the "historic" UUCP packages
>> (Version 7 Unix' one? HDB?) available somewhere on the Web? I guess
>> it could shed some light on the UUE origins. (As, as per the
>> Wikipedia article, UUE was designed to allow for binary transfer
>> over UUCP links.)

> You can find V7 at: http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7 -
> it includes UUCP but not AFAICS uuencode.

Indeed, I've checked that one not so long after posting.

--
FSF associate member #7257

Ivan Shmakov

unread,
Mar 20, 2013, 2:34:20 PM3/20/13
to
>>>>> Ivan Shmakov <onei...@gmail.com> writes:
>>>>> Richard Kettlewell <r...@greenend.org.uk> writes:

[...]

>> The oldest uuencode.c I have is in 4.0BSD and is timestamped October
>> 1980. The corresponding man page mentions 6/1/80 in the .TH field
>> (which probably means June, going by other files in the same
>> directory) and credits Mark Horton as the program's author.

> ACK, thanks!

> Strangely enough, there's one more [1] timestamped 1983, yet claimed
> to belong to 2.9BSD.

The diff, however, contains only a single insignificant change:

--- 4BSD/usr/src/cmd/uuencode.c
+++ 2.9BSD/usr/src/cmd/uucp/uuencode.c
@@ -1,4 +1,7 @@
-static char *sccsid = "@(#)uuencode.c 4.1 (Berkeley) 10/1/80";
+#ifndef lint
+static char sccsid[] = "@(#)uuencode.c 5.1 (Berkeley) 7/2/83";
+#endif
+
/*
* uuencode [input] output
*

But I still wonder if there're any earlier versions of this code
yet to be found.

> Any idea why it may be like that?

Well, nevermind, I've got it: 2.9BSD was an update for the 2BSD
line, which incorporated changes first made for the 4BSD line.

--cut: https://en.wikipedia.org/wiki/BSD --
Later releases of 2BSD contained ports of changes to the VAX-based
releases of BSD back to the PDP-11 architecture. 2.9BSD from 1983
included code from 4.1cBSD, and was the first release that was a
full OS (a modified Version 7 Unix) rather than a set of
applications and patches. [...]
--cut: https://en.wikipedia.org/wiki/BSD --

> [1] http://minnie.tuhs.org/cgi-bin/utree.pl?file=2.9BSD/usr/src/cmd/uucp/uuencode.c

[...]

Richard Kettlewell

unread,
Mar 21, 2013, 10:29:04 AM3/21/13
to
Ivan Shmakov <onei...@gmail.com> writes:
>>>>>> Richard Kettlewell <r...@greenend.org.uk> writes:
>>>>>> Ivan Shmakov <onei...@gmail.com> writes:
>
> [Cross-posting to news:comp.mail.uucp and dropping
> news:comp.misc from Followup-To:, for obvious reasons.]
>
> >> I wonder if someone could comment on the Uuencoding (UUE) origins
> >> and history?
>
> > The oldest uuencode.c I have is in 4.0BSD and is timestamped October
> > 1980. The corresponding man page mentions 6/1/80 in the .TH field
> > (which probably means June, going by other files in the same
> > directory) and credits Mark Horton as the program's author.
>
> ACK, thanks!
>
> Strangely enough, there's one more [1] timestamped 1983, yet
> claimed to belong to 2.9BSD. Any idea why it may be like that?

I was once confused by that. I think the answer turned out to be that
2.x and 4.x are separate lines of development rather than strict
ancestor/descendants. I don’t know the history well though.

--
http://www.greenend.org.uk/rjk/

Ivan Shmakov

unread,
Mar 21, 2013, 11:52:14 AM3/21/13
to
>>>>> John Levine <jo...@iecc.com> writes:

[Cross-posting to news:comp.mail.uucp and dropping
news:comp.misc from Followup-To:, for obvious reasons.]

>> Also, is the documentation for the "historic" UUCP packages (Version
>> 7 Unix' one? HDB?) available somewhere on the Web? I guess it could
>> shed some light on the UUE origins. (As, as per the Wikipedia
>> article, UUE was designed to allow for binary transfer over UUCP
>> links.)

> Actually, uucp could transfer arbitrary binary files just fine, and
> it was quite common to transfer compressed tarballs of news or mail.

Well, it wasn't all that long ago that I ran a couple of UUCP
links myself. And although virtually the only implementation
I'm familiar with is Taylor UUCP, I guess that they all indeed
allowed for binary transfer.

> What uuencode let you do was to send a binary file disguised as a
> mail message, which let you send it via multi-hop uucp routes to
> people on hosts to which you didn't have a direct connection.

Which matches the use of Base64 and quoted-printable encodings
to work-around the non-guaranteed 8-bit-cleanness of SMTP links.

As it seems, there's indeed some confusion between "UUCP" and
"UUCP-based mail service," much like the one between, say,
"Base64" (or "quoted-printable") and "MIME," or, occasionally,
between "Internet" and "World Wide Web..."

> My recollection is that it showed up pretty soon after we started
> using uucp, which would have been in about 1979.

ACK, thanks!

Also in line with that is that, as Richard Kettlewell has just
pointed out, 4BSD had uuencode.c [1], timestamped "October,
1980." (And unless there be objections, I'm going to add a
pointer to it on the Wikipedia article.)

I still wonder if there's some sort of changelog back from these
days to state "BSD version X.Y. Added uuencode." Or something
like that.

[1] http://minnie.tuhs.org/cgi-bin/utree.pl?file=4BSD/usr/src/cmd/uuencode.c

John Levine

unread,
Mar 21, 2013, 1:02:18 PM3/21/13
to
>I was once confused by that. I think the answer turned out to be that
>2.x and 4.x are separate lines of development rather than strict
>ancestor/descendants. I don’t know the history well though.

2.x was for the PDP-11, 4.x was for the Vax and eventually other 32
bit machines. The 2.x and 4.x version numbers had nothing to do with
each other.

--
Regards,
John Levine, jo...@iecc.com, Primary Perpetrator of "The Internet for Dummies",
Please consider the environment before reading this e-mail. http://jl.ly

Shmuel Metz

unread,
Mar 22, 2013, 9:24:56 AM3/22/13
to
In <871ub8u...@araminta.anjou.terraraq.org.uk>, on 03/21/2013
at 02:29 PM, Richard Kettlewell <r...@greenend.org.uk> said:

>I was once confused by that. I think the answer turned out to be
>that 2.x and 4.x are separate lines of development rather than
>strict ancestor/descendants.

My recollection is that 2bsd is DEC PDP-11 and 4bsd is DEC VAX-11;
different lines, although the VAX does have similar instructions and a
compatibility mode.

--
Shmuel (Seymour J.) Metz, SysProg and JOAT <http://patriot.net/~shmuel>

Unsolicited bulk E-mail subject to legal action. I reserve the
right to publicly post or ridicule any abusive E-mail. Reply to
domain Patriot dot net user shmuel+news to contact me. Do not
reply to spam...@library.lspace.org

jmfbahciv

unread,
Mar 22, 2013, 10:39:46 AM3/22/13
to
Those were the years when copyrights in sources started to become
legally important. Whenever we (DEC) did a new ship, we updated
each source file with the new year and version; otherwise some
people might interpret the untouched file as being in the public
domain.

/BAH
0 new messages