Oracle Files Response To Google and API Copyright - We Are All Doomed
Written by Mike James   
Monday, 17 February 2020

The long ongoing, but not for too much longer, dispute between Oracle and Google about the use of code from the Java SDK in Android has reached a new stage. Oracle has outlined its case to the Supreme Court and it seems to be a strong one.

Every programmer knows the importance of an API. We understand what they are for, how they are constructed and how they are used. More to the point, most of us know how to reimplement an API without stealing code, but if Oracle wins we might well be deemed guilty of stealing code even if that conclusion seems unreasonable. An API specification lets a client call functions to get jobs done. It is a specification of function names and parameters and, if you are lucky, some idea what the function will do and what its limits are. It is a bit like saying that a car has a gas pedal and a brake pedal. If you want to build your own car no one is going to accuse you of copyright infringement if you implement the same two pedals. The problem here is that it is possible to draw comparisons between implementing an API and other things to suit your purpose. Pick the right comparison such as Oracle's:

By Google’s logic, a plagiarist could define J.K. Rowling’s idea as “a story about Harry Potter, Ron Weasley, and Hermione Granger who attend Hogwarts” and steal the characters and their back stories.

Clearly a lot is being stolen here, not just names. The fact that it is so easy to make parallels, that either backup or rubbish the idea that an API is a creative work expressed in human readable language and hence copyrightable, is the main difficulty in coming to a logical decision.

Oracle has gone to some length to make the Java API seems complex and a work of great achievement. A particular function definition is used to make the point:

public boolean verify (PublicKey verificationKey,
Signature verificationEngine)
throws InvalidKeyException, SignatureException

Yes, it looks complicated and creative to the non-programmer, but we know that this is just a function that does a particular job and accepts the almost essential parameters to get that job done. Oracle makes it sound as if it was a handcrafted thing of great creativity, more like a poem. If a different method had been picked, say:

public int length()

which returns the number of characters in a string, the argument might not be as effective - what non-trivial alternative is there?

The point is that programming languages are not natural languages and copyright doesn't mean the same thing when applied to them. Some code is almost inevitable and a very shallow expression of creativity.

Now, you might ask, why are we all doomed?

The reason for the alarmist headline is that the Oracle submission is very persuasive. It almost won me over and I know it is out of touch with reality. It is an excellent argument and it seems to put the technical ideas across in "plain English". From what it claims it seems inevitable that Google stole something valuable and the product of Oracle's, or rather Sun's, creativity.

The point is that explaining to a non-programmer what an API specification or a function prototype is, no matter how understandable the explanation, doesn't convey the obviousness, or the essential necessity, of the prototype. You need a function to do a particular job, which in turn almost determines the form of the function prototype, almost irrespective of how the job is actually done. There is little creativity, even if there are better or worse ways of ordering and naming the essential parameters. 

Oracle also argues that allowing Google to have its reinterpretation of the law would damage businesses which would no longer be in a position to protect their intellectual property. Development would cease because the API world was open to everyone. This is clear nonsense. If I invent an API, of course I want it to be copyright. If I use an API then the last thing I want is for it to be copyright. I want others to look at it and reimplement it, extend it and offer me as a user the security of a second source, the promise of innovation and the prospect of lower costs.

One thing that is obvious is that asserting that APIs are copyright would be a disaster. There are so many cases of companies reimplementing APIs or systems that conform to an interface that my guess that copyright troll would become a lucrative job. It would be ironic if Oracle was the first to be sued for reimplementing other people's APIs, but I'm sure that they would be in the list at some position. With a rational approach even Oracle would not want this outcome.

It is clear that copyright should not apply to code that simply defines the operating conditions of some system. It isn't even clear that copyright should apply to code of any sort.

After reading Oracle's submission I am of the opinion that the document is good enough to persuade a non-programmer that an API is a wondrous creation of extraordinary effort and akin to the deepest expression of natural language. This is wrong, but I think it will stand and I think we have to prepare for API lockdown.

 

anndroidlaw

More Information

GOOGLE LLC, Petitioner, v. ORACLE AMERICA, INC., Respondent. BRIEF FOR RESPONDENT

Related Articles

The Software Industry Rallies Behind Google To Save Programming

Supreme Court Asks For Government Help In Oracle v Google

EEF Calls For Supreme Court To Decide If APIs Copyrightable

Computer Scientists Petition Supreme Court Over API Copyright

Are APIs Copyrightable? Computer Scientists Urge Court To Say No 

Supreme Court Refuses To Reconsider API Copyright Decision

Appeals Court Rules In Favor of Oracle

Android's Uncertain Future

Supreme Court Refuses To Reconsider API Copyright Decision

White House Advises That APIs ARE Copyrightable

Supreme Court Seeks Guidance On API Copyright Issue

Android Copyright Battle Goes To Supreme Court

Oracle v Google - Are Computer Languages Copyrightable?

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

 

Banner


Apache Fury Adds Optimized Serializers For Scala
31/10/2024

Apache Fury has been updated to add GraalVM native images and with optimized serializers for Scala collection. The update also reduces Scala collection serialization cost via the use of  encoding [ ... ]



Kotlin Ktor Improves Client-Server Support
04/11/2024

Kotlin Ktor 3 is now available with better performance and improvements including support for server-sent events and CSRF (Cross-Site Request Forgery) protection.


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

 

Last Updated ( Tuesday, 18 February 2020 )