At 5:21 PM -0700 5/6/99, James A. Donald wrote:
The interesting question is of course whether the Bernstein
decision applies only to printed documents, and not web
pages.
There is certainly nothing in the opinion restricting it to
paper. Web pages are just as much publication, and just as
impossible for computers to compile directly.
The opinion would seem to clearly cover even the export of
straight source code with makefiles, however the cautious man
would merely export a web page containing source code
intermingled with explanation, discussion, and sufficient
information for a human to construct a makefile.
The EAR (like the ITAR before it) already exempts printed material. My
memory of a direct quote is: "Printed material, including source code, is
exempt from these regulations." Bernstein's whole suit was about code that
is on media other than paper.
The court refused to address the issue of whether object code is speech. So
it is indeed possible that to export crypto code, you'd want to include a
makefile. However, I think the case for object code is easily made.
I agree with the previous comments that exchanging source code is more like
musicians exchanging sheet music than potters exchanging pots. I think one
could make the case that exchanging an executable is like exchanging pots,
but there's another counter-analogy.
No one suggests that a magnetic (audio or video) recording, an optical (CD,
DVD) recording is not "speech." No one suggests that a player piano roll is
not speech. The sheet music of a song is an algorithm of how to make the
song, but the recording is its embodiment. It's possible for a person to
extract the algorithm from the embodiement in music as well as a computer
program. In music, the process is called "music dictation." Many years ago,
I decided not to become a symphony musician, but to be a mathematician
instead. But I've been trained in music dictation, and it's hard. Very
hard. Harder than manually decompiling machine code. You can spread out the
machine code before you and take it at your own pace. You have to
"decompile" the music at *its* pace. As far as I'm concerned, a piece of
music is less "human readable" than machine code. Machine code is very like
a player piano roll -- a set of instructions that are trivial (if tedious)
to understand once you know the encoding. Music dictation requires honed
skills to be able to accurately identify intervals, chords, tempo, timing,
and flat good artistic judgement -- and all at the same time! Decompiling
source code is just like reading a train timetable. It's hard because it's
tedious and boring, not because of any intrinsic mental athleticism
required.
No one would suggest that only sheet music, a play's script, screenplay, or
a transcript of a speech are protected. Sure, the embodiment of source code
has a power that the source doesn't have. But the embodiment of a movie has
power the screenplay doesn't have. Ironically, the difference between the
two is that the source of a program is more like the program than a
screenplay is like the movie.
Jon