Princeton University
Computer Science Dept.

Freshman Seminar 136
The Speech is a Machine

Andrew W. Appel

Spring 2001

General Information | Schedule and Readings | Assignments | Announcements

The U.S. Constitution and law guarantee freedom of speech, but regulate traffic in machinery. In the nineteenth and twentieth centuries, this arrangement worked tolerably well, but now that software is simultaneously speech and a machine, parts of the law that never clashed before now contradict each other: patent law, copyright law, munitions export regulations, trade secrets. Patented inventions may be freely described and explained by anyone -- not just the patent holder -- but only the patent holder can license production of the machines. But in computer programming, the description of the machine is almost the same thing as the machine. The First Amendment protects your right to describe how a pipe bomb works, or a computer virus -- but if you distribute the description of a virus in a form that a machine can understand (i.e., you unleash the virus!), you break the law. Do you (or should you) have the right to share music through Napster? Is it legal to create the Napster program itself?

A related issue is the gradual disappearance of traditional ways of publishing under the copyright law, and its replacement by click-through licenses. Can a movie studio that releases a DVD legally prevent you from fast-forwarding through the commercials?

We will examine these conflicts and see if they can be resolved in a way consistent with the operation of a free society. We will read articles, study court cases about cryptography, copyrights, and DVD cracking. In particular, we will study Bernstein v. U.S. Department of Justice (cryptography), Junger v. Daley (cryptography), and Universal Studios v. Reimerdes (DVD movies).

Students will write short papers every week, perhaps in the form of court briefs arguing a position in a real or hypothetical case.

We will not do any computer programming in this course, but some of the issues will involve a modest understanding of how computer programs work. COS 111, COS 126, or any prior programming experience (whether sophisticated or not) would be helpful preparation for this seminar.

General Information

Seminar: Monday 1:30-4:20, Rockefeller College
Professor: Andrew W. Appel, appel@cs

Current Announcements click here

Writing assignments