Google responds aggressively to Oracle Java suit
groklaw.net
groklaw.net
Time will tell on how this will turn out, I don't expect a case of this magnitude to take less than a few years, these are just the opening salvos.
Oracle has a lot to lose here, and that's not just the lawsuit.
The analysis presented here is pretty damning of Oracles behavior, especially the fact that the counter is that they have taken the opposite position before they owned Java through the SUN acquisition.
.NET just might see an upsurge because of all this.
Google instead has to defend it with everything it has, because lately Android phone manufacturers are being under attack by Apple and Microsoft (Nokia could be joining soon).
Regardless of the result ... this whole affair is going to generate a ton of bad press for Oracle, and I hope they learned something from the SCO lawsuit and just back off before it's too late.
And when comparing this lawsuit with SCO versus IBM and Novell, Oracle sells database management software, a field in which Google probably has patents by now. Were they hoping for a cross-licensing deal or something?
That's already happening:
http://flexblog.faratasystems.com/2010/08/13/time-for-open-s...
http://www.pcworld.com/businesscenter/article/203336/oracles...
http://www.infoworld.com/t/platforms/computer-user-group-bla...
http://www.infoworld.com/t/languages-and-standards/oracle-th...
Comparisons with SCO are already being made in the kind of publications read by IT management and Oracle is already taking damage from this.
Oh and 3) Google's "do no evil" schtick is a triumph of PR, but that's all it is. They are just a corporation like anyone else, and they will do what's right for them, period.
Consumers don't care
Customers (the ones paying money) care about doing business with winners, not hypocritical trolls (SCO was one, the jury is still out on Oracle). And starting IP lawsuits instead of delivering products has a desperation stench attached; and you can bet that Oracle's customers care about that.And speaking of corporate customers, those include companies like Adobe which also have investments on top of Java.
Oracle's large corporate customers will cheer them on for defending
their patents.
This line of reasoning I don't get: are they earning anything from Oracle's lawsuit?Quite the contrary, unless you have a patent arsenal the size of Microsoft's or IBM's, patents are one of the biggest nightmares you can have, especially since this lawsuit proves that companies like Oracle aren't acquiring patents just for "defensive purposes" and lawsuits are not reserved just to patent trolls.
Google's "do no evil" schtick is a triumph of PR, but that's all it is
Corporations are recognized by the law to have rights and responsibilities like natural persons. Companies should and are punished for their bad behavior in society.Regardless of Google's morality, this discussion is not about Google, but about Oracle's lawsuit. Substitute Google with "X" and it would be the same.
Well Oracle would probably be granted damages if so the court finds that the patent was infringed.
But the fact is, they screwed Sun over and forked mobile Java without giving them a cent (and not respecting their license in the process).
They only have to frustrate a certain group of people to start suffering from repercussions
Really? Who has Google settled out of court with on patent litigation?
(1) Oracle is not a technology company. They don't have an engineering culture; they don't want an engineering culture. So James Gosling left and many others (though oddly, Guy Steele remains: http://labs.oracle.com/people/mybio.php?uid=25706). But maybe this doesn't matter for Java today...
Java has matured (some would say "stagnated") and that doesn't hurt its prospects for business use, but enhances them. And, quite amazingly, Java still has great qualities for today's two largest emerging markets: the Cloud (hey! the network is the computer!) and small embedded systems (like Android.) None too shabby, as-is.
(2) Oracle is a sales company. Sun was terrible at making money from Java. Maybe Java... needs Oracle?
Microsoft has pushed business cases and business applications, and C# and .Net have gained great acceptance, even though they are confined to MS's stack. Even Apple is succeeding with its closed iPhone/iPad "stack". Why can't Oracle do the same in an Enterprise stack? Yes, many Java developers will really hate it. Yet, that confinement hasn't stopped .net developers.
(3) The problem with Oracle is not sales vs. tech, but that they don't seem to be 100% on the ball - which is why Google is able to rip them apart so confidently. While I think the sales-based stewardship I outline above is plausible, it still needs to be well executed.
FUD can come from both sides of the argument, I guess.
One could expect Sun to be ethical. One can count on Microsoft doing the exact opposite.
.NET (potential of being sued) is better than the alternative (Java, where someone has actually been sued).
Oracle is in the business for money. Microsoft's in it for blood - because if they don't kill free and open-source software, they'll have no money.
How do you simply dismiss Oracle as having a culture of engineering? Are the products bad? Is it simply that the corporation wants to profit? Is it the lack of hacker's names and faces on products? Is it the cost of the products or that they don't do something that they claim or should do?
I'd assert that they might be so good at engineering that it's no longer sexy to talk about it with them and they've matured so far beyond hacking that the names and faces aren't important.
Have you ever used any Sun hardware and then maybe a similar vintage IBM or HP piece of hardware?
Of course, once upon a time, they created the very first commercial relational database, before even IBM (where Codd invented it.) But in the following decades, Oracle didn't keep on developing entirely new technologies.
Sun, IBM and HP all have or had strong engineering traditions (in particular HP used to, though not so much today.) Other examples with strong engineering are Sony, Nintendo, Adobe, TI, Intel and Apple. Another business company, like Oracle, is SAP. It's not intended as an insult, just a description of a company's approach. IBM has certainly moved much closer to that these days, it's almost a consulting company (like the big accounting firms), and its R&D has become very directed towards their client's immediate needs - at least, that's what they said at a presentation a few years ago.
I've read of Mark Reinhold's comments about what's happening with Java now (but not listened to that specific podcast.) He made an interesting point about the JRockit tech (acquired from BEA.) Let me ask you: is it realistic to imagine the new platform architect not saying positive things on this point, given his job and employer? If he thought otherwise, would he be given the job, with its significant Public Relations component (which is what that podcast is, from Oracle's perspective)?
In my view, I'm just stating well-known and accepted facts that I think Oracle itself would agree with. Can you tell me why you don't agree, please? You seem a little angry about it, too. I think it's possible you have misinterpreted me.
As others come, some set themselves up as kings, living in grand huts, riding the people and telling them what to do.
Until one day, the earth opens up again and molten rock flows out, destroying the works of man, destroying whole islands and creating others.
I want to be absolutely clear on this next point: engineers in no way control or direct this wave of lava. They surf it.
In this post, PJ says: "And here's a detail that matters in any copyright infringement litigation: 17. Google does not receive any payment, fee, royalty, or other remuneration for its contributions to the Android Platform."
Also later a commenter, webster, says:
"The fact that Google does not get any fee for Android is a severe problem. It cuts potential damages immensely."
How does this square with the enormous damages that have been granted to the record labels during file sharing lawsuits? Surely file sharers get no fee for distributing mp3s...
The java runtime is available to anybody free of charge for the 'price' of a download, so what - if any - damages Oracle intends to show is a mystery to me.
They get no direct payment, but they are indirectly paid via:
- Increased take up of Google Mail and Google Apps (with associated desktop ad revenue).
- Increased take up of Google Voice (both for Android, and also for the iPhone which was at least in part a result of pressure from GV on Android).
- Maintenance of a viable mobile ad market. (By which I mean an ad market which isn't Apple-dominated.)
Plus every other indirect network benefit. I think a good lawyer could certainly establish a plausible link.
A good lawyer might make that link, but that won't entitle them to a share of that particular pie.
And you'd still have to prove that increased use.
If Oracle distributed their work under a license that permitted use by Google this is evidence of permission not to pay them, not evidence that monetary 'loss' has not occurred.
Some claims are treated less harshly if it was done without a profit motive. This appears to be something that Google is trying to benefit from.
However the claim that they will make no profit from the success of Android is pretty outrageous. If that was true, why did they bother?
Outrageous claims are pretty standard practice of course, but this one is still laughable. And since this is a civil case proof will most likely be accepted on the balance of the probabilities rather than a tougher standard.
(In this case I'm no supporter of Oracle, just to be clear.)
Second (and this is the part that is relevant to file sharing), actual damages can be difficult to calculate. It is often highly speculative how much an infringer profited from an infringement, or how much the copyright holder lost due to the infringement. To deal with this difficulty, US copyright law has a thing called STATUTORY DAMAGES. The plaintiff can elect to ask for statutory damages instead of actual damages, and the court is then allowed to come up with a damage number from a range specified by the statute. That range is from $750 to $30k per infringed work, with the court having discretion to drop the low end to $200 if the defendant was not aware and had no reason to believe they were infringing, or to raise the high end to $150k if the infringement was willful.
All the file sharing lawsuit damage awards have been statutory damages, and have involved many songs. Each song is a separate work, so if the court is nice and goes low ($750) but there were 40 songs, that's $30k. The two most prominent defendants, though, were blatantly guilty, and in one case lied under oath and tried to destroy evidence and tried to frame her kids for the infringement, so the court was not inclined to go for the low end of the statutory damages.
(Note that when the RIAA goes after a file sharer, they usually offer to settle for an amount that is under the minimum they would get from statutory damages, which is why if you are in fact guilty, you should settle).
In the case of Android, it would be likely that there would only be one work infringed (although maybe different libraries are different works, so maybe there are more...), and so even if Oracle got $150k/work, it would not be an amount that would be large for Google. Maybe this is what PJ was thinking of?
Thanks!
EXAMPLE: Some years ago, Frank Music. Corp., owner of the copyright in the musical Kismet, sued the MGM Grand Hotel for using material from the musical in their floor show. The original damage award was a percentage of the ticket sales to the floor show, which didn't amount to that much.
After all the appeals were over and the dust settled, Frank Music Corp. ended up with an award of 2% of MGM Grand's total revenues during the relevant time, as indirect profits arising from the infringement. The rationale was that the floor show was a draw for the casino, the restaurant, the hotel itself, etc.
The appellate court's opinion is at http://ftp.resource.org/courts.gov/c/F2/886/886.F2d.1545.87-...
[Insert obligatory smiley: :-) ]
Seriously, Google is one of the big backers of Java and OpenJDK. By suing Google, Oracle risk losing contributors like Josh Bloch and Martin Buchholz. I mean, they've already skipped out on JavaOne.
Cripes! They even wanted to convert James Gosling as a sort of a talking puppet at trade shows.
Your line of reasoning would work, if Oracle was about engineering. Oracle, however, is mostly a sales - and marketing operation with some engineering attached to it.
They get the Java name and popularity, but they don't pay any licensing costs because they don't license JavaME and instead try to create their own implementation.
In my opinion, Google is both morally and legally in the wrong in this situation and trying to salvage it by playing the part of the open-source-friendly corporation. The fact that they publish open-source code doesn't get them a free pass. They knew what they were doing.
And you call that "giving back little in return"?
I think if they want to go do stuff like that, it's their own business - it's not a trivial amount of work, and if that's what it takes to get around someone's licensing that they find distasteful, well, so be it.
Reimplementing something is not 'morally wrong' in the slightest, in my opinion, as long as you're not out and out stealing code. We would have no Linux or BSD if those people hadn't redone "Unix".
Yes, they've given back nothing in return to the people that have created Java. What did Sun get out of Android? Nothing. Maybe some royalties would have been enough to keep it afloat.
>I think if they want to go do stuff like that, it's their own business - it's not a trivial amount of work, and if that's what it takes to get >around someone's licensing that they find distasteful, well, so be it.
How is it distasteful to protect one's hard work? The protection was in place EXACTLY so that other corporations couldn't get away with what Google has done. Everything else was free and open both for companies and individuals. Google's acts of charity are misleading. They are always releasing non-critical software as open-source in return for good-will! Good-will is a VERY HARD thing to get for a company, but by being generous with tools that are unimportant in the grand scheme of things (which is ads and search), they've built quite a following in hackerdom. A small price to pay for a huge benefit: as you can see everyone's taking Google's side in this affair...
>Reimplementing something is not 'morally wrong' in the slightest, in my opinion, as long as you're not out and out stealing code. We would have no >Linux or BSD if those people hadn't redone "Unix".
Fine, reimplementing something is not morally wrong. How about hiring Sun's engineers and going out of their way to avoid paying Sun anything knowing that Sun would not go after them in court? Getting close to morally wrong?
Life's a bitch. Just because you create some product, does not create an obligation for the world to pay you lots of money. Especially programming languages. Most guys who create languages don't really get rich from them.
> The protection was in place EXACTLY so that other corporations couldn't get away with what Google has done.
The "protection" in this case concerns three things:
* Trademark: the Java name. Perhaps they have some kind of case there, but that's not what Oracle is suing over.
* Copyrights: sorry, but Google took nothing from Sun as far as I can tell. They did not use Sun code. No case.
* Patents: ah, software patents. This form of "protection" inhibits anyone from going out, and through their own hard work, creating an implementation that resembles the original. I don't much care for that idea really - because the real work is in the implementation.
> going out of their way to avoid paying Sun anything
Boo hoo. That's their own business if they want to go out of their way to avoid paying someone, as long as that "going out of their own way" was done legally, which it seems likely it was. As a business, the world does not owe you anything. Perhaps if Sun had done a better job with Java ME, they wouldn't have been in this quandary in the first place.
Are you angry at the Apache Software Foundation too, for creating the free code used in the class library?
I think if this response seems normal, that's because aggressive smack-downs are the appropriate way to deal with patent trolls, and most software patent cases involve a patent troll.
When accused of violating a patent, you generally respond by (1) denying that your product practices the patent, (2) alleging that you have a license that allows you to practice the patent, and (3) alleging that the patent isn't even valid. For the latter you generally allege that it fails pretty much every requirement of a valid patent (invention is obvious, it was not novel, the people on the patent aren't the real inventors, they failed to disclose relevant prior art that they knew about to the patent office, they didn't pay maintenance fees, and anything else that you can think of that is at least remotely plausible).
Basically, all Google is saying is that they aren't going to concede anything Oracle is claiming much beyond that Oracle got their address right, Oracle picked a legally acceptable court to file in, and Oracle appears to own some patents.
Gosling's stewardship of Java was awful. From EJB to J2ME to JavaFX it was one failed initiative after another. I always thought it was obvious how Sun could make money from Java, sell a JVM with extra enterprise features and tools, keep it simple! They might still be alive if they had.
I still hope Google wins though.
Should we pretend that companies don't act selfishly?
As I've said in another comment, corporations are recognized by the law to have rights and responsibilities like real people. For example, corporations can exercise human rights.Corporations can even be convicted of criminal offences, and it would be stupid to not hold them to the same standards as real people.
I don't know were this trend is coming from (that companies shouldn't be accountable for anything other than making money) but it doesn't do any good.
Hypocrisy isn't a crime, but it can invalidate a claim if you publicly state one interpretation of law and later state another.
Edit: Because "The defendant has the burden of proof" that was included as (part of?) the proof they would need to provide
Perhaps this situation isn't really reflective of what I'm talking about, but I don't think that you can un-GPL code that's already been opened that way or, even if you can, I don't think you can restrict those who are using the version you originally licensed as GPL in any way other than how you licensed it.
It's a complicated scenario, for sure, but I'd like to hear whether or not the sort of bait-and-switch I described is something that can be done, or if there are any precedents either way.
Engadget has good breakdown:
Google uses a subset of the Apache Harmony Java implementation in Android. Sun open-sourced Java Standard Edition under the GPL in 2006 and 2007, but didn't include a patent or copyright license with the code. In order to get that license, developers have to demonstrate compatibility with the Java specification. The only way to demonstrate compatibility with the Java specification is to use Sun's Technology Compatibility Kit, or TCK, and Sun / Oracle and Apache have been bickering about the license for the Java TCK, or JCK, for years. (That's putting it lightly, actually. It's been more like a war.) The only license Sun ever offered Apache for the JCK included significant "field of use" restrictions, including a restriction on mobile phones. Because of these restrictions, Apache's never taken a JCK license to test Harmony. Oracle used to be on Apache's side in demanding Sun loosen up the JCK licensing restrictions, but that changed as soon as it bought Sun out. Google thinks this is very bad, and that Oracle and Sun are just big bullies who don't want Java to be open, even though being open is super amazing. That's where Google stops, right at the part where unchecked corporate greed threatens to destroy a open-source project and your heart swells with sympathy. It's a good place to stop! But the logical and unstated endpoint to this narrative isn't quite as good: Because Apache doesn't have a license to test Harmony with the JCK, it doesn't have a license for Sun's Java patents and copyrights either. Part of the reason Apache wants a JCK license is to assure its users they have the necessary IP rights. Google knew all this and used parts of Harmony in Android anyway.
f. A declaration that the Oracle’s claims are barred by the doctrine of
unclean hands
They are also probably going to have to explain why they didn't even bother to make Dalvik Java-compatible.I'm not a lawyer (and even Groklaw goes over my head most of the time), but it seems like this is the crux. If the lawsuit is based entirely around items that are open-sourced, then there's no lawsuit. But there's no real way to tell, since Oracle hasn't specified what exactly is being infringed.
And from a comment below:
>>Oracle wanted Java more open when it worked better for them, now it doesn't. They are allowed to change their minds, aren't they?
Yes, Oracle is perfectly welcome to change it's mind and say "We don't want this open source anymore." However, they can't (I believe) un-open-source things that have already been released. They can remove the license, take down the Java.com downloads, and continue developing Java under a proprietary license, but the whole point of OS is that the community could take their last OS release and fork it themselves.
This also means that a company can't open-source software or development tools, wait until they're implemented in various systems, then turn around and "un-open-source" them and sue for infringement.
So Google is claiming that Oracle is acting hypocritically depending on which side of the aisle it is, but that does not carry any legal weight.
The registrations you talk about in the beginning are to do with copyright claims and have nothing to do with the patent claims.
Wait, all they've made is a phone that runs a VM that Java can compile to? What exactly is Snoracle suing for, the use of Java syntax as a source language?
Only if that language doesn't do any runtime bytecode manipulation, otherwise it is incompatible.
Oracle is suing over Google's usage of specific VM technologies, such as JIT compilation, which they have patents for.
http://www.google.com/patents?vid=USPAT6125447
http://www.google.com/patents?vid=USPAT6192476
http://www.google.com/patents?vid=USPAT5966702
http://www.patentgenius.com/patent/7426720.html
http://www.google.com/patents?vid=USPATRE38104
http://www.google.com/patents?vid=USPAT6910205
http://www.google.com/patents?vid=USPAT6061520
Edit: note that http://www.google.com/patents?vid=USPAT7426720 is the only one not working at "Google Patents," can that be a hint to anything? I don't know.
First, Oracle's sudden reversal of course following the takeover is a distraction. Oracle says it were unaware of key facts until after it had bought Sun, like a groom who discovers on his wedding night that the bride had been in an abusive relationship with the best man. Bogus? Maybe, but that's for a court to decide - the claim is plausible enough to justify conducting a trial, rather than dismissing the suit on the mere say-so of Google. Oracle only needs to demonstrate that what they learned after the acquisition altered their view.
That might sound trite, but suppose Sun had accepted Oracle's advice in February 2009 and said 'OK, Java is free to anyone for anything forever, just don't forget how nice we are,' and there was no basis for this suit as a result. If Oracle secretly thought the patents were worth billion$ at the time, why urge Sun to give them away? It was a surprise when Oracle sued Google, not least because nobody expected a patent challenge to Android from Sun. So lifting the licensing restrictions would not have damaged Sun's already-low stock price (about $4) in 2009. If it had, Oracle could have purchased the company for less money.
See, Oracle paid about $7.5bn for Sun and is now suing Google for ~$10bn, and the first reaction is 'they only bought Sun so they could sue Google for $$$.' But if Sun had gone the last mile in making Java open source as Oracle urged them to do, there would be no basis for filing a lawsuit. If Oracle had defended Sun's refusal to OS Java and then bought the company, it'd make sense - they'd have been protecting their intended investment. But Oracle's benefit from a fully open source Java SE would have been...$0. It's not as if Oracle was trying to launch a Java-derived mobile platform of its own, and being obstructed by Sun. To prove Oracle had unclean hands, Google would have to show that Oracle knew Sun would reject Oracle's suggestions and committee vote, and that Oracle was only pretending to support the idea.
On the technical level, Sun never issued a license that would allow the full use of Apache's Harmony on mobile devices. No license = no Java on mobile. You can, perhaps, make something of your own that does the same thing, but as soon as you say the word 'Java' it becomes Sun's business. Before going on, I know Android does not align with the Java SE. I will argue that legally, it shouldn't reference Java at all.
Google used some of the Harmony class libraries for Dalvik. That was source code, and not software, but the Harmony license (= the Apache 2.0 license) treats them the same way (see 'Definitions' in http://harmony.apache.org/license.html). So using Harmony source code = using Harmony. This license says nothing about mobile devices, but clause 5 acknowledges the precedence of other conditions in other license agreements, saying that 'nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.' In other words, Sun retains the rights it reserved when it made Java available. Some rights were never licensable.
At the time the Apache license was crafted, the license governing further development of Java was v2.8 of the Sun Community Source License (2001; http://java.sun.com/javase/6/scsl_6-license.txt). It makes specific claims, which are not superseded by the Harmony license: the important ones being that you can't use any parts of Java, or even offer a Java-compatible API, for any purposes other than non-commercial research unless you first sign a fee-paying license agreement with Sun. Since then, Sun released a simplified Java Research License (2005, http://java.net/jrl.csp) with essentially the same limitations. That's not a problem for Apache, because it's a non-profit organization.
There might be arguments about whether Google should have relied on the terms of the 2001 SCSL or the 2005 JRL when evaluating their rights under the Harmony license, because the earlier one is more explicit about what uses of the tools and technology are permissible. The JRL says simply that it 'is not intended to permit or enable access to the Technology for active consultation as part of creating an independent implementation of the Technology' - where 'Technology' includes any Java source code ever put out by Sun. The SCSL says you can develop your own stuff from Java for purposes other than research, but at the very least you have to validate what's Java-compatible or not before you deploy it anywhere, using sun's TCK, and you are not allowed to use the TCK for the purposes of building your own compatibility testing software. Also, mobile platform validation is explicitly excluded. Also, here's a non-legalese 2005 note from Sun clarifying what their position was when they released the JRL in 2005: https://jdk.dev.java.net/javase_ip_issues.html
Sure, Google are giving away Android, but they are doing so to be competitive in the smartphone market. They even commissioned and sold their own phone to promote the Android platform, and price their advertising services to reflect their brand strength across all internet access platforms. To the extent that Google has a financial interest in uptake of Android, it's commercial activity. The upshot of this is that by offering even a partial Java SE API in Android under authority of the Harmony license, Google has gone way past anything that could be called 'research.'
Google argues that in any case, Dalvik is not a Java VM, and Android is a system for producing Dalvik bytecode, which is nothing like Java bytecode. The obvious response to this is to ask why, then, they're using a subset of the Java SE API in Dalvik. Why have classes called 'Java' and 'Javax' which behave like the Java API does? Why not just start from scratch, rather than touting the possibility of writing code for Android in 'Java'? Let's face it, before this lawsuit began if you went up to any random developer and said 'Quick, what is this Android thing everyone is talking about?' the reply would have been 'Oh, it's a cellphone development platform based on Java.' Why didn't Sun make a fuss about this earlier? Oracle's position seems to be that they should have, and now that they are the new assignees of all Sun's IP, they are moving quickly to enforce the very same rights that Sun's management so carelessly failed to protect.
But, Google says, even if it emulates Java in many respects and incorporates bits of Harmony derived from Java, Dalvik only links to those libraries and linking is explicitly allowed by the Apache license agreement, and does not constitute a 'derivative work.' But that only applies to those parts of Harmony which were created by Apache. It does not confer retroactive rights to the Java SE, or remove the conditions which apply to redistribution of the Java SE - ie that noncommercial use is prohibited without payment of a license fee to Sun. So again, they shouldn't be offering an API that bears a strong resemblance to Sun's work, albeit a partial one. If you had never used Harmony and went straight from JDK to Android, your first thought would be 'oh, looks quite similar to Java SE.' Not permissible, under the license terms.
Everyone has assumed that when they implemented Android on their hardware using the Android SDK, they did so under license from Google; and that Google are in turn authorized to give away Android under the terms of the Apache license, and that Apache are in turn authorized to give away Harmony under the terms of the Java license from Sun. But the grant of rights by Sun specifically excluded deployment of Java SE or any of its parts onto completely new platforms unless a license was first obtained from Sun, and they had never issued any such license despite the urging of other interested parties.
Nor do I think that Google's argument of Dalvik being something fundamentally different because it produces its own bytecode is very strong. In practice, the way it is used is to read in Java source code, spit out some object code, and run it on a VM. The Apache license doesn't distinguish, though; and while the SCSL does allow you to build and distribute your own binaries of things like VMs and compilers (albeit only for research purposes), that same license is the one that specifically limits any kind of reuse on other platforms without an appropriate license...including mobile platforms.
So to wrap up, it seems to me that Google is relying on a certain construction of the SCSL which provides a loophole for them to distribute Dalvik because it is an entirely new product, but the very same license which allows this precludes them from even using the same class names. Referring to the Apache license's exclusion of linked libraries from 'derivative works' is no good, because the same document is pendant on the terms of the underlying agreement between Apache and Sun. Google's argument, when you strip away everything else, appears to contain a scope bug.
> If Oracle's lawsuit helps prevent a UNIX-style balkanization of Java then I'm all for it.
Yeah, it's like they thought about you and your needs when they started this, and not about those 10 billion USD which they want.
An API in and of itself is nothing, it seems ridiculous to me that it can be afforded any legal protections.
I don't see how an API is different from a protocol in a legal sense, and we have reverse engineered protocols all over the place (e.g. Samba).
And from an API point of view: Wine, ReactOS.
I just don't understand what Google is doing wrong, other than succeeding where Sun never did.
Should such things be patentable, maybe not but the fact is that they are at present. In the US, if I patent something and you come up with your own invention which does the same thing, I can say you're infringing. It doesn't matter whether you were even aware of my invention (except for the purpose of awarding damages); the patent is granted for the purpose which is fulfilled rather more than the mechanism used. On the upside, patents last 20 years and after than anyone can clone your idea (sooner in some cases).
Claims about the API etc are copyright claims, which here include source code, but also specifications and documentation and so on. The basic argument from Oracle's side is that Sun owned Java, but granted people the freedom to do whatever they liked with it up to a point. Go past that point, and you've broken the agreement and the grant of rights is revoked.
But there was no agreement, you might say - however, there usually is. You have to acknowledge one to download the JDK, and you're agreeing to the terms therein. The reason Google is making such strenuous effort to point out that Dalvik != Java is because Java is not actually so open that they could just port it. Building their own compiler and VM gets them off a particular contractual hook in the licensing terms, but the problem is that going to such lengths to comply with a single provision in the license creates an implicit acceptance of the license as a whole, and (like most contracts) said license also includes a provision that if one part fails when its legality challenged, all the other parts still remain in force.
Dalvik only links to those libraries and linking is explicitly allowed by the
Apache license agreement, and does not constitute a 'derivative work.' But
that only applies to those parts of Harmony which were created by
Apache.
Harmony is a clean-room implementation of Java. No parts from Java SE were copied, so licensing terms of Java SE don't apply. There could be licensing terms for Harmony, but that's for the usage of the "Java" trademark, but AFAIK Sun hasn't provided a TCK to Harmony yet.You also can't copyright API interfaces, so the point that Dalvik works with classes named "java" and "javax" doesn't really hold.
Also note that this lawsuit is about patents + unidentified copyright violations (on which Oracle just got bitch-slapped because they haven't identified them, as required by law), it is not about a breach of license / contract.
EDIT
And you know, Android applications are first developed and compiled using Sun's JDK. Only after that a compiler translates JVM bytecode to Dalvik. THAT's WHAT COMPILERS DO.
Are you going to suggest that compilers are illegal now?
I suggest rereading the SCSL, and consider why Harmony couldn't legally proceed without a TCK.
Patents are a whole different ball-game though.
Copy someone's code and you violate copyright.
Two people can independently come up with the exact same algorithm, one of them patents it and the other is in violation. That's just how crazy the patent system is.
Sun's license to OpenJDK was contingent on that JDK not being modified. Oracle's argument is that Google has violated that license so is outside the royalty-free patent license for the OpenJDK, which I hate to admit, is actually a reasonable argument.
That'll be enough to get a trial if Oracle wants one. When I first heard about the lawsuit I considered it an incompetent shakedown to justify the purchase price for Sun. I say "incompetent" because they picked the wrong target thinking Google of all companies would simply roll over and cut Oracle into the Android action.
I hate to admit that because I think Oracle's actions are shortsighted and, well, moronic as Google has done more to further the Java platform than anyone (including Sun) and I'm opposed to software patents anyway.
You also can't violate a license, if you haven't agreed to one in the first place. This is also important!
Violating a license is different than unknowingly infringing on a patent.
Perhaps I chose a misleading word by saying "violating" as it implies only the problems for license holders. The nature of patents however is that if someone has a patent affecting your software you are potentially in violation if you either don't have a license or you do have a license and are in violation of it (which tends to devolve into a contractual dispute).
Also, claiming that the Dalik VM is not a Java VM doesn't seem right.
I agree that it's not really relevant to the lawsuit, but I suspect a lot of VMs (especially the .NET CLR) contain designs covered by Oracle's patents.
I have no idea what happened in this case, but I do fear that when you have various rules relating to various pieces of code, engineers often don't pay attention or often simply disregard the rules in the belief that no one will care -- "Sun will never sue us... oh, Oracle bought them... brb, I need to go make some reverts"
So this doesn't sound plausible to me.
But maybe Google is really different than most organizations and they actually did a thorough vetting over the lifetime of the project.
Could you be more specific? I'm curious, as this is not something that seems familiar to me, but 'open source' is pretty big.
When I went and reviewed the logs I saw that the review process did happen, but tailed off and then about two years before I began it had completely stopped. Yet I could find new code checked in that GPL'ed.
This particular place was really receptive to my suggestions and actually refactored the code and rewrote some of the code (although I wouldn't call it clean room). But had I not randomly ran across it, they stopped looking at it. Legal and management cared a great deal about this, but the devs on the floor didn't seem to care quite as much. And I'd heard about some that complained that I had apparently come to slow them down by adding extra process.
In any case, this isn't the only example. I think you'd be surprised how much BSD code gets shipped w/o attribution. And I think you'd also be surprised at how much reverse engineering takes place (which is a slightly different issue, but I think related in liberties devs will often take w/o consulting legal).
Apache Harmony is the other side of the coin from this though: it's an open source project with very strict requirements in terms of contributors: http://harmony.apache.org/contribution_policy.html
And I think Google is likely a lot more careful/knowledgeable than some random hardware company trying to ship a product as fast as it possibly can. Also, my guess is that something like Dalvik is not just something you find laying around on the internet...
IANAL and at least he is. I'm not really sure what to think from it. In particular these bullet quoted items: "•Sun open-sourced Java Standard Edition under the GPL in 2006 and 2007, but didn't include a patent or copyright license with the code. In order to get that license, developers have to demonstrate compatibility with the Java specification.
•The only way to demonstrate compatibility with the Java specification is to use Sun's Technology Compatibility Kit, or TCK, and Sun / Oracle and Apache have been bickering about the license for the Java TCK, or JCK, for years. (That's putting it lightly, actually. It's been more like a war.)
•The only license Sun ever offered Apache for the JCK included significant "field of use" restrictions, including a restriction on mobile phones."
This actually makes me believe that Oracle and Google both know what they're doing and this ends up really ugly. Can anyone give a second opinion as to if those bullet points are true?
* Dalvik, as other people point out above, is not Java. It is its own virtual machine, built from the ground up by Google, so Oracle can't claim copyright on it, but is going after it with patents, which seems like a low blow (we can't compete, so we'll sue).
But the Apache stuff seems shadier. It reads like you specifically can't use the Apache stuff for mobile devices due to patent and copyright issues. Clean room implementations don't get you around either of those specific legal issues -- unless I've misunderstood something here.
If that's the case then I agree.
Could it be the case that Oracle is about to actually test this?
Microsoft used "moving target" tactics to avoid having its APIs cloned.
I also believe the BCL is copyrighted too. I suspect that large chunks of Java libraries are as well.
I don't why this "matters" in copyright infringement litigation except perhaps in calculating damages. However, even in the absence of proven profits by Google on account of the alleged infringement, or losses by Oracle, there can still be statutory damages[1] which, in many cases, could be pretty steep.
[1]: http://en.wikipedia.org/wiki/Statutory_damages_for_copyright...
But note: nothing substantive about the patents which are the tricky bit.
Now I don't think software patents are valid but Google winning this case won't somehow invalidate software patents. In fact it would probably be better if they lost because it will bring the issue into the light for more people and encourage Google to campaign harder against software patents despite their own large holdings.
My recollection is that Harmony was a clean-room implementation of Java licensed under the Apache license (which has no field of use restriction). The problem was the Harmony wanted to the 'certified' as Java, which meant that they'd have to pass the Java Technology Compatibility Kit (TCK). The only way Sun would let them run the test was if they included a field of use restriction. Apache said no. Google and Oracle backed Apache in this fight. Up until Oracle bought Sun, that is.
I'm not entirely sure how Harmony has woven itself into this mess, because I was under the impression that the patents in question corresponded to things in the JVM. I believe that Google only uses the Harmony libraries in Android, not the Harmony JVM. So, I'm not sure how helpful this will be specifically to them, except as to portray Oracle as a bad-actor.
It's important to note though, that even as Sun open-sourced Java, it did so under the GPL v2, which doesn't cover patents. Sun always maintained a level of control with Java due to the patents involved, regardless of licensing. It just chose to only force the issue when it came to using Java on phones.
1. Sun invents java.
2. Sun patents several aspects - including the security model, bytecode, etc.
3. Sun open sources java and has a patent grant agreement in place if (whatever flavor of ) java passes the TCK.
4. Sun does not release the TCK as opensource
5. Apache Harmony does not comply with TCK - some weird stuff that if Harmony uses the TCK, it ceases to be opensource (might be applicable to mobile domain only). This means that it does not enjoy patent grants.
6. Dalvik uses the Harmony class library, as well as having a similar security model as Java (Patents 6,125,447 and 6,192,476).
So the problem is that, indeed the Dalvik bytecode is different, but that was never part of Oracle's patent claims IMHO. The patent claims are allegedly due to Harmony AS WELL AS other stuff like security models, PACK200 Java compression scheme for DEX, etc.
Side note: there is a Android fork called Sundrop which claims to be a non-infringing Android because it uses the official jvm. I disagree because it does not take care of the other patents.
Do you have a reference for that? My google fu must be failing me because I searched all over and can't find a substantiation for that. (no doubt my fault though).
Thus, independent Java implementations relying only on the spec and its patent license are not covered if they do Java ME.