One of the most common forms of IP infringement when it comes to computer software is unauthorized copying. Such copying represents a violation of the exclusive reproduction right of the copyright holder. The exclusive reproduction right gives the rightholder the power to authorize or prohibit direct or indirect, temporary or permanent reproduction by any means and in any form, in whole or in part of the covered work. The reproduction right is also a fundamental prerequisite in realizing some other exclusive rights such as the right to distribute copies of the software or the right to modify the software.
It is an established legal principle that copyright does not extend to ideas but only to their expression. When it comes to computer programs, which are protected under copyright as literary works, the same principle dictates that the idea underlying a computer program is not protected while the particular expression of that idea (in source code and subsequently in object code) can attain protection if it is original.
Copying as a violation of the exclusive reproduction right, when applied to computer programs, usually takes two forms:
- literal copying
- non-literal copying
Literal copying is the direct copying of the source code of an original computer program. For literal copying to take place, both computer programs need to be written in the same programming language and the second program must have over borrowed lines of code from the first program. The first step is to observe the source code of the programs side by side and to establish the similarities between the two programs, i.e. to establish that copying has taken place. The second step is to determine whether the copying has been substantial. The copying may amount to just a few lines of code but it also may involve significant chunks of source code. Establishing this is part of the quantitative assessment for literal copying. However, what could turn out to be more important is the qualitative assessment – in other words whether the copied lines of code, despite maybe not being very high in number, play a crucial role for realizing the core functionalities of the program. Therefore, both the quantitative and the qualitative factors need to be taken into account before arriving at a conclusion that literal copying has taken place. Some typical signs that may point towards a finding of literal copying are the existence of exactly the same spelling mistakes in the source code of both programs or the appearance of superfluous lines of code in the second program that are not necessary for realizing its functionality, which however are an exact copy of lines of code that can be found in the original program.
While literal copying is relatively easy to detect, the cases of non-literal copying are far more challenging. Courts usually adopt the practice of classifying the elements of a computer program into 2 groups: i) literal elements – the source code and object code, and ii) non-literal elements – the structure, sequence and organization of a computer program. Hence, a case of non-literal copying would be a situation where the second program is expressed in different lines of source code or even written in a different programming language, but still over borrowing some key non-literal elements of the original program such as its structure, sequence and internal organization. Some key guidance in view of the question of copyright protection for non-literal elements of a computer program was provided by the U.S. Court of Appeals for the Second Circuit in the case Computer Associates International, Inc. v. Altai, Inc., 982 F.2d (2d Cir. 1992). In this case, the court clarifies that the structure of a program contains non-literal components such as general flow charts, as well as inter-modular relationships, parameter lists and macros. Therefore, if these non-literal components of an original program are substantially similar in a second program, a case for copyright infringement may arise in the form of non-literal copying. Similar position had been established in an earlier decision of the Third Circuit (Whelan Associates v. Jaslow Dental Laboratory 797 F.2d 1222 (3d Cir. 1986) – “By analogy to other literary works, it would thus appear that the copyrights of computer programs can be infringed even absent copying of the literal elements of the program”.
In order to overcome the conceptual difficulty of establishing which components of a computer program would qualify for copyright protection and determine the scope of copyright protection for non-literal elements, the court in Computer Associates v Altai proposed a three-step test, which became known as the Altai test or the abstraction-filtration-comparison test. The Altai test is worth exploring as it may suggest a useful framework for establishing non-literal copying.
The first step of the Altai test is called abstraction and is used to get an idea of the components that build up the computer program. It retraces the steps of creating the computer program, however in reverse order. Hence, the analysis here starts with the concrete expression – the code and then begins moving backwards throughout different levels of abstraction to ultimately reach the general idea. At the lowest level of abstraction sits the object code. One level of abstraction up is the source code. Above them sit the modules in which the code is organized and their hierarchy. At a higher level are the functions of those modules. And the final step is the ultimate function of the program itself and the idea that underlies the program.
The second step of the test is filtration. Filtration is applied at every level of abstraction already identified at the first step. It requires excluding all elements of the computer program that are not protectable under copyright. The elements that must be excluded are those that are: i) dictated by efficiency (on the basis of the merger doctrine they are not covered by copyright), ii) dictated by external factors (i.e. elements dictated by hardware specifications, interoperability, compatibility, design standards, etc.) and iii) elements taken from the public domain. Additionally, at this second step all elements that take the form of ideas, methods, processes, and are thus not protectable under copyright, are filtered out.
The third step of the Altai test is the comparison. Once the court has identified the components of the computer program at step 1 and filtered out any ideas and elements, dictated by efficiency, external factors, and taken from the public domain at step 2, then the final step is to compare the remaining core, that is protectable under copyright, against the allegedly infringing work. The assessment here focuses on whether the author of the allegedly infringing work has copied elements from the protectable core of the original work and whether the copying was substantial (i.e. substantial similarity) based on a qualitative and quantitative assessment.
Inevitably, any analysis on copying as a form of IP infringement would be incomplete without mentioning the various limitations and exceptions that are applicable to the reproduction right. This is so because they may be successfully employed as a legal defense against an allegation of illicit copying. We will first focus our attention on the general exceptions and limitations to the reproduction right and then on those that are specifically applicable to computer programs under EU legislation.
The exclusive reproduction right is not absolute. Under statutory law, there are certain general exceptions and limitations that may confine the scope of the reproduction right and permit copying without the need for authorization from the rightholder. As per Article 5(1) of the EU Infosoc Directive (Directive 2001/29/EC), temporary acts of copying, which are transient or incidental, and represent an integral and essential part of a technological process and whose sole purpose is to enable a transmission in a network between third parties by an intermediary, or a lawful use of the work, are granted an exemption from the exclusive reproduction right. Furthermore, Articles 5(2) and 5(3) of the Infosoc Directive provide for several optional limitations that EU Member States may establish in their national legislation. One that is notable is the case of private use. As per Article 5(2)b) of the InfoSoc Directive, an exemption may be provided in respect of reproductions on any medium made by a natural person for private use and for purposes that are neither directly nor indirectly commercial, on condition that the rightholders receive fair compensation. Such fair compensation for the rightholders may be achieved through the imposition of levies – the levy is normally paid by the manufacturers and importers of the equipment being used for private copying and blank data carriers (CDs, DVDs, USB flash drives) and is usually included in the price of the equipment and carriers paid by end customers.
Further exceptions and limitations that are specific to computer programs can be found in the text of the EU Software Directive (Directive 2009/24/EC). It is Article 4(1)a) of the Software Directive that establishes the reproduction right as an exclusive right of the righholder to do or to authorize the permanent or temporary reproduction of a computer program by any means and in any form, in part or in whole. The relevant exceptions and limitations can be found in Articles 5 and 6 of the Software Directive.
First, Article 5(1) of the Software Directive establishes that in the absence of any specific licensing provisions, copying performed by the end user shall not require authorization from the rightholder when it is necessary for the use of the computer program by the lawful acquirer in accordance with its intended purpose, including for error correction. Second, Article 5(2) explicitly stipulates that the making of a back-up copy by a person having a right to use the computer program does not require authorization by the rightholder. Article 5(3) goes further proclaiming that the person having a right to use a copy of a computer program is entitled, again without the authorization of the rightholder, to observe, study or test the functioning of the program in order to determine the ideas and principles which underlie any element of the program, if he does so while performing any of the acts of loading, displaying, running, transmitting or storing the program which he is entitled to do. This point goes back to the general principle that copyright does not protect ideas but only their expression. Hence, an end user should be able to study a program in order to determine its underlying idea while performing the acts that a lawful acquirer of the software is generally permitted to do in order to run the program. It must be highlighted here that any licensing conditions that a software vendor may try to impose and that are in contradiction to the exceptions established by Articles 5(2) and 5(3) of the Software Directive shall be null and void.
Another interesting text in the Software Directive where we can observe a certain limitation on the exclusive reproduction right is the decompilation scenario outlined in Article 6. Decompilation or reverse engineering is a process where the object code of a computer program is transformed into a form of source code. This is done with a decompiler – a software tool that takes the executable code as input and converts the machine language into a form of high level programming language so it can be read by a human. In addition to merely uncovering the source code, decompiling could be useful for many other purposes – maintaining or archiving the code, debugging purposes, finding vulnerabilities in the program or achieving interoperability with other programs or platforms.
It is exactly the interoperability option that has caught the attention of the EU lawmaker and found its way into the text of the EU Software Directive. Under Article 6 of the Directive, the end user can perform decompilation, which entails reproduction of the computer code, without the need for authorization from the righholder only in one very limited scenario – when necessary to achieve interoperability of an independently created computer program with another program.
The Software Directive establishes many conditions for such decompilation. First, the decompilation right should only apply when there is no other way to achieve interoperability with the second program. This would be the case, for example, if the code of the APIs (application programming interfaces that are fundamental in order to achieve interoperability) of the second program is not freely available and the software vendor refuses to provide it upon request. Second, the right can be applied only by someone who is developing an independent program. Third, that person should also be a lawful user of the second program that is to be decompiled. Fourth, the decompilation should only cover those parts of the second program that are necessary to achieve interoperability. Finally, the information obtained through the decompilation should not be used for goals other than achieving interoperability; it should not be shared with third parties and should not be used for developing a substantially similar program, as this would constitute a copyright infringement. Similarly to Articles 5(2) and 5(3) of the Software Directive, any restrictions imposed through a licensing agreement by a software vendor on the decompilation right, as established under Article 6, shall be null and void.