No. 94-2003
IN THE SUPREME COURT OF THE UNITED STATES
October Term, 1995
Lotus Development Corporation,
Petitioner,
v.
Borland International, Inc.,
Respondent.
ON WRIT OF CERTIORARI TO THE UNITED STATES COURT OF APPEALS FOR THE FIRST CIRCUIT
BRIEF AMICUS CURIAE OF
COMPUTER SCIENTISTS
IN SUPPORT OF RESPONDENT
Ron Kilgard
(Counsel of Record)
Karl M. Tilleman
Dalton, Gotto, Samson & Kilgard, P.L.C.
Suite 900
3101 North Central
Phoenix, AZ 85012
Phone: (602) 248-0088
Attorneys for Amici
December 1995
I. INTRODUCTION AND INTEREST OF AMICI . . . . . . . . . .
. . .1
II. SUMMARY OF THE ARGUMENT . . . . . . . . . . . . . . .
. . .3
III. ARGUMENT . . . . . . . . . . . . . . . . . . . . . .
. . .4
A. General Discussion of Computers. . . . . . . . . . . .4
B. Human/Computer Interfaces Should Not Be Copyrightable.6
1. Overview of Human/Computer Interfaces . . . . . .6
2. Reasons Why Copyright Protection Is Not Appropriate8
C. Computer Languages Should Not Be
Copyrightable . . . . . . . . . . . . . . . . . . . 11
1. Overview of Computer Languages. . . . . . . . . 11
2. The Lotus Macro Language. . . . . . . . . . . . 13
3. Reasons Why Copyright Protection Is Not Appropriate16
D. The Menu Command Words Need Not Be Spelled Out in the
Code18
IV. CONCLUSION. . . . . . . . . . . . . . . . . . . . . .
. . 19
Computer Associates Intern., Inc. v. Altai, Inc.,
775 F.Supp. 544 (E.D.N.Y. 1991) . . . . . . . . . . . . . . 4,
5
Computer Associates International, Inc. v. Altai,
Inc.,
982 F.2d 693 (2d Cir. 1992) . . . . . . . . . . . . . . . . .
10
Fogerty v. Fantasy, Inc.,
510 U.S. __, 127 L.Ed.2d 455, 114 S.Ct. 1023 (1994). . . . . .
10
Lotus Development Corp. v. Borland International,
Inc.,
49 F.3d 807 (1st Cir. 1995). . . . . . . . . . . .6, 7, 8, 13,
17
Lotus Development Corp. v. Borland International,
Inc.,
778 F.Supp. 78 (D. Mass. 1992) . . . . . . . . . . . . . . . .
13
Lotus Development Corp. v. Borland International,
Inc.,
799 F.Supp. 203 (D. Mass. 1992) . . . . . . . . . . . . . 13,
16
Lotus Development Corp. v. Borland International,
Inc.,
831 F.Supp. 202 (D. Mass. 1993) . . . . . . . . . . . . . . .
13
Lotus Development Corp. v. Borland International,
Inc.,
831 F.Supp. 223 (D. Mass. 1993) . . . . . . . . . . . . . 13,
16
Lotus Development Corp. v. Paperback Software
International,
740 F.Supp. 37 (D. Mass. 1990) . . . . . . . . . . . . . . 13,
16
17 U.S.C. sect. 101 . . . . . . . . . . . . . . . . . . .
passim
17 U.S.C. sect. 106(2) . . . . . . . . . . . . . . . . . .
. . 18
Compendium II of Copyright Office Practices, the Library
of Congress, sect. 326 at 300-32 (1984)11
Paul A. David, "CLIO and the Economics of QWERTY,"
75 Am. Econ. Rev. 332 (1985) . . . . . . . . . . . . . . . . .
.7
E. Lowry, Copyright Protection for Computer Languages:
Creative Incentive or Technological Threat?,
39 Emory L.J. 1293 (1990) . . . . . . . . . . . . . . . . 11,
16
F. Friedman, E. Koffman, Problem Solving, Abstraction, and
Design Using C++, at 6-18
(Addison-Wesley Publishing Co. 1994) . . . . . . . . . . . . .
.4
Paul Goldstein, Copyright Principles, Law and
Practice,
sect. 1.2.2.4 at 16 (1989) . . . . . . . . . . . . . . . . . .
16
IBM Dictionary of Computing
(McGraw-Hill 10th Ed. 1993) . . . . . . . . . . . . . . . . 4,
6
P. Menell, An Analysis of the Scope of Copyright
Protection for Application Programs, 41 Stanford L.
Rev. 1045 (1989) . . . . . . . . . . . . . . . . . . . . . . .
10
Microsoft Press Computer Dictionary
(2d Ed. 1994) . . . . . . . . . . . . . . . . . . . . . . . 4,
6
Richard A. Shaffer, Computers With Ears, Forbes,
September 12, 1994, at 238 . . . . . . . . . . . . . . . . . .
.8
R. Stern, Copyright in Computer Programming Languages,
17 Rutgers Computer & Tech. L.J. 321 (1991) . . . . . . . 11,
16
Wayne Rash, Jr., Talk Show: Voice-recognition Technology
for the PC Lets Your Voice Run the Show, PC Magazine,
December 20, 1994, at 203 . . . . . . . . . . . . . . . . . .
.8
Users Guide for WordPerfect for Windows 6.1
at 305-308 (Novell, Inc. 1994) . . . . . . . . . . . . . . . .
.7
IN THE SUPREME COURT OF THE UNITED STATES
October Term, 1995
Lotus Development Corporation,
Petitioner,
v.
Borland International, Inc.,
Respondent.
ON WRIT OF CERTIORARI TO THE
UNITED STATES COURT OF APPEALS
FOR THE FIRST CIRCUIT
BRIEF AMICUS CURIAE OF
COMPUTER SCIENTISTS
IN SUPPORT OF RESPONDENT
INTRODUCTION AND INTEREST OF AMICI
This amicus brief is filed on behalf of numerous individual
computer scientists who believe the opinion of the U.S. Court of
Appeals for the First Circuit was correctly decided and should be
upheld. The signatories to this brief include some of the
leading, pioneering scientists in the computer industry. We have
invented or contributed to the authorship of numerous computer
programs and languages.n1 We have prepared this brief because we
believe the First Circuit wisely corrected the District Court's
error in overextending copyright coverage in a manner
irreconcilable with the purpose of Copyright law and the nature
of computer science. This brief was approved by each of the
individual signatories who exercised complete control over its
editorial contents. At our request, Borland helped defer the
costs of printing. Both parties have consented to the filing of
this brief.
Many of us filed an amicus brief in the First Circuit Court of
Appeals, in which we discussed the copyrightability of computer
languages, and urged reversal of the District Court's rulings.
The District Court's opinions had generated widespread
controversy and uncertainty in the computer industry because they
went far beyond earlier case law, which recognized copyright
coverage for the text of a computer program ("code") or for the
visual, pictorial displays of the computer screen, but not for
"computer processes." The District Court, however, held that
functional aspects of Lotus' 1-2-3 spreadsheet program, and the
program's procedures and methods of operation, were copyrightable
and infringed, even though Borland copied neither the
spreadsheet's programming code nor its visual displays.
Specifically, the District Court held as copyrightable the
program's menu commands, which are used to operate the computer,
and which are used as a "macro language" for programming computer
routines to execute a desired computer operation repeatedly. In
protecting these computer processes, the District Court ignored
the distinction between an expressive work (such as a novel or a
computer program's "code"), on the one hand, and the language or
medium used to express a work (such as the English language or a
computer programming language), on the other hand. The First
Circuit remedied that legal error by holding the menu command
hierarchy to be an uncopyrightable method of operating the
computer.
Not only does the First Circuit's opinion properly interpret
the copyright laws, it also makes sense from a practical point of
view. Fundamentally, this case directly affects the way people
operate machines such as computers, and the way people
communicate with computers using programming languages. This
amicus brief explains two ways in which a user or programmer
would use the menu command words of Lotus 1-2-3, namely (1) as
part of the human/computer interface to run the program, just as
buttons or switches were historically used to run machines, and
(2) as a computer language to write macro programs. Such
standardized computer interfaces and computer languages are
highly important. Progress in the computer industry depends upon
software compatibility and the ability of computer programmers to
communicate freely with each other, using common computer
interfaces and computer languages. Affirmance of the First
Circuit's decision will help further these important policy
goals. Because the copyrightability of computer interfaces and
languages is a crucial issue to the computer industry, we
respectfully submit the following brief on why computer
interfaces, such as the Lotus 1-2-3 menu command hierarchy and
macro language, should not be copyrightable.
SUMMARY OF THE ARGUMENT
1. Profound historical changes have occurred over the last
several decades in the way in which people communicate with
machines. Buttons, switches, and electrical plugs have been
replaced with computers, and a variety of human/computer
interfaces. One such interface consists of the Lotus 1-2-3 menu
command words and the sequencing or syntax of those words, or
"menu command hierarchy." Lotus uses menu words such as "COPY" or
"PRINT" in place of buttons or switches which accomplished
analogous functions on earlier machines.
2. Buttons, switches, and plugs have never been considered
copyrightable on their own. Replacing them with their computer
equivalents should make no difference under the law. This
conclusion holds true even though a "computer program" is
involved. Computer interfaces or languages are not the same as
the computer program itself, which is the only aspect of a
computer Congress has said should be copyrightable. Instead, a
computer interface is an uncopyrightable method of operating a
computer, as the First Circuit correctly found here.
3. The First Circuit's opinion also recognizes the reality
faced by the computer industry. Standardization of computer
interfaces and languages is vitally important to this industry.
Requiring each new programmer to write a new interface or
language would be absurdly inefficient and would decrease, not
increase, the number of creative works in the industry.
4. In this case, the Lotus 1-2-3 menu command words and the
sequencing or syntax of those words also define a computer
language in which users can write computer programs known as
"macros." As a computer language, the Lotus menu words and order
are not the same thing as a computer program. It is very
important to distinguish a copyrightable computer program from
the uncopyrightable language in which the program is written.
Languages are the building blocks used to create works such as
novels or computer programs; protecting those building blocks is
quite different from protecting the expression in a work created
with those building blocks. Protecting a novel written in the
English language is not the same as protecting the English
language itself. Before this case, no one would have seriously
argued that any language could be copyrightable, let alone a
computer language. There are a number of important policy
reasons, discussed below, why computer languages should remain
uncopyrightable.
ARGUMENT
A. General Discussion of Computers
The following is a basic discussion of computers helpful to
understanding the issues discussed in this brief. Broadly
speaking, computers have two components: hardware and software.n2
Hardware consists of the physical components used to make a
computer, and includes three basic elements: the central
processing unit ("CPU"), memory, and the input/output system. The
CPU is the "brains" of the computer where the actual computing is
done. On modern personal computers, the CPU is contained within a
single silicon "chip" called a microprocessor. The CPU accesses
various portions of the computer's memory to store and help run
computer programs.
Software generally refers to computer programs, which are
defined in 17 U.S.C. sect. 101 as "a set of statements or
instructions to be used directly or indirectly in a computer to
bring about a certain result." Broadly speaking, there are two
types of software: operating systems software and application
programs. The operating system software is the basic set of
instructions that allows the CPU to function as a computer,
manages the interaction among the various hardware elements of
the computer and between the hardware and the application
programs, and allocates the computer's resources among other
programs that might need them. The computer cannot function
without operating system software. Because the operating system
software must interact with other programs and with hardware
components, the other programs must be compatible with the
computer's operating system software, that is, they must be able
to exchange information with the operating system in a precise
and accurate manner. See, e.g., Computer Associates, 775 F.Supp.
at 550. Examples of operating systems are DOS, Windows 95, and
UNIX.
Once a computer has an operating system installed, it can
accept additional computer programs, called applications
programs, which perform applications such as word processing,
payroll and inventory management systems, graphics, video games,
or, as in this case, computer spreadsheets.
When human beings write computer programs, they generally do so
in human readable code, known as source code. Source code is
written in computer languages such as assembly language, BASIC,
or C++. In order for the computer to understand a program, a
source code program must be translated into the "1s" and "0s"
which are understandable to computers. This is called object
code, and is virtually impossible for most humans to
read.
B. Human/Computer Interfaces Should Not Be
Copyrightable
1. Overview of Human/Computer Interfaces
This brief now explains the two ways in which a person running
the Lotus 1-2-3 spreadsheet uses the Lotus menu command words,
and their order. First, the person running the Lotus program uses
the menu words to operate the spreadsheet. Therefore, the words
and syntax are part of what is called the human/computer
interface, or user interface. Generally speaking, an interface is
a shared boundary, or the point at which a connection is made
between two different elements or functional units in a computer
system so that they can work with one another. See Microsoft
Dictionary at 218; IBM Dictionary at 351. The user interface
consists of the graphical design, the commands, prompts, and
other devices that enable a user to interact with and perform
operations on a computer system or program. See Microsoft
Dictionary at 218; IBM Dictionary at 724. The Lotus menu commands
meet these definitions, as they are directions to the computer to
"manipulate and control the program." Lotus Development Corp. v.
Borland International, Inc., 49 F.3d 807, 809 (1st Cir. 1995),
Pet. App. at 4a ("Lotus v. Borland"). More specifically, the
Lotus menu command words and syntax are the "specification" for
the human/computer interface. This means that the human operator
must use the exact words in their exact order to operate the
Lotus spreadsheet. No other words or order will do.
On a steadily increasing basis, human interaction with
machines is now accomplished by human/computer interfaces. The
First Circuit's analogy to the video cassette recorder (VCR) is
one example. Lotus v. Borland, 49 F.3d at 817, Pet. App. at 18a.
Historically, users pressed buttons to operate electronic devices
such as VCRs. The first VCRs were not computer controlled;
pressing the buttons operated electronic circuitry which in turn
performed record, play, and other functions. Timers and clocks
were largely mechanical. Modern VCRs have replaced those
electrical and mechanical components with a computer. The user
can still operate many of the VCR functions by pressing buttons
that still say "record" or "play." Thus, the computer/human
interface looks the same as it did 20 years ago; the only
difference is that the buttons now operate a computer instead of
electrical or mechanical components.
Similarly, the manual typewriter has been replaced by a
computer keyboard. It still uses the same QWERTY computer/human
interface, even though that interface was designed to be used
with the relatively inefficient manual typewriter and is far from
the optimum design for a computer keyboard. Paul A. David, "CLIO
and the Economics of QWERTY," 75 Am. Econ. Rev. 332 (1985). Nor
are contemporary computer keyboards just a collection of hardware
buttons. Modern word processing programs typically have features
permitting the keyboards to be redefined, in software, so that
the keys can represent different letters or functions than they
normally do. See, e.g., User's Guide for WordPerfect for Windows
6.1 at 305-308 (Novell, Inc. 1994) (discussing "Keyboard
Preferences" and "Keyboard Editor" features).
Computers also have progressed to the point where software
"buttons" have replaced hardware buttons or switches. Lotus 1-2-3
is such an example; commands such as "COPY" or "PRINT" appear on
the screen, instead of a physical button. Lotus v. Borland, 49
F.3d at 817, Pet. App. at 18a-19a. Other programs use "touch
screen" menus where the user can touch a word displayed on a
computer screen and operate the desired function.
Moreover, technology has progressed to the point where no
manual interaction between a human being and a computer is even
necessary to operate the interface. At least three companies,
including Lotus' owner, IBM Corp., are selling voice dictation
and voice command systems enabling the user to speak the commands
to the computer instead of either typing them, using function
keys, or using a mouse.n3
2. Reasons Why Copyright Protection Is Not
Appropriate
Twenty years ago, a company such as Lotus could not stop a
competitor from using the organization of the buttons and
switches on its product merely by paying $20 and filing a
two-page form with the Library of Congress. Today, it is very
difficult to see why Lotus should be allowed to use the copyright
laws to stop its competitors from using the same command words of
the Lotus program in the same order, when those words perform
precisely the same function as a set of buttons did twenty years
ago. The First Circuit noted that hardware buttons would not be
copyrightable simply because of the "useful article" exception in
the definitions of the Copyright Act, 17 U.S.C. sect. 101. Lotus
v. Borland, 49 F.3d at 817, Pet. App. at 19a. As scientists, it
is extremely difficult to understand why replacing hardware
buttons with software buttons logically should change a formerly
uncopyrightable "useful article" into something that is
copyrightable, just because a "computer program" is involved. A
human/computer interface, or a computer language, cannot be
viewed in the same manner as any ordinary "literary work" exempt
from the useful article exception of sect. 101. Someone can read
an ordinary literary work, such as a novel or a play, and enjoy
it for what it is worth. Someone can also read the text of a
computer program written in source code as a work of authorship
and gain some technical knowledge in the same way as one might
gain such knowledge by reading a book about computers.
Computer interfaces are fundamentally different from any of
these. They are singularly functional and utilitarian in nature.
One does not normally "read" a set of commands such as "COPY" or
"PRINT," or the syntax or structure of those commands, as one
might read a book about computers. Rather, the purpose of
human/computer interfaces is to operate functions of the computer
machine itself, and to use the computer.
Because of the nature of human/computer interfaces, there are
a number of policy reasons why they should not be the subject of
copyright protection. First, factors such as software
compatibility, interoperability, and hardware portability are
extremely important in the computer industry. Computers
essentially have replaced the methods we used to operate machines
in the past (hardware buttons or switches) with identically
functioning buttons that instead operate software. In some
instances, the physical switches appear the same to the user; in
other instances, they are words on a computer screen.
This trend will only accelerate in the future. With computing
hardware becoming increasingly inexpensive, software "virtual
machines" have replaced electronic hardware in entire sectors of
the economy. (A software "virtual" machine is one where the
functions of electronic or mechanical components are primarily
performed by software.) The ramifications of this computer
revolution are enormous. The number of different kinds of
computer/human interfaces have dramatically increased, both in
sheer quantity as well as in the many different ways in which
humans now interact with computers on a daily basis. Voice
commands, and doubtless other non-physical methods of
communication not presently imaginable, will increasingly replace
hardware and even software buttons and switches.
The ability of programmers to write software programs that can
be understood by other computers worldwide, on many types of
computer platforms, is crucially important. The key point is that
once an interface is created, it can become an industry standard,
and the interface becomes functionally embedded not just in the
original work, but in programs, and in the minds of programmers.
The QWERTY typewriter keyboard and the positioning of automobile
controls such as the gas and brake pedals and gear shift patterns
are hardware examples of such standards; common computer
languages such as BASIC and C++ are examples in the software
industry.
Once a standard interface has been created, it would be
absurdly inefficient to require all subsequent authors of
computer software to create their own interface with each new
program. Imagine if each author of a novel were required to
invent a new language because a prior author had a copyright in
the English language. This would lead to less works of authorship
being created, rather than encouraging the proliferation of works
as the copyright laws were intended to do. See Fogerty v.
Fantasy, Inc., 510 U.S. __, 127 L.Ed.2d 455, 465, 114 S.Ct. 1023,
1029 (1994) (noting the ultimate aim of the Copyright Act is "to
stimulate artistic creativity for the general public
good").
Thus, granting copyright protection in computer interfaces
would allow the creator or "first comer" to create a computer
interface and use it to lock up the technology and marketplace
for 75 years, even if the interface and technology was
unpatentable. This would create enormous barriers to entry in a
market where the free exchange of ideas is essential. See, e.g.
Computer Associates International, Inc. v. Altai, Inc., 982 F.2d
693, 712 (2d Cir. 1992), citing P. Menell, An Analysis of the
Scope of Copyright Protection for Application Programs, 41
Stanford L. Rev. 1045, 1082 (1989). This effective monopoly on a
computer interface would inhibit third-party innovations,
particularly given the long term of copyright. Cf. Bonito Boats,
Inc. v. Thunder Craft Boats, Inc., 489 U.S. 141, 146, 103 L. Ed.
2d 118, 131, 109 S.Ct. 971, 975 (1989) ("imitation and refinement
through imitation are both necessary to invention itself and the
very lifeblood of a competitive economy."). If the interface was
copyrightable, the interface owner also would "lock up" an
installed base of users accustomed to that interface.
C. Computer Languages Should Not Be
Copyrightable
1. Overview of Computer Languages
This portion of the brief discusses the second way a user uses
the Lotus menu words, as a computer language to write macro
programs.n4 The Copyright Office has defined a computer language
as "a programming language used by a programmer for writing a
computer program."n5 A commentator similarly has described a
computer language as "a code that both the computer operator and
the computer understand. The operator uses the language to
express what is to be done, and the computer understands the
language and performs the desired actions."n6 A computer language
thus is similar in many respects to an ordinary language such as
English. Like an ordinary language, it consists of basic building
blocks of communication. It provides rules (grammar and syntax)
for the combination of words or terms to form expressive works
that can be understood by their authors and other
programmers.
Unlike ordinary languages, computer languages serve an
important additional purpose. They not only permit communication
between different computer programmers, but also allow
programmers to communicate with a computer and tell it what to
do. They are highly utilitarian languages that tell the computer
how to implement the desired functions, operations, and results
desired by the program. In short, they permit computers to "talk"
to each other and to exchange that which will be understood by
the operators of the computer.
A computer language is fundamentally different than a program
written in that language. The rules for the language consist of
definitions and syntax, usually written in alphabetical or some
other logical order. However, a program uses selected words of
the language in the order appropriate for the function being
performed. This concept is illustrated by the following example
using the BASIC programming language. (The commands are listed in
the alphabetical order used in the BASIC manual, and are only the
small group of the many available BASIC commands which are
actually used in the sample program, plus a few others.)
BASIC Commands Sample Computer Program
DATA 10 PRINT "This program adds."
END 20 PRINT "Type a number."
GOTO 30 INPUT A
IF/THEN 40 PRINT "Type another number."
INPUT 50 INPUT B
LET 60 LET C = A + B
PRINT 70 PRINT "The sum is", C
READ 80 END
The above program asks the user to type in two numbers; it
then computes the sum of the two numbers and prints the sum. In
the terminology of 17 U.S.C. sect. 101, the eight lines numbered
10 through 80 are the "set of statements or instructions" of the
program; the printed sum is the "certain result" of the program.
Thus, the program on the right is different from the list of
commands on the left. (While the "certain result" in this example
is a number, in other programs the certain result can be other
matters such as a still or video image, audio recordings, or, as
in this case, command words such as "COPY" or "PRINT").
2. The Lotus Macro Language
In this case, the Lotus 1-2-3 menu command words and the
sequencing or syntax of those words define a computer language.
Lotus 1-2-3 allows users to write their own computer programs,
called "macros," using this programming language. See Lotus v.
Borland, 49 F.3d at 809, Pet. App. at 4a. The District Court
defined a "macro language" as "a feature by which a user may
define a very short keystroke sequence as equivalent to a longer
keystroke sequence."n7 As explained by the District Court, the
Lotus 1-2-3 macro language permits a user to write a series of
executable computer operations (the "macros") by using a language
of special abbreviated programming commands (such as "R", "F", or
"C"), and special symbols (such as "/" or "{?}"). Borland IV, 831
F.Supp. at 226-27, Pet. App. at 31a- 32a. Thus, the 1-2-3 macro
language is a set of rules for writing a computer program (the
macro), and meets the definition of a computer language discussed
above. Once users become reasonably adept with the operation of
the spreadsheet program, they will often write macros to save
time and effort.
Lotus has argued that the menu command hierarchy is a
"computer program," and hence protectible under the copyright
laws. For the reasons discussed above, this is not so. The words
and syntax of the hierarchy can be used to write copyrightable
computer programs, i.e. the macros. However, when the Lotus menu
words and syntax are used in this manner, they are a language,
not a program. They are the words from which the macro programmer
creates the macros, which are the "set of statements or
instructions to be used directly or indirectly in a computer in
order to bring about a certain result" under 17 U.S.C. sect. 101.
In this respect, the Lotus menu words and syntax are similar to
the words and syntax of a "national language," like English or
French, which can be used to create copyrightable works of
literature, and are similar to the BASIC language example noted
above.
Again, this can be illustrated by an example comparing some of
the Lotus command words with a macro written using those words.
In the following example, the left column lists the "File" and
"Data" commands used in the first two lines of the sample macro,
in the order in which they appear in Lotus 1-2-3, as shown at
J.A. 900-906. The macro example on the right is taken from the
Declaration of Judith S. Olson, J.A. 508-09.
Lotus
Commands Sample Macro
"/F"ile Commands /fit{?}~
. . . /dprfcfe{?}~
"I"mport i.{end}{down}~
"T"ext o{right}~g
. . .
"/D"ata Commands
. . .
"P"arse
"F"ormat Line
"C"reate
"E"dit
. . .
"R"eset
As Dr. Olson's declaration explains (J.A. 508-09), the macro
program is used to extract data from another file, such as a
database, and re-format it for use in a spreadsheet. The first
line of the macro, for instance, opens a file ("f"), and imports
it ("i") from the database as text ("t"). (Unlike BASIC, which as
shown in the previous example uses entire English-looking words
such as "PRINT," the Lotus macro language often uses just the
first letter of the relevant command. See Borland IV, 831 F.Supp.
at 226-27, Pet. App. at 31a.) The four lines of the macro are the
"set of statements or instructions" of the program; the
re-formatted data file is the "certain result" of the program. As
was the case with the previous example, the program on the right
is different from the list of commands on the left.
3. Reasons Why Copyright Protection Is Not
Appropriate
It is very important to distinguish a copyrightable computer
program from the uncopyrightable language in which the program is
written. Copyright law was intended to cover the expressive
nature of an author's works, and to encourage their creation.
However, it was never meant to cover the basic building blocks,
or language, used to create the works.n8 Protecting the
expression in a work is quite different from protecting the
building blocks used to create the work. Protecting a novel
written in the English language is not the same as protecting the
English language itself. Nor is protecting a work of art such as
a painting the same as protecting the various colors of paint
used to create the painting. As the above examples make clear, a
computer language is not the same as the "computer program"
defined in 17 U.S.C. sect. 101. Accordingly, before this case, no
one would have seriously argued that any language could be
copyrightable, let alone a computer language.n9
There also are a number of good policy reasons why computer
languages should not be copyrightable. The reasons discussed
above why copyright protection is not appropriate for
human/computer interfaces generally also apply to computer
languages. Standard languages are very important for a wide
variety of reasons: promoting ease of use by programmers,
avoiding lock-ins of the user base and the technology by the
first company on the market to write a language, providing
incentives to create new works using a standard language, and
preventing the disincentives that arise from requiring each
competitor to create its own language.
The First Circuit acknowledged the realities faced by the
computer industry. The majority opinion recognized the importance
of program compatibility and the importance of allowing users to
run programs such as macros on different platforms. The majority
opinion concluded that "forcing the user to cause the computer to
perform the same operation in a different way ignores Congress's
direction in sect. 102(b) that 'methods of operation' are not
copyrightable." Lotus v. Borland, 49 F.3d at 817-18, Pet. App. at
20a. Judge Boudin's concurring opinion also correctly observed
how providing a monopoly of a computer command structure would
make the users "captives" of the first provider of the program,
not because of any creative effort or investment by that
programmer, but because of the "investment in learning made by
the users." Id. at 821, Pet. App. at 26a-27a.
Providing copyright protection for a computer language, such
as the Lotus macro language, would have an additional undesirable
effect. Such protection would extend far past the computer
language itself. For example, granting copyright coverage for
computer languages would allow the language owners to claim
ownership of all programs written in the languages as derivative
works. If languages were copyrightable, works created using the
language would be derivative works of the language.n10 In that
event, the computer language owner could argue that he owned all
programs based on his language.n11 This objectionable result is a
natural consequence of confusing the expressive work itself with
the language used in creating the expressive work, and permitting
copyright coverage for both.
D. The Menu Command Words Need Not Be Spelled Out in the
Code
Finally, as computer scientists we wish to respond to one
point in the Lotus brief which we believe to be incorrect or
potentially misleading. Lotus states that the actual menu command
words are "spelled out, in text, in the program code." Lotus Br.
at 7. While the record cites at this point are to a Borland data
file which needed to recognize the 1-2-3 command words and order
to operate, Lotus' statement incorrectly implies that the words
did in fact appear in the Lotus code. Since the Lotus code was
never introduced into evidence, J.A. 300, one cannot conclude
that the menu words actually appeared in the Lotus code. From a
programming standpoint, there are a number of ways the Lotus code
could have implemented the menu functions without spelling out
the words in the code.
For example, an extremely common programming technique used
for programs with international sales (such as word processors or
database programs) does not spell out the menu command words in
the program code. The menu words are instead contained in a data
file which is separate from the code used to run the program.
This makes the menu words easy to change when the program is sold
to non-English speaking users, since the words are isolated in
one location instead of being scattered throughout thousands or
millions of lines of code. It also has the advantage of
permitting users to customize the menu command words if they want
to. While we do not know if this or a similar technique was
actually used in Lotus 1-2-3, since the Lotus code was never
placed into evidence it cannot be assumed that such a technique
was not used. Thus, one cannot state, as does Lotus, that its
menu words were "spelled out" in its code.
CONCLUSION
As computer scientists, we believe that the majority and
concurring opinions of the First Circuit correctly recognized the
danger in extending copyright protection to the specific type of
human/computer interfaces and computer languages at issue in this
case. For people in our computerized society, it is vitally
important to be able to communicate freely with computers,
without threat of litigation. Computer interfaces and languages
are meant for everyone to use. They were never meant to enable
their creator to monopolize methods of operating computer-based
machines. The District Court's decisions lost sight of the
importance of being able to use common, standard computer
interfaces. The First Circuit correctly understood the issues
involved here, and remedied the District Court's error.
For the foregoing reasons, the judgment of the First Circuit
should be affirmed.
Respectfully submitted,
Ron Kilgard
(Counsel of Record)
Karl M. Tilleman
Dalton, Gotto, Samson & Kilgard, P.L.C.
Suite 900
3101 North Central
Phoenix, AZ 85012
Phone: (602) 248-0088
Attorneys for Amici
Listed in Appendix A
December 1995
FOOTNOTES
1A full list of amici and their professional qualifications
and contributions to the industry follows the signature page of
this brief. Amici include computer scientists who developed or
contributed to the development of (1) computer languages such as
Ada, Lisp and Logo; (2) artificial intelligence; (3) robotics;
(4) data encryption; and (5) other important areas of computer
science.
2Sources for this background material include: Computer
Associates Intern., Inc. v. Altai, Inc., 775 F.Supp. 544, 549-551
(E.D.N.Y. 1991), aff'd., 982 F.2d 693 (2d Cir. 1992); F.
Friedman, E. Koffman, Problem Solving, Abstraction, and Design
Using C++, at 6-18, (Addison-Wesley Publishing Co. 1994), ISBN
0-201-52649-2; IBM Dictionary of Computing (McGraw-Hill 10th Ed.
1993), ISBN 0- 07-031488-8(HC) (hereinafter IBM Dictionary);
Microsoft Press Computer Dictionary, (2d Ed. 1994), ISBN
1-55615-597-2 (hereinafter Microsoft Dictionary).
3In addition to IBM, the companies include at least Dragon
Systems, Inc. of Newton, Massachusetts, and Kurzweil Applied
Intelligence, Inc. of Waltham, Massachusetts. See Wayne Rash,
Jr., Talk Show: Voice- recognition Technology for the PC Lets
Your Voice Run the Show, PC Magazine, December 20, 1994, at 203,
205; Richard A. Shaffer, Computers With Ears, Forbes, September
12, 1994, at 238.
4Lotus has denominated the Lotus macro language as the method
by which the macro programs can interact with the Lotus 1-2-3
program. See Declaration of Vern L. Raburn, para. 18 and Exhibit
B, J.A. 530, 535. In this respect the Lotus macro language acts
as a program-to-program interface specification. We understand
that other amici are discussing the uncopyrightability of
program-to-program interfaces, and therefore will not discuss it
in this brief.
5Compendium II of Copyright Office Practices, the Library of
Congress, sect. 326 at 300-32 (1984).
6E. Lowry, Copyright Protection for Computer Languages:
Creative Incentive or Technological Threat?, 39 Emory L.J. 1293,
1298 (1990) (citation omitted) (hereinafter "Lowry"). Another
commentator summarized a number of definitions of computer
language as follows:
A computer programming language is a formal system of
expression including:
(1) a set of vocabulary elements;
(2) a set of syntax rules for combining vocabulary elements into
statements; and
(3) the assignment of meaning to statements that properly combine
vocabulary elements in accordance with the syntax rules.
R. Stern, Copyright in Computer Programming Languages, 17
Rutgers Computer & Tech. L.J. 321, 327 (1991) (hereinafter
"Stern").
7See Lotus Development Corp. v. Borland International, Inc.,
799 F.Supp. 203, 206 (D.Mass. 1992), Pet. App. at 110a.
(hereinafter "Borland II"). This brief also refers to four other
relevant opinions by the District Court: Lotus Development Corp.
v. Paperback Software International, 740 F.Supp. 37 (D.Mass.
1990) (hereinafter "Paperback"); Lotus Development Corp. v.
Borland International, Inc., 778 F.Supp. 78 (D.Mass. 1992)
(hereinafter "Borland I"); Lotus Development Corp. v. Borland
International, Inc., 831 F.Supp. 202 (D.Mass. 1993) (hereinafter
"Borland III"); Lotus Development Corp. v. Borland International,
Inc., 831 F.Supp. 223 (D.Mass. 1993) (hereinafter "Borland
IV").
8Lowry at 1315; I. Paul Goldstein, Copyright Principles, Law
and Practice, sect. 1.2.2.4 at 16 (1989). See also Stern at 349,
364.
9The District Court implicitly granted copyright protection to
the Lotus menu command hierarchy as a computer language. Borland
IV, 831 F.Supp. at 229-230, 234, Pet. App. at 37a-39a, 47a; see
also Borland II, 799 F.Supp. at 213-14, Pet. App. at 122a-125a.
The District Court seemed to think that languages generally were
copyrightable. Paperback, 740 F.Supp. at 72, Pet. App. at
243a-244a. See Stern at 323-24, 330, noting that Paperback's
statement to this effect was unprecedented. This was one of the
reasons why the District Court's opinions generated such
controversy in the computer industry and why a number of us filed
an amicus brief in the First Circuit criticizing the District
Court.
10See the definition of derivative work in 17 U.S.C. sect.
101:
A 'derivative work' is a work based upon one or more preexisting works, such as a translation, . . . abridgment, condensation, or any other form in which a work may be recast, transformed, or adapted. A work consisting of editorial revisions, annotations, elaborations or other modifications . . . is a 'derivative work'.
Under this statute, a program is a work "based upon" the
preexisting language; the language is "recast, transformed or
adapted" into the program, which in any event is an "elaboration
or other modification" of the language.
11See 17 U.S.C. sect. 106(2).
LIST OF SIGNATORIES TO THE BRIEF
[In Alphabetical Order]
1. Harold Abelson
Harold Abelson is Class of 1922 Professor of Computer Science and
Engineering in the Department of Electrical Engineering and
Computer Science at MIT. He was recipient in 1992 of the MIT Bose
Award (School of Engineering teaching award) and is a Fellow of
the IEEE. In 1992, Abelson was designated as one of MIT's six
inaugural MacVicar Faculty Fellows, in recognition of his
significant and sustained contributions to teaching and
undergraduate education. He has made many contributions to the
development of the Logo educational computing language. He
directed the first implementation of Logo for the Apple II, which
made the language widely available on personal computers
beginning in 1981. Together with Prof. Gerald Sussman, Abelson
developed MIT's introductory computer science subject, "Structure
and Interpretation of Computer Programs," a subject organized
around the notion that a computer language is primarily a formal
medium for expressing ideas about methodology, rather than just a
way to get a computer to perform operations. This work has had a
world-wide impact on university computer-science
education.
2. William B. Ackerman
Designer/implementor of one of the first capability-based
multiprocessing operating systems, 1968; Author of the extremely
popular ISPELL spelling checker, 1978; Co-author of the VAL
dataflow programming language, 1982; Co-discoverer of the
"Brock-Ackerman Anomaly" in denotational semantics of
nondeterministic message-passing systems, 1984. Currently at
Hewlett-Packard Laboratories, Cambridge, MA.
3. Dean Anderson I am President of the League for Programming
Freedom, an organization founded to fight user interface
copyrights and software patents. My software background includes
9 years of programming and system administration experience
working on a wide variety of computer systems, languages, and
operating systems for companies such as Charles Stark Draper
Laboratory, Open Software Foundation, Kendall Square Research,
and Hitachi Computer Products. I have contributed to the
development of OSF/Motif, OSF/1 and other projects on systems
ranging from mainframes to PC's. I have worked with a variety of
operating systems from many flavors of unix to IBM MVS and VM to
Microsoft DOS, Windows, and NT. I have programmed in a variety of
languages from scheme, C, PLI, to TCL and Perl. In the last 4
years, I have worked on implementing a wide variety of networks
including FDDI, CDDI, 100BaseT, Token Ring, Ethernet, Frame
Relay, Dialup, supporting several protocols such as IP, Novell,
and Appletalk. Currently, I am also President of Plain Aviation,
Inc, a company started in 1992 which offers aviation and
engineering services filling in corporate infrastructure gaps and
recently offering Systems and Network Consulting, Custom
solutions, and Co-sourcing services.
4. Judy Anderson
Harlequin Inc.
Cambridge MA 02142
Judy Anderson has been working as a programmer in the computer
industry for over a decade. Her work has primarily been
programming in Lisp and C, particularly doing low level
implementation of Lisp programming environments. Of late, she has
been interfacing between the Lisp system sold by Harlequin and
various database products sold by other vendors.
5. Phil Bagley
Graduate of MIT in Electrical Engineering, Master of Science
1951. Thesis: High-speed digital machines for information
searching. MIT Digital Computer Lab and MIT Lincoln Lab,
1951-1959, research associate. MITRE Corporation, 1959-1964,
technical staff member. Assistant Professor of Computers and
Information Science, Temple University, 1978-1984.
6. Brian Bartholomew
I am a professional systems administrator for Unix, Windows, and
Macintosh computers. I make my living extending the abilities of
users by connecting and integrating disparate applications and
operating systems in ways their manufacturers did not plan
for.
7. Karl Berry
I am a member of the technical staff at Interleaf Inc., an
Adjunct Research Associate at the University of Massachusetts at
Boston, co-author or co-editor of several technical books
published by Addison-Wesley and Kluwer, and maintain various
freely available software packages.
8. Ethan Bradford
Education: BS, Mathematical Sciences, Stanford U., June 1981
(with Honors and Distinction); MS, Computer Science, Stanford U.,
June 1982; MS, Physics, U. of Washington, June 1991; PhD,
Physics, U. of Washington, expected June 1992 Full time
employment: Full Staff Member (doing programming and systems
analysis), MIT Lincoln Laboratory, June 1982 - August
1989
9. Seth Breidbart
Ph.D., Computer Science, Yale 1978
Co-author of the fundamental papers on Quantum
Cryptography
10. Robert E. Bruccoleri, Ph.D.
Principal Scientist
Department of Macromolecular Modeling
Bristol-Myers Squibb Pharmaceutical Research Institute
Primary author of the program CONGEN, a mulitfunctional molecular
modeling package, which is used to predict the structure of
proteins by homology. He obtained his B.S. in Computer Science
from the State University of New York at Stony Brook, his M.S. in
Electrical Engineering and Computer Science from the
Massachusetts Institute of Technology, and his Ph.D. in
Biochemistry and Molecular Biology from Harvard
University.
11. Matthias Bruestle
Student of Chemistry at the University of Erlangen
PGP-Administrator of the KommunikationsNet Franken e.V.
12. Steve Byrne
Mr. Byrne is a graduate of Carnegie-Mellon University, and has
been in the computer industry for 15 years. He has worked with
everything from operating systems, to expert systems, to
graphical user interface based end-user applications. He has
developed software on everything from 8 bit microprocessors to
mainframes, and has over 20 years of experience working with
computers, and is regarded both as a senior design and
architectural contributor, as well as an experienced user
interface designer.
Mr. Byrne is the creator of the GNU version of the Smalltalk
programming language. He has also created implementations of
several other programming languages, as well as several utility
programs and packages. His current interests are object oriented
systems, distributed programming, programming languages, and
graphical user interface design and implementation.
13. James Carlson I am currently a Principal Software Engineer
for Xylogics, Incorporated, and I develop communications software
for the Annex line of terminal and communications servers, which
are used by many Internet dial-up sites and universities as the
interface between the network and the telephone system.
14. Mike Coleman
Mike Coleman holds a Master's degree in Computer Science from
UCLA and has a number of years of industrial software development
experience, including programming language and user-interface
design. He is presently at the Center for Telecomputing Research
at the University of Missouri--Kansas City.
15. Richard H. Crawford
Currently a Researcher in Computer Security at the University of
California, Davis. His three years of work experience with
Hewlett-Packard as a Software Development Engineer involved
designing user interfaces to database manipulation programs.
Crawford received a B.S. in Mechanical Engineering from UC
Berkeley in 1979, followed by a M.S. in Computer Science from UC
Davis in 1991. After completing his M.S. Thesis, "Topics in
Behavioral Modeling and Event-Based Debugging", Crawford
continued to pursue several strands of this research.
16. Pavel Curtis
Dr. Pavel Curtis has been a member of the research community at
the Xerox Palo Alto Research Center since 1983, during which time
he has worked on aspects of the Smalltalk-80, Interlisp-D/Xerox
Lisp, and Cedar programming environments and on other projects
mostly related to the design and implementation of programming
languages, including leadership of the SchemeXerox project
exploring large-scale software development in the Scheme
programming language. He is the founder and chief administrator
of LambdaMOO, one of the most popular recreational social virtual
realities on the Internet. His current work centers on the
Network Places project, investigating the implementation,
applications, and implications of systems that allow multiple
simultaneous users to communicate and interact in pseudo-physical
surroundings.
17. Josef Dalcolmo
I am a Senior Development Engineer (holding a Ph.D. in Physics)
at the University of California at Berkeley. I have been working
for the Austrian Academy of Sciences, the European Space Agency
and for the last six years for the University of California at
Berkeley, Space Sciences Laboratory.
18. Hugh Daschbach
Hugh Daschbach has been a professional programmer since 1973. He
has worked on numerous projects for both computer users and
vendors. Now employed as an independent software consultant, he
has worked on projects for Digital Research, IBM, Xerox, FileNet
Corporation, and the Aluminum Company of America.
19. L. Peter Deutsch
Dr. L. Peter Deutsch received the Ph.D. in Computer Science from
U.C. Berkeley in 1973. Prior to the Ph.D. he was one of the key
designers and implementors of the SDS 940 time-sharing system,
the first commercial, general-purpose time-sharing system using
paging hardware. In his subsequent 13 years at Xerox PARC, where
he attained the position of Research Fellow, he was one of the
key designers and implementors of the research prototype of the
Interlisp-D system; a significant contributor to the design of
the Cedar Mesa language and the Smalltalk-80 programming
environment; and the principal creator of PS, the first
high-performance implementation of the Smalltalk language and
programming environment on microprocessor-based hardware. From
1986 to 1991, Dr. Deutsch was Chief Scientist at ParcPlace
Systems, where he was a principal designer of a high-performance
Smalltalk implementation that is also highly portable across
processors, operating systems, and window systems. From 1991 to
early 1993, Dr. Deutsch held the position of Sun Fellow at Sun
Microsystems, where he helped define future corporate strategy
and technology in a variety of areas. In 1993, Dr. Deutsch
founded, and from 1993 to 1995 served as President of, Artifex
Software Inc., which commercially licenses a highly portable
high-performance implementation of the PostScript language
developed by Dr. Deutsch that is also available for
non-commercial use from the Internet under the name Ghostscript.
Dr. Deutsch was a co-recipient of the ACM Software System Award
in 1993, and in 1993 was also named a Distinguished Alumnus of
the U.C. Berkeley Computer Science program. Dr. Deutsch is a
member of ACM, IEEE, CPSR, and the League for Programming
Freedom.
20. Antonio J. De Vido
Systems Administrator, Sanwa Financial Products, L.P.
B.S. Computer Science, Yale University 1993.
21. Robert B. K. Dewar
Professor of Computer Science and Associate Director of the
Courant Institute of Mathematical Sciences at New York
University. Active in operating systems and programming languages
design for thirty years. Principle designer and author of the
SPITBOL system. Chairman of IFIP WG2.1. Member of ISO
standardization committees. Author of "Microprocessors: A
Programmer's View", McGraw Hill 1990. Active in the design and
development of the Ada language. One of the principle authors and
designers of the GNAT system, a completely free software
implementation of Ada 95 in current use at thousands of sites
world wide. President of Ada Core Technologies, a company
dedicated to Free Software and the encouragement of the use of
Ada 95.
22. Mark-Jason Dominus
I was a systems programmer for the University of Pennsylvania
Department of Computer and Information Sciences from 1990-1994,
when I left to help start `Pathfinder', Time-Warner's Internet
information service. I now run Plover Systems, which provides
consulting services to people who want to set up Internet-based
information services.
23. Lester Earnest
Education:
B.S. Electrical Engineering, Caltech, 1953
M.S. EE/Computer Science, MIT, 1960
Professional experience:
1988-present: Consultant, Los Altos Hills, CA
1985-1988: Stanford University, Stanford, CA; Associate Chairman
of Computer Science Department
1980-85: Founding President of Imagen Corporation, Santa Clara,
CA, which introduced the first desktop publishing systems using
laser printers.
1965-80: Executive Officer, Artificial Intelligence Laboratory,
Stanford University, Stanford, CA.
1963-65: Department Head, Information Systems Dept., Mitre Corp.,
Washington, DC
1958-63: Subdepartment Head, Intelligence Systems Dept., Mitre
Corp., Bedford, MA.
1956-57: Member, Technical Staff, MIT Lincoln Laboratory,
Lexington, MA.
Invented the first computer spelling checker (1967). Created the
first pen-based computer system that reliably recognized cursive
handwriting (1961). Created the first FINGER program (1973),
which has since become a standard utility on most computer
systems on the Internet. Was a member of the technical committee
that evaluated initial bidders on the creation of ARPAnet, which
became the Internet. Organized and led the first successful
robotics project at Stanford, which employed a TV camera and
mechanical arm (1966-68). Later initiated a visually-guided
vehicle project (Stanford Cart, 1969), which led to a number of
Ph.D. dissertations.
24. Paul Eggert
Director, R&D
Twin Sun Inc.
El Segundo, CA
Paul Eggert has directed software research and development
projects at Twin Sun since 1989 in the areas of networked
multimedia, computer supported cooperative work, and software
reliability. From 1986 to 1989, Eggert was Senior Advisor to
Management at Unisys Corporation, mostly working in the area of
software verification. From 1983 to 1986, he was technical
director and then Chief Scientist at Silogic Inc, directing
development of logic programming software tools. From 1980 to
1983, he was Assistant Professor of Computer Science at the
University of California, Santa Barbara.
25. Thomas G. W. Epperly
Computational Chemical Engineering. Education: BS Chemical
Engineering,
Carnegie-Mellon University, 1988; PhD Chemical Engineering,
University of Wisconsin-Madison, 1995. Honors & Awards:
Computational Science Graduate Fellowship (U.S. Dept. of Energy)
1991-95. Experience: Research Associate, Imperial College,
England.
26. Michael Ernst
Lecturer at Rice University. He has performed research in the
areas of artificial intelligence, parallel algorithms, compilers,
cryptography, intellectual property, compilers, and static
analysis. He has a Bachelor's and Master's degree from
MIT.
27. Craig A. Finseth
Author of the main book on how to write text editors: "The Craft
of Text Editing, or, Emacs for Modern Times." Also, author of
several programs distributed under GNU CopyLeft including Freyja
(an Emacs for very small machines) and Loki (a calculator for the
same). I am the manager of the data network for the State of
Minnesota (~53,000 computers), an area in which it is crucial
that users have access to multiple vendors that implement the
same interfaces.
28. Simson L. Garfinkel
Author, Practical UNIX Security (O'Reilly & Associates,
1991)
PGP: Pretty Good Privacy (O'Reilly & Associates, 1994)
NeXTSTEP Application Programming (1993)
29. Daniel E. Geer, Jr., Sc.D.
Head of engineering for special projects at Open Market, Inc., a
market leader in electronic commerce technology with corporate
headquarters in Cambridge, Mass. Dr. Geer has been a successful
entrepreneur in network security and distributed systems
management, culminating in a successful sale of his own company
to OpenVision Technologies, where he subsequently served as Chief
Scientist, V.P. of Technology, and Managing Director of their
security consulting services. Previously, he served as Technical
Director, Innovation Technology Resource Center, Digital
Equipment Corporation, and was Manager of Systems Development for
MIT's Project Athena where he was the responsible manager for all
technical development, including X, Kerberos, and all other
aspects of the Project Athena Network Services System. He holds a
Bachelor of Science in Electrical Engineering and Computer
Science from MIT, and a Doctor of Science in Biostatistics from
Harvard University, and was deeply involved in medical computing
for fifteen years.
30. Howard Goldstein
Mr. Goldstein is President and CEO of InfoMotion Inc., a Florida
software engineering firm that develops software for the wireless
data-communications industry. He graduated cum laude from Stetson
U. College of Law, and is a member of The Florida Bar.
31. Allan Gottlieb
Professor of Computer Science, New York University
Director, NYU Ultracomputer Research Laboratory
Co-editor, Journal of Parallel and Distributed Computing
32. Paul Haahr
Employment: Harlequin Inc, senior software engineer,
1994-present.
Kaleida Labs, Inc., senior software engineer, 1993-94.
Adobe Systems Inc., computer scientist, 1990-93.
Polygen, Inc., 1987, systems administrator.
Oracle Systems, Inc., 1986-87, member of technical staff.
Education: Princeton University, AB in computer science, summa
cum laude, 1990.
Published work: Contributor to Dylan Language and Reference
Manual, Apple Computer, 1995. ``Es: A shell with higher-order
functions,'' co-authored with Byron Rakitzis, Winter 1993 Usenix
conference proceedings. "Montage: Breaking windows into small
pieces,'' Summer 1990 Usenix conference proceedings.
33. Jeffrey R. Hagen
Currently Senior Scientific Programmer Analyst with the National
Radio Astronomy Observatory in Tucson Az.
Past five years responsible for the real-time control system at
the Twelve Meter Radio Telescope on Kitt Peak. Wrote the 'RAMBO'
interpretive C language which we use to define observing modes at
the twelve meter. Wrote the telescope operators interface and
well as others.
34. Darrel Hankerson Associate Professor Department of
Discrete and Statistical Sciences
120 Mathematics Annex
Auburn University
35. Diane Harrison
Business programmer at Triad since 1979
36. Brian Harvey Lecturer, Computer Science Division,
University of California at Berkeley
I am the author of several books about computer science, and the
chief implementor of Berkeley Logo, a freeware version of the
Logo programming language.
37. Jeff Hay
Computer Science undergrad at New Mexico Tech. Has several small
programs in the public domain/shareware markets.
38. Christopher T. Haynes
Christopher T. Haynes is Associate Chair for Education and
Associate Professor in the Computer Science Department of Indiana
University at Bloomington, where he directs the Scheme
Educational Infrastructure project funded by the National Science
Foundation. He chaired the IEEE Scheme Working Group that
developed the IEEE and ASCII Scheme standard and has been from
its inception a member of the Scheme report author's group.
Professor Haynes is co-author of the MIT Press/McGraw Hill text
"Essentials of Programming Languages", which uses Scheme
throughout. Professor Haynes has authored over a dozen
programming language research papers. As well as teaching at
Indiana University since 1982, he has taught graduate courses at
MIU in Fairfield, Iowa, IISc in Bangalore, India, and ITESM in
Monterrey, Mexico, and has consulted with industry. He received a
PhD degree in computer science from the University of Iowa in
1982 and a BA degree in mathematics from Lehigh University in
1973.
39. Richard F. Hilliard, II
Lead systems architect, at the MITRE Corporation. Active in ISO,
ANSI and U.S. Department of Defense Standardization activities.
Member of the Ada 9X Mapping/Revision Team.
40. Michael D. Hirsch
Assistant Professor of Mathematics and Computer Science
Emory University
AB: Princeton 1984; PhD: Berkeley 1990
NSF Postdoc: 1990-1993
41. Christian D. Hofstader
Chris Hofstader is a co-founder, director and the primary
organizer of the League for Programming Freedom. He is also a
programmer and has contributed to many popular PC products
including: The Bank Street Writer, Portfolio's Dynodex and
WordPerfect Works for Windows. His recent projects include the
design of user interfaces for blind and low vision users of
personal computers.
42. Max Hyre
Staff Engineer
General Signal Networks
Shelton, Connecticut 06484
I have been a programmer of embedded communications systems for
17 years, and as such my work has relied critically on the
availability of multiple programs presenting the same user
interface (such as text editors & word processors, compilers,
and debugging programs).
43. Philip Jensen
I have been working in computer software since high school days.
I hold the degree of Bachelor of Arts in Applied Mathematics,
granted by Harvard College. I am currently employed by
CompuServe, Inc.
44. Jim Johnson
I have been a published computer industry columnist since June of
1990, covering career issues and industry trends. I'm also a
Certified Personnel Consultant (CPC), and have served as a
personnel consultant to the computer industry since 1987.
45. Phil Karn
I am an engineer in the communications industry with 16 years of
professional experience. I have written a computer networking
software package that is very widely used to provide low-cost
access to the Internet over ordinary telephone lines. I am
currently employed in the digital wireless communications
industry and reside in southern California.
46. John Kohl
Systems Software Programmer, 10 years experience.
Mr. Kohl has authored technical papers on computer security and
file system storage, and many freely-available software packages
including hardware device driver modules, disk filing system
modules, and network authentication programs. He holds a MS in
computer science from the University of California, Berkeley, and
a BS in computer science from the Massachusetts Institute of
Technology.
47. Markus Krummenacker
Software Consultant
1994-1995: Director of Research, Nanothinc, San Francisco,
California. Key work in overall layout of WWW server and company
strategy. 1992-1993: Research Associate, Institute for Molecular
Manufacturing, Palo Alto, California. Analysis of Molecular
Building Blocks, and writing the CavityStuffer Program (in
CommonLISP). 1990-1992: Visiting Researcher, Dept. of Molecular
and Cell Biology, University of California at Berkeley. Isolation
via PCR, and sequence determination of homologous genes for the
Ferric Uptake Repressor in bacteria.
48. Andrew Kuchling
Andrew Kuchling is a native of Canada, currently working as a
programmer for a Montreal software firm that is a leader in the
field of corporate calendaring software. His interests include
cryptography, novel programming languages, and general network
applications, such as the World-Wide Web. Among other things, he
maintains the major toolkit of cryptography extensions for the
Python programming language.
49. Phil Laird
Dr. Philip Laird is a Computer Scientist with the Computational
Sciences Division at NASA's Ames Research Center in Mountain
View, California.
50. Charles Landau
Tandem Computers
Cupertino, CA 95014
BSEE, MIT, '71; MSEE, MIT, '72
Founder, Key Logic Inc. (a software company)
Founder, MACS Lab, Inc.
Architect of the KeyKOS operating system.
Author of several published papers on KeyKOS and other
subjects.
Computer programmer from 1968 to the present.
51. Emery W. Lapinski
I hold a BA in CS from NYU and have been professionally designing
and implementing GUIs for applications used in the Banking and
Telecommunications industries for the past few years.
52. James E. Leinweber
I have used computers for over 23 years, and have been a
full-time professional computer programmer, analyst and
administrator since 1984. I currently work for the Wisconsin
State Laboratory of Hygiene, a public health Lab at the
University of Wisconsin in Madison. I hold a Master's degree in
Mathematics from Michigan State University, and am a member of
Phi Beta Kappa, Computer Professionals for Social Responsibility,
and the League for Programming Freedom.
53. John McCarthy
John McCarthy is Professor of Computer Science at Stanford
University. He has been interested in artificial intelligence
since 1948 and coined the term in 1955. His main artificial
intelligence research area has been the formalization of common
sense knowledge. He invented the LISP programming language in
1958, developed the concept of time-sharing in the late fifties
and early sixties, and has worked on proving that computer
programs meet their specifications since the early sixties. He
invented the circumscription method of non-monotonic reasoning in
1978.
His main research (1995) is formalizing common sense knowledge
and reasoning. His most recent paper is on formalization of
context.
McCarthy received the A. M. Turing award of the Association for
Computing Machinery in 1971 and was elected President of the
American Association for Artificial Intelligence for 1983-84 and
is a Fellow of that organization. He received the first Research
Excellence Award of the International Joint Conference on
Artificial Intelligence in 1985, the Kyoto Prize of the Inamori
Foundation in November 1988, and the National Medal of Science in
1990. He is a member of the American Academy of Arts and
Sciences, the National Academy of Engineering and the National
Academy of Sciences. He has received honorary degrees from
Link\"oping University in Sweden, the Polytechnic University of
Madrid, Colby College, Trinity College, Dublin and Concordia
University in Montreal. He has been declared a Distinguished
Alumnus by the California Institute of Technology.
54. Chris McCraw
Network administrator for the Texas Institute of Computational
& Applied Mathematics; contract work--Internet/heterogeneous
networking/Internet + Unix focus.
55. Steven W. McDougall
Education: BSEE, Princeton University 1982; MSE, Stanford
University 1983
Employment: 1983-1987 Electrical Engineer, General Computer Co.
Waltham MA; 1987-1990 Electrical Engineer, OsteoTechnology, Inc
Framingham MA; 1990-1992 Software Engineer,Varityper, Billerica
MA; 1992-1993 Software Engineer, Sepracor, Marlbourough MA;
1993-1995 Software Engineer, Genome Therapeutics,Waltham
MA
56. Geoff Mendal
Vice President of Engineering
Tri-Pacific Consulting Corporation
Technical lead of a large-scale porting effort for Sun
Microsystems, Inc.: the SunSoft Workshop (C, C++, ProWorks, and
TeamWare tools) is being ported from SunOS 5.x to HP-UX 9.0x.
Co-author of 2 research/reference texts on the programming
language Ada (Exploring Ada, volumes 1 and 2).
57. Emilio Millan
Software engineer for Central Data Corporation of Champaign,
Illinois.
58. Clark Morgan
Clark O. Morgan is an independent consultant and full-time
computer software engineer, currently working on a contract basis
with Intel Corp. I have been working full-time in the computer
industry since 1984. My particular areas of interest are language
recognition and the development of embedded, real-time
hardware/software interfaces. My accomplishments include the
development of an instrumentation control language for a digital
oscilloscope (at Tektronix, Inc.), the development and
maintenance of a Motif-compatible e-mail browser (as an employee
of Mentor Graphics, Corp.), and the development of a paperless
"run card" for Intel's premier wafer fabrication research
facility in Aloha, Oregon.
59. Neil Vincent Murray
Associate Professor, Department of Computer Science, SUNY at
Albany, Albany, New York 12222, 1987-present. Assistant
Professor, Department of Computer Science, SUNY at Albany,
Albany, New York 12222, 1982-1987. Assistant Professor, Computer
Science Department, LeMoyne College, Syracuse, New York 13214,
1979-1982. Cornell University, Ithaca, New York 1966-1970, B.S.
Engineering Physics, June 1970 Syracuse University, Syracuse, New
York 1971-1979 M.S. Computer and Information Science, January
1974, Ph.D. Computer and Information Science, August 1979
60. Russell Nelson
Russell Nelson has been programming professionally since 1975. He
has written at least one of nearly every type of program,
including compilers, interpreters, macro-based text editors, and
other types of programs related to this brief. His work has been
recognized by PC Magazine for Technical Excellence in 1990.
Somewhere between a hundred thousand and a million people are
using his software.
61. Jeffrey F. Painter
B.S., Mathematics, Harvey Mudd College, 1973 M.S., Computer
Science, University of Wisconsin-Madison, 1977 Ph.D., Applied
Mathematics University of Wisconsin-Madison, 1979 Mathematician,
Lawrence Livermore National Laboratory (University of
California), 1979-present. I write computer codes for scientific
simulations. I also developed a user interface and input language
for a program that partly automates the development of scientific
simulation codes. Articles I wrote are in journals and books on
mathematics, engineering, and computer science.
62. Kent M. Pitman
Principal Technical Consultant, Harlequin Inc. [*] Project Editor
[*] and International Representative [*] for subcommittee X3J13
(ANSI programming language Common Lisp, X3.226). US
Representative [*] to and Project Editor [*] for subcommittee
ISO/IEC JTC 1/SC 22/WG 16 (work in progress toward design of ISO
programming language ISLISP).
Co-Author of "Revised Report on the Algorithmic Language Scheme",
MIT AI Memo 848b, Cambridge, MA, Jul-Sep 1991.
* = Title indicated shows affiliation but the signature offered
here is not offered as official act of representation under that
title. The title is offered here for purpose of identification
and establishment of credentials only.
63. Steven Pothier
Mr. Pothier is a Senior Computer Scientist for the SAIC Image
Technology and Systems Division. He works on state-of-the-art
software systems incorporating object-oriented languages,
advanced decision techniques, re-configurable user interfaces,
and genetic programs. Mr. Pothier is an expert-level C, and LISP
programmer and has considerable experience in many other high and
low-level languages many of which are high-level (4GL) languages.
He has several years experience programming SIMD and MIMD
parallel processors, including experience with data-parallel
languages for the Connection Machine Model 2 (*Lisp, C/Paris,
C*).
64. John Ramsdell John Ramsdell is a Lead Scientist at The
MITRE Corporation, Bedford MA. He has been employed there for 12
years. In 1982, he received his Ph.D. in Applied Mathematics,
concentrating in numerical and discrete methods, from Harvard
University. In 1976, he received his B.S., in Engineering
Physics, from Cornell University.
At MITRE, John Ramsdell specializes in parallel and functional
programming, high performance computation and communication, and
formal verification. His activities have contributed to the
construction of a verified processor which executes functional
programs, and the construction of a formally verified
implementation of a programming language (Scheme). He is involved
in an effort to replace special purpose hardware for signal
processing by commercial massively parallel processors.
65. Lyle Ramshaw
After getting my PhD under Prof. Donald E. Knuth at Stanford in
1979, I have been doing computer science research, first for
Xerox Corporation and now for Digital Equipment Corporation. I
pioneered "blossoming", a new approach to the mathematical theory
underlying the "spline" curves and surfaces that are used in
computer-aided geometric design.
66. Travis Raybold
I am a computer programmer, dealing mainly in cgi scripting for
the world wide web.
67. Mark Riordan
Mark Riordan is the original author of the popular freeware
Usenet newsreader WinVN, and of a free encryption program named
RIPEM.
68. Arnold Robbins
I am the maintainer of GNU AWK, a freely available implementation
of the AWK computer programming language. My involvement with
this program has greatly improved my programming and writing
skills, and has allowed me to improve the lot of hundreds of
thousands of people who use GNU AWK daily for their work.
69. Michael C. Robert
Project Leader
I have been programming user interfaces for 11 years and I am
currently working for a consulting company that designs and
builds mass-market applications for Fortune 500 companies. To be
an effective programmer, I have had to also become quite familiar
with users and their expectations and needs.
70. Erik Rosenthal
I am a professor in the department of mathematics at the
University of New Haven; my research interests are in the area of
automated deduction. My Ph.D. is from Univ. of Calif. at
Berkeley.
71. Roger Schlafly Independent software developer. Ph.D. in
Mathematics, Univ. of California (Berkeley). Worked in the
software industry for ten years.
72. Karl F. Sierka
Boulder, Colorado
I am currently working for an ISP, doing usenet news admin. I
have been doing computer work since the early eighties. I have
written several large programs in several languages, each
requiring extensive interactions with users.
73. Rafael Sorkin
He has degrees in physics from Harvard (undergrad) and Caltech
(grad). Prof. of Physics at Syracuse University, on editorial
board of International J. of Theoretical Physics. One of first
people to use computers for numerical General Relativity (in
around 1973).
74. Todd Squires
Graduate of University of Illinois at Urbana, 1987, B.S. Computer
Science. Working in the computer industry for 15 years. Major
areas of concentration: Video games, development tools.
75. Gerald Jay Sussman
Gerald Jay Sussman is the Matsushita Professor of Electrical
Engineering at the Massachusetts Institute of Technology. He
received the S.B. and the Ph.D. degrees in mathematics from the
Massachusetts Institute of Technology in 1968 and 1973,
respectively. He has been involved in artificial intelligence
research at M.I.T. since 1964. He has also worked in computer
languages and in computer architecture and in VLSI design.
Sussman was the principal designer of the Digital Orrery, a
machine designed to do high-precision integrations for
orbital-mechanics experiments. Using the Digital Orrery, Sussman
and Jack Wisdom, discovered numerical evidence for chaotic
motions in the solar system. The Digital Orrery is now retired at
the Smithsonian Institution in Washington DC. Sussman is a
coauthor (with Hal Abelson and Julie Sussman) of, "Structure and
Interpretation of Computer Programs," the introductory computer
science textbook used at M.I.T. As a result of his contributions
to computer-science education, Sussman received the ACM's Karl
Karlstrom Outstanding Educator Award in 1990, and the Amar G.
Bose award for teaching in 1991.
76. Dr. Christopher Vickery
Dr. Christopher Vickery is professor of computer science at
Queens College of CUNY. He is the author of the volume,
"Real-Time and Systems Programming for PCs" (McGraw-Hill, 1993),
and is listed in the current edition of Marquis' Who's Who in the
East. Dr. Vickery has developed a number of software development
tools for microprogrammable computers and real-time systems,
which have been distributed freely to coworkers in the
industry.
77. Philip Wadler
Philip Wadler is a Professor of Computing Science at the
University of Glasgow. He serves as editor-in-chief of the
Journal of Functional Programming, published by Cambridge
University Press; and wrote with Richard Bird `Introduction to
Functional Programming', which has been translated into Dutch,
German, and Japanese. He helped design Haskell, the most widely
used lazy functional programming language; and currently consults
with Ericsson Telecommunications on the design of a type system
for Erlang, a concurrent functional language used in phone
switches. He has been an invited speaker at conferences in
Gdansk, London, New Haven, Portland, Santa Fe, and Sydney; and
was an ACM distinguished lecturer 1989--1993. He previously held
a research post at Oxford University, and the title of his
doctoral dissertation from Carnegie-Mellon was `Listlessness is
better than laziness'.
78. John Wardale
BSECE 1983, MSCS 1985 [UW-Madison]
Jobs: Engineering Computing Lab
Computer Aided Engineering Center
Astronautics Technology Center [unix-OS group member for the ZS-1
mini-super computer group]
Persoft Inc. [R&D team member -- application
programer]
79. Joel Welling
Joel Welling holds a PhD in gravitational physics. For almost a
decade he has worked at the Pittsburgh Supercomputing Center,
where he writes software for scientific computer graphics in
support of the research of academic scientists in a number of
locations across the US. He has written several computer graphics
packages (including some supporting the CGM standard graphics
metafile, the P3D system for three dimensional graphics, and the
VFleet volume rendering package) which are available free via the
Internet.
80. Ben White
Ben White is a computer scientist, with an M.S. degree from San
Jose State University. He has 11 years of experience developing
both computer software and hardware, including development of a
visual programming environment called "Flowtran". He is currently
employed with a maker of semiconductor manufacturing equipment.
He has been a member of the League for Programming Freedom for
four years.
81. Jan Zytkow
Jan Zytkow received his Ph.D. from the University of Warsaw in
Philosophy of Science in 1972, and his habilitation in 1979.
Until 1982 he worked at the University of Warsaw, researching and
teaching logic, methodology of science, and philosophy. From
1982, for two years he was a Visiting Professor at
Carnegie-Mellon University in Pittsburgh, where he worked on
machine discovery, collaborating with Herbert Simon and Pat
Langley. In 1984 he joined the Wichita State University where he
has been a Professor of Computer Science and in addition to his
research on discovery, he worked on autonomous decision making by
automated pilot, on learning mechanisms for automated pilot, and
on computer vision. He founded a machine discovery laboratory in
which automated computer systems together with robotic hardware
perform experiments and build theories in chemistry, mechanics
and the like. Other research activities in the laboratory include
discovery of hidden structure, discovery in databases, and
discovery in geometry.