Pushing the limits of copyright law: A 2014 era copyright court case: Oracle America, Inc. v. Google Inc. involving Java API, shows that the difference between patents and copyrights is not always as distinct as you might like.
As I understand it, Google attempted to reverse engineer Java by using standard “clean room” (e.g. fresh and original code) techniques. However in the case of 37 Java API classes, Google copied some elements. They did so based earlier case law (the 1995 Lotus v Borland case). Earlier case law held that these API were functional. Functional elements were not copyright protected.
Oracle, which obtained rights to Java when it acquired Sun Microsystems in 2010, did not agree.
In the May 9, 2014 decision, the Court sided with Oracle. The Court rejected the Lotus finding, and about 20 years of legal precedent, that menu structures (being essential to operation), were therefore not copyrightable. Instead, the Court held that elements that can perform a function indeed sometimes can be copyrightable. Indeed, the Court even argued (page 43) that something that can be patented can potentially also be copyrighted.
The Court argued that they should not give deference to any findings of operation or function. Rather, the correct test is an “abstraction-filtration-comparison” inquiry. Perhaps so, but neither this Court nor the previous trial court actually attempted to perform this test!
Improperly comparing a computer language with English?
In what looks to me to be an important part of the decision, the Court equated the Java language to the English language and concluded that making the API subject to copyright would not restrict Google from using Java any more than a copyrighted paragraph would hinder other authors from using the English language. “However Google, like any author, cannot employ the precise phrasing or precise structure chosen by Oracle to flesh out the substance of its packages — the details and arrangement of the prose.” (See page 44).
To me, this reasoning appears to be problematic. API are much more fundamental than standard copyrighted paragraphs. API are more akin to the functional neural networks in the human brain. These neural networks understand various short and common English words and phrases. I can express myself just fine in everyday life without quoting paragraphs from copyrighted novels. However if, due to copyright restrictions, the underlying brain neural networks (or computer software structure) needed to understand many short and common English phrases are off-limits, then copyright turns standard English into a proprietary language. In effect, the court is making large chunks of the Java language proprietary as well.
Copyrights are automatic, and last longer than a lifetime
What is more dangerous: patents go away unless filed within a year of first disclosure, then properly prosecuted, properly maintained, and have a maximum life of 20 years in any event. Trademarks go away unless filed, and maintained every 10 years. The trademark owner must also do work to protect against the trademark turning generic. But copyrights automatically attach without effort, and are then good for 95 to 120 years without any need for renewal!
The Court remanded the case to the trial court, where other copyright principles such as “fair use” may then get Google out of hot water. However, in my opinion, the Court’s analysis missed some key points. We don’t allow short and common English phrases to be subject to copyright because to do so would unduly constrain normal speech. There appears to have been no consideration as to what extent forcing a rewrite of the 37 Java APIs at issue would constrain the universe of previously written Java code, and prevent use of many short and common phrases in the Java language.
Was the Court, in essence, telling Google that although standard Java is now off-limits, they, of course, are welcome to create their own unique dialect of Java? Put this way, then the decision looks off.
SCOTUS enters the case. What could go wrong?
Time passed. In November 2019 the Supreme Court agreed to hear the case. After various intermediate court decisions, the issues continued to focus on the legal question of if software interfaces, such as Java API, are copyrightable. Among other arguments (such as fair use), Google argued: “Consistent with Congress’s expectation, courts have held that “aspects” of a computer program that constitute “functional requirements for compatibility” with other programs are “not protected by copyright” … The Federal Circuit erred when it failed to draw a similar distinction here.“
The Supreme Court had the final say here. The results were interesting.
Update, April 5, 2021: The Supreme Court did have the final say, and the results are interesting. SCOTUS came up with a reasonable compromise to “not harm the public interest.” They concluded:
“The fact that computer programs are primarily functional makes it difficult to apply traditional copyright concepts in that technological world. Applying the principles of the Court’s precedents and Congress’ codification of the fair use doctrine to the distinct copyrighted work here, the Court concludes that Google’s copying of the API to reimplement a user interface, taking only what was needed to allow users to put their accrued talents to work in a new and transformative program, constituted a fair use of that material as a matter of law.”
SCOTUS exercised some judicial restraint, for once. Although they skirted the underlying issue, their solution was limited and harmless. However the underlying confusion continues.