Stakes Are High In Oracle v. Google, But The Public Has Already Lost Big

from the there's-more-to-this-than-fair-use dept

Attorneys for the Oracle and Google companies presented opening statements this week in a high-stakes copyright case about the use of application-programming interfaces, or APIs. As Oracle eagerly noted, there are potentially billions of dollars on the line; accordingly, each side has brought “world-class attorneys,” as Judge William Alsup noted to the jury. And while each company would prefer to spend their money elsewhere, these are businesses that can afford to spend years and untold resources in the courtroom.

Unfortunately, the same can’t be said for the overwhelming majority of developers in the computer industry, whether they’re hobbyist free software creators or even large companies. Regardless of the outcome of this fair use case, the fact that it proceeded to this stage at all casts a long legal shadow over the entire world of software development.

At issue is Google’s use in its Android mobile operating system of Java API labels — a category of code Google (and EFF) previously argued was not eligible for copyright. Judge Alsup, who demonstrated some proficiency with programming Java in the first leg of the case, came to the same conclusion. But then the Federal Circuit reversed that position two years ago, and when the Supreme Court declined to hear the issue, there was nowhere left to appeal. With this new decision on copyrightability handed down from above, Google and Oracle now proceed to litigate the question of whether Android’s inclusion of the labels is a fair use.

If Google wins at this stage, it’s tempting to declare the nightmare of that Federal Circuit opinion behind us. After all, fair use is a right — and even if API labels are subject to copyright restrictions, those restrictions are not absolute. Google prevailing on fair use grounds would set a good precedent for the next developer of API-compatible software to argue that their use too is fair.

Tempting, but not quite right. After all, there is a real cost to defending fair use. It takes time, money, lawyers, and thanks to the outrageous penalties associated with copyright infringement, comes with a substantial risk. Beyond all those known costs, wedging a layer of copyright permissions culture into API compatibility comes with serious unknowable costs, too: how many developers will abandon ideas for competitive software because the legal risks are too great?

There’s a reason people say that if you love fair use, you should give it a day off once in a while. Even the vital doctrine of fair use shouldn’t be the only outlet for free speech. In many areas, an absence of copyright, or the use of permissive public licenses, can foster more creativity than fair use alone could. Sadly for now, in the world of software development it’s the paradigm we have.

Reposted from the Electronic Frontier Foundation’s Deeplinks Blog

Filed Under: , , , , , ,
Companies: google, oracle

Rate this comment as insightful
Rate this comment as funny
You have rated this comment as insightful
You have rated this comment as funny
Flag this comment as abusive/trolling/spam
You have flagged this comment
The first word has already been claimed
The last word has already been claimed
Insightful Lightbulb icon Funny Laughing icon Abusive/trolling/spam Flag icon Insightful badge Lightbulb icon Funny badge Laughing icon Comments icon

Comments on “Stakes Are High In Oracle v. Google, But The Public Has Already Lost Big”

Subscribe: RSS Leave a comment
29 Comments
Violynne (profile) says:

Judge Alsup, who demonstrated some proficiency with programming Java in the first leg of the case, came to the same conclusion.
That’s because Alsup did what many programmers do: They come to the wrong conclusion.

APIs are covered by copyright, and no amount of wishful thinking makes this go away.

It’s unfortunate, but what Alsup did was conflate the API with the ABI, and that’s a fundamental problem.

It’s extremely easy to conflate the two. After all, if we use (or write) an API, we expect that the system will compile that code so that it’s executed by the hardware. This compilation is the responsibility of the ABI and it’s this responsibility that is not covered by copyright.

Read the above again because it’s extremely important. An API cannot be designed without an ABI. The API is exclusive to the ABI but the ABI is not exclusive to the API.

That’s because we can create the API but we cannot create the ABI.

Alsup simply learned the application layer and it’s extremely unlikely he looked (or cared) about the processing layer.

While it’s true Java has its own APIs, it’s important to realize that Java has its own set of compilers.

Note the “s” on “compiler”. Plural, and there’s a reason for that.

The Java Runtime Engine, or JRE, is what makes Java work. No amount of code written in Java works without the compiler and it’s this where API separates from ABI.

Just as a reminder to readers, here’s the Java download page:
http://www.java.com/en/download/manual.jsp

Note how there’s a version for each operating system.

While each and every API in those downloads may be identical regardless of OS, the JRE is not identical! Read this until it sinks in: The JRE is not identical between OS versions.

With that out of the way…

This doesn’t mean I’m defending Oracle. Oh, hell no. But, what Oracle is doing is not against the law but it is against the cardinal rule of software development: you don’t sue users of your APIs because it’s win-win.

The likely reality is that Oracle will win this case, but like the article above, doom and gloom hover over the development world as though it’s the End of Days.

Not so.

If Oracle wins, there’s a great, great chance software copyright ends because it would take about 0.0000001 seconds (and that’s being generous as most are probably already preparing should Oracle win) for companies to band together and force Congress to rescope copyright and remove APIs (as well as code itself, because technically, all code is an API) from copyright law.

Of course, the maximalists will freak out so there’s only one viable option left: copyright the design, not the source.

By the way, this isn’t a joke. The very reason software is copyright is because the US Copyright Office took an extremely stupid analogy and used it for software:
“A blueprint to a bridge is the same as the bridge itself.”

Yep, that’s what they said, and now both blueprints and software are covered under copyright.

If you’re wondering why the analogy is stupid, it’s because all blueprints will share a commonality on the safety and engineering requirements to make the bridge safe.

Those elements on a blueprint are not copyrighted just as ABIs are not copyrighted on computers (aka, the “system”).

Before I close, I’d like to remark on another facet of software development which proves APIs are covered under copyright: The GNU/GPL licenses.

Has anyone actually read them? If not, I’d ask you do because you’ll note something unique about them. However, if you don’t have the time or care to do so, here’s what a typical GNU/GPL licenses says:
“You can use our software and do what you want with it, but you can’t sell it and you need to keep it open”.

That’s the gist. But here’s something most people don’t get about those licenses: they’re still a copyright license. In fact, they’re written to purposely remove the restrictions of copyright.

Ask yourself this: how much of the GNU/GPL software uses APIs, do you guess? Quite a few, which means if there’s a license to open the use, this means there’s a license on APIs, which means they’re covered by copyright.

It’s a disgusting pill to swallow, but that’s the reality of the situation.

Anonymous Coward says:

Re: Re:

“What is not protected by copyright?

1. Ideas, Methods, or Systems

Ideas, methods, and systems are not covered by copyright protection. According to the US Copyright Office, Circular 2, this covers quite a few things including making, or building things; scientific or technical methods or discoveries; business operations or procedures; mathematical principles; formulas, algorithms; or any other concept, process, or method of operation.”
https://www.legalzoom.com/articles/5-things-you-cant-copyright

An API is most definitely a method or system and that’s why it is not eligible for copyright protections.

As a side note that has no legal precedent because courts have long since stopped analyzing copyright cases on the basis of the intended purpose of copyright, you wanna know something else that is not copyrightable? Fashion. And the reason originally given for this is because clothing is a “useful article”.

“fashion is all about clothing and accessories, which under copyright law are considered “useful articles.” It is possible however, to copyright a specific fabric pattern (Burberry plaids for example), but not the actual dress.”

I think if this principle were properly applied to software, not only shouldn’t API’s get copyright, but neither should binaries since the binaries are entirely a useful article; with the only copyrightable piece remaining being the source code itself.

Mark Murphy (profile) says:

Re: Re:

That’s because we can create the API but we cannot create the ABI.

Everybody on the planet can create the ABI, given training. It’s not out of the question that I could teach Naruto (of monkey selfie fame) to create an ABI, given sufficient bananas. And assuming that Naruto likes bananas, as I have not had an opportunity to inquire with Naruto’s agents on that subject.

Hand-entering machine code is a pain, which is why we created programming languages, from assembler on up, to ease that pain. This does not make hand-entering machine code impossible, any more than the existence of a shovel makes digging a hole with bare hands impossible.

> No amount of code written in Java works without the compiler

Nonsense. Just because you have not seen a pure-interpreter Java environment does not mean that they do not exist or cannot be created.

> Has anyone actually read them?

Yes. Have you?

> here’s what a typical GNU/GPL licenses says:
“You can use our software and do what you want with it, but you can’t sell it and you need to keep it open”.

Please point out a version of any software license written in human history that contains your quoted phrase. Since a Google search on that quoted phrase turns up only one page — this one — you may have some difficulty. IOW, citation, please.

Also, your approach towards the copyleft philosophy would seem to run counter to published statements by those who created that philosophy in the first place. For example, nobody is being prevented from selling GPL-licensed software, as the Free Software Foundation itself points out.

> if there’s a license to open the use, this means there’s a license on APIs

You are welcome to interpret it that way. Others will disagree with you, myself among them.

Anonymous Coward says:

Re: Re:

APIs are covered by copyright, and no amount of wishful thinking makes this go away.

Well, since they decided that’s the way it will be, unfortunately you are correct.

Ask yourself this: how much of the GNU/GPL software uses APIs, do you guess? Quite a few, which means if there’s a license to open the use, this means there’s a license on APIs, which means they’re covered by copyright.

No, Copyright covers the implementation of the API. You say XYZ(), and the XYZ() function does something specific.

There could be many ways on how what XYZ() does could be completed, and a single implementation of that is covered by copyright. But the idea of XYZ() returning a specific value isn’t.

So, you’re writing something compatible with the Java language it must implement the same API calls. If it’s called Java.lang.Math.sqrt in Java, it’s going to need to be called that in your implementation. There’s no way around it. Otherwise you aren’t compatible with the language. If you wrote your sqrt function from scratch, have you just committed copyright infringement on the Java code?

Mason Wheeler (profile) says:

Re: Re:

Wow, so much fail here. Almost everything you said is wrong! Where do I even start?

First off, an API and an ABI have nothing whatsoever to do with each other. An API is a defined set of data types and functions to use to communicate with a specific system; an ABI is a set of conventions used to define how functions, function calls, and data are organized on a specific platform and language. It’s possible to implement the exact same API on multiple different ABIs, and to implement multiple APIs on any given ABI. Despite their similar names, the two are entirely unrelated concepts and the copyrightability of one has nothing to do with the copyrightability of the other.

because technically, all code is an API

What in the world are you talking about? An API is a defined interface for external code to interface with a system. This comes nowhere near covering “all code,” or even “all code that interfaces with external systems” for that matter!

Has anyone actually read them? If not, I’d ask you do because you’ll note something unique about them. However, if you don’t have the time or care to do so, here’s what a typical GNU/GPL licenses says:
“You can use our software and do what you want with it, but you can’t sell it and you need to keep it open”.

First, there’s no such thing as “a typical GNU/GPL licence”. There is the GPL license, with various versions thereof, all of which are set in stone. It’s a legal document crafted for a specific purpose by a specific group of people.

Second, nowhere does the GPL say you can “do what you want with” the GPL’d code; its entire purpose is to restrict what you can do with the code. It also doesn’t say “you can’t sell it”; the FSF has repeatedly come out and said the exact opposite: selling GPL software in no way violates either the letter or the spirit of the GPL, so long as it isn’t done in a way that violates the GPL.

I’m not quite clear what points you’re trying to make, but can you please fact-check your arguments before deploying things that are simply not true in support of them?

Anonymous Coward says:

Re: Re:

One issue with your comment.
GNU/GPL DOES NOT in fact deny anyone the ability to sell FOSS software.
You can sell binaries all day long, for whatever price you want.
It’s the source code that must be either free or at most the cost of the media & postage, if it’s sent through post.

Also “Why pay for FOSS?”. Well if you get certified, signed binaries that guarantee you a given stable set of features and good support, then it’s worth the price.

Anonymous Coward says:

Re: That's because we can create the API but we cannot create the ABI.

We can and DO create ABI’s with distinctive API’s. Device drivers do it all the time. The TCP/IP stack is one ABI, with multiple API’s for example.

Computers take all kinds of different forms. ABI and API are theoretical concepts that make it easier to understand ONE underlying system. They are not actually things. Much like the OSI model doesn’t describe actual network protocols.

Software doesn’t stop being software if you manually type it in as 1’s and 0’s. (punch cards for example) The dependency on compiler concepts for legislative distinction is a bad idea. The compiler isn’t strictly necessary, and in some cases not even wanted.

Using highly abstract concepts to describe narrow problems causes friendly fire. Really these guys are fucking things up for everybody by trying to make API a legal concept PERIOD.

API is not scientific concept. It is a religious one.

I’m against Oracle for taking such a cavalier “fuck everybody and everything” attitude with this. This is going to come back and bite them in the ass, and there will be a lot of fallout that will land on smaller coding organizations too.

I lament the day they bought Sun, almost as much as I lament the day that Netscape decided to integrate java.

Anonymous Anonymous Coward (profile) says:

Appeal Place Exists

“there was nowhere left to appeal.”

I disagree. Though it will not be easy in the face of our highest bidder method for sausage mak…erm law making, the Congress can certainly overrule the Federal Circuit, or even the Supreme Court. I have yet to see the brass cajones necessary to put up such a fight in existence anywhere near Washington DC. It may be that those exist but when faced with the reality of the wishy washy majority that would have to face up to their bribers, suck up a considerable amount of integrity and desire a new job, they may be awaiting a better opportunity.

Here is to hoping that they do not await longer than current copyright terms. I, for one, will not be holding my breath.

Anonymous Coward says:

> It’s extremely easy to conflate the two. After all, if we use (or write) an API, we expect that the system will compile that code so that it’s executed by the hardware. This compilation is the responsibility of the ABI and it’s this responsibility that is not covered by copyright.

As a practitioner of the field, I can tell you you’re wrong here. The API is exactly what it says it is, it’s an interface. It describes how to interact with a black box.
An API, by itself, does not lead one to expect that any compilation will take place.
An ABI, by itself, does not take on the role of compilation.

> Read the above again because it’s extremely important. An API cannot be designed without an ABI. The API is exclusive to the ABI but the ABI is not exclusive to the API.

Yes it can. It’s done all the time. Haskell, prolog, and even C (in its earlier days) were designed without regard to any specific ABI.

> That’s because we can create the API but we cannot create the ABI.

ABIs can be created. Surely you don’t believe they just magically poof into existence. People typically don’t write ABIs because there’s little value in it. For an ABI (and API for that matter) to be successful, it needs to be well written and solve a specifc problem or problems. If the created ABI fails to do that it won’t gain traction. If it doesn’t gain traction no one will agree to use it. That makes it a useless, but created ABI.

> While it’s true Java has its own APIs, it’s important to realize that Java has its own set of compilers.

In the same sense that C has its own set of compilers, C++ its own, python, fortan, Haskell, golang, etc.

There all different implementations, but they all rely on the same API. I.E. they all rely on the same interface. This is the same as Ford, Fiat, GM, Tesla, Honda, Nissan, etc. all implement different cars, but each car has the same basic interface — A set of pedals to request the vehicle accelerate or stop, and a round wheel to request the direction the vehicle travel in.

How the vehicle actually responds to the interface is implementation dependent for each car. As an operator, I don’t need those details to know how to make the car do what I want. I just need to know how to use the interface.
Moreover, you see the same thing with a kitchen blender. It has buttons on the front. Each button has a label to describe what it does. How the blender implements its functions is unknown to me as the operator. I don’t need to know, I just need to be assured that the ‘puree’ button actually causes the blender to puree.

> The Java Runtime Engine, or JRE, is what makes Java work. No amount of code written in Java works without the compiler and it’s this where API separates from ABI.

Maybe it’s just the way you expressed it, but it appears you’re conflating the JRE with compiler. They’re separate and I don’t need the compiler to write code for the JRE.

> While each and every API in those downloads may be identical regardless of OS, the JRE is not identical! Read this until it sinks in: The JRE is not identical between OS versions.

This doesn’t prove anything. Having identical APIs isn’t enough nor is having identical ABIs. Moreover, you could have a set of OSes that all use the same API and ABI in every case and the JRE could still be different on those platforms. To have a universally single implementation of the JRE, you need to agree on the API, ABI, ISA (Instruction Set Architecture), and probably something else that I’m forgetting about at the moment.

> If Oracle wins, there’s a great, great chance software copyright ends because it would take about 0.0000001 seconds (and that’s being generous as most are probably already preparing should Oracle win) for companies to band together and force Congress to rescope copyright and remove APIs (as well as code itself, because technically, all code is an API) from copyright law.

More likely we will just quit using Oracle’s stuff (along with anyone else who attempts the same thing). Which will make this type of win a suicidal one.

> Of course, the maximalists will freak out so there’s only one viable option left: copyright the design, not the source.

You can do that already. It’s called a patent.

> By the way, this isn’t a joke. The very reason software is copyright is because the US Copyright Office took an extremely stupid analogy and used it for software:
> “A blueprint to a bridge is the same as the bridge itself.”

No, that’s how software patents came into being.

> If you’re wondering why the analogy is stupid, it’s because all blueprints will share a commonality on the safety and engineering requirements to make the bridge safe.
> Those elements on a blueprint are not copyrighted just as ABIs are not copyrighted on computers (aka, the “system”).

Safe and engineering requirements aren’t expressions, so of course they can’t be copyrighted.
Moreover, arguing that ABIs cannot be copyrighted while APIs can be is incosistent. From a copyright perspective, they’re identical. That means ABIs can be copyrighted if and only if APIs can.

> Before I close, I’d like to remark on another facet of software development which proves APIs are covered under copyright: The GNU/GPL licenses.

> Has anyone actually read them? If not, I’d ask you do because you’ll note something unique about them. However, if you don’t have the time or care to do so, here’s what a typical GNU/GPL licenses says:
> “You can use our software and do what you want with it, but you can’t sell it and you need to keep it open”.
> That’s the gist. But here’s something most people don’t get about those licenses: they’re still a copyright license. In fact, they’re written to purposely remove the restrictions of copyright.

GPL isn’t written to remove restrictions of copyright. It’s written to impose only the restrictions the FSF likes.

I fail to see what that has to do with APIs though. Regardless of its copyright license, if I provide a library for others to use, I must provide the API in a written human-readable form in order for others to use it. If I insist on providing a binary-only library, I must provide tools to correctly build software to work against that library or the library’s ABI in written human-readable form. Notice I didn’t mention anything about the license of the library. That’s because the copyright license is irrelevant with respect to use.

TripMN says:

Re: Re:

As a fellow ‘practitioner of the field’, thank you for this write-up and I totally agree.

The argument I see this person making centers around the idea that if something can be written down as words then it must have a copyright (Why API is copyrightable and ABI not). The problem is that APIs are more facts of necessity (like sentence structure) than items of expression. Keeping the facts of necessity simple and shared makes it easier for users of the system to reason about the task at hand.

kallethen says:

I know I say this a lot...

… and I’ll keep saying it.

I miss Groklaw for cases like this. It was great for keeping all the information compiled together and was great in educating people of what the cases were truly about and how law and computer science clash.

I don’t blame PJ for her decision to close shop. I don’t blame Snowden for the revelations he leaked that prompted her decision. I blame the NSA for being the cause of those leaks.

I just wish a new Groklaw could take it’s place. 🙁

crade (profile) says:

Being a developer and being able to follow I.P. law were already mutually exclusive, so not much will change when this is settled. Basically you can develop all you want, but you will be breaking I.P. laws left right and center and take the risk of getting called out and being screwed at any time. It’s the risk you take for making things, there is nothing you can do about it, it just is not feasible to do both things at once.

That One Guy (profile) says:

Re: Re:

“Let’s see, we could use Oracle’s code/program for a ‘reasonable’ license rate which can be changed on a whim of their part and that comes with the caveat that they reserve the right to revoke the license for any reason at any point in the future or we could use one of the alternatives that sprang into existence after people decided that it was financially and legally safer to avoid Java… choices choices…”

Aidian says:

Fair use is only really fair if you've got big money.

First there’s a four factor test which is filled with ambiguity and interpretation. A well educated layman can mostly make sense of this, but never with any confidence that they’ve accurately analyzed the relevant issues and weighted them properly.

That has to be filtered through decades of case law that addresses particular situations and may or may not have bearing on a particular case.

And if you’re wrong, the cost can run into the hundreds of thousands of dollars.

I had to make a fair use analysis today. I’m the most qualified person in my newsroom to make that analysis, and I’m more qualified than 99% of non lawyers and probably 50% of the non-IP specialist lawyers out there. And I’m grossly unqualified to make that call.

Ultimately, this situation is a close call, but I provisionally gave it the OK, but it’s a near enough thing that we’re seeking review by our company’s lawyer.

That means for us to bring important information about a public policy controversy to the public, we’ve had to spend, so far, several hours of employee time, coordinate several employees to have that discussion, and delay the entire project by a day while we get the lawyer’s opinion.

This is a huge time suck, and we don’t have the time or energy or $ to spare. When we’re planning our news budgets, we have to take this sort of thing into account, and with finite resources projects that involve this kind of extra hurdle may not get done, and the public won’t get important information about an issue that affects their lives.

Anonymous Coward says:

No matter how this trial ends the industry has lost big time.
If Oracle wins in any future cases the defendant will have a hard time demonstrating fair use.
If Google wins the Fair Use defense remains viable but one can still be sued into oblivion.

Since in the EU APIs are not subject to copyright, let’s assume the worst: TTIP will try to force API into being subject to copyright.

Worse still, even if the TTIP doesn’t force it the states will censor themselves to avoid being sued by corporations under the ISDS – “if they believe to be losing profit or even have a lower expectation of profit”.

Wendy Cockcroft (user link) says:

What about the implications for Open Source?

Why am I the only one who seems to be talking about how Oracle appear to be dismissing the whole “Java was free to use” situation?

The issue at court may be about whether or not Google’s use of Java code was fair use, but I’m concerned about the impact on open source. Can someone please confirm whether or not Oracle are actually saying, “Well Jonathan Schwartz SAYS it was free to use, but actually no, it wasn’t?”

Assume I’m right. To me, this means Oracle’s position is, “Hippie nerds don’t understand this Earth thing called ‘property,’ that’s why Schwartz gave it away. That was a mistake.”

Assume I’m wrong. Okay, which of the licensing terms did Google break? Because Java had been open source for years before Oracle came along and those are the licensing terms its use of Java were governed by, unless this is a specific program we’re talking about, and per Schwartz we’re not.

So… is it possible for Oracle to lay claim to an open source language and start charging license fees for it because the company it bought made it? Under its current licensing regime, it shouldn’t have the right to do so at all and the case should have been tossed. Whether or not APIs ought to be copyrightable is an argument for another day (I say no); even if they are and that’s okay, the code the APIs used by Google were open source and therefore free to use, weren’t they? So why is this argument not front and centre?

Schwartz says “It was open source!” and Oracle are all, “Meh. I heard you were one of the worst CEOs in the country.

Oracle are NOT acknowledging the open source status of the code and nobody seems to be calling them on it. I think this is a big deal. Am I wrong?

Add Your Comment

Your email address will not be published. Required fields are marked *

Have a Techdirt Account? Sign in now. Want one? Register here

Comment Options:

Make this the or (get credits or sign in to see balance) what's this?

What's this?

Techdirt community members with Techdirt Credits can spotlight a comment as either the "First Word" or "Last Word" on a particular comment thread. Credits can be purchased at the Techdirt Insider Shop »

Follow Techdirt

Techdirt Daily Newsletter

Ctrl-Alt-Speech

A weekly news podcast from
Mike Masnick & Ben Whitelaw

Subscribe now to Ctrl-Alt-Speech »
Techdirt Deals
Techdirt Insider Discord
The latest chatter on the Techdirt Insider Discord channel...
Loading...