EBEL, Circuit Judge.
The defendants appeal from the June 24, 1992, order of the district court in which it found that the defendants had infringed Gates' copyright on an engineering computer program and wrongfully misappropriated trade secrets. We conclude that the district court erroneously extended copyright protection to certain unprotectable elements of the computer program. We also conclude that the district court failed properly to determine the protectability of many of the elements of Gates' program which it found to have been copied by the defendants. Accordingly, we remand the copyright claims to the district court for a reconsideration of the programs in light of the test we set forth herein, which involves a determination of whether there was copying and a determination of whether the copying constitutes actionable infringement through application of the abstraction-filtration-comparison test.
Considering the trade secret claims, we conclude that Gates' claims were not preempted by federal law, that Gates made an adequate showing that certain of its mathematical constants were valuable trade secrets, and that Gates took adequate steps to protect the confidentiality of such trade secrets below and on appeal. Accordingly, we affirm those portions of the district court's opinion with respect to the trade secret claims.
The plaintiff-appellee, Gates Rubber Co. ("Gates"), is a Colorado corporation that manufactures rubber belts for use in industrial machinery. Gates leads the industry in sales of industrial machine belts. In order to determine the proper rubber belt for a particular machine it is necessary to perform complicated calculations involving numerous variables. The complexity of these calculations is such that they have customarily been performed by an engineer and significant variance in outcome often resulted. In order to facilitate the efficient and accurate selection of belts, and to boost the sales of their products, Gates developed a computer program entitled "Design Flex 4.0." With this program a salesman can input a number of variables and thereby calculate the proper Gates belt for a machine. The program uses published formulas in conjunction with certain mathematical constants developed by Gates to determine belt size. Gates obtained a Certificate of Copyright Registration on its Design Flex program.
The defendant, Bando American ("Bando"), is a division of a Japanese corporation that competes with Gates in the manufacture and sale of industrial belts. Numerous Bando employees were formerly employees of Gates, including the defendants Allen Hanano (Bando's president), Ron Newman, and Steven Piderit.
Until 1988, the defendant, Steven R. Piderit, was a Gates' employee.
Gates filed this action in the U.S. District Court for the District of Colorado on January 4, 1992, alleging unfair competition, misappropriation of trade secrets, infringement of copyright, and breach of contract. On January 28, 1992, the district court held a hearing on Gates' request for a TRO, which was denied, and ordered experts appointed. On February 26, 1992, the plaintiff filed an amended complaint expanding its claims, naming additional parties, and requesting a permanent injunction. A hearing on the permanent injunction was held on March 26, 1992. On June 24, 1992, the district court issued its opinion finding that the defendants had infringed Gates' copyright and willfully and maliciously misappropriated trade secrets. In an order dated August 12, 1992, the court amended typographical errors in its opinion, and denied the defendant's motions to make additional findings, to alter and amend the judgment, for a new trial and to stay enforcement. This appeal was filed on August 25, 1992. The appellants claim that the district court erred when it (i) extended copyright protection to facts and ideas in the Design Flex program, and (ii) granted relief on Gates' trade secret claim.
This case presents a number of issues that have never been squarely before a panel of this circuit, most notably the proper test to be applied to determine the scope of copyright protection for computer programs. In an attempt to aid the district courts in this determination and to bring clarity to this difficult area of the law, we first set forth what we consider to be the best means to determine the scope of protection.
I. THE COPYRIGHT INFRINGEMENT ISSUE.
A. The Test for Determining Whether the Copyright of a Computer Program Has Been Infringed.
In order to prevail on a claim of copyright infringement, the plaintiff must show: (1) ownership of a valid copyright, and (2) copying by the defendant of protected components of the copyrighted material. Feist Publications v. Rural Telephone Service Co., 499 U.S. 340, 361, 111 S.Ct. 1282, 1296, 113 L.Ed.2d 358 (1991); Autoskill v. National Educational Support Systems, Inc., 994 F.2d 1476, 1487 (10th Cir.1993), cert. denied, ___ U.S. ___, 114 S.Ct. 307, 126 L.Ed.2d 254 (1993). A Certificate of Registration, if timely obtained, constitutes prima facie evidence of the validity of the copyright.
Williams Electronics, Inc. v. Artic International, Inc., 685 F.2d 870, 873 (3d Cir.1982).
Once the plaintiff has shown that it holds a valid copyright, it must next prove that the defendant unlawfully appropriated protected portions of the copyrighted work. This question involves two separate inquiries: 1) whether the defendant, as a factual matter, copied portions of the plaintiff's program;
A plaintiff can establish that the defendant copied his program either through the presentation of direct evidence, or through indirect evidence that shows (1) that the defendant had access to the copyrighted program, and (2) that there are probative similarities between the copyrighted material and the allegedly copied material.
Although we suggest that it will often be helpful to make an initial determination of whether the defendant copied portions of the plaintiff's program before determining whether the copying involved protectable elements under the copyright law, there may be cases where the issue of protectability can more efficiently be addressed first. The order of the analysis will depend on the individual facts and issues in each case. Of course, even if generalized copying is established in the first instance, it will ultimately still be necessary to establish copying of precisely identified protected elements of a program before copyright infringement can be established.
The court's inquiry does not end with a finding that the defendant copied portions of the plaintiff's program. Liability for copyright infringement will only attach where protected elements of a copyrighted work are copied. Baker v. Selden, 101 U.S. 99, 101-03, 25 L.Ed. 841 (1879). "[T]he mere fact that a work is copyrighted does not mean that every element of the work may be protected." Feist Publications, Inc. v. Rural Telephone Service Co., 499 U.S. 340, 348, 111 S.Ct. 1282, 1289, 113 L.Ed.2d 358 (1991).
The Copyright Act provides:
17 U.S.C. § 102(b) (Supp.1993).
Determining which elements of a program are protectable is a difficult task. However, an effective test can be formulated from constitutional and statutory constraints and guided by existing case law to determine the scope of copyright infringement. In substantial part, we adopt the "Abstraction-Filtration-Comparison" test which we previously approved for use in the context of a preliminary injunction ruling in Autoskill, 994 F.2d at 1487-98. See also Computer Associates International, Inc. v. Altai, Inc., 982 F.2d 693, 701-14 (2d Cir.1992); Lotus Development Corp. v. Paperback Software International, 740 F.Supp. 37 (D.Mass.1990).
First, in order to provide a framework for analysis, we conclude that a court should dissect the program according to its varying levels of generality as provided in the abstractions test. Second, poised with this framework, the court should examine each level of abstraction in order to filter out those elements of the program which are unprotectable. Filtration should eliminate from comparison the unprotectable elements of ideas, processes, facts, public domain information, merger material, scenes a faire material, and other unprotectable elements suggested by the particular facts of the program under examination. Third, the court should then compare the remaining protectable elements with the allegedly infringing program to determine whether the defendants have misappropriated substantial elements of the plaintiff's program.
We now proceed to examine each of these steps in greater detail.
The first step in the analysis involves dissecting the allegedly infringed program according to the abstractions test. As Judge Learned Hand wrote in Nichols v. Universal Pictures Corp., 45 F.2d 119 (1930), cert. denied, 282 U.S. 902, 51 S.Ct. 216, 75 L.Ed. 795 (1931), a case dealing with the alleged copyright infringement of a theatrical script:
Id. at 121. The abstractions test is especially well suited to the dissection of computer programs because the test breaks down a program in a way that parallels the typical development of a program. See Autoskill, 994 F.2d at 1491-92; Whelan, 797 F.2d at 1229-30; 3 Nimmer § 13.03[F], at 13-102.9 to 13-102.19.
We agree with Professor Nimmer that "applying [the abstractions] test conscientiously and systematically can help a court separate ideas from expression and eliminate from the substantial similarity analysis those portions of a work that are not eligible for copyright protection." 3 Nimmer § 13.03[F] 13-102.17. However, in and of itself, the abstraction test does not identify the protectable elements of a program. Rather, it is merely one tool that can be utilized to accomplish this task. Abstraction is particularly useful in enabling a court to filter out ideas and processes from protectable expression.
Application of the abstractions test will necessarily vary from case-to-case and program-to-program. Given the complexity and ever-changing nature of computer technology, we decline to set forth any strict methodology for the abstraction of computer programs. See generally Andrew H. Rosen, Virtual Reality: Copyrightable Subject Matter and the Scope of Judicial Protection, 33 Jurimetrics J. 35 (1992). Indeed, in most
The main purpose of a program is a description of the program's function or what it is intended to do. See Ogilvie at 534; Altai, 982 F.2d at 697 ("ultimate function or purpose"); Whelan, 797 F.2d at 1238 ("purpose"). When defining a program's main purpose, the court must take care to describe the program's function as specifically as possible without reference to the technical aspects of the program.
The program's architecture or structure is a description of how the program operates in terms of its various functions, which are performed by discrete modules, and how each of these modules interact with each other. The architecture or structure of a program is often reduced to a flowchart, which a programmer uses visually to depict the inner workings of a program. Paperback, 740 F.Supp. at 44-45. Structure exists at nearly every level of a program and can be conceived of as including control flow, data flow, and substructure or nesting. Control flow is the sequence in which the modules perform their respective tasks. See Ogilvie at 535; Whelan, 797 F.2d at 1230 (arrangement of modules); Gates Rubber, 798 F.Supp. at 1514 (sequence of events). Data flow describes the movement of information through the program and the sequence with which it is operated on by the modules. See Ogilvie at 535; Gates Rubber, 798 F.Supp. at 1514 ("described as being analogous to `receipt'"). Substructure or nesting describes the inner structure of a module whereby one module is subsumed within another and performs part of the second module's task. Ogilvie at 535.
The next level of abstraction consists of the modules. See Steven R. Englund, Note, Idea, Process, or Protected Expression?: Determining the Scope of Copyright Protection of the Structure of Computer Programs, 88 Mich.L.Rev. 866, 871, 899 (1990) (hereinafter "Englund"). A module typically consists of two components: operations and data types. An operation identifies a particular result or set of actions that may be performed. For example, operations in a calculator program might include adding or printing data. A data type defines the type of item that an operator acts upon such as a student record or a daily balance. See Ogilvie at 534-36.
Algorithms and data structures are more specific manifestations of operations and data types, respectively. An algorithm is a specific series of steps that accomplish a particular operation. Ogilvie at 536; see Whelan, 797 F.2d at 1229-30. Data structure is a precise representation or specification of a data type that consists of (i) basic data type groupings such as integers or characters, (ii) values, (iii) variables, (iv) arrays or groupings of the same data type, (v) records or groupings of different date types, and (vi) pointers or connections between records that set aside space to hold the record's values. Ogilvie at 536-39; see Whelan, 797 F.2d at 1230.
The computer program is written first in a programming language, such as Pascal or Fortran, and then in a binary language consisting of zeros and ones. Source code is the literal text of a program's instructions written in a particular programming language. Trandes Corp. v. Guy F. Atkinson Co., 996 F.2d 655, 663 (4th Cir. 1993); Whelan, 797 F.2d at 1230. Object code is the literal text of a computer program written in a binary language through which the computer directly receives its instructions. Autoskill, 994 F.2d at 1492 n. 18; Altai, 982 F.2d at 698.
These generalized levels of abstraction will not, of course, fit all computer codes. Ordinarily, expert testimony will be helpful to organize a particular program into various levels of abstraction. In any event, as pointed
Once a court has succeeded in identifying the various levels of abstraction of a computer program, it must filter out those elements of the program that are not protected by copyright. The Copyright Act provides that "idea[s], procedure[s], process[es], system[s], method[s] of operation, concept[s], principles, or discover[ies]" are not protectable. 17 U.S.C. § 102(b) (Supp.1993). Accordingly, the court must filter out these unprotectable elements. In order to effectuate the purposes behind the copyright laws, it is also appropriate to apply the doctrines of merger and scenes a faire to filter out unprotectable elements.
(a) The Idea-Expression Dichotomy
One of the fundamental tenets of copyright law is that protection extends only to the author's original expression and not to the ideas embodied in that expression. 17 U.S.C. § 102(b) codifies this tenet by denying copyright to ideas, concepts and principles. Numerous cases have expounded on the idea-expression dichotomy. See e.g., Feist, 499 U.S. at 344-51, 111 S.Ct. at 1287-90 (dicta); Harper & Row Publishers, Inc. v. Nation Enterprises, 471 U.S. 539, 556-57, 105 S.Ct. 2218, 2228-29, 85 L.Ed.2d 588 (1985); Baker v. Selden, 101 U.S. 99, 104, 107, 25 L.Ed. 841 (1879); Autoskill, 994 F.2d at 1491. Distinguishing between ideas and the expression of those ideas is not an easy endeavor, and given the varying nature of computer programs it must necessarily be ad hoc. With the framework provided by the abstractions test, however, we believe that a court can adequately filter out the ideas of a program. For example, the main purpose or function of a program will always be an unprotectable idea. See Whelan, 797 F.2d at 1236, 1238; Paperback, 740 F.Supp. at 65. Likewise, each module may typically be described by its individual purpose or function, and the basic function or purpose of a module will nearly always be an unprotectable idea or process. At the other end of the abstractions spectrum, source and object code, which are the literal elements of a program, will almost always be found to be protectable expression unless the doctrines of merger and scenes a faire come into play. See Altai, 982 F.2d at 702; Johnson Controls, Inc. v. Phoenix Control Systems, Inc., 886 F.2d 1173, 1175 (9th Cir.1989); Whelan, 797 F.2d at 1233. The intermediate levels of abstraction, such as structure, sequence, organization, and the like, are less prone to generalizations. While the structure of one program may be unprotectable because it constitutes an idea, the organization and arrangement of another program may be expressive and thereby protectable. And, of course, within a program certain structural elements may be protectable expression while other elements are unprotectable ideas.
(b) The Process-Expression Dichotomy
Although it is the idea-expression distinction that has received the primary attention in the cases construing copyright protection, the Copyright Act denies protection to other equally important program elements. When considering utilitarian works such as computer programs one of the most important of these elements is process. See Englund, 88 Mich.L.Rev. 866. 17 U.S.C. § 102(b) denies protection to procedures, processes, systems and methods of operation.
H.R.Rep. No. 1476, 94th Cong., 2d Sess. 57 (1976), reprinted in 1976 U.S.C.C.A.N. 5659, 5670.
The Supreme Court addressed the copyrightability of a utilitarian process in Baker v. Selden, 101 U.S. 99, 25 L.Ed. 841 (1879). There, the Court considered whether the author of a book describing an accounting system could obtain protection over the system itself through copyright of the book. The Court distinguished the "art" or process from the author's explanation thereof and found the former unprotectable. Baker, 101 U.S. at 104. Other courts have similarly found processes unprotectable. See e.g., Altai, 982 F.2d at 704; Atari Games Corp. v. Nintendo of America, Inc., 975 F.2d 832, 838-39 (Fed. Cir.1992). Certain processes may be the subject of patent law protection under Title 35 of the United States Code. See Atari Games, 975 F.2d at 839-40; Englund, 88 Mich.L.Rev. at 893-94. Although processes themselves are not copyrightable, an author's description of that process, so long as it incorporates some originality, may be protectable. See Applied Innovations, Inc. v. Regents of the Univ. of Minnesota, 876 F.2d 626, 636 (8th Cir.1989); Apple Computer, Inc. v. Franklin Computer Corp., 714 F.2d 1240, 1250-51 (3d Cir.1983), cert. dismissed, 464 U.S. 1033, 104 S.Ct. 690, 79 L.Ed.2d 158 (1984).
Returning then to our levels of abstraction framework, we note that processes can be found at any level, except perhaps the main purpose level of abstraction. Most commonly, processes will be found as part of the system architecture, as operations within modules, or as algorithms.
The Copyright Act also denies protection to discoveries. 17 U.S.C. § 102(b). The Supreme Court squarely addressed the issue of the protectability of facts in its recent opinion in Feist Publications, Inc. v. Rural Telephone Services Co., 499 U.S. 340, 111 S.Ct. 1282, 113 L.Ed.2d 358 (1991). In Feist, the Court considered the copyrightability of a telephone directory comprised merely of names, addresses, and phone numbers organized in alphabetical order. The Court rejected the notion that copyright law was meant to reward authors for the "sweat of the brow," and instead concluded that protection only extends to the original components of an author's work. As to facts, the Court found that
499 U.S. at 347, 111 S.Ct. at 1288 (internal quotations and citations omitted). Like ideas and processes, facts themselves are not protectable; however, an author's original compilation, arrangement or selection of facts can be protected by copyright. Feist, at 348, 111 S.Ct. at 1289; Applied Innovations, 876 F.2d at 636. However, "the copyright is limited to the particular selection or arrangement. In no event may copyright extend to the facts themselves." Feist, 499 U.S. at 350-51, 111 S.Ct. at 1290. In computer programs facts may be found at a number of levels of abstraction, but, will most often be found as part of data structures or literally expressed in the source or object codes.
(d) Public Domain
"The two fundamental criteria of copyright protection [are] originality and fixation in tangible form...." H.R.Rep. No. 1476, 94th Cong., 2d Sess. 51 (1976), reprinted in 1976 U.S.C.C.A.N. 5659, 5664. 17 U.S.C. § 102(a) establishes that copyright can only subsist in "original works of authorship." (emphasis added). Originality in the field of copyright requires that the work be independently created by the author and that it possesses a minimal degree of creativity. Feist, 499 U.S. at 361, 111 S.Ct. at 1296. Accordingly, in determining copyright infringement, a court must filter out all unoriginal elements of a program, including those elements that are found in the public domain.
Once a court has filtered out a program's ideas, processes, facts, and unoriginal elements, it has eliminated most of those elements that are unprotected based on the first principles of copyright law. However, in order to give effect to these principles, the courts have devised two additional filtration doctrines. These are the doctrines of merger and scenes a faire.
(e) The Merger Doctrine
Under the merger doctrine, copyright protection is denied to expression that is inseparable from or merged with the ideas, processes, or discoveries underlying the expression. Concrete Machinery Co. v. Classic Lawn Ornaments, Inc., 843 F.2d 600, 606-607 (1st Cir.1988); Apple Computer, Inc. v. Microsoft Corp., 799 F.Supp. 1006, 1021 (N.D.Cal.1992), order clarified, 821 F.Supp. 616 (1993); Englund, 88 Mich.L.Rev. at 877. The merger doctrine is applied as a prophylactic device to ensure that courts do not unwittingly grant protection to an idea by granting exclusive rights to the only, or one of only a few, means of expressing that idea. See Herbert Rosenthal Jewelry Corp. v. Kalpakian, 446 F.2d 738, 742 (9th Cir.1971). If protection were granted to these expressions, it would so increase the cost of creation for others who seek to build on the work that it would impede progress in the arts. Such a result is contrary to the goals of copyright as embedded in the Constitution. See U.S. Const., art. I, § 8, cl. 8.
(f) Scenes A Faire
Under the scenes a faire doctrine, we deny protection to those expressions that are standard, stock, or common to a particular topic or that necessarily follow from a common theme or setting. Autoskill, 994 F.2d at 1494 (citing 3 Nimmer § 13.03[B], at 13-70); Atari, 672 F.2d at 616. Granting copyright protection to the necessary incidents of an idea would effectively afford a monopoly to the first programmer to express those ideas. Whelan, 797 F.2d at 1236-37; Landsberg v. Scrabble Crossword Game Players, Inc., 736 F.2d 485, 489 (9th Cir.), cert. denied, 469 U.S. 1037, 105 S.Ct. 513, 83 L.Ed.2d 403 (1984). Furthermore, where a particular expression is common to the treatment of a particular idea, process, or discovery, it is lacking in the originality that is the sine qua non for copyright protection. Feist, 499 U.S. at 348, 111 S.Ct. at 1289.
The scenes a faire doctrine also excludes from protection those elements of a program that have been dictated by external factors. See Plains Cotton Co-op Ass'n. v. Goodpasture Computer Serv., Inc., 807 F.2d 1256, 1262 (5th Cir.), cert. denied, 484 U.S. 821, 108 S.Ct. 80, 98 L.Ed.2d 42 (1987); Apple Computer, 799 F.Supp. at 1022-26. In the area of computer programs these external factors may include: hardware standards and mechanical specifications, see Manufacturer's Technologies, Inc. v. Cams, Inc., 706 F.Supp. 984, 995 (D.Conn.1989), software standards and compatibility requirements,
After the court has filtered out those elements of the original program that it has found to be unprotectable, it is left with a
B. Review of Constitutional and Statutory Principles and Key Judicial Precedent.
The test that we adopt today is firmly rooted in traditional principles of copyright law. The Constitution establishes an affirmative duty for Congress "[t]o promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries." U.S. Const. art. I, § 8, cl. 8; see Sony Corp. v. Universal City Studios, Inc., 464 U.S. 417, 428-29, 104 S.Ct. 774, 781-82, 78 L.Ed.2d 574 (1984); Mazer v. Stein, 347 U.S. 201, 219, 74 S.Ct. 460, 471, 98 L.Ed. 630 (1954). Copyright policy is meant to balance protection, which seeks to ensure a fair return to authors and inventors and thereby to establish incentives for development, with dissemination, which seeks to foster learning, progress and development.
In order to secure these goals Congress enacted The Copyright Act, 17 U.S.C. § 101 et seq., which establishes that
17 U.S.C. § 102(a) (Supp.1993).
Computer programs are considered literary works for purposes of copyright analysis. 17 U.S.C. § 101 states:
17 U.S.C. § 101 (1977 and Supp.1993). Atari Games Corp. v. Nintendo of America, Inc., 975 F.2d 832, 838 (Fed.Cir.1992); H.R.Rep. No. 1476, 94th Cong., 2d Sess. 54, reprinted in 1976 U.S.C.C.A.N. 5659, 5667 (The term "literary works" "also includes computer data bases, and computer programs to the extent that they incorporate authorship in the programmer's expression of original ideas, as distinguished from the ideas themselves."). A computer program is protectable under copyright if two requirements are met: (1) it is fixed in a tangible medium of expression, and (2) the program is original. 17 U.S.C. § 102(a) (Supp.1993); M. Kramer Mfg. Co. v. Andrews, 783 F.2d 421, 433 (4th Cir.1986); H.R.Rep. No. 1476, 94th Cong., 2d Sess. 51-
Much of the modern doctrine concerning the copyright of utilitarian works and the process-expression dichotomy owes its origins to the Supreme Court's opinion in Baker v. Selden, 101 U.S. 99, 25 L.Ed. 841 (1879), in which the Court considered the copyright of a book setting out a system of accounting. The Court held that neither the system itself nor the forms necessary to operate the system were protectable, although the author's particular expression of the system was protectable.
Baker, 101 U.S. at 103.
One of the early attempts to apply the doctrine of copyright to computer programs came in Whelan Assoc. v. Jaslow Dental Laboratory, Inc., 797 F.2d 1222 (3d Cir. 1986), cert. denied, 479 U.S. 1031, 107 S.Ct. 877, 93 L.Ed.2d 831 (1987). The Whelan court extended copyright protection to the structure, sequence and organization of a computer program even though the literal elements were not copied. 797 F.2d at 1248. Moreover, the Third Circuit attempted to establish a principle to distinguish between idea and expression. It concluded that:
797 F.2d at 1236 (emphasis omitted).
The Whelan court's articulation of this general rule for distinguishing idea from expression has been criticized extensively.
In Lotus Development Corp. v. Paperback Software International, 740 F.Supp. 37 (D.Mass.1990), Judge Keeton, who has written extensively on the subject of software protection, considered the copyright of the Lotus 1-2-3 spreadsheet program. Like Whelan, the court concluded that the "structure, sequence and organization" of the software may be protectable. The Paperback court developed a three-part test that is a forerunner of the standard that we adopt in
The Second Circuit in Computer Associates International, Inc. v. Altai, Inc., 982 F.2d 693 (2d Cir.1992), built on the case law that proceeded it. The court agreed with Whelan and Paperback that copyright can protect the non-literal structures of computer programs. 982 F.2d at 702-703. In analyzing the similarity of the computer programs before it, the Altai court utilized a three-part test that bore some similarity to the three-part test in Paperback. The Altai court articulated its test as an "Abstraction-Filtration-Comparison" test. Under the first prong the court dissected the program and identified the various levels of abstraction in the program. Altai, 982 F.2d at 707. Under the second prong, the court examined the separate elements within the program and eliminated those elements that it found to be either (1) ideas, (2) in the public domain, (3) required by factors external to the program, or (4) dictated by efficiency concerns such that the idea and expression were inseparable. Altai, 982 F.2d at 707-710. Those unprotectable elements were then filtered out before the two programs were compared. Finally, in the third prong, the court examined the remaining "core of protectable expression" to determine whether the defendant's program misappropriated substantial portions of the plaintiff's program. Altai, 982 F.2d at 710-711. We accept this basic three-part analysis and seek only to elaborate upon the various steps and to clarify the role of the abstraction test. We suggest that a court will often be assisted in determining the factual issue of copying if both programs are first compared in their entirety without filtering out the unprotected elements. Such a preliminary step does not obviate the ultimate need to compare just the protected elements of the copyrighted program with the alleged infringing program. However, an initial holistic comparison may reveal a pattern of copying that is not obvious when only certain components are examined.
The Supreme Court's most recent pronouncements in the area of copyright law came in Feist Publications, Inc. v. Rural Telephone Service Co., 499 U.S. 340, 111 S.Ct. 1282, 113 L.Ed.2d 358 (1991). Although Feist concerned the protectability of telephone directories rather than computer programs, the Court clarified several principles of copyright law applicable to the area of computers. The Court held that facts are not copyrightable regardless of the effort the author undertook to discover or compile them. In doing so the court rejected the "sweat of the brow" doctrine, which maintained that copyright was meant to protect and reward the efforts of an author. The court established that it is originality, not effort, that is the basis of copyright protection. However, the Court concluded that the original organization, selection, or arrangement in a work that is comprised exclusively of unprotectable facts could nevertheless be protected.
A panel of this circuit recently considered computer program copyright infringement in Autoskill, Inc. v. National Educational Support Systems, Inc., 994 F.2d 1476 (10th Cir. 1993), cert. denied, ___ U.S. ___, 114 S.Ct. 307, 126 L.Ed.2d 254 (1993). We upheld the grant of a preliminary injunction against the developers of a program designed to test and train individuals with reading deficiencies. Because the case involved a preliminary injunction, we only reviewed the district court's ruling to determine if the plaintiff had established a prima facie case with reasonable probability of success, and we expressly refrained from dictating a precise test for determining copyright infringement. Albeit, we affirmed the district court's application of the "Abstraction-Filtration-Comparison" test and application of the doctrines of merger, scenes a faire, and public domain.
We find in these and other cases that have considered the copyrightability of computer programs that there has begun to be developed a coherent approach to the protectability analysis. The approach that we outline
C. Applying the Abstraction-Filtration-Comparison Test to the Computer Programs at Issue in This Case.
The district court undertook an analysis similar to that which we set forth today. First, it determined whether, as a factual matter, the Chauffeur program had been copied from the Design Flex program.
Next, the court applied the abstractions test to identify "unprotectable ideas." The court dissected the program and considered whether certain of the elements more closely approximated idea or expression. The court concluded that the merger doctrine and the scenes a faire doctrine were inapplicable. Finally, the court evaluated what it regarded as the protectable elements and determined that they were sufficiently significant to the Design Flex program to conclude that the defendants had infringed on Gates' copyright in the Design Flex program when it copied such elements. Gates Rubber, 798 F.Supp. at 1519.
The copyright issues on appeal all revolve around whether the district court erroneously extended copyright protection to unprotectable elements of the Design Flex program. The appellants argue that the court failed to consider whether three of the elements of the Design Flex program were protectable, and that it applied the wrong legal standard in protecting certain elements of the Design Flex program. The appellants argue that if a proper filtration analysis were conducted, the Chauffeur program would not be found to have infringed any protectable elements of the Design Flex program.
The district court ultimately concluded that the defendants had misappropriated ten elements of the Design Flex program that were protected by Gates' copyright. They included: menus, constants, sorting criteria, control flow, data flow, the engineering calculation module, the design module, common errors, fundamental tasks, and install files. We conclude that the district court failed to undertake a proper filtration analysis with respect to several elements and that it erroneously found other elements to be protectable. Accordingly, we remand for further consideration by the district court.
Constants are the invariable integers that comprise part of the formulas used to perform the calculations in the programs. The district court failed to consider whether the constants were unprotectable processes or facts or whether they were subject to the merger doctrine. In failing to undergo the filtration process, the court skipped an essential step in the copyright infringement analysis and as a result extended copyright protection to an unprotectable element of Design Flex.
The record reveals that these constants are facts that are unprotectable under copyright law. The constants in the Design Flex program represent scientific observations of physical relationships concerning the load that a particular belt can carry around certain
Gates claims that the constants should be protected because it spent thousands of hours testing the relationships and because engineers ultimately had to determine the best figure to represent the test results.
Accordingly, while the constants were probative of the factual question whether the defendants copied from the Design Flex program,
Menus and Sorting Criteria
These terms are not defined in the district court opinion. However, menus may mean the visual screen displays that present a computer operator with a limited number of commands available at a given stage in the computer program's operation. Lotus Development Corp. v. Borland International, Inc., 799 F.Supp. 203, 206 (D.Mass. 1992). Sorting criteria would ordinarily mean the factors that determine how the data in the program is organized. The district court failed to undertake a proper filtration analysis with respect to the menus and sorting criteria. Because the record before us is ambiguous and incomplete with regard to these terms, we are unable to determine on appeal whether these elements are protectable.
The defendants claim that the menus and the sorting criteria are visual components of the programs as to which Gates has waived all claims of infringement. At trial, counsel for Gates stated that the "plaintiff is willing to stipulate that we are making no claim as to trade secret or copyright as to the screens of these computer programs ..." Aplt.Apx. at 266. When asked about its claims concerning the menus and sorting criteria at oral argument in this appeal, however, Gates asserted that it had only waived its claims concerning the visual screen displays, and that it maintained a copyright claim on the written elements of the program that created those displays.
The district court failed to clarify whether it was referring to the visual screen displays
Control and Data Flow
Control flow refers to the overall sequence of actions and events in a program. Data flow is the sequence of actions taken on each piece of information, that is, how the data travels through the program. The district court found that "the flow of these two types of information are closer to the expression of how the task is performed than the idea of undertaking calculation of belts and drives by use of a computer program." Gates Rubber, 798 F.Supp. at 1518. The defendants object that this conclusion is erroneously predicated on the dicta in Whelan that each program has only one idea. See Whelan, 797 F.2d at 1236. They assert that the control and data flow elements occur at such high levels of abstraction that they are inappropriate for copyright protection.
A fair reading of the district court opinion suggests that the court recognized that a computer program may contain more than one idea, and that unprotected ideas may be found throughout the program. However, we are more concerned by the district court's failure to examine the control and data flow in light of the process-expression dichotomy. Again, the district court failed to define exactly what it meant by control flow and data flow and the record is unclear.
Engineering Calculation and Design Modules
The program performs its calculations and selects the proper belt through a series of operating instructions contained in modules. The district court concluded that:
Gates Rubber, 798 F.Supp. at 1518. (emphasis added).
The district court identified two modules — the engineering module and the design module — and it found them to be protected for different reasons. The appellant contests this finding, asserting that calculation module, design module, and engineering module
The district court found that the engineering module was expression rather than idea because of "particular elements which perform in similar manners." Gates Rubber, 798 F.Supp. at 1518. However, the district court failed to identify those "particular elements" upon which it based its decision, and it failed to analyze with any particularity whether those elements were ideas, processes, or facts. If, as the district court seems to suggest, the algorithms are "process," then they would not be protectable under copyright law. There remains the possibility that they are expressions, but, the court will then need to address the merger doctrine. Further, defendants have drawn our attention to evidence that was before the district court that tends to show that certain module functions were standard in the industry. There is no indication that the district court analyzed those components of the module under the scenes a faire doctrine. Accordingly, we remand for clarification of the district court's analysis and consideration of the modules in light of the process-expression dichotomy, merger and scenes a faire doctrines. Unless the district court provides us with sufficient detail to understand its ruling, we are unable to provide meaningful review of this finding.
Common errors or misbehaviors are instances in which the two programs share similar errors when not performing correctly or as intended. See Atari Games Corp. v. Nintendo of America, 975 F.2d 832, 845 (Fed.Cir.1992); M. Kramer Manufacturing Co. v. Andrews, 783 F.2d 421, 446 (4th Cir. 1986). The experts in the instant case identified two such common errors. First, both programs identify that it is impossible to compute a maximum center distance that is less than a minimum center distance, but both programs attempt to do so anyway. Second, both programs will jump to the wrong menu if the cursor happens to be over a certain character during one of the input sequences.
While common errors may often be strong evidence of copying as a factual matter,
We normally would associate the term "fundamental tasks" with the highest level of abstraction — that is, the ideas or purposes underlying a program. In the instant case, the district court found the fundamental tasks of the Design Flex program to be protectable expression, but it failed to explain what it thought the fundamental tasks of the Design Flex program were. The district court stated that
Gates Rubber, 798 F.Supp. at 1519. This discussion suggests the district court held a different understanding of the term "fundamental tasks" than what we would normally understand it to mean. However, we do not understand what the district court meant, nor do we have the benefit of the district court analysis beyond its mere conclusion that the merger doctrine is not applicable. Accordingly, we must remand for further analysis of this element as well.
The install files here are separate utility programs that are used to load the program from a floppy disk onto a hard disk. They are part of the Disk Operating System and apparently are not part of the Design Flex program. Accordingly, it is not clear that Gates has a copyright claim on the install files. The district court failed to make adequate findings on this element to enable us to determine if the install files were covered by Gate's copyright and it failed to engage in a filtration analysis as to this element. Accordingly, we remand for a determination of whether Gates held a copyright on the install files and for a reconsideration of the install files in light of the test we have set forth herein.
II. THE TRADE SECRET ISSUE.
The district court concluded that Bando had misappropriated trade secrets belonging to Gates and ordered Bando to "return any and all information containing the constants used in either the Chauffeur program or the Design Flex program ... [and] restrained [them] from further use of these constants." Gates Rubber, 798 F.Supp. at 1523. Bando appeals this order and the underlying finding of trade secret misappropriation alleging that: (1) the state law misappropriation claim is preempted by 17 U.S.C. § 301, (2) the constants have no competitive economic value and are therefore not appropriately considered trade secrets, and (3) the disclosure of the constants during the course of the trial, in open court, deprived them of their status as trade secrets. Aplt.Br. at 14.
A. Federal Preemption of the Trade Secret Claims
Bando contends that the district court incorrectly considered Gates' state law misappropriation claim because the claim was preempted by 17 U.S.C. § 301. Section 301(a) provides that:
17 U.S.C. § 301(a) (emphasis added). However, § 301(a) is qualified by § 301(b), which provides in relevant part:
17 U.S.C. § 301(b) (Supp.1993).
Thus, a state common law or statutory claim is preempted by Section 301 if: "(1) the work is within the scope of the `subject matter of copyright' as specified in 17 U.S.C. §§ 102 and 103; and (2) the rights granted under state law are equivalent to any exclusive rights within the scope of federal copyright as set out in 17 U.S.C. § 106." Ehat v. Tanner, 780 F.2d 876, 878 (10th Cir.1985), cert. denied, 479 U.S. 820, 107 S.Ct. 86, 93 L.Ed.2d 39 (1986) (citing Harper & Row Publishers, Inc. v. Nation Enterprises, 723 F.2d 195, 199-200 (2d Cir.1983), rev'd on other grounds, 471 U.S. 539, 105 S.Ct. 2218, 85 L.Ed.2d 588 (1985)).
In its amended complaint, Gates alleged that "the use of the proprietary data, engineering formula, and the code of the Design Flex and the Life in Hours computer programs constitute a misappropriation of the trade secret [sic] of The Gates Rubber Company as stated in the Colorado Uniform Trade Secrets Act, C.R.S. 7-74-102(2)." Aplt.Apx. at 8. The parties do not dispute that the computer programs at issue in this case fall within the "subject matter of copyright" as specified by 17 U.S.C. §§ 102 and 103. Accordingly, the question before us is whether the rights granted by those provisions of the Colorado Uniform Trade Secrets Act, Colo.Rev.Stat. 7-74-102(2), upon which Gates relies, are equivalent to any of the exclusive rights granted by the Copyright Act, 17 U.S.C. §§ 102-103.
Section 106 of the Copyright Act grants to the copyright owner the exclusive rights to: (i) reproduce the copyrighted work; (ii) prepare derivative works; (iii) distribute copies of the work; (iv) perform the work publicly; and (v) display the work publicly. 17 U.S.C. § 106 (1977 and Supp.1993). In order to determine whether Gates' misappropriation claim asserts rights equivalent to those delineated in Section 106, we refer to the elements of the state law cause of action. Federal law will preempt "a state-created right if that right may be abridged by an act which, in and of itself, would infringe one of the exclusive rights" established by federal law. G.S. Rasmussen & Assoc. v. Kalitta Flying Service, Inc., 958 F.2d 896, 904 (9th Cir.1992), cert. denied, ___ U.S. ___, 113 S.Ct. 2927, 124 L.Ed.2d 678 (1993). However, if a state cause of action requires an extra element, beyond mere copying, preparation of derivative works, performance, distribution or display, then the state cause of action is qualitatively different from, and not subsumed within, a copyright infringement claim and federal law will not preempt the state action. Computer Associates International, Inc. v. Altai, Inc., 982 F.2d 693, 716 (2nd Cir.1992).
Under Colorado law, to prove misappropriation of a trade secret, a plaintiff must show: (i) that he or she possessed a valid trade secret, (ii) that the trade secret was disclosed or used without consent, and (iii) that the defendant knew, or should have known, that the trade secret was acquired by improper means.
The appellants suggest that this court's opinion in Ehat v. Tanner, 780 F.2d 876 (10th Cir.1985), cert. denied, 479 U.S. 820, 107 S.Ct. 86, 93 L.Ed.2d 39 (1986), compels a different result. We disagree. The cause of action in Ehat sought damages for the reproduction and distribution of copyrighted notes from individuals who had no part in the misappropriation of the materials. Moreover, it was not necessary under the common law claims asserted in Ehat that the plaintiff show a breach of trust or confidence.
B. The Economic Value of the Constants
The appellants claim that the district court erred when it failed to set forth the elements of a trade secret claim and make specific findings as to each element. Further, the appellants argue that if the court had engaged in this analysis the constants would not have been found to be trade secrets because they had no competitive economic value.
What constitutes a trade secret is a question of fact that will only be disturbed if clearly erroneous. Network Communications v. Boor-Crepeau, 790 P.2d 901, 902 (Colo.App.1990). Recognizing that the term "trade secret" defies exact definition, the Colorado courts have enunciated a number of factors that are relevant in determining whether a trade secret exists. They include:
Colorado Supply Co. v. Stewart, 797 P.2d 1303, 1306 (Colo.App.1990), cert. denied (Oct. 7, 1991). We are unable to find that the district court erred in its implicit finding that the constants were trade secrets and that they were misappropriated. There is evidence that Gates spent in excess of 25,000 man hours and over $500,000 developing and upgrading the Design Flex program. The program was considered to be one of the best of its kind and was an efficient application and marketing tool. Gates took extensive measures to protect the program and, in particular, the constants. Although there is some evidence that some of the constants might be "reverse engineered" through mathematical trial and error, that fact alone does not deprive the constants of their status as trade secrets.
C. Disclosure of the Trade Secrets at Trial
The defendants note that the numerical constants were revealed during the course of the permanent injunction hearing. They contend that as a result of these disclosures the constants lost their status as trade secrets and therefore it was inappropriate for
Although the constants were disclosed at the permanent injunction hearing, we conclude that as a result of Gates' post-hearing measures to protect the confidentiality of the constants, they retained their status as trade secrets. Gates evidenced a continuing intent to maintain the secrecy of the constants. Under Colorado law, the holder of a trade secret is only required to exercise reasonable efforts to maintain its secrecy. See Colorado Supply, 797 P.2d at 1306; Network Telecommunications, 790 P.2d at 902. The record indicates that counsel for Gates monitored the presence of observers in the courtroom. Furthermore, after the hearing was completed, Gates had the permanent injunction hearing record placed under seal. Similarly, Gates has moved to place certain exhibits on appeal under seal. We conclude that Gates' post-hearing measures, including sealing the record, were adequate to maintain the secrecy of the constants under the facts of this case. Compare Littlejohn v. BIC Corp., 851 F.2d 673, 680 (3d Cir.1988) (failure to seek an order sealing record constitutes waiver of confidentiality interests).
The defendants point out that the record was not sealed until this appeal had already been instituted and the defendants had filed their opening brief. However, there has been no evidence that a competitor had access to or learned of the constants during the period after the hearing and before the record was sealed. As the case comes before us, the record has been sealed and Bando has been permanently enjoined from using or disclosing these constraints. Absent a showing that the constants were published outside the court records, we conclude that Gates' inadvertent and inconsequential disclosure of the constants at trial and delay in sealing the record, are inadequate to deprive the constants of their status as trade secrets.
The district court failed adequately to filter those portions of the Design Flex program that it found to have been misappropriated. Thus, the court did not eliminate those elements that are unprotectable under copyright law. As a result, the court relied on unprotectable elements within the Gates program in determining that the defendants had infringed Gates' copyright. Other elements were inadequately described and analyzed to permit us to review the district court's determination of protectability. Accordingly, we VACATE the finding of copyright infringement and REMAND for reconsideration of the copyright infringement claim in light of this opinion.
We conclude that Gates' trade secret claims are not preempted by federal law, that Gates made an adequate showing that the trade secrets were valuable, and that Gates took adequate steps to protect the confidentiality of the trade secrets below and on appeal. Accordingly, that portion of the district court's opinion concerning the trade secret claim is AFFIRMED.
17 U.S.C. § 106 (1977 and Supp.1993).
Gates Rubber Co. v. Bando American, Inc., 798 F.Supp. 1499, 1511 (D.Colo.1992).
We acknowledge that unprotectable elements of a program, even if copied verbatim, cannot serve as the basis for ultimate liability for copyright infringement. However, the copying of even unprotected elements can have a probative value in determining whether the defendant copied the plaintiff's work. Where a court first extracts all unprotected elements of a work, and only compares protected elements, it deprives itself of the use of probative, and potentially essential, information on the factual issue of copying. That is because, even if a court finds protectable elements of a program to be similar, it still must determine whether those elements were copied from the plaintiff's work, whether the duplication can be attributed to other factors, or whether its reproduction was pure chance. The fact that non-protectable elements of the original program were also copied, although it cannot be the basis for liability, can be probative of whether protected elements were copied. That is because, in certain situations, it may be more likely that protected elements were copied if there is evidence of copying among the unprotected elements of the program.
H.R.Rep. No. 1476, 94th Cong., 2d Sess. 57 (1976), reprinted in 1976 U.S.C.C.A.N. 5659, 5670.
Aplee.Br. at 32. Gates mischaracterizes the derivation of the constants as having been "created."