Giant vampire squid on the face of humanity
I mean, Oracle.
The US Supreme Court has agreed to once and for all decide the copyright case between Oracle and Google after nine years of legal wrangling. The nine judge panel on Friday issued a grant of certiorari (PDF), agreeing to hear the case over Android's use of copyrighted APIs owned by Oracle via the purchase of Sun Microsystems. …
It's a close call between the giant vampire squid on the face of humanity and the giant Kaiju sent from the Anteverse to colonise Earth. I'm not sure which one I should be supporting.
I think Oracle is right on this issue. Everyone knew that Sun (Oracle) charged a license for embedded Java to recoup the costs of building Java. It had been true for many years. Google was well aware that they needed a license. Google just decided that A) they are Google and can do whatever they want and B) Sun was too weak of a company to get into a decade long legal war with them... so they just took it. Their excuses as to why they should have been able to just take it (Java code) are weak. They say that taking a license would have prevented "interoperability"... ah no, a major point of the license was to preserve interop. Google's definition of interop seems to be that, because a ton of developers know Java, it would make it easier for Android to get off the ground vs inventing something new. That is not interop. That is just Google making it easier for themselves and deciding not to pay Sun using their tech to benefit themselves. Their next argument is that, if Oracle wins, the world will definitely explode and no systems will work with other systems, planes falling out of the sky, etc. Not much chance of that. APIs can be made publicly available and open source or not (or somewhere in between). You just have to abide by the license and terms of service of whoever created that API. For instance, Twitter makes their API available to all comers because it is in their interest to drive people to Twitter. IBM does not make their mainframe APIs available for free because it is better for them to charge. Google Maps API is available to the general public and companies for free, but they charge if you are going to embed Maps in a commercial app (e.g. Uber). Ironically almost exactly like the Java APIs. If Oracle has to give away Java and the APIs in all circumstances, then why is Google able to charge Uber for Google Maps API calls.
I don't hold out much hope for this to go well.
Well - the US Supreme Court does have form for slapping down the Court of Appeals for the Federal Circuit (which has the remit of copyright cases and performs stunningly badly when their decisions go to the supreme court) so don't give up hope yet. The Court of Appeals appears to be stuffed with copyright maximalists and rules on that basis rather than on the basis of case precident and law..
As it stands there is a split precedence on this issue which is probably why the Supremes said that they would review it.
Actually, no. Until this case API's (structure basically) were well understood to be uncopyrightable. Implementations could be copywritten but the API's themselves, not so much. So there was no such thing as "open sourced" API's.
An example of an API would be:
java.math.add
or
int add(int a, int b)
Actual implementation examples might include:
int add (int first, int second){
return first + second;
}
or
int add(int beginning, int ending){
int a = beginning;
int b = ending;
int result = a;
for(int i = 1; i == b; i++){
result = result + 1;
}
return result;
}
The only people that would be confused are those that either mistakenly, or intentionally confuse software for API's.
"Well, unless you want to implement their APIs which they haven't "open sourced"... Which is what this is all about."
Not really. Oracle/Sun does not allow OEMs and embedded OS makers to use Java without a license. Any of the code. It is a licensed product for that use case. Google's defense was that "we just copied the APIs (and a bunch of other code)" so that shouldn't count. It is nothing to do with APIs per se.
"for copying Oracle’s innovations"
You mean "for using something that Oracle purchased afterwards, just so they could sue"
Larry, Larry, Quite Contrary
How does your garden grow
With patent fights and IP rights
And lawyers all in a row
(Poem attributed to an El Reg comment from donkey's years ago)
"We believe the Court will reject any reasoning that permits copying verbatim vast amounts of software code, used for the same purpose and same way as the original. That is not 'transformative,' and certainly not fair use."
And they would have a point if that was what was going on. Is this the new way that lawyers present themselves in public? Just keep insisting that black is white?
I hate google, they are are a giant leech. But Oracle are just a bunch of ....... I mean Java was free for years and now you have to licence every host just in case a server that has Java installed resides on it and client installs too.... hope they all go bankrupt suing each other, they bring nothing good to the world.
Oh dear,
Every time Java is mentioned on the register, we see the same old, same old comments by people showing that their knowledge of what Java is, and is used for, is stuck in the mid-90s.
Java != Flash
Java != Applets
We're talking about a high-performance VM that is almost exclusively used on the server and smart-cards. It is not used on the browser (the amount of usage is gets there is statistical noise) and HTML5 is, in all practical terms, nothing to do with a replacement for Java.
How can we end this myth!
It'd be great if the Federal Circuit's ruling was overturned, so for a while it'd been a hope that the Supreme Court would take up the case. But considering the current composition of the court, maybe we'd have been better off sticking with a circuit split . . .
This post has been deleted by its author
" If APIs are copyrightable, the entire software industry comes crashing down overnight"
No.
"Copyrightable" is a word used only by people who don't understand copyright, so I'll go nice and slow.
A copyright holder has have something that adds up to a substantial original work before they can try and to use it to make a claim of infringement. I expect the Supreme Court will simply affirm this. APIs were never not "copyrightable". All it means you need a license if you're going to copy a lot of that original work. So go get a license.
The internal emails at Google show that Rubin understood this very well - he had copied Java, and even used over 30,000 lines of Sun code. The Android execs said: we really should get a license. But with Sun being hippies, they decided to wing it. Not a problem unless a Larry takes over from the hippies.
Given your limited understanding of copyright, I hope to God you're not in the industry.
From a distance it looks like Java was a big pile of doggy poo. Nice concept, but flawed execution (oh dear). And in a GUI world, Java was clunky.
And now, again viewing from a distance, it looks like Google helped make it much more ubiquitous than Sun or Oracle ever did.
So now Oracle think, fuck me, how dare Google make all this money off of our ideas? Quick let's sue them so we can have some of that yummy dosh.
Meanwhile Google think, hang on, we did all that work to make it work on phones and tablets from a plethora of vendors. Why should we share our yummy cash with Oracle? Who even cares that without Java, we didn't really have a viable starting point for portable code on "our" devices?
It's possible I may be far off the truth, but this is how it appears to me, viewing from a distance.
There are a couple of thing's that need to be dredged up from the mists of time at the start of the case. When Google started down this track the talked to Sun about it and Sun's reply, as quoted in documents before the court was basically, sure go for it, and two Google took the publicly available API spec that Sun said they can use and wrote their own code to match that spec.
Not quite. You will have to go a little further into the weeds to understand what was going on.
First, there was JAVA ME on clunky phones, then came Apple and the iPhone with it's third party app ecosystem and GUI that revolutionized phones at the time. Google didn't want to be shut out and so needed something to compete. It created (bought) Android and went about streamlining it as an OS that could compete with the iPhone.
In order to get a critical mass of developers who could write for this new OS, Google decided to base it on Java, since universities were churning our Java developers by the bucket load at that time. Now, at that time there were three versions of Java; Java EE (for enterprise and web servers), Java SE (for desktops), and Java ME (for mobile). Of the three the only one that was "open sourced" was Java SE. Anyone could write a compatible version (and by that I mean Java virtual machine there were several at the time) but in order to call it "Java" (and get a promise not to be sued over patents) it needed to pass a proprietary battery of tests. Included in this was a Use Restriction that said you couldn't use this product on mobile devices. About the only place Sun was getting any licensing revenue was from Java ME. The Apache Harmony version of Java runtime refused to accept that restriction and so was the only open source version that wasn't so encumbered. There was a lot of he said/she said between Sun and Google, but in the end Google took the Java API from Harmony, threw away those parts that it felt weren't suited to mobile, added parts that it thought were missing and created it's own runtime Dalvik. So, to make it clear, Android uses a Java SE compatible language that get compiled into a completely different (i.o.w. not Java) bytecode, on something that is not called Java.
Whether or not you think that's good/bad/fair or not, didn't really matter. Up until this case, it was well understood that API's weren't copyrightable. If they were we wouldn't have gotten IBM clones, multiple versions of BASIC, Linux, GNU software, or any two computer programs that weren't from the same company that could talk to each other. For those who actually understand these things it makes about as much sense as claiming that since I purchased the copyrights to William Shakespeare's works I can demand payment from anyone who dares write in iambic pentameter.
This was a great description of the situation, until you forgot that Google lifted the headers of the Java code and placed it in their own code... character per character.
Google should not have done it, they should have hired some technical writers to re-create the headers, re-word them, and re-style them. It is kind of like someone backwards engineering a product, photocopying your manual, and saying you are allowed to ship the photocopied the manual.
Google decided to short-cut going to market and here the world is, suffering through endless court battles.
LOL, seriously?
Apparently you don't really understand what an API is, do you?
The "the headers of the Java code and placed it in their own code... character per character" is called the API. It has to match, character for character or it wouldn't have been compatible. That's the whole point of having an API. It's not software, and it's not like a manual.
If my API has the following functions in a library called math (ex: java.Math):
int add(int a, int b)
int subtract(int a, int b)
int max(int a, int b)
int min(int a, int b)
int round(double a)
int ceil(double a)
int floor(double a)
Then your implementation (i.o.w. your source code) will have to match that exactly in order to be compatible. The above is what Google copied character for character. They wrote their own software, they didn't copy any of Sun's (well except for an accidental 9 lines) actual software.
Google didn't short-cut going to market they just used the industry standard practice of implementing the API of something they wanted to be compatible with (you know, like how Libre Office can read a Microsoft Excel file, or Excel could read a Lotus 1-2-3 file Or how your browser can connect to a web site, or your operating system (regardless of which) can read and write to your SSD).
It's Oracle's greed (and a particular Federal Appeals Court's intransigence) that has caused the world to suffer through endless court battles.
Nope. If my header looks like:
int floor(double d) // Return the integer which is not larger than d
int ceil(double d) // Return the integer which is not smaller than d
int round(double d) // Return the integer which is closest to d
etc
Then a) my header is API compatible with yours (the argument name and the comments are irrelevant); b) my header is not a character-by-character copy of yours.
Sun had the beginnings of an Android-like experience when they purchased SavaJe but didn't have the money or the will to pursue it. When Oracle came along they also saw little value in the concept of a java-based universal mobile platform and gave it no love. Oracle is simply expressing their frustration at their inability to spot golden geese when they're presented with them and going after those with enough vision to do it. APIs are simply not copyrightable anymore than anyone can copyright the use of clutch, brake and accelerator pedals in a car.
How do you think Larry can afford islands?
Remember, this all comes out of *our* pockets at some point - increase the costs for an outfit, they make money somewhere to pay those costs, and they get their money from US, one way or another. So Oracle wants to tax us more in a way that looks like sticking it to someone else. There is no someone else in the end.
...the first thing I think is, "Maximus, old chap! I bet the internet is desperate to know what your opinion on the current subject is. You need to tell them, and tell them soon!"
So here goes: I don't really mind. It's all relative.
I hope that was helpful.
SCO claimed copyright on kernel API. So despite of a clean-room implementation Linux would have violated copyright.
Oracle claims copyright on API descrption on Java functions, so even clean-room re- implementations of the API would violate copyright.
You are right. No idea who owns the SCO ccopyrights these days, but they will rise in value massively, should Oracle win.
But SCO didn't, doesn't own Unix.
I spent way, way to many hours at Groklaw.
And anything that they did own that might be in Linux, they put their themselves. All under the GPL. And then gave away, sold their version of Linux ( as United Linux and SCO Linux. Both of which I used to own copies of. ).
And Google did ask Sun if it was okay to use Java. And Sun ( the CEO ) said yes. So in theory, Goolge had permission to use it.
Larry is just a greedy, arrogant, egomaniac who thinks that his money makes him special.
My experience with most shysters is they have no interest or real understanding of technology. Thus they are easily dazzled by bs when it comes to technology. Couple this with the average of the Nine Seniles is up there and you have a recipe for not having a clue as to what the case is really about. The only reason this case has been alive is because the trial judge actually has a strong interest in computers and programming and could grasp what the real issue of the case is; a sleazy money grab by Larry's Minions.
Outside of the USA, any ruling against Google will not apply.
As much as certain people in the US might like to shout, US laws don't apply to every country on the planet.
I'm sure that there are many places that would love to give Oracle the finger should they come demanding license payments.
This is the kind of decision which has the potential to _break_ the Berne Convention.
There are already grave misgivings about the amount of damage that abuse of copyright law and the efforts to keep the Mouse in copyright forever have wrought.
Modern patents and copyright were intended to give protection for a _limited_ period. making them forever is a good way of ensuring a repeat of King James' abolition of patents entirely.
and I doubt anyone would,
Oracle bought Java and want to make money out of it. They seem to have a shitty way of making money out of anything they own.
Google bought Android and want to make money out of it. They also seem to have a shitty way of making money out of anything they own.
They deserve each other. I just hope this ludicrous fight costs them both millions.
Ishy
So if I design something (happens to be an API in this case, but could just as easy be a USB plug/socket) shouldn't I be patenting (the functionality) and copyrighting (the API) it to protect my innovation in law? Did Sun ever do this - guessing not otherwise this wouldn't be dragging on? This should be just about a paper trail??
Oracle's aggressive stance is because their core business is going down the pan? Once they were the only database worth having, now they are not and they are failing to innovate - so they are looking to see what's left in the cupboard to make money with?
You can design all you like, but some things just aren't eligible for patent or copyright protection (crazy I know). API's are one of those things, like abstract ideas, or rules of nature.
At least they were, until Oracle decided to buy Sun and sue Google over them, and the random inclusion of a mostly irrelevant patent landed the appeal of their rightful loss into the hands of the "United States Court of Appeals for the Federal Circuit" [C.A.F.C.] otherwise known as the court that believes; all things are patentable, all uses require payment, and both the law and supreme court rulings are suggestions to be ignored. The Supreme Court has been taking a number of cases from the C.A.F.C. in order to reverse and otherwise try and smack some sense into them. Hopefully this is one such case.
Alphabet did not want to buy the technical writers to re-write the headers documenting the code that they mostly re-wrote.
Buying Oracle is a large price to pay, for copying documentation (code headers) & redistributing it as their own work, to capture a majority of the world's phone market... but that is life
Sorry, but that's not what an API is. It has nothing to do with "documenting the code they mostly re-wrote"
If they re-wrote the headers as you put it it wouldn't have been compatible. The API is a collection of functional signatures [ex: int max(int a, int b)], structures, and groupings [ex: java.Math.*] that's it. So if they want to be compatible with Java and Java has a method with a signature; public static double floor(double a) then my floor function would have to match that to be compatible. I can't write a function called; public static double carpet(double a), or give it a different signature; public static int floor(long a) and expect it to remain compatible.
With Google seemingly having made Kotlin into its Java replacement for Android, it seems like only a matter of time before the last mainstream use of Java comes to an end. In that view this 9-year old legal case seems to be rather ironic. By the time this case works its way through the Supreme Court, Java support on Android may already be a legacy feature.
By keeping Java a closed language and by relentlessly monetising it, Oracle seems hell-bent on making Java less popular than COBOL.
IIRC, Apache Harmony -> Dalvik re-implemented the Java API calls with new code, rather like taking the chapter headings of a book and writing new content under each of them. As has been said earlier, the Sun bigwigs had effectively blessed the effort as a way of spreading Java further. Then came the buyout (it's well reported that Ellison had originally only wanted the software side of Sun, intending to monetize Java, but McNealy & co insisted on an all-or-nothing deal), and suddenly Dalvik -> Android, which has won the handset war by numbers, is a blatant act of plagarism. I suppose Larry needs to pay for the secret submarine base under his Lair of Eeeevil, er, private tropical island. That or those Dr Evil Nehru jackets are getting bid waaaay up on EBay...