Martin Garbus, Esq. (MG 6261)

Edward Hernstadt, Esq. (EH 9569)


488 Madison Avenue

New York, New York 10022

(212) 826-5582


Attorneys for Defendant Eric Corley a/k/a











- against -







00 Civ. 0277 (LAK)




I, ANDREW W. APPEL, declare under penalty of perjury that the foregoing is true and correct:

1. I am currently a professor of computer science at Princeton University. I teach courses in compilers, programming languages, and software engineering. My research is in efficient compilation of functional programming languages, particularly the language "ML." A copy of my Curriculum Vitae is attached hereto as Exhibit A.

2. I received a Ph.D. in Computer Science from Carnegie-Mellon University in 1985. I have been at Princeton University since 1986; as Assistant Professor (1986-92), Associate Professor (1992-95), and Professor (since 1995). From 1993-97 I served as Editor in Chief of ACM Transactions on Programming Languages and Systems, the major journal in the field of programming languages. My work as the implementor of the "Standard ML of New Jersey" compiler is well known. Standard ML of New Jersey is research software that has been distributed widely, without charge, on the Internet since 1988. It is now in use at over 100 universities and industrial research and development laboratories.

3. Publication of ideas -- which includes in particular publication by means of posting and linking on the internet -- is a fundamental part of the academic world. Publication of ideas is emphasized in academia because it is vital to the scientific method. This, on a basic level, means that if you have an idea, you toss it out into the "marketplace of ideas" and your peers and others evaluate it, test it and discuss it. This is how we determine which ideas are good and which are faulty.

4. For example, I mention two journal papers:

  1. "Efficient Computation of LALR(1) look-ahead sets." F. L. DeRemer and T. Pennello, ACM Transactions on Programming Languages and Systems, October 1982. This article explains a faster computer algorithm for a certain task, whose utility was justified by a (claimed) relationship between two classes of programming language grammars.

  2. "On the (non-)Relationship between SLR(1) and NQLALR(1) Grammars." M. E. Bermudez and K. M. Schimpf, ACM Transactions on Programming Languages and Systems, April 1988. This article published nearly six years later, described itself as follows: A popular but "not-quite" correct technique for computing LALR(1) look-ahead sets has been formalized by DeRemer and Pennello and dubbed NQLALR(1). They also claim that the class of SLR(1) grammars is a subset of the class of NQLALR(1) grammars. We prove here that no such relationship exists between those two classes. We do so with a counterexample that, ironically, appeared in DeRemer and Pennello's own paper.

5. Clearly, DeRemer and Penello's idea was not as good or useful as they thought, since Bernudez and Schimpf were able to demonstrate its flaws. On the other hand, scientific journals are full of good papers about ideas that don't actually work, but do advance the state of the art. The way they do so is by reaching their readers and encouraging the readers to review, test and improve on the ideas.

6. For anyone whose ideas include or involve computer code, this publication process as part of the scientific method includes publication of that code. This is not only computer scientists, but mathematicians, cryptologists, scientists, economists and others whose ideas are described or demonstrated with the help of computer code. Descriptions limited to English or mathematics are not sufficient to appropriately describe many things. They are certainly not sufficient to allow someone else to test many ideas without significant, unnecessary work. Such testing is required for both the scientific method and academic advancement. 7. For example, early in my career (1986) I became convinced that a certain kind of programming language, called "functional," would be useful for a wide variety of applications. Up to that point, functional languages were considered useful only in very specialized applications, and systems that used functional languages were invariably extremely slow (these two points are related, since many uses of computers require speed).

8. I focused my research on the speedy implementation of the functional language ML, implemented in my "Standard ML of New Jersey" software system. In 1987 I published a preliminary paper (with a colleague) describing the system. Also in 1987, I began making the software available, for free, to anyone who wanted to use it. Originally this was done by sending magnetic tapes through parcel post.

9. By 1988 we realized that we could make our software available on the Internet to anyone who wanted to "fetch" it. We did so in order to allow others to test and review it. By 1990 there were over 70 academic and industrial institutions using the software, and by 1994 over 100. It would have been very difficult to sustain this wide a distribution using magnetic tapes, since we were not charging money for the software.

10. Between 1987 and 1997, I published a series of papers describing the scientific ideas and methods underlying the software. I also posted each of these papers on the internet, linked to them from my home site and other professional web sites with which I was involved, and encouraged others to link to the papers as well. Any academic scientist is expected to describe his innovations in a form where fellow scientists and the world at large can learn from them. However, in the "marketplace of ideas" there are many competitors, and the scientist often has a hard time being heard. When I published my papers, I think that people took them seriously because they knew the software worked well.

11. Distributing computer code on the Internet -- together with commentary, questions, and the like about the code -- enables not only the evaluation of ideas, but also their incremental improvement. For example, a compiler for the programming language is typically a large software system, often containing hundreds of "modules," where each module represents one or more scientific ideas and days or weeks of implementation effort. My "Standard ML of New Jersey" compiler, for example, has more than 400 modules and represents tens of man-years of effort.

12. A typical scientific idea or innovation usually involves just a small set of these modules. If a scientist wants to test his new idea, involving one module, he will still have to implement all the other modules just to demonstrate that his idea works. By distributing the software, I make it possible for a scientist to replace just one module with an innovative one, and use the other modules that I provide.

13. There have been several occasions since 1988 where computer scientists at other institutions have fetched the Standard ML of New Jersey software on the Internet, made modifications to it, and published scientific papers describing their improvements. The lack of freely distributed software would constitute a significant "barrier to entry" to scientists wanting to test innovations.

14. Making computer code available on the Internet is an important avenue for academic advancement. My own career would have been hurt significantly if I had not been able to distribute or retrieve working computer programs. While many of the web sites presently posting or linking to DeCSS state or suggest that the posting is intended to demonstrate sympathy for the right to post DeCSS, I am aware of at least four scholarly/academic web sites which have posted or linked to DeCSS in the context of scholaraly discussions:

(web site of Bruce Schneier, president of Counterpane Systems, a noted researcher and developer of cryptographic systems;

(web site of David Wagner, a P.hD candidate and well-known and widely respected researcher in the cryptography and security communities);

(web site of David Touretzky, Professor of computer science at Carnegie Mellon University); and

(Greg Newby, Assistant Professor, School of Information and Library Science, University of North Carolina at Chapel Hill).

15. Cryptography is an area of applied mathematics, just as many areas of computer science are. It is not merely a "product" or a "thing" to be used for commercial purposes; it is a dynamic academic discipline. This science may also produce useful things for people, as with many sciences, but it changes and grows with new research and insights gained from the academic process. The further development of this discipline requires that cryptographers be able to share their ideas, including the sharing of their computer code over the internet.

16. The cryptological work done in "cracking" the CSS encryption program used on DVDs; on the DeCSS utility and source code; and information about the related reverse engineering and programming work involved in developing a Linux-based DVD player are all topics of serious academic and scientific concern. It is very important and appropriate that this information is and remains available to the scientific, academic and computer community via the internet.

17. Hyperlinking is also an important part of this discourse, as well as a major part of the internet's tremendous growth and power -- and any restriction on linking would have grave ramifications. Huge amounts of information are accessible to anyone who looks for it; an almost unlimited variety of opinions are expressed on millions of web sites; and for scientists, linking makes the free and open exchange of information with other scientists, academics, and any interested persons much simpler, broader and more effective. Barring hyperlinking would have a very negative impact on the flow of ideas and information online.

18. Finally, I am deeply concerned about the potential harm to scholarship that may occur were this Court to adopt the interpretation of Section 1201 of the Copyright Act I am told plaintiffs have asserted in this lawsuit. As set forth in greater detail in the Comment I and my colleague Professor Edward Felten submitted in response to the Copyright Office's request for comments to assist it in determining exemptions from Section 1201(a)(1) of the Act, which is attached hereto as Exhibit B:

Technical protection mechanisms that prevent computer programs from accessing the underlying content of copyrighted materials will hinder legitimate noninfringing uses that are vital to scholarship and science.

19. In sum, based on my experience as a University professor and researcher, as a programmer, and as a serious participant on the internet since its birth, it is my opinion that scholarship and science, and the innovation that is so crucial to technological advancement and economic growth, will be seriously damaged by an interpretation of Section 1201 that would prohibit circumvention of security systems for such non-infringing purposes as, for example, those described in my submission to the Library of Congress.


Dated: April 27 , 2000

Princeton, New Jersey