2) Substantial Similarity Test for Computer Program Structure: Abstraction-Filtration-Comparison
We think that Whelan's approach to separating idea from expression in computer programs relies too heavily on metaphysical distinctions and does not place enough emphasis on practical considerations. Cf. Apple Computer,714 F.2d at 1253 (rejecting certain commercial constraints on programming as a helpful means of distinguishing idea from expression because they did "not enter into the somewhat metaphysical issue of whether particular ideas and expressions have merged"). As the cases that we shall discuss demonstrate, a satisfactory answer to this problem cannot be reached by resorting, a priori, to philosophical first principals.
As discussed herein, we think that district courts would be well-advised to undertake a three-step procedure, based on the abstractions test utilized by the district court, in order to determine whether the non-literal elements-of two or more computer programs are substantially similar. This approach breaks no new ground; rather, it draws on such familiar copyright doctrines as merger, scenes a faire, and public domain. In taking this approach, however, we are cognizant that computer technology is a dynamic field which can quickly outpace judicial decision making. Thus, in cases where the technology inquest on does not allow for a literal application of the procedure we outline below, our opinion should not be read to foreclose the district courts of our circuit from utilizing a modified version,
In ascertaining substantial similarity under this approach, a court would first break down the allegedly infringed program into its constituent structural parts. Then, by examining each of these parts for such things as incorporated ideas, expression that is necessarily incidental to those ideas, and elements that are taken from the public domain, a court would then be able to sift out all non-protectable material. Left with a kernel, or possible kernels, of creative expression after following this process of elimination, the court's last step would be to compare this material with the structure of an allegedly infringing program. The result of this comparison will determine whether the protectable elements of the programs at issue are substantially similar so as to warrant a finding of infringement. It will be helpful to elaborate a bit further.
Step One: Abstraction
As the district court appreciated, see Computer Assocs.,775 F. Supp.at560, the theoretic framework for analyzing substantial similarity expounded by Learned Hand in the Nichols case is helpful in the present context. In Nichols, we enunciated what has now become known as the "abstractions" test for separating idea from expression:
Upon any work...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 perhaps be no more than the most general statement of what the [work] isabout, and at times might consist only of its title; but there is a point in this series of abstractions where they are no longer protected, since otherwise the[author] could prevent the use of his "ideas," to which, apart from their expression, his property is never extended.
While the abstractions test was originally applied in relation to literary works such as novels and plays, it is adaptable to computer programs. In contrast to the Whelan approach, the abstractions test "implicitly recognizes that any given work may consist of a mixture of numerous ideas and expressions."
……