Intellectual Property, Pages 390–406

Computer Associates v. Altai, Inc.

United States Court of Appeals for the Second Circuit, 1992

Facts:

Plaintiff CA created a program called CA-SCHEDULER, which schedules tasks on IBM mainframe computers. It contains a wholly integrate sub-program called ADAPTER which translates programs into the different languages to support different operating systems.

Defendant Altai began selling its own job scheduling program called ZEKE. ZEKE originally only ran on one operating system, VSE, but they then rewrote it to run on MVS as well. To do this, Altai recruited a programmer from CA named Arney, who had worked on ADAPTER and had copies of the source code, though the rest of Altai did not know he had this. Because just adapting it for MVS would require rewriting ~30% of the program, Arney recommended that Altai implement a "common system interface" component like ADAPTER. They named this component-program OSCAR. Arney created it based off ADAPTER's code, and copied roughly 30% of such, and Altai began to include it with ZEKE.

CA then learned of Altai's appropriation of ADAPTER's source code. It copyrighted CA-SCHEDULER and then sued Altai for copyright and trade secret misappropriation. The complaint of this case was the first that Altai learned that Arney had copied the code from ADAPTER. It then learned what sections of code had been copied and had people other than Arney rewrite those sections, which was finished after six months. This new version was released as OSCAR 3.5. It was offered as a free upgrade and became the only version sold from then on out.

Procedural History:

District court found that OSCAR 3.5 was not substantially similar to ADAPTER and thus did not infringe.

Issue:

Did defendant's rewritten program infringe on plaintiff's copyright in ADAPTER?

Rules:

  • One can prove copyright infringement by showing that:

    1. The defendant had access to plaintiff's copyrighted work.
    2. The defendant's work is substantially similar to the plaintiff's copyrightable material.
  • LexisNexis IconWestLaw LogoGoogle Scholar LogoPage 394

    Where "the fundamental essence or structure of one work is duplicated in another," courts have found copyright infringement.

Reasoning:

Computer programs are literary works, and the non-literal structure of literary works are protected by copyright. Thus, the non-literal structure of computer programs are protected by copyright.

Copyright does not protect ideas however, only the expressions thereof. This applies also to computer programs. Fixing the line between idea and expression is hard. Judge learned Hand said that "nobody ever can."

When an aspect of a work "must necessarily be used as incident to" the idea, system, or process that the work describes, it is also not copyrightable. However, even with this, it is still hard to separate ideas from expressions. Computer programs comprise many interacting subroutines, each its own program with its own idea.

Rule:

To find whether the non-literal parts of computer programs are substantially similar, a three-part process must be used:

  1. Isolate the abstract elements of the works and identify which are ideas and which are expressions
  2. Filter out the non-protectable elements from the products
  3. Compare the remaining elements

Evaluation:

This test furthers the constitutional policies underlying the Copyright Act. It prevents first comers from "locking up" basic programming techniques, while still affording programs protections.

Holding:

No, the non-literal structure of defendant's program was not substantially similar to plaintiff's. Affirmed in part, vacated in part, and remanded for further proceedings.


Warning: Undefined variable $geo in /home/public/ads.php on line 132

Warning: Undefined variable $geo in /home/public/ads.php on line 132

Warning: Trying to access array offset on value of type null in /home/public/ads.php on line 132

Warning: Undefined variable $geo in /home/public/ads.php on line 135

Warning: Undefined variable $geo in /home/public/ads.php on line 135

Warning: Trying to access array offset on value of type null in /home/public/ads.php on line 135

Warning: Undefined variable $geo in /home/public/ads.php on line 135

Warning: Trying to access array offset on value of type null in /home/public/ads.php on line 135

Warning: Undefined variable $geo in /home/public/ads.php on line 135

Warning: Trying to access array offset on value of type null in /home/public/ads.php on line 135

Warning: Undefined variable $geo in /home/public/ads.php on line 135

Warning: Trying to access array offset on value of type null in /home/public/ads.php on line 135