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
I think the reason the Court dispensed with the terms of the questions of the Referring Court was because they were in large part premised and packaged in terms of "skill, judgment and labour" which must be now old English law.
ReplyDeleteAs to the outcome, bizarrely what the Court takes away with one hand with respect to computer programs in the context of Directive 91/250qualifying its answers always by "for the purposes of this Directive", it gives back with the other hand in the context of Directive 2001/29. See paragraph 45. In this respect, the Court is more more generous than AG Bot. However, the key to the scope of Directive 91/250 itself must lie in paragraph 43.
As to the link between Article 5(3) and Article 6, the buck stops at paragraph 60 when read alongside paragraph 45, in terms of what you can do with the ideas and principles you glean from studying etc.
Exactly.
ReplyDeleteI hate to disagree with someone so expert as Jeremy, but the court is saying anything but "you can't monopolise a language per se". As I read the decision they are hinting that you certainly can, provided it is its author's own intellectual creation.
As I read it, paragraph 45 is intended precisely to ensure that no-one takes away the idea that languages and data file formats can't be protected by copyright, lest the court's answer be otherwise misunderstood.
Is the following a useful concrete example? It's one thing I was hoping would be answered, but I still don't feel like it has been:
ReplyDeleteSuppose you design a programming language which has "while" loops - e.g. "while x<0 print 'we've run out of x!'". Any piece of software that runs programs written in the language (an "interpreter") needs to be able to recognise the keyword "while" in order to work.
The thing is, you could use the keyword "while", but you equally could also use any other keyword (or keyphrase) in its place -"whilst", "when", "upon being cognisant that", "banana", "alskdjfh", or any other piece of text you like - if you wanted, you could use a paragraph of original text that if found in a book would without doubt attract copyright. The point is there's nothing special about the keyword as far as the programming language is concerned, it just needs to know what it is so it can recognise it. Keywords usually have a "human" meaning relating to their purpose, but only to aid people when reading/writing code.
So, the question I wanted answering (amongst others): is it an infringement of copyright to write a piece of software that can run code written in a particular language, when that language contains keywords which would in another context attract copyright. The interpreter would need to be able to interpret the keywords the language contains, and those keywords are arbitrary, so in a sense they're not directly tied to the functionality of the language - any other keywords could be used to provide exactly the same functionality.
As the two comments above say, we now seem to know that the keywords wouldn't be protected by copyright in computer programs - but could they be protected by copyright in their own right regardless of the fact they're used in a prpgramming language? Or does their use in a language exhaust any such rights, in the context of interpreters, manuals explaining how to use the language, or otherwise?
(Having written all that, it's really rather confused - I fear the answer to my initial question might be a simple "no".)
The ruling may be clear, but it's not that helpful.
ReplyDeleteThe first question is answered, as pointed out above, by saying that while a language is not a progam, it might still attract copyright protection under the InfoSoc Directive.
The second answer says an act doesn't infringe copyright where: (a) it is authorised; or (b) doesn't infringe copyright.
The third answer says go away and apply Infopaq yourself.
Or did I miss something?
Tom, I will try to answer your question. It shall be applied the criteria of Infopaq (as mentioned in the ruling) where it was stated that words considered in isolation are not protected by copyright. But, the choice, sequence and combination of those words could be protected if they are the authors' own intellectual creation. So, one word alone is not protected, but more than one could be. And that is the problem that anonymous, Francis Davey and Gareth are highlighting beause de facto the Court is protecting the programming language.
ReplyDelete