Decent story about the case from Bloomberg.
However, you can read the actual opinion here.
How? The opinion is quite short and easy to read. I’m not a lawyer, and I thought this one was straightforward.
Paragraphs 1 & 2 review why the court is handling the case. Skip ‘em - they’re handling it because they were asked to.
Paragraphs 3-22 contain excerpts from several different EU copyright laws, most importantly Directive 91/250/EEC (Legal Protection of Computer Programs) and 2001/29/EC (Copyright and related rights in the information society). Come back to these paragraphs later, when the decision refers to them. The Court chose its excerpts carefully.
Paragraphs 23-27 - Summary of the case. SAS is a software company that sells data analysis software including an unusual programming language of its own design, as well as databases, graphing tools, and libraries of statistical functions. SAS designed the language and wrote all of the accompanying software - there’s no open-source version, and the software is quite expensive. World Programming, Ltd., programmed its own version of the SAS programming language and related tools. SAS sued WPL for copyright infringement for
- copying the manuals and, in the process, copying SAS’s software,
- using the SAS Learning Edition for reverse engineering, which its license agreement apparently does not permit
- producing its own manuals, allegedly by copying the SAS manuals.
The suit’s focus on the manuals may seem puzzling- the manuals aren’t very useful without the software, and there are books about SAS programming that aren’t even very expensive. However, if the case were solely about reverse engineering software, SAS would have had a lot more trouble phrasing its argument; we’ll see below that reverse engineering is pretty well protected.
28. How We Got Here - the suit was brought in the UK, and was heard by High Court of Justice, Chancery Division, which handles business law. The judge in the trial referred the case to the EU Court in order to ask particular questions to clarify the EU law on copyright and reverse engineering in this case.
29-70 contain very careful answers to those questions.
The findings appear after 71, and are somewhat anticlimactic after 29.70. Summarized:
- Copyright protects the form of expression of a computer program;
the programming language, the functionality, and its file formats are not part of a computer program’s form of expression;
therefore, copyright does not protect them.
- The law that protects computer programs specifically allows reverse engineering, as long as (basically) you don’t make illegal copies of the software to do so. You can definitely run and operate the software in order to reverse engineer it, too.
- Copying the manuals sounds like it might be copyright infringement, if the parts copied are the kind of text normally protected by copyright. That would exclude mathematical formulas, for instance, but not source code itself. The UK Court has to determine that outcome.
So the meat of the opinion is in how the Justices in the European Court of Justice approach the particular questions posed by the UK court.
The opinion appears to be pretty carefully constructed to permit using reverse engineering to create a competitive product.
There are several citations from the Directive on Protection of Computer Programs (91/250) and the Directive on Harmonization (2001/29) that explicitly permit reverse engineering
for the purpose of interoperability only.
91/250’s permission seems to be tied strongly to interoperability only:
2. The provisions of paragraph 1 shall not permit the information obtained through its application:
(a) to be used for goals other than to achieve the interoperability of the independently created computer program;
(b) to be given to others, except when necessary for the interoperability of the independently created computer program; or
(c) to be used for the development, production or marketing of a computer program substantially similar in its expression, or for any other act which infringes copyright.
World Programming, Ltd were reverse engineering SAS in order to make a competing product, which might seem to fall under 91/250 (2) (c) here. However, the Court of Justice established that
• [paragraph 42] The file formats of a computer program are not part of its expression,
• [paragraph 39] The programming language offered by a computer program is not part of its expression,
• [paragraph 38] and the user interface of a program is not part of its expression.
Therefore, reproducing the file formats, programming language, and the user interface isn’t making a computer program “substantially similar in expression.”
You can therefore use reverse engineering to produce a computer program that essentially looks and operates identically to another, as long as you don’t “infringe the exclusive rights of the owner of the copyright in that program,” which I believe must therefore mean
a) actually copying the program itself or parts of it, or
b) copying the actual, original source code.
I think that this really is a total win for reverse engineers, at least as far as copyright goes. It might have been easy for the court in this case to let the “interoperability” restriction in Directive 91/250/EEC exclude WPL’s actions in reverse engineering. To me, this reads as though the Court is strongly inclined not to let copyright protections for software stretch at all into the realm of software’s functionality.
The case is careful to say that it’s talking only about copyright’s protections, and not those of patent or trademark. Note also that it seems that WPL could still wind up losing the the case, if the High Court finds that they reproduced the manuals in violation of SAS’s rights.
Also, this case turns on what copyright doesn’t cover. Much what copyright doesn’t cover lies within the realm of patents. Since SAS is a substantial company with a long history, I would be surprised to discover that they had not sought and received patent protection for any of their technology.
I will be interested to see where this case goes in the future.