Nowadays, the copyright system is the dominant legal framework for protection of computer programs. However, this was not always the case. Back in the 1970s, there was strong competition between the patent and copyright systems for taking the throne in governing IP protection of software. Copyright was deemed a good fit as computer programs in source code resemble a literary work and the patent system was deemed suitable due to the technical nature of the software functionalities. There were also proponents of a third position – “sui generis” protection, who claimed that a specific new regime for IP protection of computer programs must be created. As an attempt for such new regime, WIPO adopted in 1977 its Model Provisions on the Protection of Computer Software, which however were not broadly adopted in the form of national laws. The debate was pretty much put to a halt in 1980 when the United States adopted an amendment to its Copyright Act stipulating that computer programs are protected under copyright. Gradually, consensus was reached across the globe that computer programs shall be protected under copyright while software-related inventions can be protected by patents.
In the same tradition, Article 1(1) of the EU Directive 2009/24 on the legal protection of computer programs proclaims that Member States shall protect computer programs, by copyright, as literary works within the meaning of the Berne Convention for the Protection of Literary and Artistic Works. Importantly, Article 1(2) further clarifies that protection in accordance with the Directive applies to the expression of a computer program in any form. On the other hand, ideas and principles which underlie any element of a computer program, including those which underlie its interfaces, are not protected by copyright under the Directive.
The idea-expression dichotomy is a well-known general principle under copyright law. Based on that axiom, copyright protects only the expression of an idea but not the idea itself. To do the contrary would result in building monopolies on ideas. In addition to ideas, copyright protection also does not extend to functionalities, processes, methods of operation. In this sense, it would not be possible to protect ideas and functionalities through a software licensing agreement as any such provisions would be null and void.
Then comes the logical question which exactly are the protected forms of expression of a computer program envisioned in Article 1(2) of Directive 2009/24?
The literal expressions of a computer program that are protected under copyright are its source code and object code. A computer program can be simply defined as a set of instructions whose aim is to achieve a particular result or function. Thus, the basis of each computer program are these instructions which can be expressed in source code and object code. The source code is an expression of the computer program that is created in human readable form through a programming language. However, the source code cannot actually cause the computer to perform a given task as computers can only read machine language. In order for the human-readable source code to become executable it needs to be compiled into binary form (1s and 0s) and thus become intelligible to a machine. It is this binary form that is called “object code”. To sum it up, the source code is an expression of the software intelligible to a human being while the object code can be read only by a computer.
It is without doubt that both literal forms of expression of a computer program – the source code and the object code, can be protected as literary works under copyright. This is also explicitly confirmed by Article 10(1) of the TRIPS Agreement – “Computer programs, whether in source or object code, shall be protected as literary works under the Berne Convention (1971)”. Even though object code takes the form of 1s and 0s, it can actually be decompiled (reverse engineered) into the literary work which is source code.
Important insight on the guiding principles determining which are the expressions of a computer program that are protected under EU law can be found in the Opinion of Advocate General Bot on Case C‑393/09 (Bezpečnostní softwarová asociace – Svaz softwarové ochrany v Ministerstvo kultury). In his Opinion Advocate General Bot suggests that an expression of a computer program should be protected under copyright only when the potential reproduction of this expression would bring about the reproduction of the computer program itself. Therefore, the rationale of the EU legislator would be that only such forms whose reproduction leads to reproduction of the computer program itself are in fact forms of expression in the sense of Article 1(2) Directive 2009/24. As explained, this is clearly the case when it comes to the source code and object code of the program as they are in fact the instructions that bring about a given result. This is also the case for any preparatory design materials that are capable to lead to the creation of the computer program as made clear from recital 7 of Directive 2009/24. Such design materials are prepared in advance of the actual programming and they can be distinguished from ordinary literary works based on the criterion that a computer program can result from them at a later stage. Therefore, these preparatory materials could even govern the programming process – a case in point would be a high level specification which provides the basis and instructions for the subsequent coding. Such a scenario could raise interesting questions such as to what extent the final program is a derivative work of the specifications and also how the IP rights over the program would be distributed among the designers and the programmers.
In addition to the above-mentioned literal expressions, a computer program also has non-literal expressions such as the overall structure, sequence and organization of the computer program. The structure of the computer program would generally reflect the separate modules that build it up, their hierarchy and their internal interactions. Those non-literal expressions of the computer program are also protected under copyright and in case a competing company copies those when developing its own product without authorization from the rightholder, this could give rise to a copyright infringement claim. Interesting guidance in view of the question of copyright protection for non-literal expressions 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 clarified that the structure of a computer program contains non-literal components such as general flow charts, 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. A similar stance was taken 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”.
The functionality of a computer program however does not constitute a form of expression. The functionality sits a lot closer to the abstract concepts and ideas that underlie a computer program. Moreover, if functionalities were subject to copyright protection this would effectively lead to a situation where there is only one given computer program that serves a particular function and all other programs providing the same function would be treated as infringing. The position taken in the Explanatory Memorandum to the initial proposal for the Directive on the legal protection of computer programs was that by protecting only the expressions and not the underlying ideas and functionalities, copyright would provide sufficient flexibility for authors to create similar or even identical programs in terms of functionality but under the condition that their authors refrain from copying.
The position is the same for the programming language and the format of data files that are used in a computer program so that its functions are realized. As established in the CJEU decision on Case C-406/10 SAS Institute Inc. vs World Programming Ltd, they do not constitute a form of expression of the computer program and as such they are not protected under copyright. Recital 11 of Directive 2009/24 explicitly postulates that programming languages comprise ideas and principles and not expressions. It is the source code written in a given programming language that is the protected expression and not the programming language itself which is just a medium for the materialization of the expression.
Graphical user interfaces (GUI) whose function is to allow interaction between the end user and the computer program are also not a form of expression of the computer program. This position was explicitly confirmed by the CJEU in its decision on Case C-393/09 Bezpečnostní softwarová asociace – Svaz softwarové ochrany v Ministerstvo kultury. The conclusion of the Court in that case was that the GUI does not enable the reproduction of the computer program, but merely constitutes one element of that program by way of which users can make use of its features. Therefore, the GUI does not constitute a form of expression of a computer program within the meaning of Article 1(2) of the Software Directive and it cannot be protected by copyright in computer programs. The GUI, unlike the source code and object code, does not enable the computer program to perform the task for which it was created. Instead, it is just an interaction interface and as such it does not communicate the computer program. This conclusion, however does not preclude the IP protection of a GUI. Its components can be protected as visual works under the traditional copyright regime and also through the use of design rights.
A GUI can also be protected as standalone computer code (distinct from the computer program it serves) to the extent it complies with the originality requirement established in Article 1(3) of Directive 2009/24 – the work being the author’s own intellectual creation. However, it may turn out to be difficult for the code of a GUI to satisfy the originality requirement. This is due to the fact that many of the elements that comprise the GUI would have a purely functional purpose – to facilitate the use of the underlying computer program. Therefore, it might be that the expression of those elements in source code will be dictated entirely by technical constraints and there will be only one or a few limited ways how the expression could be formulated by the programmer. If that is the case, then based on the “merger doctrine” (which postulates that when there is only one or a few limited ways to express an idea, the expression merges with the idea), such works will not pass the originality requirement and no copyright will subsist in them. In any event, the question of originality will have to be answered by the courts on a case-by-case basis after a careful analysis.
The legal position will be similar also for APIs (application programming interfaces) which are software intermediaries that allow for applications to talk to each other and exchange data. APIs are not a form of expression of the computer program but still could be protected as standalone code to the extent they satisfy the originality requirement. Normally, if technical constraints dictate that an API can only be expressed in a very limited number of ways and there is no room for any creative choices, then based on the “merger doctrine” the expression in code will not be original and no copyright will subsist. Irrespective of their utilitarian nature, APIs could however involve various architectural design and implementation decisions that would easily give rise to originality in the work. A case in point is the ongoing legal battle between Oracle and Google focusing on the question of copyrightability of APIs that has reached the United States Supreme Court. At the second instance, the US Court of Appeals for the Federal Circuit ruled in favor of Oracle and postulated that designing the Java API packages was a creative process and as the employed creative choices were not dictated by function, the API packages qualify as original works that are subject to copyright protection.