1. General aspects
Since the legislation1 offers no definition of a computer program, copyright protection of computer programs was subject to many studies and case-law, both on national and on international level.
This article discusses the defining elements of the computer program, such as they have emerged from the legal literature and judicial practice, the difference between configuration and customization of computer programs, as well as the case-law generated by the confusion of these notions.
2. Definition of computer programs
The World Intellectual Property Organization defines2 computer programs as ”a set of instructions capable, when incorporated in a machine – readable medium, of causing a machine having information-processing capabilities to indicate, perform or achieve a particular function, task or result”.
Doctrine3 describes computer programs as ”a set of instructions which, codified and transposed on a medium legible by the machine following these instructions, allow some results to be obtained”.
From a technical perspective4, computer programs are also defined as ”the representation of an algorithm in a programming language” and other authors5 define the same notion as „a set of instructions capable (when they are inserted in a medium exploitable by the computer) to allow a machine with information management functionalities to indicate, to execute or to produce a certain function, a task or a certain result”.
3. The defining elements of a computer program
Considering the premise of the above-mentioned definitions, the steps for creating a fully functional computer program means going through the following sequence of phases:
(i) creating the conceptual preparatory material;
(ii) creating the source-code (editing or writing the program in specific programming language, understood by specialists);
(iii) creating the object-code (translating the program from source-code in a language intelligible to the machine);
(iv) creating the user manual(s) (the auxiliary and connected documentation).
The source-code represents an original code of the computer program written in programming language than can be read and understood by humans, especially by those persons specialized in informatics6. The source-code is independent of the platform so that it does not refer to a certain type of computer (processor) or operating system. The access to the source-code allows understanding of the techniques and the programming technology7.
The object-code is expressed in binary form, meaning a series of zeroes and ones which the computer processor can understand, and which cannot be understood by humans until it is transformed in source-code.8 The object-code is the compilation of the source-code in a language understood by the computer, strings of binary or hexadecimal numbers9, that cannot be understood by humans, obtained with the aid of a compiler, executing a lexical and syntax analysis of the source-code, after which it generates and optimizes the object-code10.
Computer programs are traditionally divided into operating systems, drivers and application programs11. An operating system is a program serving the hardware and managing the resources that allow the running of application programs. Application programs are dedicated to interacting with end users and allow the execution of very diverse tasks.
A part of these elements, such as the formulas included in the source-code, the implemented algorithms, the architecture of the information system or the database structure may be protected by both copyright and trade secret, as long as they have economic value12 and retains its secret character.
4. Configuration versus customization
In informatics13, configuring some functions, instruments, fields, values, functionalities and options offered to the user by the computer program’s interface, in order to respond to the user’s needs, and the customization of the computer program by modifying the source-code are two notions that, even if they have similar names, have totally different meanings.
On the one hand, configuration of the computer program is based on the use of the personalization instruments offered in the out-of-box computer program’s interface.
The out-of-box computer program may be used without any problems even without any user configuration, such as is in the case of the text editor Microsoft Word, that can successfully create a document fully adapted to the user’s needs, even in the absence of personalization of the margins of pages, the font, size, colour, inclination, aligning or spacing of the characters.
Configuration is limited to the number of instruments originally integrated by the developer in the out-of-box computer program. The developer establishes, through the source-code, just how flexible and adaptable the computer program is to the needs of the final users. However, the exhaustive character of the possibility of personalization is what differentiates configuration from customization.
On the other hand, customization means adapting the source-code of the computer program to the needs of the user through accessing and amending the code language of the computer program.
Hence, customization exceeds the limits of the features, instruments, fields, values, functionalities and options offered by the interface of the out-of-box computer program.
In recent years a fundamental shift is taking place in the way in which users perceive computer programs, especially software acquired by companies for their commercial activity.
The customization of computer programs is made by the developers themselves for professional clients, in consideration of their specific business, but also based on the characteristics of the market onto which such professionals operate. To this end, for some computer programs, developers create multiple-functionalities interfaces that allow users diverse configuration patterns.
Conversely, in the case of consumer software, such as applications for smartphones available in the so-called “app stores”, customization for the needs of each user tends to zero, because, on the one hand, the consumer would not afford the cost of customization, and on the other hand, these applications are regularly updated and customized by developers on their own initiative, for maintaining the competitivity of those products.
For a better understanding of the difference between the two notions, but also for an understanding of their intertwining features, a relevant analogy can be made with the hypothesis of the configuration of a new car, when the manufacturer offers the customer the possibility of opting for the cylindric capacity of the engine, manual or automated gearbox, colour, upholstery, audio system etc., but nothing precludes the customer, after the purchase, to actually customize the car by, for example, changing the engine.
This sometimes fine line between the notions of configuration and customization may give rise to disputes in which claims are made for breach of copyright in a so-called computer program which, in reality, only represents a configuration allowed by the interface of the software product.
Bordering these concepts, a series of disputes have arisen both nationally, and internationally, with respect to ensuring copyright protection over computer programs.
In the United States of America, Sergey Aleynikov, one of the Vice-presidents of the Goldman Sachs bank during 2007-2009, on the last day of his mandate copied, compressed, crypted and transferred to Germany hundreds of thousands of lines of code used for high-frequency securities trading operations14, for the purpose of later using them to develop a similar platform with the Teza Technologies company, with whom he had acquired a similar position.
Goldman Sachs, however, had purchased portions of that source-code since 1999 for about $500 million, later developing the code and taking measures to protect it, including through confidentiality agreements, the code never being made public. Sergey Aleynikov was found guilty of illegally obtaining the source-code, being sentenced on March 18, 2011 to 97 months in prison15.
In a very similar case, dated November 2010, Samarath Agrawal, a former agent of Société Générale, was found guilty of illegally obtaining the source-code used in high-frequency securities operations stolen by printing hundreds of pages containing the source-code in order to use the program at a competitor of the bank16.
In 2010, the 2FA Technology company filed a civil complaint17 against Oracle Corporation and Oracle Systems Corporation (former Passlogix) for illegally obtaining trade secrets and breach of contracts by stealing the source-code of 2FA program (two-factor authentication) and incorporating the same in Passlogix products, which subsequently were sold by Oracle, after the acquisition of Passlogix. On January 31, 2011, the suspension of the trial was requested until the final solution was rendered in relation to a motion filed by Passlogix in another case.
In another case18, Google copied the design specifications of at least 37 of the 366 programming interfaces from the Java Development Kit Version 5 for the Android libraries and the Java source-code, which is protected by copyright. Currently, approximately one billion computers and approximately three billion mobile phones use
Java applications. Google avoided the accusation of copyright infringement with the defence that its programmers had created an original computer programs that exclusively implement Java functionalities, without copying the computer program’s source-code.
At the European Union level, in a dispute19 between the Association for Software Protection and the Ministry of Culture in the Czech Republic, the Court of Justice of the European Union stated that interfaces are parts of the computer program that ensure the interconnection with users in order to allow the full functioning of the computer program.
In this case, the Court of Justice of the European Union deemed that the graphic interface with the user does not allow for the reproduction of this computer program, but constitutes only an element through which users exploit the computer program’s functionalities.
Therefore, the Court of Justice of the European Union decided that this interface does not represent a mode of expression of a computer program and that, therefore, cannot benefit from the specific copyright protection over computer programs.
In a similar dispute, between SAS Institute and World Programming20, the Court of Justice of the European Union held that neither the functionality of a computer program, neither the programming language, neither the file format used within a computer program, for exploiting some of its functions, does not constitute a form of expression of the computer program.
In the Court’s opinion, “to accept that the functionality of a computer program can be protected by copyright would amount to making it possible to monopolise ideas, to the detriment of technological progress and industrial development”.
Also, within the interpretation of the reasoning of the Court of Justice of the European Union, scholars deemed that “by reference to the relevant European and international legislation, the functionality of a computer, the programming language, the user graphic, as well as the format in which some parts of the computer software are exploited for obtaining some functions, cannot be considered as means of expressing an idea underlining the computer program. And accepting the protection of the functionality of a computer program may create market monopolies, which would stop the technological advance in this field21”, opinion which we fully support.
In national case-law, there is an attempt to obtain the copyright protection conferred to computer programs, by registering alleged "computer programs", which do not meet the necessary requirements, in the National Register of Computer Programs, managed by the Romanian Copyright Office ("ORDA").
Recent judicial practice22 expressly held that ORDA registration is not susceptible to prove the fulfilment of the conditions for a computer program to be a work protected by the law, namely “The claimant registered with ORDA the computer program called the online store, as a utility application, according to certificate issued by ORDA. […] There are no elements that give conceptual individuality to the site, to confer originality, to make it recognizable by a specific imprint”.
Also, in the national practice we notice a litigation at the border of these notions, regarding the use and operation of a numerical control lathe, by introducing numerical commands within the industrial computer program integrated by the manufacturer in the lathe for executing lathing parts, while performing work attributions.
Manual calibrations (e.g. speed adjustment, feed rate, changing the cutting tool) of the classic lathe have disappeared when the numeric command lathe appeared in 1952, moment from which numeric command lathes have become the most performant tools.
The numeric command lathe consists in the actual lathe and an equipment electronic used for commanding the lathe (including software and hardware). The numeric command equipment is based on a computer program interconnected with the lathe by specific auxiliary equipment.
The commands for the numeric command lathe were standardized for returning spatial coordinates, such as the length of lathing, the speed of advancement of the sharpening tool, the speed etc. Also, numeric command equipment currently include “dialogue” interfaces between the user and the computer software that operates the numerical command lathe, the user having the freedom to set the above-mentioned coordinates in accordance with the cutting needs for the respective parts.
Therefore, the numeric commands for calibrating the lathe for which, in the respective case, the claimant asserts copyright protection, do not represent anything other than a configuration of the parameters of the lathe in the sense of individualizing some options for the lathing operations in accordance with the specifications of the lathing part.
Such configurations of the computer program are not protected by copyright, according to article 73 paragraph (2) of the Law no. 8/1996 on copyright and related rights, ”The ideas, proceedings, functioning methods, mathematical concepts and principles that underline any element of a computer program, including those within its interfaces, are not protected”.
Copyright protection of computer programs aims to protect investments in the development of applied software solutions, ensures technological progress and creates a legitimate and loyal behaviour in high-performance business environments. However, the protected object must meet several key elements, many unfulfilled by those who claim to be copyright holders.