Directory
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