Computer languages and software interfaces may fall under copyright protection if Oracle succeeds in its Java lawsuit against Google. Amazingly, “copyfighters” appear to have paid little or no notice to this rare extension of copyright into new realms. But the consequences and costs for the software industry could be enormous.
First, let’s look at what’s at stake. Author Rob Levine has a useful, if not perfect, metaphor of thinking about copyright in “three dimensions”. One is the extent: the areas of life which may be protected by copyright. Another is the length: the duration of the protection. The third is the depth: how effective is the enforcement.
The third part is crucial, since a law that cannot be enforced is nothing more than symbolic, and without protection for authors the economic incentive to create disappears. (In Levine’s view, copyright needs to be shorter and leaner, but more effective.)
While source code is globally recognised as copyrightable (in the United States since 1964), this is not the case for languages and interfaces. The two relevant international treaties are TRIPS (Trade-Related aspects of Intellectual Property Rights) and the Copyright Treaty of the UN agency World Intellectual Property Organization (WIPO). In a High Court ruling in 2010 specialist IP judge Justice Richard Arnold affirmed that both agreements protect source code.
Judge Arnold said that software source code is an “expression” and that neither TRIPS nor the Copyright Treaty protects “ideas, procedures, methods of operation and mathematical concepts as such” – which either belong to the domain of patents or are not protected at all.
The judge’s view was – to some extent – affirmed by Advocate General Yves Bot at the European Court of Justice late last year. Mon. Bot (yes, that’s really his name) said that the “functionalities” of a program, and the programming language, cannot be protected by copyright. He added that the source code of a program “may be reproduced in order to ensure interoperability with another program”, but only if “certain conditions are met”.
Bot’s ruling forms an important plank of Google’s defence.
In a court filing that accuses Google of infringing copyright by embedding Java into its Android platform, Oracle said there’s no clear precedent to exclude computer languages from copyright.
“Courts have denied copyright protection to codes or systems of symbols only where they lack originality, not because they are inherently uncopyrightable,” Oracle declared in its paperwork last Thursday.
Drilling into the definition of computer speak
Google, which denies any wrongdoing, maintains that a programming language is “an idea, not an expression” and therefore exempt from copyright. Meh, responds Oracle: “A work that represents only one of many ways to perform a function is ‘the expression of a particular idea, not the idea itself’.”
Oracle also cites JRR Tolkien’s Elvish as an example of a language that is used outside of its creator’s works. But Oracle has a parallel argument – arguing that libraries and their APIs are copyrightable “as a computer program, and their selection, arrangement and structure is copyrightable if sufficiently original and creative”.
Interfaces to software libraries should not be considered part of the original language in any case, Oracle argues, since they are “different things with different purposes”.
The database giant argued: “Google was never confused about the distinction between an API [application programming interface] and a programming language when this case began or for long afterwards. Google is now straining to change course to take a position it knows is factually incorrect.”
For its part, Google leans on the clarification of the US’s Copyright Act of 1976 that an “idea, procedure, process, system, method of operation, concept, principle, or discovery” is not copyrightable – even if it is in an “original work of authorship”. A language is not an expression, it is “a system that can be used to express” (Google’s emphasis). The medium of expression, in other words.
Drilling into the definition of computer speak
Google, which denies any wrongdoing, maintains that a programming language is “an idea, not an expression” and therefore exempt from copyright. Meh, responds Oracle: “A work that represents only one of many ways to perform a function is ‘the expression of a particular idea, not the idea itself’.”
Oracle also cites JRR Tolkien’s Elvish as an example of a language that is used outside of its creator’s works. But Oracle has a parallel argument – arguing that libraries and their APIs are copyrightable “as a computer program, and their selection, arrangement and structure is copyrightable if sufficiently original and creative”.
Interfaces to software libraries should not be considered part of the original language in any case, Oracle argues, since they are “different things with different purposes”.
The database giant argued: “Google was never confused about the distinction between an API [application programming interface] and a programming language when this case began or for long afterwards. Google is now straining to change course to take a position it knows is factually incorrect.”
For its part, Google leans on the clarification of the US’s Copyright Act of 1976 that an “idea, procedure, process, system, method of operation, concept, principle, or discovery” is not copyrightable – even if it is in an “original work of authorship”. A language is not an expression, it is “a system that can be used to express” (Google’s emphasis). The medium of expression, in other words.
Google explains this with a hypothetical example worth quoting at length:
A set of nonsensical APIs could be created that had exactly the same structure, selection and organization as the Oracle APIs, but that did different things.
For example, the
sqrt()
method could always return zero – indeed, every method that returns a number could always return zero, while those that return text could always return the letter “a”, those that returntrue
orfalse
could always return true, and so on, with a default result being used for every variable type.This set of APIs would serve no useful purpose, but would have exactly the same structure, selection and organization as the Oracle APIs. No reasonable jury could ever conclude that the “expression” in this hypothetical set of APIs is substantially similar to the “expression” in the Oracle APIs, notwithstanding the “copied” structure, selection and organization.
Thus, Oracle’s infringement theory fails unless it accuses not just the structure.
Google says that if Oracle succeeds on this point, it would allow a party to devise a system, and then “enforce copyrights in descriptions of that system (the APIs) and implementations (expressions) of that system to preclude others from practising the system”.
(Google’s lawyers, Keker & Van Nest, are as smitten with italics as a teenager is with LOLs.)
That’s plainly what Oracle wants to do. Sun (before it was bought by Oracle) was relaxed about clean-room implementations of Java so long as they didn’t threaten Sun – and Google insists the Dalvik VM, which runs Java-written apps on Android devices, is a clean-room implementation.
Copyright gives the author such flexibility with regards to pursuing infringements. You can ignore some violations (because you consider them trivial or consider them beneficial) and enforce others. Unlike in trademark law, you don’t need to proactively defend each infringement. One unintended side effect of an Oracle victory would be that this widely accepted and useful flexibility vanishes.
Anti-IP zealots extend IP
In fact, the whole skirmish could be viewed as a catastrophic unintended side effect of taking rigid, dogmatic positions on intellectual property. In recent years, a strangely zealous campaign against patent protection for software has been successful. It has been described as a stalking horse by the all-IP-is-evil activists.
But if patents aren’t enforceable, the world’s Oracle Corporations will use whatever other means are available to protect their inventions. In this case, they’ve chosen to use copyright. So the reach of copyright could be extended simply because we’re lacking precedents and case law for a common-sense application of patents. The consequences for interoperability and for legitimate reverse-engineering could be enormous.
Both Google and Oracle are culpable here. That Google based Android on Java is not in dispute – it’s a faithful knock-off. But as a Google engineer privately admitted, upon being exposed to risk, the Chocolate Factory should then have licensed it:
What we’ve actually been asked to do (by Larry [Page] and Sergey [Brin]) is to investigate what technical alternatives exist to Java for Android and Chrome. We’ve been over a bunch of these, and think they all suck. We conclude that we need to negotiate a license for Java under the terms we need.
Google could have avoided this by developing its own language and corresponding virtual machine. Intellectual property exists to encourage innovation, and Google is full of innovative people. Instead, it took a shortcut, and copyright may be extended to areas it really shouldn’t be.
http://www.theregister.co.uk/2012/04/17/google_oracle_copyright_on_languages/
0 responses to “Copyright on languages and APIs: why it’s a bad thing”