To refresh readers' memories, let's recap. SAS Institute developed an integrated set of computer programs over a period of 35 years which let users perform a wide range of data processing and analysis -- in particular, statistical analysis (‘the SAS System’). The core component of this System, called ‘Base SAS’, let users write and run their own application programs ('Scripts') in order to adapt the SAS System to work with their data. Those Scripts were written in SAS's own unique language. WPL, a competitor, spotted market demand for alternative software that could application programs written in the SAS Language. It therefore produced the ‘World Programming System’, designed to emulate the SAS components as closely as possible by seeking to ensure that the same inputs would produce the same outputs, thus letting users of the SAS System run their own Scripts on the ‘World Programming System’.
It was not established at trial that WPL had access to the source code of the SAS components, copied any of the text of that source code or copied any of its structural design. The High Court also observed that two earlier decisions had established held, in separate proceedings, that it is not an infringement of copyright in the source code of a computer program for a competitor of the copyright owner to study how the program functions and then to write its own program to emulate that functionality. SAS, disputing that approach, sued WPL for copyright infringement, alleging that WPL copied the manuals for the SAS System when creating its ‘World Programming System’ and that, in so doing, WPL indirectly copied the computer programs which comprised the SAS components. SAS also alleged that WPL used a version of the SAS system known as the ‘Learning Edition’, in breach of the terms of the licence relating to that version and of the commitments made under that licence, and in breach of SAS Institute’s copyright in that version. Finally, SAS maintained that WPL infringed the copyright in its manuals for the SAS System by creating its own manual. The Chancery Division (Mr Justice Arnold) stayed the proceedings and referred the following questions to the Court of Justice for a preliminary ruling:
‘(1) Where a computer program (“the First Program”) is protected by copyright as a literary work, is Article 1(2) [of Directive 91/250 -- the Software Directive, now Directive 2009/24] to be interpreted as meaning that it is not an infringement of the copyright in the First Program for a competitor of the rightholder without access to the source code of the First Program, either directly or via a process such as decompilation of the object code, to create another program (“the Second Program”) which replicates the functions of the First Program?This morning, the Grand Chamber of the CJEU ruled as follows:
(2) Is the answer to Question 1 affected by any of the following factors:
(a) the nature and/or extent of the functionality of the First Program; (b) the nature and/or extent of the skill, judgment and labour which has been expended by the author of the First Program in devising the functionality of the First Program; (c) the level of detail to which the functionality of the First Program has been reproduced in the Second Program; (d) if the source code for the Second Program reproduces aspects of the source code of the First Program to an extent which goes beyond that which was strictly necessary in order to produce the same functionality as the First Program?(3) Where the First Program interprets and executes application programs written by users of the First Program in a programming language devised by the author of the First Program which comprises keywords devised or selected by the author of the First Program and a syntax devised by the author of the First Program, is Article 1(2) [of Directive 91/250] to be interpreted as meaning that it is not an infringement of the copyright in the First Program for the Second Program to be written so as to interpret and execute such application programs using the same keywords and the same syntax?
(4) Where the First Program reads from and writes to data files in a particular format devised by the author of the First Program, is Article 1(2) [of Directive 91/250] to be interpreted as meaning that it is not an infringement of the copyright in the First Program for the Second Program to be written so as to read from and write to data files in the same format?
((5) Does it make any difference to the answer to Questions 1, 3 and 4 if the author of the Second Program created the Second Program by:
(a) observing, studying and testing the functioning of the First Program; or (b) reading a manual created and published by the author of the First Program which describes the functions of the First Program (“the Manual”); or (c) both (a) and (b)?(6) Where a person has the right to use a copy of the First Program under a licence, is Article 5(3) [of Directive 91/250] to be interpreted as meaning that the licensee is entitled, without the authorisation of the rightholder, to perform acts of loading, running and storing the program in order to observe, test or study the functioning of the First Program so as to determine the ideas and principles which underlie any element of the program, if the licence permits the licensee to perform acts of loading, running and storing the First Program when using it for the particular purpose permitted by the licence, but the acts done in order to observe, study or test the First Program extend outside the scope of the purpose permitted by the licence?
((7) Is Article 5(3) [of Directive 91/250] to be interpreted as meaning that acts of observing, testing or studying of the functioning of the First Program are to be regarded as being done in order to determine the ideas or principles which underlie any element of the First Program where they are done:
(a) to ascertain the way in which the First Program functions, in particular details which are not described in the Manual, for the purpose of writing the Second Program in the manner referred to in Question 1 above; (b) to ascertain how the First Program interprets and executes statements written in the programming language which it interprets and executes (see Question 3 above); (c) to ascertain the formats of data files which are written to or read by the First Program (see Question 4 above); (d) to compare the performance of the Second Program with the First Program for the purpose of investigating reasons why their performances differ and to improve the performance of the Second Program; (e) to conduct parallel tests of the First Program and the Second Program in order to compare their outputs in the course of developing the Second Program, in particular by running the same test scripts through both the First Program and the Second Program; (f) to ascertain the output of the log file generated by the First Program in order to produce a log file which is identical or similar in appearance; (g) to cause the First Program to output data (in fact, data correlating zip codes to States of the [United States of America] for the purpose of ascertaining whether or not it corresponds with official databases of such data, and if it does not so correspond, to program the Second Program so that it will respond in the same way as the First Program to the same input data.(8) Where the Manual is protected by copyright as a literary work, is Article 2(a) [of Directive 2001/29 -- the InfoSoc Directive] to be interpreted as meaning that it is an infringement of the copyright in the Manual for the author of the Second Program to reproduce or substantially reproduce in the Second Program any of the following matters described in the Manual:
(a) the selection of statistical operations which have been implemented in the First Program; (b) the mathematical formulae used in the Manual to describe those operations; (c) the particular commands or combinations of commands by which those operations may be invoked; (d) the options which the author of the First Program has provided in respect of various commands; (e) the keywords and syntax recognised by the First Program; (f) the defaults which the author of the First Program has chosen to implement in the event that a particular command or option is not specified by the user; (g) the number of iterations which the First Program will perform in certain circumstances?(9) Is Article 2(a) [of Directive 2001/29] to be interpreted as meaning that it is an infringement of the copyright in the Manual for the author of the Second Program to reproduce or substantially reproduce in a manual describing the Second Program the keywords and syntax recognised by the First Program?’
"1. Article 1(2) of Council Directive 91/250 ... must be interpreted as meaning that neither the functionality of a computer program nor the programming language and the format of data files used in a computer program in order to exploit certain of its functions constitute a form of expression of that program and, as such, are not protected by copyright in computer programs for the purposes of that directive [well, there's nothing controversial there -- the Advocate General said much the same thing. Basically, you can't monopolise a language per se or the way it works].In hindsight -- and with the benefit of the CJEU's answers -- the IPKat wonders why initially he found this case so hard. Merpel adds that this is yet another example of the CJEU (rightly or wrongly) repackaging the questions in such a manner as to produce a more accessible set of answers; while this is easier for readers and fictional cats to comprehend, and seems to work well on the facts of this case, it runs the risk that the referring court (or a court to which the referring court's decision is appealed) having to make a further, clarificatory reference before concluding the proceedings at national level.
2. Article 5(3) of Directive 91/250 must be interpreted as meaning that a person who has obtained a copy of a computer program under a licence is entitled, without the authorisation of the owner of the copyright, to observe, study or test the functioning of that program so as to determine the ideas and principles which underlie any element of the program, in the case where that person carries out acts covered by that licence and acts of loading and running necessary for the use of the computer program, and on condition that that person does not infringe the exclusive rights of the owner of the copyright in that program [no surprise here either: it's difficult to see how Article 5(3) could have been given any other interpretation, since it more or less paraphrases it].
3. Article 2(a) of Directive 2001/29 ... must be interpreted as meaning that the reproduction, in a computer program or a user manual for that program, of certain elements described in the user manual for another computer program protected by copyright is capable of constituting an infringement of the copyright in the latter manual if – this being a matter for the national court to ascertain – that reproduction constitutes the expression of the intellectual creation of the author of the user manual for the computer program protected by copyright" [at this point the IPKat feels a bit of Infopaq coming on ...].
SOS here and, for those who like palindromes, here