28 comments

[ 5.4 ms ] story [ 86.1 ms ] thread
Much of the judgment and case was based around the copyright violation of SAS manuals (which the defendant admitted do enjoy copyright) rather than the language per se, so it takes some digging to find the wheat amongst the chaff.

The guts of the "are programming languages copyrightable" question start a long way down. Link: http://www.bailii.org/ew/cases/EWHC/Ch/2013/69.html#para17 .. particularly from point 27 onward where it is stated a computer program is a literary work but a language is not (para 33).

Indeed, para 33 is the real crux, so I'll reproduce the core of it for anyone without the time to dig around:

[..] my provisional view is that a programming language such as the SAS Language is not capable of being a work. A dictionary and a grammar are works which describe a language. Such works record, and thereby fix, the elements of the language they describe: the meanings of its words and its syntax. It does not follow that the language is a work. Rather, the language is the material from which works (including dictionaries and grammars) may be created. The evolutionary or organic aspect of language can be left on one side for the moment, since it is clear that it is possible to create a language from scratch. Even when a language is created from scratch, however, what it amounts to is a system of rules for the generation and recognition of meaningful statements. Programming languages such as the SAS Language are no different in this respect.

Maybe someone could correct me here but my interpretation is that the judge does not really decide whether or not a) a programming language is capable of being a "work" and b) SAS Language is a work, since they are not relevant to the remainder of the case. Indeed, he merely gives the above as his "provisional" view which leaves the gate somewhat open and no precedent set by this specific case.

From the language you quoted above it sounds to my un-trained ear like he's comparing a programming language to a natural language.

I wonder how many of our problems are due to deciding to call them "programming languages" rather than something like "programming notation" instead? There seems to be a conceptual problem, especially among people who don't program, as to just what a programming language actually is.

The programming language is the language used to give instructions to a machine. For me, it is very similar to a natural language. What do you mean by "programming notation" ?
For me, a programming language is closer to mathematical notation than it is to a natural language that people use to communicate with each other. It's rigorous, logical, and typically the product of one entity rather than a natural language which is the product of everyone who uses it.

To put it another way, since the quote mentioned this, I don't think it's fair to compare a dictionary for a natural language to a dictionary for a computer language, because they're quite different things. One records and documents a process already happening [language evolution], while another is the process itself [language creation].

Just a personal opinion, that's all -- I just think analogies can be stretched too far, and by calling computer languages "languages" I think it's backed the discourse about them into a corner a little bit. Which is not to say all comparisons between computer language and "normal" languages are wrong, just that they're not really appropriate in this instance when discussing copypwritability.

What is meant by a 'language' is actually fairly well defined mathematically: That is something that can be described by a number of grammars. These in turn can be categorised (see the Chomsky Hierarchy: http://en.wikipedia.org/wiki/Chomsky_hierarchy)

In that sense, programming languages, regular expressions, and natural language can all be identified by what types of grammar can define them.

Indeed, I think this is the principal problem in the way the judge gives his conclusion.

However, Programming statements are definitely "language" as linguists discuss, in that they have notions of syntax, and so on - i.e. there are Good Reasons they are called languages.

The phrase Rather, the language is the material from which works (including dictionaries and grammars) may be created seems to deny the possibility of a work being able to create another work.
Remembering that this is a "work" in the strict copyright sense, could you give an example of a [copyright] work that produces other copyrightable works? (that aren't just derivatives).

My instinct is to say that if a copyright work produces something else then it is technical and falls under the auspices of patent protection instead. If you can copyright technology then you circumvent a primary purpose of the patent system - the freeing of inventions to the public domain.

A language is not a copyright work it's not fixed in a medium, for a start. A description of a language would be copyright protected but you couldn't use such protection to do anything beyond stopping the unlicensed copying of the work itself. The lines of code (or sentences in natural language [or other presentations]) aren't derivative of the work itself but of the ideas that the work presents.

Imagining you could copyright a language, and thus effect the licensing of code in that language, would be to me like imagining that the writer of a cookery book had a legal right over anyone making food using those recipes.

Your conclusion is sort of correct, but the devil is in the details.

The reason that the judge says it is only his "provisional view" is that the issue of whether the SAS programming language can be copyrightable was never brought up at the initial trial. The lawyers for the plaintiffs were attempting to amend their claim based on the wording from the European Court of Justice from the same proceedings.

Procedurally, this is what happened: (1) lawyers claimed a bunch of stuff in the first trial mostly about the manuals and the source code and not the underlying language itself; (2) the English court decided on some issues, but had questions about the EU Software Directive which it referred to the CJEU; (3) the CJEU issued a decision that on its face looked like it was not entirely favourable to the plaintiffs; (4) when the case came back to England, the plaintiffs' lawyers tried to add the claim of copyright infringement in the language to the trial.

The judge says at paragraph 26 that the plaintiffs were not entitled to amend their claims on this issue since they didn't raise it before the trial.

Therefore, strictly speaking, everything that this judge says about the copyrightability of programming languages is 'obiter dicta' - that is, it has no binding value because those comments were irrelevant to the ruling. The decision could have been made without those comments. In the common law tradition, obiter is not binding (and it is usually claimed in law schools that obiter is bad form for judges, but they like to talk about it anyway because judges can do whatever they want).

So you are basically correct - the judge decides nothing, and this case does not actually decide whether programming languages are copyrightable (though based on the judge's interpretation, it is his opinion that it is not). In any case, this is a High Court decision, which is pretty low on the hierarchy so even if they did decide so, it would only be a relatively weak precedent.

I should add that substantively, the conclusion that programming languages can't be copyrighted is relatively well supported from past cases. Generally one can't copyright rules to a game or contest, and one can't copyright facts or algorithms. This principle has been extended, at least in the US, to the whole idea that one cannot copyright systems and processes (see §102 of the copyright act).

This is slightly more complicated in the EU because of the Information Directive and the Software Directive, which grants copyright to more portions of software than the common law used to, and also gives copyright to 'intellectual works' (whether this is the same as an 'original work' requirement in the common law world is still up for debate).

(comment deleted)
The amazing thing is actually that the judge actually understands what a programming language is:

> Even when a language is created from scratch, however, what it amounts to is a system of rules for the generation and recognition of meaningful statements.

Yep. A good textbook definition, even.

The European Court of Justice also ruled on this in may 2012: http://www.computerworld.com/s/article/9226783/Programming_l...
For anyone who doesn't realise: That's part of the same case. National courts refer questions about interpretations of EU directives to the CJEU. They give guidance on interpretation, but don't rule on the specifics of the case. So after they do that the case goes back back to the national court for judgment on the actual case, which is what's just happened.
I am no lawyer...could someone distill this for me? What does this mean if anything to your avg programmer?
AIUI, basically it means that whilst a program written in, say, python, can itself by copyrightable; the python language itself can't be. This means you, or anyone else, can implement your own python interpreter without any fear of being accused of copyright infringment.
Seems like you could extend this same argument to file by arguing you are writing an interpreter for the PDF/GIF/AutoCAD/PSD notation.
From the point of defending against copyright violation, you can. However, patents and reverse engineering laws present separate barriers you could need to jump over (although this is no longer a problem for at least 3 of the 4 formats you mention, I believe).
[..] 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.

How are patents justified if the law recognizes that monopolizing ideas is bad?

Patents protect implementation of ideas; not ideas per-se.
So in the case of software, how is a patent different from a copyright on your code?
UK law (and EU law) doesn't recognise software patents.
That's not totally true; in the case of software, an implementation is code, which is copyrightable. The idea, the functioning of the code, is not copyrightable, but it may be patentable, because a patent is a more restricted protection on a more abstract idea.
patents protect inventions, not ideas. For physical object, this is easily discerned, but sometimes, it gets muddy when talking about a protocol, or some sort of algorithm. I dislike software patents, but the intention of patents isn't to protect an abstract idea (whether its been twisted to do so is another argument for another day...)
But an invention is obviously a kind of idea. Patents and copyright both protect kinds of ideas; that's why we call them intellectual property.
You actually patent running the algorithm on a general purpose machine, not the code itself. Code is unpatentable.
So does this all mean we can get a java VM that is not subject to Oracles whims? I guessing not.