Computer Associates International, Inc. v. Altai, Inc.

982 F.2d 693 (2nd Cir. 1992)

Facts

P markets a program entitled CA-SCHEDULER. CA-SCHEDULER is a job scheduling program designed for IBM mainframe computers. Its primary functions are straightforward: to create a schedule specifying when the computer should run various tasks, and then control the computer as it executes the schedule. CA-SCHEDULER contains a sub-program entitled ADAPTER. ADAPTER is a wholly integrated component of CA-SCHEDULER and has no capacity for independent use. ADAPTER is an 'operating system compatibility component,' or simply a translator. An 'operating system' is itself a program that manages the resources of the computer, allocating those resources to other programs as needed. The IBM System 370 family of computers, for which CA-SCHEDULER was created, is, depending upon the computer's size, designed to contain one of three operating systems: DOS/VSE, MVS, or CMS. ADAPTER's function is to translate the language of a given program into the particular language that the computer's operating system can understand. A program like ADAPTER, which allows a computer user to change or use multiple operating systems while maintaining the same software, is highly desirable. D began marketing its job scheduling program entitled ZEKE. The original version of ZEKE was designed for use in conjunction with a VSE operating system. D decided to rewrite ZEKE so that it could be run in conjunction with an MVS operating system. P approached Arney, III ('Arney'), a computer programmer who worked for P. D wanted to recruit Arney to assist D in designing an MVS version of ZEKE. D did not know that ADAPTER was a component of CA-SCHEDULER. Arney was intimately familiar with various aspects of ADAPTER. When Arney left P to work for D in January 1984, he took with him copies of the source code for both the VSE and MVS versions of ADAPTER. He did this in knowing violation of P employee agreements that he had signed. Arney persuaded D that the best way to make the needed modifications was to introduce a 'common system interface' component into ZEKE. They named this new component program OSCAR. Arney went to work creating OSCAR using the ADAPTER source code. The district court accepted D's testimony that no one at D, with the exception of Arney, affirmatively knew that D had the ADAPTER code, or that he was using it to create OSCAR/VSE. In three months, Arney successfully completed the OSCAR/VSE project. In an additional month, he developed an OSCAR/MVS version. Arney had copied approximately 30% of OSCAR's code from CA's ADAPTER program. From 1985 to August 1988, D used OSCAR 3.4 in its ZEKE product, as well as in programs entitled ZACK and ZEBB. In late July 1988, P first learned of the transgression and brought this copyright and trade secret misappropriation action against D. Arney confirmed that CA's accusations of copying were true. D initiated OSCAR's rewrite. The project's goal was to save as much of OSCAR 3.4 as legitimately could be used, and to excise those portions which had been copied from ADAPTER. Arney was entirely excluded from the process, and his copy of the ADAPTER code was locked away. D put eight other programmers on the project, none of whom had been involved in any way in the development of OSCAR 3.4. D provided the programmers with a description of the ZEKE operating system services so that they could rewrite the appropriate code. The rewrite project took about six months to complete and was finished in mid-November 1989. The resulting program was entitled OSCAR 3.5. D shipped OSCAR 3.5 as a 'free upgrade' to all customers that had previously purchased OSCAR 3.4. The judge found that D's OSCAR 3.4 had infringed P's copyright. It awarded $364,444 in actual damages and apportioned profits. The judge found that OSCAR 3.5 program was not substantially similar to a portion of CA-SCHEDULER called ADAPTER, and thus denied relief. P appealed. P asserts in part that the test applied by the district court failed to account sufficiently for a computer program's non-literal elements.