Long-time readers may remember the interesting case of SAS Institute v World Programming (my analysis here), an important software interoperability decision in the UK that got referred to the European Court of Justice. The case sets SAS, one of the biggest business software giants, against a UK software company that created a clone of SAS products based on some components from the SAS portfolio, but most importantly, by using manuals and other training materials. SAS sued for copyright infringement claiming that WP had directly copied SAS manual materials, and had also infringed copyright by creating its own version of the manuals.
In the first instance decision, Arnold J found that WP had copied substantial parts of the SAS manuals, including keywords and other vital components. However, Arnold J did not rule on the interoperability question, namely that World Programming had to decompile large parts of SAS object code in order to create its own clones of the software. These questions then were referred to the ECJ:
- Does copyright in computer programs protect programming languages from being copied?
- Does copyright in computer programs protect interfaces from being copied where this can be achieved without decompiling the object code?
- Does copyright in computer programs protect the functions of the programs from being copied?
- Arnold J required interpretation of several articles in both the Software Programs Directive and the Copyright Directive.
A few days ago Yves Bot, the Advocate General of the ECJ, produced an opinion in the case which seems to favour World Programming and interoperability. For those unfamiliar with ECJ procedure, the Advocate General’s opinion is not a decision, it simply gives an overview of the case for the justices, and the Court may ignore it altogether, but generally influence the final result. The Advocate General broke down the referred questions into several main issues. To me the most important question is precisely whether the functional element of a computer program protected by copyright. The AG put it this way:
“First, by questions 1 to 3, the referring court asks, in essence, whether Article 1(2) of Directive 91/250 is to be interpreted as meaning that the functionalities of a computer program and the programming language are regarded as the expression of that program and thus qualify for the copyright protection provided for by that directive.”
Mr. Bot goes through the basics of software copyright. He reminds us that copyright does not protect ideas, but the expression of an idea, and while copyright does not only protect literal elements of software, he clearly states that “the functionalities of a computer program cannot, as such, form the object of copyright protection”. Furthermore, the Advocate General analyses whether a computer programming language can be subject of copyright protection. He states that:
“69. As we have seen, a computer program is first compiled in the form of a source code. That code is written in a programming language which will act as a translator between the user and the computer. It enables the user to write instructions in a language that he himself understands. The referring court explains that SAS language consists of statements, expressions, options, formats and functions expressed in tokens, that is to say, strings of characters used in accordance with certain conventions. One of the main types of token in SAS language is names, for example, LOGISTIC and UNIVARIATE. The referring court adds that SAS language has its own syntax and keywords.[...]
71. It seems to me, therefore, that programming language is a functional element which allows instructions to be given to the computer. As we have seen with SAS language, programming language is made up of words and characters known to everyone and lacking any originality. In my opinion, programming language must be regarded as comparable to the language used by the author of a novel. It is therefore the means which permits expression to be given, not the expression itself.
72. Accordingly, I do not think that it can, as such, be regarded as the expression of a computer program and thus be eligible for copyright protection under Directive 91/250.”
It is always a pleasure to read good legal opinions, of which this is one great example. So, computer languages are functional in nature, and therefore they cannot be protected under copyright. Mr Bot then goes on to analyse the extent of interoperability in software. The issue was “whether, under Article 6 of Directive 91/250, WPL was entitled to perform an act of decompilation in order to achieve interoperability between the SAS System and its WPL System.” He believes that World Programming was indeed able to decompile to achieve interoperability. He states in his conclusion:
“Article 5(3) of Directive 91/250, read in conjunction with Articles 4(a) and (b) and 5(1) thereof, is to be interpreted as meaning that the expression ‘any of the acts of loading, displaying, running, transmitting or storing the computer program [which the person having the right] is entitled to do’ relates to the acts for which that person has obtained authorisation from the rightholder and to the acts of loading and running necessary in order to use the computer program in accordance with its intended purpose. Acts of observing, studying or testing the functioning of a computer program which are performed in accordance with that provision must not have the effect of enabling the person having a right to use a copy of the program to access information which is protected by copyright, such as the source code or the object code.”
Hopefully this opinion will be carried by the court when they decide the case. On a more shallow note, I love the name Bot, I would have lots of fun with that name messing up Turing tests. “Are you a bot? Yes, as a matter of fact I happen to be a Bot”.