Course No. 9200-704 (& 804)-801
ID No. 85737 & 85736
Time: W 6:30 - 9:30 p.m.
Room Across from 231D (IP Alcove)
|Copyright © 2000, 2002, 2003, 2006, 2008, 2010 Jay Dratler, Jr. For permission, see CMI.|
Computer Associates International, Inc. v. Altai, Inc.82 F.2d 693 (2d Cir. 1992)
Before Altimari, Mahoney and Walker, Circuit Judges. Judge Altimari concurs in part and dissents in part in a separate opinion.
Walker, Circuit Judge:
* * * [*697]
BACKGROUND * * *
Certain elementary facts concerning the nature of computer programs are vital to the following discussion. The Copyright Act defines a computer program as "a set of statements or instructions to be used directly or indirectly in a computer in order to bring about a certain result." 17 U.S.C. § 101. In writing these directions, the programmer works from the general to the specific.
The first step in this procedure is to identify a program's ultimate function or purpose. An example of such an ultimate purpose might be the creation and maintenance of a business ledger. Once this goal has been achieved, a programmer breaks down or "decomposes" the program's ultimate function into simpler constituent problems or "subtasks," which are also known as subroutines or modules. In the context of a business ledger program, a module or subroutine might be responsible for the task of updating a list of outstanding accounts receivable. Sometimes, depending upon the complexity of its task, a subroutine may be broken down further into sub-subroutines. Having sufficiently decomposed the program's ultimate function into its component elements, a programmer will then arrange the subroutines or modules into what are known as organizational or flow charts. Flow charts map the interactions between modules that achieve the program's end goal.
In order to accomplish these intra-program interactions, a programmer must carefully design each module's parameter list. A parameter list, according to the expert appointed and fully credited by the district court, Dr. Randall Davis, is "the information sent to and received from a subroutine." The term "parameter list" refers to the form in which information is passed between modules (e.g. for accounts receivable, the designated time frame and particular customer identifying number) and the information's actual content (e.g. [*698] 8/91-7/92; customer No. 3). With respect to form, interacting modules must share similar parameter lists so that they are capable of exchanging information.
The functions of the modules in a program together with each module's relationships to other modules constitute the "structure" of the program." Additionally, the term structure may include the category of modules referred to as "macros." A macro is a single instruction that initiates a sequence of operations or module interactions within the program. Very often the user will accompany a macro with an instruction from the parameter list to refine the instruction (e.g. current total of accounts receivable (macro), but limited to those for 8/91 to 7/92 from customer No. 3 (parameters)).
In fashioning the structure, a programmer will normally attempt to maximize the program's speed, efficiency, as well as simplicity for user operation, while taking into consideration certain externalities such as the memory constraints of the computer upon which the program will be run. This stage of program design often requires the most time and investment.
Once each necessary module has been identified, designed, and its relationship to the other modules has been laid out conceptually, the resulting program structure must be embodied in a written language that the computer can read. This process is called "coding," and requires two steps. First, the programmer must transpose the program's structural blue-print into a source code. This step has been described as comparable to the novelist fleshing out the broad outline of his plot by crafting from words and sentences the paragraphs that convey the ideas. The source code may be written in any one of several computer languages, such as COBAL, FORTRAN, BASIC, EDL, etc., depending upon the type of computer for which the program is intended. Once the source code has been completed, the second step is to translate or "compile" it into object code. Object code is the binary language comprised of zeros and ones through which the computer directly receives its instructions. After the coding is finished, the programmer will run the program on the computer in order to find and correct any logical and syntactical errors. This is known as "debugging" and, once done, the program is complete.
* * *The subject of this litigation originates with one of Computer Associates' (CA's) marketed programs 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 to control the computer as it executes the schedule. CA-SCHEDULER contains a sub-program entitled ADAPTER, also developed by CA. ADAPTER is not an independently marketed product of CA; it is a wholly integrated component of CA-SCHEDULER and has no capacity for independent use.
Nevertheless, ADAPTER plays an extremely important role. It is an "operating system compatibility component," which means, roughly speaking, it serves as 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. As the district court noted, the general rule is that "a [*699] program written for one operating system, e.g., DOS/VSE, will not, without modification, run under another operating system such as MVS." ADAPTER's function is to translate the language of a given program into the particular language that the computer's own operating system can understand.
The district court succinctly outlined the manner in which ADAPTER works within the context of the larger program. In order to enable CA-SCHEDULER to function on different operating systems, CA divided the CA-SCHEDULER into two components:
ADAPTER serves as the second, "common system interface" component referred to above. A program like ADAPTER, which allows a computer user to change or use multiple operating systems while maintaining the same software, is highly desirable. It saves the user the costs, both in time and money, that otherwise would be expended in purchasing new programs, modifying existing systems to run them, and gaining familiarity with their operation. The benefits run both ways. The increased compatibility afforded by an ADAPTER-like component, and its resulting popularity among consumers, makes whatever software in which it is incorporated significantly more marketable.
Starting in 1982, Altai began marketing its own job scheduling program entitled ZEKE. The original version of ZEKE was designed for use in conjunction with a VSE operating system. By late 1983, in response to customer demand, Altai decided to rewrite ZEKE so that it could be run in conjunction with an MVS operating system.
At that time, James P. Williams ("Williams"), then an employee of Altai and now its President, approached Claude F. Arney, III ("Arney"), a computer programmer who worked for CA. Williams and Arney were longstanding friends, and had in fact been co-workers at CA for some time before Williams left CA to work for Altai's predecessor. Williams wanted to recruit Arney to assist Altai in designing an MVS version of ZEKE.
At the time he first spoke with Arney, Williams was aware of both the CA-SCHEDULER and ADAPTER programs. However, Williams was not involved in their development and had never seen the codes of either program. When he asked Arney to come work for Altai, Williams did not know that ADAPTER was a component of CA-SCHEDULER.
Arney, on the other hand, was intimately familiar with various aspects of ADAPTER. While working for CA, he helped improve the VSE version of ADAPTER, and was permitted to take home a copy of ADAPTER'S source code. This apparently developed into an irresistible habit, for when Arney left CA to work for Altai in January, 1984, he took with him copies of [*700] the source code for both the VSE and MVS versions of ADAPTER. He did this in knowing violation of the CA employee agreements that he had signed.
Once at Altai, Arney and Williams discussed design possibilities for adapting ZEKE to run on MVS operating systems. Williams, who had created the VSE version of ZEKE, thought that approximately 30% of his original program would have to be modified in order to accommodate MVS. Arney persuaded Williams that the best way to make the needed modifications was to introduce a "common system interface" component into ZEKE. He did not tell Williams that his idea stemmed from his familiarity with ADAPTER. They decided to name this new component-program OSCAR.
Arney went to work creating OSCAR at Altai's offices using the ADAPTER source code. The district court accepted Williams' testimony that no one at Altai, with the exception of Arney, affirmatively knew that Arney had the ADAPTER code, or that he was using it to create OSCAR/VSE. However, during this time period, Williams' office was adjacent to Arney's. Williams testified that he and Arney "conversed quite frequently" while Arney was "investigating the source code of ZEKE" and that Arney was in his office "a number of times daily, asking questions." In three months, Arney successfully completed the OSCAR/VSE project. In an additional month he developed an OSCAR/MVS version. When the dust finally settled, Arney had copied approximately 30% of OSCAR's code from CA's ADAPTER program.
The first generation of OSCAR programs was known as OSCAR 3.4. From 1985 to August 1988, Altai used OSCAR 3.4 in its ZEKE product, as well as in programs entitled ZACK and ZEBB. In late July 1988, CA first learned that Altai may have appropriated parts of ADAPTER. After confirming its suspicions, CA secured copyright [registration]s on its 2.1 and 7.0 versions of CA-SCHEDULER. CA then brought this copyright and trade secret misappropriation action against Altai.
Apparently, it was upon receipt of the summons and complaint that Altai first learned that Arney had copied much of the OSCAR code from ADAPTER. After Arney confirmed to Williams that CA's accusations of copying were true, Williams immediately set out to survey the damage. Without ever looking at the ADAPTER code himself, Williams learned from Arney exactly which sections of code Arney had taken from ADAPTER.
Upon advice of counsel, Williams 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. Williams put eight other programmers on the project, none of whom had been involved in any way in the development of OSCAR 3.4. Williams 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.
From that point on, Altai shipped only OSCAR 3.5 to its new customers. Altai also shipped OSCAR 3.5 as a "free upgrade" to all customers that had previously purchased OSCAR 3.4. While Altai and Williams acted responsibly to correct Arney's literal copying of the ADAPTER program, copyright infringement had occurred. * * *
[*701] DISCUSSION * * *
* * *
[The court's discussion of copyright issues, which is a seminal part of copyright jurisprudence, is omitted. In essence, the court developed the "abstraction–filtration–comparison" test for determining whether computer programs involve substantially similar expression apart from their ideas and, after applying it, affirmed the district court's dismissal of CA's copyright infringement claim based upon OSCAR 3.5. (This analysis did not change Altai's concession that it was liable for copyright infringement, and for damages, with respect to OSCAR 3.4.)]
[*715] II. TRADE SECRET PREEMPTIONIn its complaint, CA alleged that Altai misappropriated the trade secrets contained in the ADAPTER program. Prior to trial, while the proceedings were still before Judge Mishler, Altai moved to dismiss and for summary judgment on CA's trade secret misappropriation claim. Altai argued that section 301 of the Copyright Act preempted CA's state law cause of action. Judge Mishler denied Altai's motion, reasoning that "the elements of the tort of appropriation of trade secrets through the breach of contract or confidence by an employee are not the same as the elements of a claim of copyright infringement."
The parties addressed the preemption issue again, both in pre-and post-trial briefs. Judge Pratt then reconsidered and reversed Judge Mishler's earlier ruling. The district court concluded that CA's trade secret claims were preempted because "CAwhich is the master of its own casehas pleaded and proven facts which establish that one act constituted both copyright infringement and misappropriation of trade secrets [namely, the] copying [*716] of ADAPTER into OSCAR 3.4[.]."
In our original opinion, we affirmed Judge Pratt's decision. CA petitioned for rehearing on this issue. In its petition for rehearing, CA brought to our attention portions of the record below that were not included in the appendix on appeal. * * * Upon reconsideration, we have granted the petition for rehearing, withdrawn our initial opinion, and conclude in this amended opinion that the district court's preemption ruling on CA's trade secret claims should be vacated. We accordingly vacate the judgment of the district court on this point and remand CA's trade secret claims for a determination on the merits.
Congress carefully designed the statutory framework of federal copyright preemption. In order to insure that the enforcement of these rights remains solely within the federal domain, section 301(a) of the Copyright Act expressly preempts
A state law claim is not preempted if the "extra element" changes the nature of the action so that it is qualitatively different from a copyright infringement claim. To determine whether a claim meets this standard, we must determine what plaintiff seeks to protect, the theories in which the matter is thought to be protected and the rights sought to be enforced. [*717] An action will not be saved from preemption by elements such as awareness or intent, which alter the action's scope but not its nature[.]
Following this "extra element" test, we have held that unfair competition and misappropriation claims grounded solely in the copying of a plaintiff's protected expression are preempted by section 301. We also have held to be preempted a tortious interference with contract claim grounded in the impairment of a plaintiff's right under the Copyright Act to publish derivative works. See Harper & Row, Publishers, Inc., 723 F.2d at 201.
However, many state law rights that can arise in connection with instances of copyright infringement satisfy the extra element test, and thus are not preempted by section 301. These include unfair competition claims based upon breach of confidential relationship, breach of fiduciary duty and trade secrets.
Trade secret protection, the branch of unfair competition law at issue in this case, remains a uniquely valuable weapon in the defensive arsenal of computer programmers. Precisely because trade secret doctrine protects the discovery of ideas, processes, and systems which are explicitly precluded from coverage under copyright law, courts and commentators alike consider it a necessary and integral part of the intellectual property protection extended to computer programs. See . . . Integrated Cash Management Servs., Inc. v. Digital Transactions, Inc., 920 F.2d 171, 173 (2d Cir. 1990) (while plaintiff withdrew copyright infringement claim for misappropriation of computer program, relief for theft of trade secret sustained); Healthcare Affiliated Servs., Inc. v. Lippany, 701 F. Supp. 1142, 1152-55 (W.D.Pa. 1988) (finding likelihood of success on trade secret claim, but not copyright claim); Q-Co Indus., Inc., 625 F. Supp. at 616-18 (finding likelihood of success on trade secret claim, but no merit to copyright claim)[.]
The legislative history of section 301 states that "the evolving common law rights of . . . trade secrets . . . would remain unaffected as long as the causes of action contain elements, such as . . . a breach of trust or confidentiality, that are different in kind from copyright infringement." Congress did not consider the term "misappropriation" to be "necessarily synonymous with copyright infringement," or to serve as the talisman of preemption.
Trade secret claims often are grounded upon a defendant's breach of a duty of trust or confidence to the plaintiff through improper disclosure of confidential material. The defendant's breach of duty is the gravamen of such trade secret claims, and supplies the "extra element" that qualitatively distinguishes such trade secret causes of action from claims for copyright infringement that are based solely upon copying.
The district court stated that:
However, the court concluded that CA's trade secret claims were not grounded in a theory that Altai violated a duty of confidentiality to CA. Rather, Judge Pratt stated that CA proceeded against Altai solely "on a theory that the misappropriation took place by Altai's use of ADAPTERthe same theory as the copyright infringement count." The district court reasoned that "the right to be free from trade secret misappropriation through ‘use', and the right to exclusive reproduction and distribution of a copyrighted work are not distinguishable." Because he concluded that there was no qualitative difference between the elements of CA's state law trade secret claims and a claim for federal copyright infringement, Judge Pratt ruled that CA's trade secret claims were preempted by section 301.
We agree with CA that the district court failed to address fully the factual and theoretical bases of CA's trade secret claims. The district court relied upon the fact that Arneynot Altaiallegedly breached a duty to CA of confidentiality by stealing secrets from CA and incorporating those secrets into OSCAR 3.4. However, under a wrongful acquisition theory based on Restatement (First) of Torts § 757 (1939), Williams and Altai may be liable for violating CA's right of confidentiality. Section 757 states in relevant part:
We agree with the district court that New Jersey's governing governmental
interest choice of law analysis directs the application of Texas law to
CA's trade secret misappropriation claim. Texas law recognizes trade
secret misappropriation claims grounded in the reasoning of Restatement
section 757(c), and the facts alleged by CA may well support such
Thus, with regard to OSCAR 3.5, CA has a viable trade secret claim against
Altai that must be considered by the district court on remand. This
claim is grounded in Altai's alleged use of CA's trade secrets in the
creation of OSCAR 3.5, while on actual notice of Arney's theft of trade
secrets and incorporation of those secrets into OSCAR 3.4. The district
court correctly stated that a state law claim based solely upon
Altai's "use", by copying, of ADAPTER's non-literal elements could not
satisfy the governing "extra element" test, and would be preempted by
section 301. However, where the use of copyrighted expression is
simultaneously the violation of a duty of confidentiality established
by state law, that extra element renders the state right qualitatively
distinct from the federal right, thereby foreclosing preemption under
In support of our reading, we note that paragraphs 65-75 of CA's amended complaint alleged facts that reasonably comprise the elements of a wrongful acquisition of trade secrets claim. CA averred that, while he was employed at CA, Arney learned CA's trade secrets regarding the ADAPTER program. CA further alleged that after Arney went to work for Altai, Altai misappropriated those trade secrets by incorporating CA's ADAPTER program into its own product. Finally, CA claimed that the trade secret misappropriation was carried out "in a willful, wanton and reckless manner in disregard of [CA's] rights." In other words, Altai could have reasonably inferred from CA's allegations that CA's claim, in part, rested on Williams' "wanton and reckless" behavior in the face of constructive notice.
In addition, while responding to Altai's preemption argument in its motion to dismiss and for summary judgment, CA specifically argued in its brief to Judge Mishler that "it can easily be inferred that Mr. Arney was hired by Altai to misappropriate [CA's] confidential source code for Altai's benefit." At oral argument, CA further contended that:
However, additional trade secret damages may well flow from CA's creation of OSCAR 3.5. Judge Pratt correctly acknowledged that "if CA's claim of misappropriation of trade secrets did not fail on preemption grounds, it would be necessary to examine in some detail the conflicting claims and evidence relating to the process by which Altai rewrote OSCAR and ultimately produced version 3.5." Since we hold that CA's trade secret claims [*721] are not preempted, and that, in writing OSCAR 3.5, Altai had actual notice of Arney's earlier trade secret violations, we vacate and remand for such further inquiry anticipated by the district court. If the district court finds that CA was injured by Altai's unlawful use of CA's trade secrets in creating OSCAR 3.5, CA is entitled to an award of damages for trade secret misappropriation, as well as consideration by the district court of CA's request for injunctive relief on its trade secret claim.
In adopting the above three step analysis for substantial similarity
between the non-literal elements of computer programs, we seek to insure
two things: (1) that programmers may receive appropriate copyright protection
for innovative utilitarian works containing expression; and (2) that non-protectable
technical expression remains in the public domain for others to use freely
as building blocks in their own work. At first blush, it may seem
counter-intuitive that someone who has benefitted to some degree from
illicitly obtained material can emerge from [a copyright] infringement
suit relatively unscathed. However, so long as the appropriated
material consists of non-protectable expression, this result is neither
unfair nor unfortunate. It is the means by which copyright advances
the progress of science and art.
| Back to Top