I'll resist the temptation to get drawn into a legal, rather than
technical, argument, but I think it is easy to distinguish between
potters exchanging their pottery and programmers exchanging programs.
In particular, it seems clear (to me) that potters would enjoy first
amendment protection if they published _photographs_ or other
representations of their pottery. If the government wanted to
regulate the export pottery, they might be able to argue that potters
who want to advance new ideas are free to photograph their work and
export the pictures.
If I were the lawyer representing the pottery-regulating government,
I'd search the professional pottery literature and try to show that
because the literature is full of pictures and descriptions of pots,
potters effectively communicate with one another without sending pots
around, and in fact, seem to prefer it that way.
But in the case of source code, there is no difference between a
"photograph" of source code and the actual code itself. A look at the
technical literature of the programming (and cryptographic) world
shows that many articles do, in fact, directly include, or have
references that assume the reader's access to, source code. So while
you might draw a meaningful distinction between the speech and the
functional object components of a work of pottery, no such distinction
can be drawn with source code. Source code is simply the only
effective way to express some programming ideas, and you cannot
separate out its function from its expression, as you might be able to
do with pottery.
(Actually, I'm not a potter or an art critic, and have to wonder
whether even the pottery example is a good one, since maybe potters
and others who work in three dimensional, tactile media would argue
that to effectively communicate their ideas requires hands-on access to
the work itself. But I'm willing to stipulate the point for the
purposes of this discussion.)
> While programmers and cryptographers may exchange source code to
>understand each other's techniques, etc., this is like potters exchanging
>pottery. The discussion between people, like the discussion between
>potters, is first amendment protectable, but this does not render the code
>itself protected under 1st amendment.