Oracle's case against Google has evolved primarily into a copyright infringement suit over the past several months, and with the full trial scheduled to begin this coming Monday, the court is making an effort to get down to the nuts and bolts of copyright law. The judge issued an order last week requiring that both Google and Oracle provide their respective positions on a fundamental issue in the case:
"Each side shall take a firm yes or no position on whether computer programming languages are copyrightable."
That's right, the judge is asking the lawyers representing two hugely successful software companies to commit to potential limits on software protection. And they've both now provided their responses. Google has this to say on the subject:
"No, computer programming languages are not copyrightable. Google has never taken any other position."
Google then goes on to explain that "a given set of statements or instructions may be protected, but the protection does not extend to the method of operation or system — the programming language — by which they are understood by the computer." Google is arguing that a computer language is "inherently a utilitarian, nonprotectable means by which computers operate" and merely provides the structure, selection and organization of the software.
Under US copyright law, a general idea is not itself protectable, but an original and creative expression of the idea can be. Under the umbrella of this legal tenet, Google is proposing that a programming language is just an idea or utilitarian tool, while the actual software created through this medium of programming language is the expression that can be protected.
In its response to the judge's order, Oracle obviously falls on the other side of the argument, where a programming language is indeed protectable. While Oracle recognizes that US case law has not addressed this exact issue, it argues that "a computer language may qualify for copyright protection if it is sufficiently original." Again, this goes back to the basic concept that something must be more than just an idea to be considered protectable. Oracle goes on to elaborate:
"While copyrighting a computer language cannot prevent others from designing programming languages that serve the same functions, the detailed vocabulary and written expression of the computer language should be protectable elements if sufficiently original and creative."
The "detailed vocabulary and written expression" Oracle is referencing here is the various Java APIs that it argues consist of pre-written code that Google copied — verbatim in some instances.
Let's take Klingon as an instructive example
Oracle contends that programming languages should be afforded the same protection as any unique language. It's not a perfect analogy, but let's take the Klingon language as an example. Oracle would argue the unique symbols that make up the Klingon alphabet, like the core elements of its Java APIs, involved a great deal of creative work, thus justifying copyright protection. Google might argue that the core Klingon alphabet, like the Java APIs, is just a list of symbols or language guidelines that merely provide the medium to create final creative works and that the alphabet itself is not protectable. The final literary work written in Klingon would be equivalent to the completed software application — such as your favorite photo-sharing app or browser — which everyone in the case would agree is a protectable work.
This debate makes for an interesting read for judges and lawyers, but we really have no idea at this point how it's going to ultimately play out. If Google convinces the court that programming languages, and Java's APIs in particular, aren't protectable, the copyright case could go away. However, the trial starts on Monday and apparently the judge is going to let the parties present their evidence and defenses to the jury for the entire copyright side of the case before ruling on this base issue. That sounds a little inefficient to us, but we'll be sure to provide updates as things develop over the next several days.