SCO cited the case, Gates Rubber v. Bando, in its Reply Memorandum re Discovery, (footnote 7 on page 20) and they are relying on it for their rungs of the ladder concept/music riffs-novel analogy, regarding structure, sequence and organization being copyrightable, so I thought it would make sense to add it to our permanent collection. Non-literal copying is the main issue, judging from their Reply Memorandum. Here's more information on abstraction-filtration-comparison, and here is a bit more. Note the table of contents in the first link for more copyright topics. Also on our Legal Links page, you'll find more on Copyright Law and some of the cases referred to here, including an article on the Lotus case. You'll find more cases on BitLaw's "Important Copyright Decisions" page.
I can also recommend Stephen Shankland's coverage of the latest SCO filings with respects to non-literal copying, including some words from Linus ("They won't find anything. They lied from day one.") . Shankland even gets the AutoZone story almost right. It is right about the stay not being brief, but I don't think the time periods mentioned are accurate. I think AutoZone gets 30 days for discovery, and the depositions fit into that 30 days. I'm working on a transcript now and then we'll get it all clear.
By the way, if you think the SCO v. World cases are taking too long, take a look at what happened in the Gates case. It dragged on for nearly a decade, at an expense of millions, only to be settled by an agreement, which they then ended up litigating over too, requiring the courts to step in and decide that issue. It will put it the SCO travails in perspective.
It seems an odd case to cite in one sense (it begins by telling that the first prong of a copyright infringement case is to prove you have a valid copyright), because if they applied all the abstraction-filtration processes, including scenes a faire, merger doctrine, materials in the public domain, facts, and external factors, they may find we can all shake hands and go home. Perhaps you'd like to see a chart on that. But you'll see why they like it when you get to the features and procedures part and the comparison to novels.
I'm glad SCO cited it, because as I read it, I realized that it's high time for a court that actually knows something about computers (and Kimball does get the tech) to better think through what is protectible in computer code and how it is so different from novels. You'll note from the link to the copyright book that the judge in Gates relied on a paper written by a computer scientist/law student, John W.L. Ogilvie, "Defining Computer Program Parts Under Learned Hand’s Abstractions Test in Software Copyright Infringement Cases" for its understanding of abstraction elements. That tells me that everyone who is qualified should be busy writing papers for law reviews on novels and computers and the differences between them. You never know, guys, what a judge might be reading. Here is one paper, "The Case Against Copyright Protection of Non-Literal Elements of Computer Software", written from a Canadian perspective, but note his conclusion:
"Altai has been viewed as a landmark decision as it incorporates many traditional principles of copyright law into a single analytical framework seemingly suitable for computer software. However, when honestly applied, the abstraction-filtration-comparison test eliminates protection for computer programs by entirely filtering out not only the individual elements of computer programs such as software objects but also the compilation of selection and arrangement expression that is the program’s structure, since both are designed with efficiency in mind.
"It appears that the critical error was made by the U.S. legislature, which viewed computer source code as analogous to a literary work. Since the design of computer software is forever driven by its intended functionality and efficiency concerns, the room for artistically creative expression never arises. It should therefore be inappropriate to extend copyright protection to a computer program’s design, because if a design were the best way of implementing particular functionality, granting copyright protection would effectively grant patent-like protection for a term much longer than that of a patent holder.
"It is more appropriate to consider the software objects of a computer program as analogous to the gears, pulleys, and levers of a mechanical invention, as by its very nature, the design of computer software is intended to optimize functionality by making a program run faster, use less memory, or be easier for the programmer to modify. When viewed as a collection of software objects combined in such a way as to optimally perform various tasks, the design of computer software closely resembles the design of functional devices protected by patent law rather than the non-functional, non-literal elements of creative authorial works protected under copyright law."
Of course, granting patent-like protection for a longer term than patent law allows would probably thrill the SCO's of this world, but more rational folks realize the difficulties it would impose on anyone being able to code anything. This article on clean room development, and how to do it right, will explain why SCO wants to say that Linus was a student of Tanenbaum and had access to UNIX, even if it isn't true, because to have copyright infringement, you have to have copy, and that means access. But clean room development, even with access, can trump the access argument, because, as the author points out, "With proper clean-room development, very little remains from a copyrighted work after the 'abstraction, filtration, comparison'." The development of the abstraction-filtration-comparison test is a large part of why companies decided they needed patents, because copyright law had so reduced what was copyrightable.
So I have a suggestion to reduce the man hours SCO imagines will be required to compare Linux and UNIX code -- first, do the abstraction-filtration part, and the discovery for the comparison will be an absolute breeze.
The Gates Rubber Co. v. Bando Chemical Industries Ltd.
United States Court of Appeals, Tenth Circuit
October 19, 1993
9 F.3d 823, 28 USPQ2d 1503
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. While at Gates, Piderit had access to Gates’ Design Flex program, including its components and the design and access codes. In 1988, Bando hired Piderit away from Gates and assigned him to develop a program that would assist in the selection of the proper belts for industrial machinery. In June of 1989, Bando introduced a demonstration copy of “Chauffeur,” a computer program similar to Gates’ Design Flex program. The Chauffeur program was made available in March of 1990. Piderit claims to be the sole author of the Chauffeur program.
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. In this first section, we seek to draw together the major issues that must be addressed and we try to organize the issues within a coherent framework that will be useable to the district courts that must address these claims in the first instance. We next briefly summarize the constitutional and statutory principles and the key judicial decisions that control and illuminate our analysis. As this analysis demonstrates, our approach is consistent with the evolving law in this area. We then apply our legal analysis to the facts in this case, finding that, in several respects, the district court erred in its application. Finally, we consider the trade secrets issues raised by the appellants.
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., 111 S. Ct. 1282, 1296 (1991); Autoskill v. National Educational Support Systems, Inc., 994 F.2d 1476, 1487 (10th Cir. 1993), cert. denied, 1993 U.S. LEXIS 6372 (U.S. Oct. 12, 1993). A Certificate of Registration, if timely obtained, constitutes prima facie evidence of the validity of the copyright. 17 U.S.C. Section 410(c) ; Autoskill, 994 F.2d at 1487 . Once the presumption pursuant to 17 U.S.C. Section 410(c) is established, the defendant has the burden of overcoming it. Autoskill, 994 F.2d at 1487. 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; and 2) whether, as a mixed issue of fact and law, those elements of the program that have been copied are protected expression and of such importance to the copied work that the appropriation is actionable. 3 Melville B. Nimmer, Nimmer on Copyright Section 13.01 [B], at 13-8 to 13-15 (1993) (hereinafter “Nimmer”); see Arnstein v. Porter, 154 F.2d 464, 472-73 (2d Cir. 1946).
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. Autoskill, 994 F.2d at 1489; Atari Games Corp. v. Nintendo of America Inc., 975 F.2d 832, 837-38 (Fed. Cir. 1992); Whelan Associates v. Jaslow Dental Laboratory, Inc., 797 F.2d 1222, 1231-32 (3d Cir. 1986), cert. denied 479 U.S. 1031 (1987); Arnstein, 154 F.2d at 468 ; 3 Nimmer Section 13.01[B], at 10-12. Direct proof of copying is rare, Whelan, 797 F.2d at 1231; Roth Greeting Cards v. United Card Co.,429 F.2d 1106, 1110 (9th Cir. 1970), and plaintiffs will typically rely on the indirect method of proof. Ultimately, to prove factual copying, the plaintiff must come forward with sufficient evidence that a reasonable factfinder, taking together the evidence of access and the similarities between the programs, could find that the second work was copied from the first.
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 (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., 111 S. Ct. 1282, 1289 (1991).
The Copyright Act provides:
In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work.
17 U.S.C. Section 102 (b) (Supp. 1993). Accordingly, in order to impose liability for copyright infringement, the court must find that the defendant copied protectable elements of the plaintiff’s program and that those protectable elements comprise a substantial part of the plaintiff’s program when it is considered as a whole. Autoskill, 994 F.2d at 1496-98; Brown Bag Software v. Symantec Corp., 960 F.2d 1465, 1475-77 (9th Cir.), cert. denied,113 S. Ct. 198 (1992); Data East USA, Inc. v. Epyx,Inc., 862 F.2d 204, 208 (9th Cir. 1988).
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 (1931), a case dealing with the alleged copyright infringement of a theatrical script:
Upon any work, and especially upon a play, a great number of patterns of increasing generality will fit equally well, as more and more of the incident is left out. The last may be no more than the most general statement of what the play is about, and at times might only consist of its title; but there is a point in this series of abstractions where they are no longer protected, since otherwise the playwright could prevent the use of his “ideas,” to which, apart from their expression, his property is never extended.
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 Section 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 Section 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 cases we foresee that the use of experts will provide substantial guidance to the court in applying an abstractions test. However, a computer program can often be parsed into at least six levels of generally declining abstraction: (i) the main purpose, (ii) the program structure or architecture, (iii) modules, (iv) algorithms and data structures, (v) source code, and (vi) object code. See John W.L. Ogilvie, Defining Computer Program Parts Under Learned Hand’s Abstractions Test in Software Copyright Infringement Cases, 91 Mich. L. Rev. 526 (1992) (hereinafter “Ogilvie”).
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.2d 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 programs’ 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 out earlier, the organization of a program into abstraction levels is not an end in itself, but it is only a tool that facilitates the critical next step of filtering out unprotectable elements of the program.
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. Section 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. Section 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, 111 S. Ct. at 1287-90 (dicta); Harper & Row Publishers, Inc. v. Nation Enterprises, 471 U.S. 539, 556-57 (1985); Baker v. Selden, 101 U.S. 99, 104, 107 (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. Section 102(b) denies protection to procedures, processes, systems and methods of operation. The legislative history of the Copyright Act clarifies any ambiguity about the status of processes.
Some concern has been expressed lest copyright in computer programs should extend protection to the methodology or processes adopted by the programmer, rather than merely to the “writing” expressing his ideas. Section 102(b) is intended, among other things, to make clear that the expression adopted by the programmer is the copyrightable element in a computer program, and that the actual processes or methods embodied in the program are not within the scope of the copyright law.
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 (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(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. Section 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., 111 S. Ct. 1282 (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:
No one may claim originality as to facts. This is because facts do not owe their origin to an act of authorship. The distinction is one between creation and discovery: the first person to find and report a particular fact has not created the fact; he or she has merely discovered its existence. . . . [O]ne who discovers a fact is not its maker or originator. The discoverer merely finds and records.
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, 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, 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. Section 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, 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. See Comprehensive Technologies International, Inc. v. Software Artisans, Inc.,___ F.3d ___, 1993 U.S. App. LEXIS 21706, 8 (4th Cir. 1993); Altai, 982 F.2d at 710; Atari Games, 975 F.2d at 839; Brown Bag Software v. Symantec Corp., 960 F.2d 1465, 1474-75 (9th Cir. 1992), cert. denied, 113 S. Ct. 198 (1992); E.F. Johnson Co. v. Uniden Corp. of America, 623 F. Supp. 1485, 1499 (D. Minn. 1985). Unoriginal elements of a program may be found at any level of abstraction.
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, Section 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 Section 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 (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, 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 (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, Sega Enterprises Ltd. v. Accolade, Inc., 977 F.2d 1510, 1525-27 (9th Cir. 1993), computer manufacturer design standards, target industry practices and demands, see Plains Cotton, 807 F.2d at 1262, and computer industry programming practices, see Apple Computer, 799 F. Supp. at 1033. 3 Nimmer Section 13.03 [F][a]-[e], at 13-102.21 to 13-102.28.
After the court has filtered out those elements of the original program that it has found to be unprotectable, it is left with a core of protected elements that can be compared to the alleged infringing program. Ultimately the court must decide whether those protectable portions of the original work that have been copied constitute a substantial part of the original work – i.e. matter that is significant in the plaintiff’s program. See Altai, 982 F.2d at 710-11; Atari, Inc., 672 F.2d at 619; Paperback, 740 F. Supp. at 61; 3 Nimmer Section 13.03[A] , at 13-46 to 13-48. This is primarily a qualitative rather than a purely quantitative analysis, see Whelan, 797 F.2d at 1245 , and must be performed on a case-by-case basis.
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, Section 8, cl. 8; see Sony Corp. v. Universal City Studios, Inc., 464 U.S. 417, 428-29 (1984); Mazer v. Stein, 347 U.S. 201, 219 (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. Section 101 et seq., which establishes that:
(a) Copyright protection subsists, in accordance with this title, in original works of authorship fixed in any tangible medium of expression, now known or later developed, from which they can be perceived, reproduced, or otherwise communicated, either directly or with the aid of a machine or device. Works of authorship include the following categories:
(1) literary works; . . .
(6) motion pictures and other audiovisual works; . . .
17 U.S.C. Section 102(a) (Supp. 1993).
Computer programs are considered literary works for purposes of copyright analysis. 17 U.S.C. Section 101 states:
Literary works” are works . . . expressed in words, numbers, or other verbal or numerical symbols or indicia, regardless of the nature of the material objects, such as . . . film, tapes, disks, or cards, in which they are embodied. . . .
A “computer program” is 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. Section 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. Section 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- 2, reprinted in 1976 U.S.C.C.A.N. 5659, 5664-65.
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 (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.
The copyright of a work on mathematical science cannot give to the author an exclusive right to the methods of operation which he propounds, or to the diagrams which he employs to explain them, so as to prevent an engineer from using them whenever occasion requires. The very object of publishing a book on science or the useful arts is to communicate to the world the useful knowledge which it contains. But this object would be frustrated if the knowledge could not be used without incurring the guilt of piracy of the book. And where the art it teaches cannot be used without employing the methods and diagrams used to illustrate the book, or such as are similar to them, such methods and diagrams are to be considered as necessary incidents to the art, and given therewith to the public; not given for the purpose of publication in other works explanatory of the art, but for the purpose of practical application. 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 (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:
[T]he line between idea and expression may be drawn with reference to the end sought to be achieved by the work in question. In other words, the purpose or function of a utilitarian work would be the work’s idea, and everything that is not necessary to that purpose or function would be part of the expression of the idea.
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. However, Whelan did use the limiting doctrines of merger and scenes a faire to restrict the scope of protection. In any event, when a program is understood to encompass more than one idea, the general principle of Whelan provides a useful means to distinguish idea from expression. At its base, Whelan is premised upon traditional principles of copyright law, and its conclusion that the structure of a program may be protectable is sound.
In Lotus Development Corp. v. Paperback Software International, 740 F. Supp. 37 (D. Mass. 1990), Judge Keaton, 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 this case. 740 F. Supp. at 59-62. First, the court formulated a conception of the program’s idea based on the various abstractions that it found to describe the program. 740 F. Supp. at 60. Second, the court separated out those expressions that it found to be essential to the ideas. Finally, the court determined whether the remaining expressions were a substantial part of the copyrighted work. 740 F. Supp. at 61, 70.
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., 111 S. Ct. 1282 (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. LEXIS 6372 (U.S. Oct. 12, 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 today is consistent with this evolving approach to the copyright protection of computer programs.
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. The court initially found that the defendants had access to the Design Flex program. It then considered the testimony of the expert witnesses and identified a number of similarities between the two programs. The court concluded that “the only explanation regarding the constants, the install files, and the overall data flow and presentation, is that the Chauffeur program was copied from the Design Flex program.” Gates Rubber Co. v. Bando American, Inc., 798 F. Supp. 1499, 1516 (D. Colo. 1992).
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 sized gears at certain speeds given a number of other variables. These relationships are not invented or created; they already exist and are merely observed, discovered and recorded. Such a discovery does not give rise to copyright protection. See Feist, 111 S.Ct at 1288-19 (“[F]acts do not owe their origin to an act of authorship. The distinction is one between creation and discovery: the first person to find and report a particular fact has not created the fact; he or she has merely discovered its existence.”).
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. However, this argument amounts to an assertion of the “sweat of the brow” doctrine which has been rejected by the Supreme Court. Feist, 111 S. Ct. at 1291-9.
Accordingly, while the constants were probative of the factual question whether the defendants copied from the Design Flex program, they were unprotectable and therefore should have been filtered out before the district court addressed the ultimate question of whether the defendants infringed on Gates’ copyright. Instead, the court relied heavily on the similarity of the constants in the two programs when it concluded that Chauffeur infringed on Gates’ copyright. It noted that the constants “lie at the heart of the dispute,” and gave “special regard to the mathematical constants” in finding that the defendants had violated Gates’ copyright. Gates Rubber, 798 F. Supp. at 1518-19. Because of the court’s emphasis on the constants in its reasoning, and our finding that the constants are unprotectable facts, we remand for the district court to consider whether the remaining protectable elements found to have been copied are such a substantial part of the Design Flex program that their misappropriation constitutes copyright infringement.
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 or some other aspect of the program when it discussed the menus and sorting criteria, and it failed to address whether the visual screen display can be separated from the program generating the visual screen display for purposes of the stipulation. Accordingly, we remand for a clarification of the terms “menu” and “sorting criteria”; for a determination of whether Gates has waived its infringement claims with respect to these elements; and for a determination of the protectability of such elements if Gates is determined not to have waived its infringement claim with regard to them.
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. We remand for clarification of the terms “control flow” and “data flow” and for reconsideration of these elements in light of the idea-expression and process-expression dichotomies as they have been set forth in this opinion.
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:
The modules of the program were also found to be substantially similar. These modules, like chapters of a novel or scenes from a play, performed particular functions - here the engineering calculations and the design aspect of the program (containing the V-belt design algorithms). Concerning the former module, it was noted that behavior was similar, and with the latter the similarity concerned overall structure and organization. With regard to the former module, this falls closer to the expression range because, although the pure engineering aspect in a broad sense may be more likely to be not protected, the relevant engineering modules in the two programs contain particular elements which perform in similar manners. The latter module is somewhat more difficult as it involves algorithms, or procedures for solving given types of mathematical problems. The Court here rejects the argument that while the remaining portion [of the program] is properly protected under copyright law, the algorithms, as a “process” can only be covered by patent law. Such a holding would tend to fragment further the rather tenuous continuity found in copyright law concerning computer programs. This conclusion is supported by the Whelan decision. 797 F.2d at 1229.
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 are just different names for the same module. Gates has failed to brief this issue. The expert testimony casts doubt on the district court’s interpretation that the engineering module and the design module are two separate modules; however, the record is not sufficiently clear to resolve the dispute.
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, they do not assist in determining what material is protectable under copyright law. BellSouth Advertising & Publishing Corp. v. Donnelley Information Publishing, Inc., 999 F.2d 1436 (11th Cir. 1993). Relying on several cases that have held that “common errors are the strongest evidence of copying,” Gates argues that the common errors should be considered protectable.” Aplee. Br. at 33. See Atari Games, 975 F.2d at 845; M. Kramer, 783 at 446; E.F. Johnson Co. v. Uniden Corp. of America, 623 F. Supp. 1485, 1496 (D. Minn. 1985). However, none of the cases cited by Gates held that the actual misbehavior or faulty operation of the computer was protected.
Rather, the cases stand for the limited proposition that evidence that two programs contain the same unnecessary or defective textual instructions is probative on the issue of copying. None of the cases cited considered the protectability of those instructions. Errors per se are not protectable, although the expression containing the error may be protectable if it otherwise meets the test for protectability set forth in this opinion. That analysis is lacking here. Thus, it is necessary for us to remand on this issue.
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:
[a]lthough “fundamental tasks” may in a broader sense merely describe what are necessary means to effect a particular end, the term here is more specific due to the types of tasks which were available to achieve the particular end of designing belts and drives.
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. Section 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. Section 301. Section 301(a) provides that:
(a) On and after January 1, 1978, all legal or equitable rights that are equivalent to any of the exclusive rights within the general scope of copyright as specified by Section 106 in works of authorship that are fixed in a tangible medium of expression and come within the subject matter of copyright as specified by sections 102 and 103, whether created before or after that date and whether published or unpublished, are governed exclusively by this title. Thereafter, no person is entitled to any such right or equivalent right in any such work under the common law or statutes of any State.
17 U.S.C. Section 301(a) (emphasis added). However, Section 301(a) is qualified by Section 301(b), which provides in relevant part:
(b) Nothing in this title annuls or limits any rights or remedies under the common law or statutes of any State with respect to-
(1) subject matter that does not come within the subject matter of copyright as specified by sections 102 and 103, including works of authorship not fixed in any tangible medium of expression; or
(2) any cause of action arising from undertakings commenced before January 1, 1978;
(3) activities violating legal or equitable rights that are not equivalent to any of the exclusive rights within the general scope of copyright as specified by section 106; . . .
17 U.S.C. Section 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. Sections 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. Section 106.” Ehat v. Tanner, 780 F.2d 876, 878 (10th Cir. 1985), cert. denied, 479 U.S. 820 (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 (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. Sections 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. Sections 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. Section 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, 113 S. Ct. 2927 (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 (2d 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 breach of a duty of trust or confidence “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 on copying.” Computer Associates International, Inc. v. Altai, Inc., 982 F.2d 693, 717 (2d Cir. 1992); Trandes Corp. v. Guy F. Atkinson Co., 1993 U.S. App. LEXIS 13587, *12 (4th Cir. June 10, 1993); S.O.S., Inc. v. Payday, Inc., 886 F.2d 1081, 1090 n.13 (9th Cir. 1989); Restatement (First) of Torts Section 757 cmt.a (1939). Because Gates’ claim for trade secret misappropriation under the Colorado Uniform Trade Secrets Act requires proof of a breach of trust or confidence – proof that is not required under the Copyright Act – Gates’ state law claims are not preempted by federal law.
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 (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.
1) the extent to which the information is known outside the business;
2) the extent to which it is known to those inside the business, i.e., by the employees;
3) the precautions taken by the holder of the trade secret to guard the secrecy of the information;
4) the savings effected and the value of the holder in having the information as against competitors;
5) the amount of effort or money expended in obtaining and developing the information; and
6) the amount of time and expense it would take for others to acquire and duplicate the information.
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 the district court to issue a permanent injunction.
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.
 Both Piderit and Newman signed written agreements not to reveal trade secrets and to return all materials used during their employment with Gates. Piderit however thwarted Gates’ policy of requiring immediate departure from its plant upon resignation by waiting four weeks after accepting Bando’s offer before informing Gates of his decision to leave.
There was evidence that Piderit pirated a copy of the Design Flex program and brought it with him to Bando.
 The court was aided in its analysis of the copyright law concerning computer programs by briefs submitted by amicus curiae: the American Committee for Interoperable Systems; Computer and Business Equipment Manufacturers Association; the International Anticounterfeiting Coalition, Inc.; Adobe Systems, Inc.; Apple Computer, Inc.; Computer Associates International, Inc.; Digital Equipment Corporation, Inc.; International Business Machines Corporation; Lotus Development Corporation; Wordperfect Corporation; and Xerox Corporation.
 Before us is the appellee’s motion to protect trade secrets and copyrighted and confidential materials. This court, in an order dated November 25, 1992,ordered the appendices on the appeal temporarily sealed until this motion could be considered. In light of our treatment of the trade secret issues, we grant this motion. Further, the “Second Supplemental Appendix of Appellee the Gates Rubber Company” is accepted for filing and is ordered filed under seal.
 In the instant case, Gates presented evidence that it obtained a Certificate of Copyright Registration for the Design Flex Program. The district court held that the defendants had failed to present sufficient evidence to rebut the presumption of the copyright’s validity. Gates Rubber Co. v. Bando American, Inc., 798 F. Supp. 1499, 1507 (D.Colo. 1992). On appeal the defendants do not dispute that Gates held a valid copyright on the Design Flex program.
Copying is used herein as a shorthand reference to any infringement of the copyright holder’s exclusive rights that are set forth at 17 U.S.C. Section 106. Ford Motor Co. v. Summit Motor Products, Inc., 930 F.2d 277, 291 (3d Cir.), cert. denied 112 S. Ct. 373 (1991). 17 U.S.C. Section 106 establishes:
Subject to sections 107 through 120, the owner of copyright under this title has the exclusive rights to do and to authorize any of the following:
(1) to reproduce the copyrighted work in copies . . . ;
(2) to prepare derivative works based upon the copyrighted work;
(3) to distribute copies . . . of the copyrighted work to the public by sale or other transfer of ownership, or by rental, lease, or lending; . . .
17 U.S.C. Section 106 (1977 and Supp. 1993).
 In examining the similarities between two programs under the indirect method of proving copying it is ordinarily important to compare the whole works. Atari, Inc. v. North American Philips Consumer Electronics Corp., 672 F.2d 607, 618 (7th Cir.), cert. denied, 459 U.S. 880 (1982); 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, 905-906 (1990); Anthony L. Clapes, Patrick Lynch & Mark R. Steinberg, Silicon Epics and Binary Bards: Determining the Proper Scope of Copyright Protection for Computer Programs, 34 UCLA L. Rev. 1493, 1570 (1987). We agree with the district court’s conclusion that:
it is far preferable, especially in an area of legal and technological sophistication as complex as this area of copyright protection, to draw upon a larger arsenal of facts in order to design or derive the appropriate legally significant facts. Once these are gathered and expert testimony is heard, the court can then analyze which portions of the program, according to the expert testimony, infringes the protected expression.
Gates Rubber Co. v. Bando American, Inc., 798 F. Supp. 1499, 1511 [25 USPQ2d 1161] (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.
 When a plaintiff relies on the indirect method of proving copying, he merely creates an inference that the defendant appropriated portions of the plaintiff’s program. The defendant can come forward with evidence of independent creation to rebut the inference of copying created by the evidence of access and factual similarity. Summit Motor, 930 F.2d at 295. In the instant case, the district court considered evidence of independent development consisting of defendant Piderit’s testimony. The court found this testimony lacked credibility and concluded that in light of the other evidence presented at the hearing that “the Defendants failed to rebut the presumption of copying” that arose from plaintiff’s proof of access and similarity.
 The degree of similarity between programs necessary to give rise to the inference that copying occurred will vary from case to case. Arnstein, 154 F.2d at 469. A high degree of similarity may permit access to be inferred. See Ferguson v. National Broadcasting Co., 584 F.2d 111, 113 (5th Cir. 1978); 3 Nimmer Section 13.02 [B], at 13-21. Conversely, where there is strong proof of access, the necessary showing of factual similarity will be relatively lower. However, we note that no matter how conclusive proof of access may be, liability may not attach without some showing of similarity.
 In the instant case, the district court found that the defendants had access to Gates’ computer programs and that “the Chauffeur program was copied from the Design Flex program.” Gates Rubber, 798 F. Supp. at 1516 . The defendants do not challenge those findings on appeal, although they obviously do not agree with them. Rather, the defendant’s main contention on appeal is that the district court erroneously relied on the similarity of non-protectable elements of the Gates program to assess infringement liability.
 As the 1976 House Report on this section noted:
Section 102(b) is intended, among other things, to make clear that the expression adopted by the programmer is the copyrightable element in a computer program, and that the actual processes or methods embodied in the program are not within the scope of the copyright law.
H.R. Rep. No. 1476, 94th Cong., 2d Sess. 57 (1976), reprinted in 1976 U.S.C.C.A.N. 5659, 5670.
 However, we note that the appropriate test to be applied and the order in which its various components are to be applied in any particular case may vary depending on the claims involved, the procedural posture of the suit, and the nature of the computer programs at issue.
 For our purposes we consider each of these terms to refer generally to a method for achieving a particular result. For simplicity, we will refer only to “process.”
 We recognize that the scenes a faire doctrine may implicate the protectability of interfacing and that this topic is very sensitive and has the potential to effect widely the law of computer copyright. This appeal does not require us to determine the scope of the scenes a faire doctrine as it relates to interfacing and accordingly we refrain from discussing the issue.
 A number of tests have been proposed to give guidance to courts in making this determination. They include “total concept and feel,” “fundamental essence or structure,” and the “iterative” tests. The “total concept and feel” test was developed in different contexts and it is not very helpful in comparing similarities among protected components of computer codes. The other tests are artificially narrow and restrictive. Instead, the comparison must necessarily be an ad hoc determination of whether the infringed portion is a significant or important part of the plaintiff’s code, considered as a whole.
 There is no dispute in this appeal that computer programs may be protectable under the copyright law.
See Altai,982 F.2d at 705-06 (citing cases); 3 Nimmer Section 13.03 [F], at 13-102.17 to 13-102.19; Englund, 88 Mich.L.Rev.881-82. The criticisms of the Whelan analysis primarily concern the high level of abstraction at which the court chose to separate idea from expression. The criticisms of the Whelan decision are valid when the opinion is read to imply that a computer program can have only one idea. See 3Nimmer, Section 13.03 [F], at 13-102.17. Computer programs can, and nearly all do, incorporate more than one idea. When a program is analyzed under the Whelan framework with this broader concept of idea, the scope of protection afforded by the Whelan analysis is significantly curtailed.
The court attempted to fit its analysis into the rubric of the “extrinsic-intrinsic” test. However, that effort largely overlaps the “abstraction-filtration-comparison” test we adopt today and it merely adds confusion to the existing plethora of terminology. For purposes of addressing the issue of copyright infringement of computer programs, we think it is better simply to use the terminology addressed in our opinion.
 We note that the court correctly found a number of the elements present in both the Design Flex and Chauffeur programs to be unprotectable.It found the formulas used in the program to have been previously published and therefore in the public domain, and the level of complexity of the program to be more akin to the idea of the program than its expression. Gates Rubber, 798 F. Supp. at 1518-19 .
 As Gates explained in its submission to this court:
The engineering constants were derived by Gates based upon a large number of tests. The result of each test was plotted on a graph so that it could be compared with other results. Once all results had been collected, the constant was created by comparing and interpreting all results and determining which result best typified the group. The designated constant is representative of the group in the opinion of the engineer making the determination.
Aplee. Br. at 32. Gates mischaracterizes the derivation of the constants as having been “created.”
 The district court has found that the constants were trade secrets belonging to Gates, and in Part II of this opinion we uphold that finding. Thus, the fact that Bando used these constants in its program is strong evidence on the factual issue of copying.
The district court merely summarized the testimony of one of the experts who found that several elements of the programs were similar including: “data flow, which he described as being analogous to ‘recipe;’ [and] control flow which is the sequence of events.” Gates Rubber, 798 F. Supp. at 1514-15 .
 In fact, common errors are not always probative of copying. For example, on the record before us, the testimony of the expert Dr. Dorn argued that the errors resulted from different sources in the programs.
 Except as stated above, we find no error in the remaining portions of the district court’s analysis of Gates’ copyright claim.
 The Colorado Uniform Trade Secrets Act provides for damages and injunctive relief for misappropriation of trade secrets. Colo. Rev. Stat. 7-74-103 and 7-74-104. Misappropriation is defined as:
(a) Acquisition of a trade secret of another by a person who knows or who has reason to know that the trade secret was acquired by improper means; or (b) Disclosure or use of a trade secret of another without express or implied consent by a person who:
(I) Used improper means to acquire knowledge of the trade secret; or
(II) At the time of the disclosure or use, knew or had reason to know that his knowledge of the trade secret was:
(A) Derived from or through a person who had utilized improper means to acquire it;
(B) Acquired under circumstances giving rise to a duty to maintain its secrecy or limit its use; or
(C) Derived from or through a person who owed a duty to the person seeking relief to maintain its secrecy or limit its use; or
(III) Before a material change of his position, knew or had reason to know that it was a trade secret and that knowledge of it had been acquired by accident or mistake.
Colo. Rev. Stat. 7-74-102(2).
 In its complaint, Gates alleges that (i) Bando officials knew that they possessed trade secrets belonging to Gates and that the trade secrets were used in the development of their computer programs, (ii) that the trade secrets were used in violation of Gates’ rights and as a means of unfair competition, (iii) that the trade secrets were obtained in violation of confidentiality agreements, and (iv) the use of the trade secrets constituted a misappropriation under Colorado law. Amended Complaint, Aplt.Apx at 6-8.