Page:Sony Computer Entertainment, Inc. v. Connectix Corporation.pdf/5

From Wikisource
Jump to navigation Jump to search
This page has been proofread, but needs to be validated.
600
203 FEDERAL REPORTER, 3d SERIES

Method (1) is the least effective, because individual software manuals often misdescribe the real product. See id. It would be particularly ineffective in this case because Sony does not make such information available about its PlayStation. Methods (2), (3), and (4) require that the person seeking access load the target program on to a computer, an operation that necessarily involves copying the copyrighted program into the computer’s random access memory or RAM.[1]

Method (2), observation of a program, can take several forms. The functional elements of some software programs, for example word processing programs, spreadsheets, and video game displays may be discernable by observation of the computer screen. See Sega, 977 F.2d at 1520. Of course, the reverse engineer in such a situation is not observing the object code itself,[2] only the external visual expression of this code’s operation on the computer. Here, the software program is copied each time the engineer boots up the computer, and the computer copies the program into RAM.

Other forms of observation are more intrusive. Operations systems, system interface procedures, and other programs like the Sony BIOS are not visible to the user when they are operating. See id. One method of “observing” the operation of these programs is to run the program in an emulated environment. In the case of the Sony BIOS, this meant operating the BIOS on a computer with software that simulated the operation of the PlayStation hardware; operation of the program, in conjunction with another program known as a “debugger,” permitted the engineers to observe the signals sent between the BIOS and other programs on the computer. This latter method required copying the Sony BIOS from a chip in the PlayStation onto the computer. The Sony BIOS was copied again each time the engineers booted up their computer and the computer copied the program into RAM. All of this copying was intermediate; that is, none of the Sony copyrighted material was copied into, or appeared in, Connectix’s final product, the Virtual Game Station.

Methods (3) and (4) constitute “disassembly” of object code into source code.[3] In each case, engineers use a program known as a “disassembler” to translate the ones and zeros of binary machine-readable object code into the words and mathematical symbols of source code. This translated source code is similar to the source code used originally to create the object code[4] but lack the annotations drafted by the authors of the program that help explain the functioning of the source code. In a static examination of the computer instructions, method (3), the engineer disassembles the object code of all or part of the program. The program must generally be copied one or more times to perform disassembly. In a dynamic examination of the computer instructions, method (4), the engineer uses the disassembler program to disassemble parts of the program, one instruction at a time, while the program is running. This method also requires copy-

  1. Any purchaser of a copyrighted software program must copy the program into the memory of a computer in order to make any use at all of the program. For that reason, 17 U.S.C. § 117(a)(1) provides that it shall not be an infringement for one who owns a software copy to make another copy “created as an essential step in the utilization of the computer program in conjunction with a machine and that it is used in no other manner.” Connectrix contends that its copying is within the protection of section 117, but our disposition of the fair use issue makes it unnecessary for us to address that contention. See Sega, 977 F.2d at 1517–18 (rejecting contention that disassembly is protected by section 117).
  2. Object code is binary code, consisting of a series of the numerals zero and one, readable only by computers.
  3. Source code is readable by software engineers, but not by computers.
  4. Software is generally written by programmers in source code (and in other conceptual formats) and then assembled into object code.