
Supreme Court denies review of Google v. Oracle API copyright case [pdf] - mikecb
http://www.supremecourt.gov/orders/courtorders/062915zor_4g25.pdf
======
steego
Working in a field where we're required to define things with mathematical
precision, it's frustrating listening to lawyers and judges flail about trying
to figure out how to interpret laws.

I don't want to claim that the law is a trivial matter and that it could be
replaced with software, but I do think our legal system could be greatly
enhanced with some ideas in math and software development. There are always
going to be ambiguity in legal matters, but that doesn't mean we can't greatly
reduce that ambiguity with good tools.

I know this is a really tall order, but one idea in particular I'd like to see
is the introduction of some sort of unit testing or model checking during the
legislative process where legal scenarios are parameterized and enumerated to
act as a guide for legislators, lawyers and judges. I'd love to see something
like Alloy ([http://alloy.mit.edu/alloy/](http://alloy.mit.edu/alloy/)) be
implemented in a way that non-programmers could use to model check things like
bylaws by guiding the user through ambiguous and conflicting scenarios. I'm
not suggesting we try to make laws satisfiable. What I am suggesting is that
we model them in a way that highlight and distinguish the laws that are poorly
crafted from those which are clearly interpreted.

Legal ambiguity is really expensive weight on our society. Not only does this
sort of ruling create investment uncertainty, it benefits incumbents who can
buy armies of lawyers and intimidate competitors with drawn out lawsuits. Our
legal system should be the great equalizer, but it will never be as long as we
let judges and lawyers convince us to resign that our current system "is as
good as it gets".

~~~
gtirloni
The biggest problem is that there is no concept of DRY in law. No single
source of laws about $X. It's layers upon layers of conflicting code and it
becomes a maze.

~~~
brlewis
I think it's misleading to say there's no concept of Don't Repeat Yourself.
Precedent is the concept that's supposed to do that.

Software has layers of conflicting code too, but you wouldn't say software
engineering doesn't have the concept.

~~~
nitrogen
Legal precedent is the last thing we would want to mirror in software...
Imagine if every resolved bug from every software project, every hacky
workaround, was implicitly included in your code, rather than fixing bugs
upstream at the source.

~~~
M2Ys4U
I don't disagree with you, but the analogy of fixing the bug upstream is a
legislative amendment.

------
AaronFriel
I suspect what we will see happen is the District Court will rule that it was
fair use, it will go to the Federal Circuit again and then the Federal Circuit
will overturn the fair use claim. As the Federal Circuit is incredibly pro-IP,
I suspect they will be unpersuaded by any claim otherwise.

At that point, if SCOTUS does not take up an appeal, the computer science
world will have a big problem. If APIs are copyrighted and reimplementing
libraries violates copyright, then:

What of all the projects that have implemented LIBC, and used glibc's API and
headers? e.g.: Is musl now GPL?

What of any OS or project that has implemented a POSIX layer? (Is this the
decision SCO needed to finally sue someone for Linux finally violating SCO's
copyright?)

What of any project that implements x-plat APIs? As another comment pointed
out, Microsoft's Project Islandwood re-implements iOS APIs. But Xamarin,
Cordova and other projects all ingest APIs and reconfigure them to make them
accessible on multiple platforms. Are they contaminated by copyright now?

If the Federal Circuit decision stands, software might have finally
encountered the lump it can't digest as it eats the world.

~~~
on_and_off
It makes me wonder why moving away from Java is not an higher priority for the
Android Team. According to the AOSP tracker, their current efforts at the
language level seem to center on the integration of Java 8.

Sure, as far as languages go, I there are many tasks more beneficial to the
platform than changing its language, but the legal issues they are
encountering sound like another good motivation.

~~~
needusername
Huh? They haven't even delivered Java 7 yet.

~~~
bookwormAT
Android supports Java 7 since October 2013.

~~~
needusername
Really? The last time I checked invokedynamic, java.lang.invoke,
java.nio.file.* and many more were still missing.

~~~
chii
It supports java 7 syntax. Invoke dynamic you mentioned is a jvm feature,
which dalvic isn't one. I think the lack of nio is an annoyance that can be
fixed tho.

~~~
needusername
> It supports java 7 syntax. Invoke dynamic you mentioned is a jvm feature,
> which dalvic isn't one.

invokedynamic is a bytecode. Not supporting it means Dalvik / ART can't accept
valid bytecode.

> I think the lack of nio is an annoyance that can be fixed tho.

Apparently not. A quick check also suggests that
ClassLoader#registerAsParallelCapable is missing.

------
petilon
This case is going to be especially relevant for Microsoft now that they are
cloning Apple's iOS APIs: [https://dev.windows.com/en-us/uwp-bridges/project-
islandwood](https://dev.windows.com/en-us/uwp-bridges/project-islandwood)

In my opinion implementing someone else's API should be allowed under the fair
use provision of the copyright law. This is needed so that whoever came up
with the API does not hoard applications developed for the API and stifle
innovation and competition at the platform level, as Microsoft did for many
years with the Win32 API.

~~~
bitmapbrother
What's even more amusing is that Microsoft sided with Oracle in this case.
Looks like that's going to bite them in the ass soon.

~~~
tankenmate
Not really, they'll pay off Apple. Who it will really hurt is start ups that
don't have the money to license. If APIs are held to be copyrightable and not
subject to fair use then this will lead to reduced innovation in the US. A
similar ruling in Germany went the other way and stated that APIs are
functional and hence not copyrightable.

~~~
bitmapbrother
Apple doesn't need the money. What they do need, however, is developer lock in
which is probably non negotiable.

~~~
andybak
However there is probably a quid pro quo somewhere in there that will give
Microsoft leverage.

So the previous point still stands, with one minor modification. The giants
will come to terms and the small-fry will be screwed.

~~~
bitmapbrother
Steve Jobs thought the same thing when he showed Bill Gates the Macintosh OS
for the first time.

~~~
lightbritefight
Good thing he had copied it wholesale from Xerox PARCs first. Saved them both
some time.

~~~
bitmapbrother
Your history is incorrect, though. Apple was authorized by Xerox PARC to use
their technology in exchange for allowing Xerox to buy 100,000 shares in Apple
before their IPO.

~~~
hga
I would use the word "concepts" rather than technology, although I'm sure
there was some of that as well. The general UI, though, came from Douglas
Engelbart's late '60s oN-Line System (NLS), the subject of the Mother of All
Demos. Pretty much everything, windows, the mouse, just no graphics.

It was much copied, e.g. I'm think the Lisp Machine had the same basic GUI
working by the time work on the Apple Lisa started, it was certainly reliable
and somewhat polished as of the fall of 1979/1980.

If you're a student of this sort of history, it's a bit sobering how little
"new" stuff we're really doing, it was all conceptualized and generally at
least prototyped by the end of the '60s.

------
mikecb
This leaves in place the ruling of the Federal Circuit, which ruled that the
Java APIs in this case were copyrightable, though it left open the possibility
that Google had a fair use defense.

------
bitmapbrother
_SQL was initially developed at IBM by Donald D. Chamberlin and Raymond F.
Boyce in the early 1970s.[14] This version, initially called SEQUEL
(Structured English QUEry Language), was designed to manipulate and retrieve
data stored in IBM 's original quasi-relational database management system,
System R, which a group at IBM San Jose Research Laboratory had developed
during the 1970s._

 _In the late 1970s, Relational Software, Inc. (now Oracle Corporation) saw
the potential of the concepts described by Codd, Chamberlin, and Boyce, and
developed their own SQL-based RDBMS with aspirations of selling it to the U.S.
Navy, Central Intelligence Agency, and other U.S. government agencies. In June
1979, Relational Software, Inc. introduced the first commercially available
implementation of SQL, Oracle V2 (Version2) for VAX computers._

Does IBM have a case to go after Oracle for using the SQL API SSO in their
database products?

~~~
jbandela1
SQL is an ISO standard (ISO/IEC 9075). This is completely different from
implementing the API of a proprietary language.

~~~
bitmapbrother
Regardless of whether SQL is an ISO standard, doesn't IBM still own the
copyright to SQL or were they forced to give it up as part of the condition to
becoming an ISO standard?

~~~
jacobr1
I don't know about that case in particular, but in general:
[http://isotc.iso.org/livelink/livelink/fetch/2000/2122/37707...](http://isotc.iso.org/livelink/livelink/fetch/2000/2122/3770791/Common_Policy.htm?nodeid=6344764&vernum=-2)

~~~
bitmapbrother
That seems to pertain to patents. There doesn't seem to be any mention of
copyright.

------
jorgecastillo
I don't know what to say, this feels so wrong (APIs being copyrighted). If any
tech company deserves hate it's Oracle without a doubt. I just hope common
sense prevails at the end and Google wins.

------
drallison
See
[http://scholarship.law.berkeley.edu/facpubs/2354/](http://scholarship.law.berkeley.edu/facpubs/2354/)
for Pam Samuelson's CACM article on this issue.

~~~
SloopJon
Interesting article, but worth noting that it was written well before Oracle's
successful appeal.

------
estefan
I'm calling shotgun on login(username, password) and save()...

~~~
bitmapbrother
You forgot to structure and organize it.

------
Rayearth
I'm disappointed if only because the oral argument for a case like this may
have been fascinating - what do the supreme court justices have to say about
things computer science? It might turn out like the violent video game ban
case from a few years back, when Justice Kagan quipped that she (or rather, he
clerks) were familiar with games such as Mortal Kombat. Perhaps she, or her
clerks, may also have some experience with Java?

------
andyjohnson0
Does anyone know why Alito apparently recused himself in this case?

~~~
jackgavigan
He owned between $100,001 and $250,000 of Oracle stock at the end of 2013.

[http://www.opensecrets.org/pfds/assets.php?year=2013&cid=N99...](http://www.opensecrets.org/pfds/assets.php?year=2013&cid=N99999926)

~~~
jahnu
Given the scope of their work it seems odd they wouldn't be required to put
their money in a blind trust. At least as a matter of good taste.

~~~
mbreese
A SCOTUS appointment is for life. How long should they keep things in a blind
trust?

It's common for politicians to keep assets in a blind trust only while they
are in office.

~~~
_stephan
As long as they serve as judges? Why should SCOTUS judges engage in stock
picking?

~~~
bpicolo
Why would they be expected to not participate in the economy?

------
RexRollman
Another reason to dislike Oracle.

------
jimrandomh
The Oracle v. Google copyright case hinged on two things. The first was about
the copyrightability of APIs (in legal jargon, "structure, sequence and
organization"). The second was a function called rangeCheck, which was:

    
    
        private static void rangeCheck(int arrayLen, int fromIndex, int toIndex {
            if (fromIndex > toIndex)
                throw new IllegalArgumentException("fromIndex(" + fromIndex +
                    ") > toIndex(" + toIndex+")");
            if (fromIndex < 0) 
                throw new ArrayIndexOutOfBoundsException(fromIndex);
            if (toIndex > arrayLen) 
                throw new ArrayIndexOutOfBoundsException(toIndex);
        }
    

The function is obviously trivial, is something which could be pretty easily
recalled exactly from memory, and could be easily recreated by accident; given
the constraints on what it's supposed to do, there aren't many degrees of
freedom. At the district court level, Judge Alsup ruled that copying of this
function was "de minimis". At the Federal Circuit level, Justices O'Malley,
Plager and Taranto overturned this part of the district court ruling
([https://www.docketalarm.com/cases/US_Court_of_Appeals_Federa...](https://www.docketalarm.com/cases/US_Court_of_Appeals_Federal_Circuit/13-1021/Oracle_America_Inc._v._Google_Inc./Order-05-09-14/)).

On the issue of "structure, sequence, and organization", Google copied the
class and method names from Java, so that their reimplementation of Java,
Dalvik, would be interoperable with existing Java programs and Java
programmers' habits. Judge Alsup ruled that is a "command structure, a system
or method of operation" and not copyrightable 17 USC 102(b)
([https://www.law.cornell.edu/uscode/text/17/102](https://www.law.cornell.edu/uscode/text/17/102))
([http://www.groklaw.net/pdf3/OraGoogle-1202.pdf](http://www.groklaw.net/pdf3/OraGoogle-1202.pdf)).
This, too, was overturned by the district court.

There is a fairly key difference here between Judge Alsup and the District
judges. Part-way through the trial, Alsup revealed that he has actually
programmed; that he understood what was going on, and would not be easily
fooled. At the time, this being revealed was a dramatic event.

The District judges, however, hold no such distinction. It is no surprise,
then, that it was them, and not Alsup, who made a ruling that to actual
programmers is prima facie unreasonable and dangerous. They are outsiders. If
you read their opinion
([https://www.docketalarm.com/cases/US_Court_of_Appeals_Federa...](https://www.docketalarm.com/cases/US_Court_of_Appeals_Federal_Circuit/13-1021/ORACLE_AMERICA_INC._v._GOOGLE_INC./Order-05-09-14/))
you can see little errors in terminology creep in to reveal their lack of
background and understanding. And, lacking that understanding, I don't see how
they can be seen as having moral authority. They only have legal authority,
and the ability to do damage with it.

~~~
brlewis
Were any expert witnesses called?

~~~
rlevy
Yes, on each side

------
jimrandomh
The title here is wrong; it's Oracle v. Google, not Google v. Oracle. The
plaintiff's name always goes first.

(EDIT: This was incorrect; the original case was Oracle v Google but the
appeal is the reverse.)

~~~
ky3
"In certain appellate situations, where the old form of petition for review is
prescribed, the name of the petitioner -- the party seeking review -- goes
first, whether the petitioner is plaintiff or defendant.

Thus in the familiar "certiorari" ... where the Court is responding to the
request of the party seeking review."

Source:

[https://books.google.com/books?id=lLHBCQAAQBAJ&pg=PT70&lpg=P...](https://books.google.com/books?id=lLHBCQAAQBAJ&pg=PT70&lpg=PT70&dq=plaintiff+name+first+certiorari&source=bl&ots=z_JP_KI6dG&sig=lENZjd_IE3cuJE9UJXwOXrF8xDM&hl=en&sa=X&ei=ImWRVc7KJMLhuQT
--IMg&redir_esc=y#v=onepage&q=plaintiff%20name%20first%20certiorari&f=false)

