Oracle Claims Google 'Directly Copied' Our Java Code 675
itwbennett writes "On Wednesday, Oracle amended the lawsuit it filed against Google in August, saying that 'approximately one third of Android's Application Programmer Interface (API) packages' are 'derivative of Oracle's copyrighted Java API packages' and related documents. In particular, 'the infringed elements of Oracle America's copyrighted work include Java method and class names, definitions, organization, and parameters; the structure, organization and content of Java class libraries; and the content and organization of Java's documentation,' Oracle says. 'In at least several instances, Android computer program code also was directly copied from copyrighted Oracle America code,' Oracle alleges."
Here we go again (SCO) (Score:5, Insightful)
Fire up Patty at Grocklaw./.... this is identical to the IBM vs SCO case
Behaving like SCO... (Score:2, Insightful)
And so it begins. (Score:5, Insightful)
Re:Here we go again (SCO) (Score:5, Insightful)
Also, is oracle really trying to state that they have never heard of clean room design [wikipedia.org]? Oracle is pretty screwed on this case, and with google's intent to fight hard, all Oracle is going to do is kill their own business off.
Java has now become a liability, so now people won't want to use it. Simple.
So now we know who the next SCO is... (Score:2, Insightful)
n/t
Doesn't this sound a lot like SCO's suit? (Score:5, Insightful)
Maybe there's more here. Maybe Google took actual, non-open Java code, but it looks a lot like the SCO suit to me. That Oracle is saying that using the same header files (AKA APIs) is infringement. We all know that to make a work-alike system, the strings in the header files (APIs) need to be the same. They really look the same, even if you create them from scratch by following the published specs.
This seems like Darl's work, all over again.
Re:Dangerous claim (Score:5, Insightful)
***Is Oracle trying to pull a SCO here? (i.e. it does something like what our code does, therefore it's ours).***
Lawsuits are written by lawyers. Being a lawyer means that you don't actually need to know what you are talking about, you just need to sound like you do.
I agree, that this stuff other than indenting, comments, layout probably is not copyrightable. My understanding is that basically, you can not copyright the only way to express something.
I'm in no way shape or form a lawyer. Does formulating this in the way they have give Oracle access to the Google code to see if the code was in fact copied byte for byte from Oracle rather than simply implementing the same externally interface?
Re:Here we go again (SCO) (Score:5, Insightful)
I don't think it's that bad, but certainly ORACLE becomes a liability -- don't use anything they control.
Re:And so it begins. (Score:4, Insightful)
Sadly, they aren't stopping there. They're slowly (ok, not so slowly) making Solaris unusable as well. As well as the hardware support.
Paying $160,000/year for 25K support why again?
Re:History Repeating (Score:3, Insightful)
I think oracle is a *little* bit bigger and more powerful than SCO. I don't think they'll get any farther with this than SCO did, but their attempts won't bankrupt them either.
Re:Here we go again (SCO) (Score:3, Insightful)
The code is obviously ripped (Score:2, Insightful)
Renamed a string to s???? Why even bother?
Re:Dangerous claim (Score:5, Insightful)
Does formulating this in the way they have give Oracle access to the Google code to see if the code was in fact copied byte for byte from Oracle
You mean this code [android.com]?
Re:Here we go again (SCO) (Score:3, Insightful)
I'm sure oracle HAS heard of clean room design (legal), but that does not typically result in methods reproduced word for word, as happens when you copy the methods using cut and paste (judgement for the plaintiff).
Re:Here we go again (SCO) (Score:4, Insightful)
And then the question is - move to WHAT?
C# is too windows-oriented to really be useful, but maybe this will be a revival for Ada?
However - it's more likely that a spoof of Java called something else will spring up.
Re:I have to wonder (Score:5, Insightful)
The code in question is publicly accessible, just not licensed for this kind of use. Once you violate the license, your right to copy that code goes poof.
Re:Here we go again (SCO) (Score:5, Insightful)
Well, at least we found out why Oracle bought Java...
Re:Only if they are certified Java (Score:2, Insightful)
How can you make a derivative of something if you do not have the original source code?
And if they have the j2me code; surely a police complaint is in order since that would be pure theft, and a civil matter.
Re:Here we go again (SCO) (Score:5, Insightful)
Oracle isn't going anywhere. This lawsuit isn't going to be anything at all like SCO/IBM or SCO/Novell because Oracle is many times larger than SCO is and is at least 2 orders of magnitude more relevant.
Java is everywhere. Schools teach it. Companies use it.
If Google really copied things from the Java source like actual source code or documentation, they might be screwed. It sounds like from the summary that the bulk of this 'copying' was the API, which I don't think is even eligible for copyright(not artistic).
Re:Only if they are certified Java (Score:4, Insightful)
Very unlikely actually. You forget that Java on the desktop doesn't make much money - it's far more lucrative to make it free, get people addicted and use Java elsewhere that makes more money - enterprise and mobile devices.
Forget smartphones for a moment, as they are but a tiny drop in total phone sales. The vast majority of those phones ('dumbphones' or 'featurephones') allow apps, and have for years. Those phones run Java, and Sun made (and Oracle makes) a killing licensing Java technology for all those handsets - both from the handset manufacturer and the carriers. And with the hundreds of millions of phones made annually, that's a lot of money.
Oracle's not going to give up such a lucrative source of cash anytime soon. And Android's Java implementation is in the direct line of fire because of it.
Re:Here we go again (SCO) (Score:4, Insightful)
Re:Here we go again (SCO) (Score:3, Insightful)
Anon because skewering is anticipated....
Really? Comparing to SCO?
I'm replying to a post that is thinking it through vs. some of the others.
I know Google can do no wrong in some people's eyes, but isn't it possible that some middle manager and his crack wiz kids didn't think and indeed copied code directly from Oracle's Java (it pains me to say that name...I already miss Sun). I've seen this many times where people see code, use code, and don't think of the legal ramifications. I'm sure everyone on Slashdot looks at the copyright language for every snippet of code they find on websites but doesn't mean everyone does.
Re:Here we go again (SCO) (Score:3, Insightful)
I don't know enough about the specifics in this case but clean room implementation is not always a ironclad defense. The specifics will matter since this is about code that is copyrighted and not just patents. The code might match up but Google will have to show that such code was trivial and obvious. For example if you have a method that adds integers together:
public int add(int a, int b) { return (a+b); }
There are only a handful of ways to do this. If two different implementations come up with the same way, although the code might have been copyrighted, it's not infringement per se. Google may have to show (1) it really was a clean room implementation (and that code really wasn't stolen) and (2) such similarities were inevitable given the goal of the implementation.
The infringed elements of Oracle America's copyrighted work include Java method and class names, definitions, organization, and parameters; the structure, organization and content of Java class libraries; and the content and organization of Java's documentation
From the complaint, some of parts the code are most likely not copyrightable, especially if you doing an implementation like Google has done. The method and class names and the parameters might fall under Scènes à faire [wikipedia.org]. The rest will have to determined by what may be a long and painful fight if Oracle wants it to be.
Re:Dangerous claim (Score:5, Insightful)
Re:Here we go again (SCO) (Score:3, Insightful)
Re:Here we go again (SCO) (Score:5, Insightful)
What I find ironic is that everyone was worried about Microsoft suing open source implementors of .NET, and claiming that Java should be used instead. ... Oops.
Re:Here we go again (SCO) (Score:5, Insightful)
C isn't portable. If I write something in Java it will probably (for a very high value of "probably" too) work on any of a dozen platforms. If I write something in C I have to port it. Porting it costs programmer time and we've already established that programmer time is more costly than machine time. In theory C could be made to be somewhat portable (It would still have to be compiled on every platform and the binaries distributed separately), but in practice this would require a lot of OS vendors that hate each other to standardize a lot of APIs. It's probably not going to happen.
Oracle Kills Java (Score:2, Insightful)
Java caught on quickly largely because it was open: the language specification was published without prohibiting 3rd parties from implementing it in their own VM, etc. Copyrighting the class library API, which is half of Oracle's charges here, is a severe lockdown. Oracle's grab to control more of Java than even Sun did is going to kill the spirit of the community that cares about openness which keeps Java alive.
Perhaps this move is why so many Sun Java people left suddenly in the past month or so. Or perhaps Oracle has even more greedy plans to own more of Java while shrinking it to an also-ran behind .Net (and its emerging Silverlight that will run everywhere Java does).
Re:Here we go again (SCO) (Score:5, Insightful)
I don't think it's that bad, but certainly ORACLE becomes a liability
Becomes? You must be new.
Re:PostgreKill (Score:5, Insightful)
Postgres, like most other really awesome open source projects, is not for sale. To anyone. For any price. That's one reason Microsoft, Oracle, et al hate them so much - when it was startup companies, they could always pull out the checkbook and make the problem go away. With the FSF, Apache, Mozilla, and so forth, they can't.
Re:You don't know what the fuck you are talking ab (Score:3, Insightful)
This may be as it is; but if Harmony was contaminated, so would be Android. Just using Free Software does not automatically guarantee that is was unencumbered. And maybe only by mistake (encumbered); that would not help at all.
And 'feeding back' into a community project is totally unrelated to the potential issue of copyright violation.
The last thing I'd like to do, was defending Oracle. But arguments need to be correct, complete, and relevant.
Re:Here we go again (SCO) (Score:5, Insightful)
C is portable, a given piece of C code is not necessarily. I guarantee that if I write a program of any complexity in C on Windows, and don't make specific efforts, that program will not compile on Linux or MacOS. You're continuing to ignore the point. Yes, you can write stuff in C and port it to any platform. No one is denying that. The point is that it costs extra money to port it, when you could just write it in Java and have it work on all those platforms. This is a significant cost savings for multi-platform apps.
There are a great number of applications (and the number grows every time Moore's Laws increments) that simply don't need more performance. The person behind the keys simply doesn't care that his/her accounts receivable application *could* have responded in .0005 seconds had it been natively compiled but instead responds in .001 seconds because it runs through an interpreter. Faster than human thought is faster than human thought.
For lots of things performance remains important. For those things, people will keep using compiled languages and dealing with the headaches of porting. For everything else, Java is fine, and a huge cost saver in a lot of cases.
Re:Here we go again (SCO) (Score:3, Insightful)
That's easy enough to resolve.
Be a good programmer and don't make naive assumptions about types.
Re:Here we go again (SCO) (Score:2, Insightful)
It sounds like from the summary that the bulk of this 'copying' was the API, which I don't think is even eligible for copyright(not artistic).
Good API design is hard. Saying that it's just API design and not artistic is severely disingenuous to engineers who are actually good at it (and engineers who cringe and suffer when forced to deal with bad API designs.)
Re:Um, isn't java code GPL? (Score:5, Insightful)
Isn't the code for Sun's standard java library GPL along with the rest of OpenJDK? If so, it should be completely legal to copy it as much as you want.
Not all of Sun's Java code went into Harmony et. al. So, maybe.
However, I am both puzzled and worried by Oracle's motivation here. It sounds to me like Oracle is actually going to kill Java by making it impossible to adopt in the name of trying to leverage the (very expensive) IP they bought along with Sun.
Sounds like we need a new, and truly open, language and runtime for the 21st century.
Re:Evil? (Score:3, Insightful)
"Evil" now means "I don't like it".
Re:Here we go again (SCO) (Score:4, Insightful)
And, my personal favorite ... generics.
God, I love being able to declare a hash table of without needing to care any more about how one would write the innards of a hash table.
For me, having data structures on tap is one of the best features of modern languages. That and the huge libraries of code which I can just use to accomplish my task instead of starting from scratch. I'm not interested in writing an XML parser -- I just need it parsed in as few lines of code as possible.
Java isn't perfect, but I fear Oracle is ruining it.
Re:Apple - Java (Score:3, Insightful)
Bullshit, Apple has license agreements with Sun, now Oracle. Or rather they are in the process of ripping them up. The reason isn't that Java's poison, the reason is that Java is either not material to Apple or they figure they can shift the cost to Oracle. Java is only poison for Android to extent Oracle has a case. If it blows up in Uncle Larry's face, that Java will do just fine. We should find out in about 10 years after the lawyers have new boats.
Re:History Repeating (Score:3, Insightful)
Most companies, especially companies as wildly successful as Oracle, want to actually grow, not simply avoid going bankrupt.
Personally, I think that Oracle has far more to lose in this game of chicken. If Java's reputation gets damaged to the point where developers do not consider it for new projects then no amount of money from Google is going to make up the loss. Worse, Oracle's actions could put a stigma on all of its products. No one is going to want to touch Oracle's technologies if choosing Oracle's tech might trigger a lawsuit.
That's actually part of what makes Oracle's move so odd. Suing Google over the use of Java is the sort of move that you would only expect of a company that is desperate. If Oracle is willing to sue over Java, what other crazy thing will they do next?
Re:Um, isn't java code GPL? (Score:2, Insightful)
Python is definitely my script language of choice. Compiled Python with static typing would kick ass.
Except for the use of tab stops over { }... that's just plain stupid...
Re:And so it begins. (Score:3, Insightful)
Re:Here we go again (SCO) (Score:4, Insightful)
There are two types of fools:
1. The fools who trust in the optimization skills of the compiler/JIT compiler
2. The fools who trust in their own optimization skills
My personal experience is that Type 1 fools are harmless, you can speed up their code easily. Type 2-s on the other hand do a lot of mess, code in assembly, whatever and still manage to fuck up performance and it is a pain to correct it later. Modern CPU architectures are extremely complex, and different architectures have different characteristics (e.g Atom vs Pentium 4). There are many programmers that used assembly in their college years and think that those skills apply on current systems.
Re:Here we go again (SCO) (Score:3, Insightful)
Name a dozen platforms that runs Java.
Bonus question: Name a dozen platforms that runs Eclipse.
Re:Here's Oracle's Example (Score:4, Insightful)
There are a few minor differences but the names are exact. This is troubling unless the specifications list or name them. However, the variable declarations may not be protected elements.
This isn't surprising if the both pieces of code are trying to do the same thing.
The types are the same but the names are not exact.
There are slight differences mostly due to style of the programmer which is to be expected in clean room implementations.. Android versions sometimes squeezed code into one line where Oracle's version spread it to multiple lines. Android's if statements sometimes used braces {} even if it was not required whereas the Oracle version did not. Android did not always use the same structure (i.e. while instead of do while and for iterator instead of while {iterator.hasNext()}
Except the private variables in the beginning, I would lean towards clean room implementation. There is a lot of line by line exactness however they do not appear to be nontrivial parts of the code and there is enough slight differences to where it could be explained by clean room implementations.
Re:Here we go again (SCO) (Score:3, Insightful)
Even though I want to support Google in this case, we cannot be sure - unless we go through their whole set of comments.
Note that android code was not written by Google - it was by Android Inc - and so we cannot just discount it by saying why would google need to do that.
This will be a fun fight to watch though.
Re:Here we go again (SCO) (Score:3, Insightful)
All right. I'll probably cheat and hit google before I'm done writing this.
Mac OS X
SunOS
Solaris
Irix
HP/UX
Windows NT
Windows Vista
Windows NT
Android
Linux
FreeBSD
AIX
Nope. No google needed. I've personally run and/or written Java/Swing applications on all but 3 of those.
Re:Here we go again (SCO) (Score:5, Insightful)
Just because something is "hard to do" doesn't mean you can copyright it. And it doesn't mean that something is primarily an artistic expression.
It is instructive to consider why you cannot copyright fashion in current law (something that the Fashion copyright bill intends to change). Fashion is considered primarily utilitarian, i.e. you wear a shirt to cover your top, and wear pants to cover your bottom. To allow copyright to control basic utilitarian functions would be hugely damaging to the fashion industry. Even the Fashion Copyright bill acknowledges this fact, restricting fashion copyright to 3 years, and only to identical copies.
Nobody says making attractive cloths isn't hard to do. Nobody is saying that poorly designed cloths make some people cringe. In fact, there can be huge artistic components to the design of both cloths and APIs.
But at the end of the day, you wear boots to cover your feet, gloves to cover your hands, and hats to cover your head, and belts to hold up your pants, etc. etc. You use APIs to paint buttons and fields on windows, write to files, access the internet, etc. etc.
These functions are primarily utilitarian in nature...
APIs are designed to allow certain functionalities in computer systems, and the market is ill served by restricting the control of their use perpetually to one company.
If copyrights are allowed for APIs, then we are all screwed. Let's count the ways:
Copyright on APIs would amount to a nearly 100 year lock on building systems that conform to various interfaces. APIs are all derivative, and companies like IBM could assert control over vast ranges of APIs that are clearly derived from their earlier systems. At the same time, changes to APIs produce opportunities to produce new copyrights (even as their use might be prohibited due to infringement on other APIs). Copyrights on APIs would effectively drive all small businesses out of programming, as nothing can be done without the use of an API, and all the control of APIs would reside with the historical companies who first designed the APIs we all use. Even the big companies today might not be able to assert control over APIs whose original authorship might be hard to nail down today.
As I have pointed out in the past, not one single company has secured all the IP required to produce a smart phone. If the courts side with Oracle on their claim that they have a copyright on an API, then no company will be able to secure the IP required to write a single program. Only by having vast army of lawyers can any company produce a smart phone today. Allow copyrighted APIs, and only by having a vast army of of lawyers can anyone write a program.
I can only hope our courts can see the problem with this idea.
Easy? (Score:3, Insightful)
If being a good programmer is so easy, why are they so expensive to hire?
Re:Here we go again (SCO) (Score:5, Insightful)
Also after SCO - no lawfirm will be nearly as stupid as SCO's..
You mean represent an insanely deluded client who throws all of their money away at them?
The *lawfirms* would *fight* for that chance!
Re:Here we go again (SCO) (Score:3, Insightful)
C# has absolutely nothing windows oriented to it. It's a completely platform agnostic language.
Yeah, so long as you exclude all the standard library functionality like access to files, networking, I/O in general, threading, etc, etc - basically everything you need in order to actually write useful applications in C#. If you want to actually use it for application development, though, it's very much Windows oriented.
Re:Um, isn't java code GPL? (Score:2, Insightful)
Mono is a C#/.NET runtime, and thus connected to Microsoft, making it even more of a liability than Java.
Re:Here we go again (SCO) (Score:5, Insightful)
Don't be disingenuous. You know as well as I do that when anyone other than Miguel de Icaza says "C#" they are talking about .NET running on Microsoft Windows, and that is never going to change.
Even if we suppose, for the sake of argument, that Mono is an excellent platform for Linux-native development, it is still ridiculous to suggest that it might replace Java. Where is Java used? In big enterprises. Do you really think that a company that is afraid to use Java for fear of Oracle is going to be happy using a third-party implementation of a Microsoft technology?! They would be crazy to do so. Anyone who is still running Java on Windows, and has no interest whatsoever in retaining cross-platform compatibility, might consider switching to .NET at this point. Indeed it would probably make good business sense for them to do so. But C# is not a serious option for any enterprise scenario that involves non-Microsoft platforms.
Re:Here we go again (SCO) (Score:3, Insightful)
Well let me just copy the code of sharp develop over to a linux box and compile with mono, should work right out of the box then correct? Oh I guess not.
Re:Um, isn't java code GPL? (Score:2, Insightful)
And you actually believe them?
Re:Here we go again (SCO) (Score:2, Insightful)
Go to any bookstore and pick up a c# book?
Now open it and find any without screenshots of Visual Studio or using Windows.x in the examples? I mean any at this point. .NET, VS, and C# are one. When someone tells me there are a c# user I envision them a Windows programmer by default. It is like saying using Word does not make you a Windows or MacOSX user. I have to ask what does that make you? Ok you got Word 95 to run on crossover once ...
I might as well be a c user who just writes assemblies because there is no where that says I must use an api instead.