To determine which computer program elements are copyrightable, the federal courts (which have exclusive jurisdiction over US copyright cases) commonly identify and analyze each of the program’s literal and non-literal elements under one of three principal tests:
(1) abstraction-filtration-comparison;
(2) method of operation; and
(3) inherent necessity.
Under the abstraction-filtration-comparison, expressive features of the program’s literal and non-literal elements are first examined at multiple levels of abstraction. These levels range from the program’s most abstract to its most concrete expression and, as noted by at least one court, 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” (p835).
To identify the remaining core of protectable expression, the contents, and structure of each level are then filtered to exclude the following: (1) ideas, procedures, processes, systems, methods of operation, concepts, principles, or discoveries; (2) facts, information, and data; (3) elements that are so driven by considerations of efficiency that they can be expressed in only one or a limited number of ways (and are therefore necessarily incidental to the program’s ideas); (4) Common, standard, or stock programming practices, components, or usages; (5) features dictated by external constraints or requirements, such as legal compliance, industry demands, or hardware or software specifications, standards, or compatibility requirements; and (6) Third-party and public-domain materials. (p709-10).
The abstraction-filtration-comparison test is the controlling test in the 2d, 5th, 6th, 9th, 10th, 11th, and Federal Circuit and has been adopted, for the most part, by district courts in the remaining districts. The 1st Circuit has its own test called the “method of operation” test wherein functional program features, such as methods of operation, procedures, systems, and other subject-matter excluded under Section 102(b) of the Copyright Act, are ineligible for copyright protection no matter how they are or can be, expressed.
Finally, the 3rd Circuit uses the “inherent necessity” test. Under this test, everything that is unnecessary to the purpose or function (the “idea”) of the computer program is expressive and therefore eligible for copyright protection.
Having addressed some of the substantive issues in determining whether software can be copyrighted, join me next time for part five where we will address the question of legal formalities.