Court: Oracle Entitled To Copyright Protection Over Some Parts of Java 303
An anonymous reader writes "Remember the court battle between Google and Oracle? It's the one where Oracle claimed Android violated Oracle's patents and copyright related to Java. Oracle thought they deserved $6 billion in compensation, but ended up getting nothing. Well, it's still going, and the tide is turning somewhat in Oracle's favor. An appeals court decided that Oracle can claim copyright over some parts of Java. It's a complicated ruling (PDF) — parts of it went Google's way and parts of it went Oracle's way — but here's the most important line: '[T]he declaring code and the structure, sequence, and organization of the 37 Java API packages at issue are entitled to copyright protection.' A jury's earlier finding of infringement has been reinstated, and now it's up to Google to justify its actions under fair use."
lesson to be learnt (Score:5, Insightful)
There is a lesson to be learnt here: Never depend on programming language, which is not under appropriate free license.
Apache Foundation, do you hear me?
Re: (Score:3)
I can't wait for phone books to be copyrighted.
Re: (Score:2)
Re: (Score:2)
Re:lesson to be learnt (Score:5, Informative)
Re:lesson to be learnt (Score:4, Informative)
This has nothing to do with using Java. It has to do with implementing your own incompatible version of the language. If all you want to do is use Java, or implement a compatible version, the license is good and you will have no problem.
The problem with this is that you now are subject to somebody else's sole determination that you are/aren't "compatible" or else you get stuck in endless litigation.
If you build entirely on free-licensed components, then nobody has any control over what you do.
Re: (Score:3)
Re:lesson to be learnt (Score:5, Informative)
1. Isn't actually true. You need to stay well within the lines or draw the ire and lawsuits from Oracle
2. Isn't true because you need to to be licensed by Oracle in order to be verified as 'compatible' and if they say no then guess what?
3. Yup, that's pretty much the only route you have
Re: (Score:3)
The problem with this is that you now are subject to somebody else's sole determination that you are/aren't "compatible" or else you get stuck in endless litigation.
The test suite that tests for compatibility is now open source (although the licensing is messy, it is ultimately usable), so that isn't a problem anymore. It was a problem before, you are right.
Re: (Score:2)
The problem with this is that you now are subject to somebody else's sole determination that you are/aren't "compatible"
and that's superior to letting every implementation decide if it is compatible? sort of like having the company that builds a bridge decide if the bridge meets all safety requirements?
it's of the definition of compatibility. there has to be some board, committee, test suite ... some single point that decides compatibility. and yeah, java SE is a big complicated thing and i'd expect that getting accepted as compatible would be a big pain in the ass.
A work in progress would infringe (Score:2)
Re: (Score:2)
Re: (Score:3)
Tell that to Apache Harmony. Oracle refuses to make the certification 100% free / license un-encumbered, so here we are. You can't release a 'Java' runtime without certification, and you can't be certified unless you sign contracts with Oracle to bend over the barrel.
Re:lesson to be learnt (Score:5, Informative)
If all you want to do is use Java, or implement a compatible version, the license is good and you will have no problem.
This is completely false. Oracle changed the rules around for what it means to be "compatible" so that only projects that Oracle likes will be deemed compatible. Apache is being forced into a Java Fork [zdnet.com]:
The problem's core is that first Sun, and now Oracle, won't give Apache a chance to certify Apache's Project Harmony as being Java Platform, Standard Edition (Java SE) compliant.
Apache: I know my rights. I want my compatibility certification!
Oracle: How can you get a certification if you can't take the test?
Re:lesson to be learnt (Score:4, Informative)
They needed it because they were trying to speed up execution on smart phones. As I understand it, Dalvik(?) compiles class files produced by the javac compiler to optimize register allocations, and what they are arguing about is the documentation. They aren't trying to use the same name, so it's not related to the MS ploy of defining a non-compatible Java. They're trying to define a (very large) subset of Java+libraries that can be handled by their compiler.
OTOH, it's been months since I paid close attention to this, so I may well have the details considerably garbled. IIUC, however, the question was whether the order in which class methods were listed in the documentation was copyrightable. Originally the answer was no, but it sound like that answer has been changed to yes.
Re: (Score:2)
There is a lesson to be learnt here: Never depend on programming language, which is not under appropriate free license.
Apache Foundation, do you hear me?
Once the ballyhoo and excitement at the birth of a new language have subsided it is quickly supplanted by the motherly urge to control and protect.
Oh PJ, where art thou? (Score:5, Insightful)
If ever there was a time we needed you... :(
Re:Oh PJ, where art thou? (Score:5, Insightful)
Re: (Score:3, Informative)
It may be surprisingly readable, but Justice Alsups original ruling was extremely clear cut, no nonsense and demonstrated a clear understanding of technical issues and accepting Oracles arguments. Accepting it also would have also limited or prevented a lot of litigation in the future.
Re:Oh PJ, where art thou? (Score:5, Informative)
It may be surprisingly readable, but Justice Alsups original ruling was extremely clear cut, no nonsense and demonstrated a clear understanding of technical issues and accepting Oracles arguments.
It may have been clear cut, but he was wrong. The present ruling explains why, read it.
Essentially: 1) He muddled his logic between 'copyrightablity' and 'fair use,' two different concepts.
2) He didn't respect previous rulings and standard court procedures (such as the Abstraction, Filteration, Comparison [wikipedia.org] test).
3) A lot of his logic rested on the Lotus case, which isn't commonly used as a precedent, and isn't relevant to this case anyway.
Realistically there's no reason to believe that APIs aren't copyrightable. Do you deny that building an API requires a lot of creativity? Making a good API is hard work, and deserves protection as much as music does. This isn't even a particularly important question (whether anything at all deserves protection is another issue; here we are talking about what is currently legal).
The more important and relevant question is whether the Google usage falls under fair use. If it does, then they can use the API anyway.
Re: (Score:3)
Oh dear. This could be a problem for anyone who uses a C compiler. Who owns the original C APIs anyways? Dennis Ritchie maybe?
I wonder who owns the SQL APIs? Oracle may have a problem here...
Re: (Score:3)
Re: (Score:3)
Thanks for the link. I read: The jury found that Google infringed Oracle’s copyrights in the 37 Java packages and a specific computer routine called “rangeCheck,”
Fuck rangeCheck. I don't care if Oracle gets $1B for that stupid 10-line function that any moron could write in 5 minutes. Oracle succeeding in copyrighting an API, which last a freaking 100 years, is death to our industry.
Coder Boycott (Score:5, Interesting)
Ok this ruling would seem to invalidate any ability to reproduce any interface.
This needs a coder boycott of anything Oracle until Oracle stands up and pubclically disavows this ruling and claims the court was wrong.
Re: (Score:3)
This needs a coder boycott of anything Oracle until Oracle stands up and pubclically disavows this ruling and claims the court was wrong.
Hey, I've been boycotting Oracle for the last decade on grounds that their software is garbage! Count me in!
Re:Coder Boycott (Score:5, Insightful)
The ruling means that any library in any language can be shut down. It means that public interface declarations can be copyright. It means it could be impossible for anyone to reproduce a public interface.
AkA it makes all public interfaces private. It is not just a Java specific ruling, it has implications across all coding environments.
Re: (Score:2, Interesting)
The ruling means that any library in any language can be shut down.
No.
It means that public interface declarations can be copyright.
Yes.
It means it could be impossible for anyone to reproduce a public interface.
No, because if you are reproducing a public interface for compatibility purposes, it is fair use. There are lots of ways something could be fair use. Even if Google fails to show that this particular case was fair use, that won't prevent the fair use argument in other cases.
In reality, purpose matters for fair use. If your goal is to reproduce the public interface for compatibility purposes, that is fair use, because that is the only way compatibility can be reached. However, the goal of Google her
Re:Coder Boycott (Score:5, Insightful)
It WILL have a huge 'Chilling Effect' though, even if you are in the right, and it is fair use, can you afford to defend against a huge corporation suing you?
Re: (Score:2)
Re: (Score:3)
No, it makes the difference between a frivolous suit which will get their lawyers sanctioned, and paying your court costs VS 'We thought it was reasonable given this case law.'
Re:Coder Boycott (Score:5, Insightful)
Don't be naive. This will be used to shut down APIs. Increasingly the software world is a set of web based and hosted APIs, with big money but little business behind them. Imagine, for example, someone like Snapchat copying Twitter's API to enable their service to grow faster. This ruling, it is stands, will be used by incumbents to shut down start-ups or open-source/non-spyware clones.
Probably Google's biggest mistake at the get go was to not do a /Java/Davlik/g. Since all code needs to be recompiled, this can be done easily by the build system while maintaining a single source file...
Regards,
-Jeremy
Re: (Score:2, Insightful)
This ruling, it is stands, will be used by incumbents to shut down start-ups or open-source/non-spyware clones.
How can you even say that if the ruling on fair use hasn't been given yet? You don't even know if it is fair use. You don't know if the result on fair use will be so narrow it doesn't apply to other cases.
IF you have a legal argument about why you say is true, then I am interested in hearing it. Otherwise your opinion is meaningless. Read the ruling [uscourts.gov].
Re: (Score:3)
Re: (Score:2)
The ruling means that any library in any language can be shut down. It means that public interface declarations can be copyright. It means it could be impossible for anyone to reproduce a public interface.
No it doesn't. Any interface declarations published under an open-source license will be completely safe (provided you meet the terms of that license of course). It's only proprietary licenses that will be a problem.
That's some crazy shenanigians right there. (Score:3)
API calls.... their "structure, sequence, and organization" are copyrightable? API calls... really?
So I have a door, it has a door bell. It follows a nice standard that if someone wants to get my attention at my door, they ring the doorbell. If they want to leave a message, they put a note in my mailbox. That's a rough equivalent for my house's API. I can copyright that (baring prior art and fair use)?
The contents of my house are my own of course, but the procedure I ask everyone to follow when coming into my house? I also own that?
Really guys?
Re: (Score:2)
This is what happens when you have non-technical lawyers and judges trying to rule on technical matters.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Unfortunately, it's still legal.
Re: (Score:2)
CAVEAT: Other people may be able to use it under fair use, and in fact, they probably can.
Re: (Score:2)
You seem to be describing a patent. To do copyright infringement of somebody else's door, you would have to use the same material of wood, the same color, the same design, and an exact duplicate of the knob
Re:That's some crazy shenanigians right there. (Score:4, Interesting)
As I read it*, the argument is over the 37 verbatim copied headers that define the API. That's like Oracle making a beautiful (ahem), elaborate sign explaining how to ring their doorbell. Google made their own doorbell but copied the sign, embellishments included. While the content of the sign is "fact", the decorations are arguably product of a creative process.
While I'll have to wait for better analyses of the ruling, I think we can take away that if you're reimplementing a library, you might want to reimplement the headers too.
* IANAL, and I'm not speaking for my employer. I only scanned the ruling.
Re: (Score:2)
That.... actually makes a bit of sense and I understand how a judge could see it that way.
So if Google wants their fork to interface just like Oracles, they should take a clean-room approach and have all the API's function exactly the same way, but without being derived from Oracle's source.
And they have to function EXACTLY like the one they're copying. That's the entire point of using a standard API. If that aspect is copyrightable, the content of the API of how things interface to other things, then this
Re: (Score:3)
There have already been rulings that decided that headers that define a public api are not under copyright if they represent the only way that that public api can be declared.
In other words, this judge did not follow precedent, or they're in different jurisdictions (I don't actually know).
Re: (Score:2)
No no no, SEQUENCE.
Ring, then knock, then just leave it on the curb.
That sequence of events as the proper interface to my house is now copyrighted.
Copyrighted buy who cares? (Score:4, Informative)
Federal Circuit Judge Kathleen O'Malley wrote. "On this record, however, we find that the district court failed to distinguish between the threshold question of what is copyrightable — which presents a low bar — and the scope of conduct that constitutes infringing activity."
Does this mean that even though Oracle can copyright something (not sure what), Google might still be able to use it without infringing? That's what it sounds like to me. And it took a whole lot of wasted money for Oracle to barely make it over the "low bar".
Re:Copyrighted buy who cares? (Score:4, Insightful)
Results (Score:5, Informative)
Now, the appeals court has reversed that, and said that those things are copyrightable.
Because the original jury was deadlocked on the question of whether Google's copying was fair use, it needs to go back to trial. But only the fair use will be considered in that trial, not copyrightability.
Re: (Score:2)
It's not that hard with some accessible analogies. An interface is like the table of contents for a book. Is a table of contents alone copyrightable?
Re: (Score:3)
APIs are different though. They are meant to be copied. You can't use them without copying them.
Re: (Score:2)
You can mirror a table of contents structure without using the exact wording verbatim.
APIs are different though. They are meant to be copied. You can't use them without copying them.
No, you can't implement a version of that API without copying them. Analogously, if you wanted to substitute a textbook around which you've design
Analogies are Killing Us (Score:5, Funny)
You wouldn't steal a car, snatch a purse, etc. So why would you reproduce the sequence and structure of an API !? !
Re: (Score:2)
Re: (Score:2)
As opposed to filling the jury box with what? A bunch of random lawyers that don't know a damn thing about languages, interfaces, etc.? A bunch of random programmers that don't know a damn thing about copyright law, patents, and contracts? How about professional jurors? The French system involves professional juror
Far reaching repercussions (Score:2)
Not Getting the Strategy Here (Score:5, Insightful)
I don't get why Oracle bothered to buy Sun since they seem to be systematically destroying the value of everything they got from the purchase.
Re: (Score:2)
Re: (Score:2)
Most of these acquisitions are really about marketshare, and killing-off competition. When there is market-overlap, the purchasing company is buying that marketshare - and a certain percentage of those customers will abandon it; but some will stay. The abandoners will not likely go to a single (biggest) competitor, but often be scattered, which makes the purchasing player stronger as top-dog. When there is no overlap, it's usually for the purpose of keeping other companies who are nearby in the marketpla
Fork! Fork! Fork! (Score:2)
Driver license incompatibility (Score:2)
Wrong, wrong, wrong (Score:5, Insightful)
This is a very bad decision and is only going to harm the software industry. This is Google's fault for using the wrong arguments. APIs are digital forms. You fill one in and give it to a worker, it does what you asked (possibly with side effects) and returns results. This is not an analogy, it is a fact. Forms are not copyrightable, for good reason. Imagine if every bank had to make up a new name for a 'deposit slip', and someone could copyright "First Name, Last Name" on a form! Google copied Java's API, the same as businesses have been copying each others forms since the dawn of time, and for the same reason: its easier to present a known interface to customers.
Regards,
-Jeremy
Re:Wrong, wrong, wrong (Score:4, Informative)
I've followed trial very closely, and I read every line of the court transcripts of the original trial, although not every exhibit or submittal. They did not make this argument. They also did not make it on appeal, as far as I know. ("The parties have not disputed the district court's analogy: Oracle's collection of API packages is like a library, each package is like a bookshelf in the library, each class is like a book on the shelf, and each method is like a how-to chapter in a book." pg.7) Instead they used poor analogies for what the API is and does, and allowed it to be defined badly.
Having finished reading the ruling... pg 28 is about the doctrine of merger (expression being dictated by idea). That's not what I am talking about. But it does discuss the issue I suggest on pg. 19. I'm talking about 37 C.F.R. Â 202.1(c). The only reference I can find to that statute in this case is in http://www.groklaw.net/pdf3/Or... [groklaw.net], where the idea of blank forms is only tangentially mentioned. There was some discussion of Baker v. Selden, but mostly in the context of the SSO of the API. Oracle actually concede in that that the individual method specifications are like a blank form, but not explicitly. Google never picked that up.
*plonk*
Regards,
-Jeremy
Copyrightable APIs? How Far? (Score:2)
How far does this copyrightability of APIs go? If I write a program in Java, am I infringing?
Collections.unmodifiableList( Collections.sort( new ArrayList(){{add(String.valueOf(Math.pow(3,9)));add(String.valueOf(Math.pow(3,6)));}}));
Is that enough copying of their API to trigger copyright? If it is, then this ruling means we have to stop all software development, sort this out, then start again once we understand the license terms of every language. If this duplication of their API is not potentially infrin
Legally correct decision with awful results (Score:5, Informative)
(I actually read the court ruling before posting this)
tl;dr version: The results will likely be awful, but the decision appears legally correct.
Google won at trial because the judge decided that the Java API was not copyrightable. I absolutely believe that API's should not be copyrightable, but that isn't what the law says. Copyrightability has a very low threshold. The trial judge screwed up by applying legal standards related to fair use to the question of copyrightability. The appeals court was correct to reverse.
The case now goes back to the district court. There will be a new trail with a new jury, but the only issue will be whether Googe's copying of the Java API is fair use. The original jury deadlocked on this question. Fair use decisions are very subjective, so it's hard to predict how this will turn out. All I can say is that I hope Google wins.
P.S. None of this decision was related to patents. Oracle lost on their patent claims at trial, and that stands.
Re: (Score:2)
It kind of looks like the appeal court decision is setting this up for a potential appeal to the Supreme Court. The decision repeatedly talks about differences and conflicting rulings between different Circuits, which is one of the things the Supreme Court looks for when deciding whether to approve an apeal.
IBM Should Be Warming Up (Score:3)
If this ruling doesn't get struck on appeal, IBM's lawyers should be drooling oceans as they warm up to sue Oracle for copyright infringement on SQL. Oracle owes IBM many billions of dollars in infringement, by Oracle's own logic.
This is yet another judge that is completely incompetent for the job.
The judges don't make the rules (Score:3)
they only interpret them.
If the law was written such that APIs can be copyrighted, there's nothing the judge can do about that.
Those with the money (Score:2)
Make the rules.
Thankfully both of these companies have lots of it, so it should continue to be an interesting ( and scary, due to its far reaching ramifications ) battle.
Re:Bye-Bye Java (Score:4, Insightful)
Re:Bye-Bye Java (Score:4, Insightful)
Mono is a thing you know. A thing not being sued by Microsoft.
Re:Bye-Bye Java (Score:5, Insightful)
From a purely logical standpoint, Java wins if you don't want to have to double-check whether each of the APIs you're about to use is actually implemented on all of your target platforms. From an idealistic standpoint, yes, I can see why someone would avoid Java (and, in fact, I have managed to do so for the entirety of my career, thus far), which is why the Mono projects exists, and why it is important. However, it's just not there yet, from a logical perspective.
Re: Bye-Bye Java (Score:4, Informative)
Umm if you actually check mono's compatibility notes, it has ridiculous good compatibility distinguished between the various versions of .NET. While there will always be a lag, if you develop with Mono, you know what works and what doesn't. .Net 3.0 and 3.5 are pretty mainstream and 4.0 is pretty much good to go for a broad set of use cases.
Re: (Score:3)
Re: (Score:2)
Until it's there by default, It's simply unacceptable for consumer software.
Just bundle Mono and be done. Problem solved.
In my opinion, the 'culture' of not bundling virtual machine software is a real problem. If your Windows program uses Java, why not just bundle it? You avoid versi
Re: (Score:2)
Everyone wins.
The user, who ends up with several hundred megabytes of libraries for *each* of those installed versions, and likely multiple identical versions (e.g. wasted space) certainly doesn't win in this scenario. Just sayin'
There by default (Score:2)
What else is there by default? Java certainly is NOT there by default on windows machines, nor is it there on a very large percentage of them. According to *MY* statistics, and my target client base, java support is at 65.6%. A far smaller number than .NET/mono which sits at 85.43% (Windows) + 0.9% (Linux).
Re: (Score:2)
Re: Bye-Bye Java (Score:4, Informative)
If you're targeting the "non-windows, non-mobile Linux home PC user consumer", then, yeah, Mono sucks for that user base (both guys!).
But for the interesting consumer Linux market, which is to say Android, Xamarin has it sorted. I was skeptical of that dev environment for a long time, as the legal situation with Mono seemed unclear to me (even though they're in the right, MS could still sue to be a nuisance). But all that recently changed with an official MS-Xamarin partnership.
C# is a joy to work in compared to Java (and I've spent years writing in each professionally), and now the legal issues flow the other way - MS is partnering while Oracle is suing.
Re: (Score:2)
Re: (Score:2)
You just have to look at the windows install base.
As cross-platform development was the crux of my argument, no, I don't have to look at the windows install base; I'm considering Linux and OSX users, here.
As for other platforms I don't really see the issue especially of apps can bundle the Mono framework with application installations.
That's par for the course in Window-land, but nowhere else.
No argument re: trust and values, but that's the idealistic viewpoint I already said I agreed with, not the logical viewpoint nobody seems to be able to poke any holes in.
Re: (Score:2)
JAVA isn't consistent from one EJB server to another, let alone from one version to another. Anyone who has ever dealt with non-trivial sized java projects knows this and isn't going to complain about the slight implementation variances in any other language runtime.
Re:Bye-Bye Java (Score:5, Insightful)
I'm sorry, but I prefer to be able to debug my application against a known system, rather than an array of unknowns.
Re: (Score:2)
And the implementation is 100%? Nope. With Java, though, I get everything Java has to offer, anywhere Java is available. Maybe platform consistency isn't important to you, but it matters to some people.
Google's implementation of Java is not 100% java either.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Mono is a thing you know. A thing not being sued by Microsoft.
When there is money to be had, you can be sure Microsoft will sue.
Re:Bye-Bye Java (Score:4, Insightful)
"This new Microsoft has not only removed the problematic restrictions on its licenses, but also worked with Xamarin to solicit design feedback, and published documentation under a Creative Commons license so that it can be redistributed."
http://arstechnica.com/informa... [arstechnica.com]
Re: (Score:2)
Writing C applications on Linux (or *BSD) has no connections to anything proprietary. You can also do C++, though there you might have to be careful about some toolkits (e.g., you can use Qt, but only if your application is GPL, otherwise you need to buy a license. BSD-licensed toolkits won't have this problem.). I believe Python is also safe for avoiding anything proprietary.
Re: (Score:3)
Name a platform that is end-to-end not proprietary in any way shape or form?
Even if such a platform exists, how does that preclude Microsoft from suing? Remember that the thesis here is that Microsoft would disregard the licenses already granted for C#, .NET Framework, compilers etc and just sue to exhaust your funds. Why couldn't they claim that you infringed an algorithm (or whatever) even if you were using Java or Python? After all, they have no legal standing but are considered *so* malicious that they will sue even when they have no legal standing.
The whole "Microsoft will sue
Re: (Score:2)
java was never about openness, it was about portability. the open flavors of the JDK came very late in the game. openness was never a core philosophy behind java.
Re: (Score:3)
It's bipartisan (Score:5, Informative)
Do you have any questions which political party
Both major U.S. political parties have shown themselves to favor expansion of the exclusive rights of copyright owners. See the No Electronic Theft Act, the Copyright Term Extension Act, and the Digital Millennium Copyright Act.
GPL release that Sun did might seem to apply... (Score:2)
http://www.javaworld.com/artic... [javaworld.com]
I really wish someone would bring this up with more serious force behind it. Sun released Java SE under GPLv2.
Also, going out on a limb, I'd guess that the "37 APIs" aren't part of something outside the core stuff - I'm guessing Sun left out J2EE when open sourcing since I see no note about it.
Re: (Score:2)
Re: (Score:2)
The components of Android that Oracle is having a problem with is app level interfaces, not the totality of the Android hardware. Hardware drivers are clearly out-of-scope.
Re: (Score:2)
Re: (Score:3)
I can be creative in solving a math problem, but the expression itself I create is purely functional. You cannot copyright a process, only creative expressions.
Re: (Score:2)
Qt has a languange: C++ (or at least a certain subset of it). The OP is obviously implying that Google should switch to C++/Qt. He could also mean Python since there's Qt bindings for that, but generally "Qt" implies C++.
Re: (Score:2)