Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The shit finally hits the fan....(James Gosling on Oracle vs Google) (nighthacks.com)
188 points by bitboxer on Aug 13, 2010 | hide | past | favorite | 119 comments


I... I only carried it for protection! To scare off the bad guys. I never meant for anyone to get shot!


At my previous company, we had a patent lawyer who would always ask around if anything we developers did were patentable. I would always downplay what I was doing and come up with things that might be prior-art.

My thinking is this: Even though the company would only use it for "defensive purposes" (which I believe), you never know who owns the company tomorrow. And you are not going to work there tomorrow either, so you might be the one being sued.

Instead, I would try to get permission to blog about it, so it is available for everyone -- including my future self.

I recommend everyone else do the same!

(Throw-away account - I'm not sure future employers want this)


It's amazing that for fear of future repercussions, someone would create a throw-away account to express a sentiment such as this.


It's an excellent justification for allowing throw-away accounts.


Although one could have a "make throwaway account" link from the account page.


Or like Slashdot, and have a "post this anonymously" checkbox.


allow posting anonymously could work too, but that could open up a whole new can of worms.


> we had a patent lawyer who would always ask around if anything we developers did were patentable.

Easy answer: "of course there's nothing patentable here--it's software!"


That's just legally inaccurate, but I suppose you could equivalently answer, "Nope, I'm mainly working on algorithms at the moment."


I guess it depends on where you work? Or doesn't it?


What a fantastic position to take.


If RMS were your cube mate, the lawyers would run in fear. They might walk around asking these sort of questions once but never again.


Yes, they would only ask him once: after which he goes on a violent tirade, leading to his quick and immediate .. departure.


That's what happens when you sell your hacker company to a bunch of douchebags.


That's what happens when your hacker company runs out of money and sells to a business with money and customers.


Sorry your dose of reality got fewer upvotes than my hyperbole. Here, have some karma!


Not that it needed the help, but Oracle just became an even less attractive place to work, as a programmer.


Saying Oracle could be less attractive for developers is like saying there's a -1 Kelvin ;-)



I am not a programmer so permit my probably naive questions.

1. How difficult will it be for Google to 're do" Android and base it on another language say Objective C/UNIX like iOS? 2. Do you guys think this will affect Symbian? 3. What other OS's will this affect? 4. Is MYSQL next?


The answer to 1 is probably "very, but not impossible". They'd basically have to rewrite everything above kernel (which is Linux) from scratch. More importantly it would be a PR nightmare. Who wants to base their product on a platform where the platform owners are happy to throw away all your hard work and make you start from scratch every once in a while.

As to 2 and 3, this probably won't affect anybody else. Symbian (and everybody else) use an officially licensed JVM from Sun(now Oracle) and as such should be safe. The reason Google is in trouble is that the wrote their own VM rather than licensing the VM from Oracle.

As to 4. Well that's anyone's guess.


Re 4, I would add that if you have already started to think hard about moving away from MySQL, you really should now.


That's pretty odd thinking.

If I'm running MySQL on some servers, and it works great, it's not going to suddenly explode, or stop working.


But Oracle may suddenly change the licensing at some point in the future to something more onerous, so it would behoove you to consider not getting locked into MySQL now.


They can't change the license they already granted you. And moving now should not be any easier than moving in the event they do change the license in the future, with the added cost that moving may never become necessary. So, IMO, your comment on this issue is baseless fud. Developing a competing platform on tech you know to be patented is totally different than using validly licensed software.


Doesn't help - the patents aren't for Java as such, they were on the basic concept of a JVM. The same thing could apply to any other JVM or even C# and dotNet

But Oracle doesn't want a patent war with IBM and Microsoft just now. Microsoft could simply ban Oracle from running on windows, or ban any windows machine from connecting to a site using Oracle (a bit of Apple style licensing text is easy to insert)

And you don't want a patent fight with IBM - they probably have a patent on using oxygen for breathing!


Banning Oracle from Windows won't happen with the EU sueing MS to oblivion. And I think Google banning oracle "from the internet aka its search engine" would do a lot more harm. Anyway I think the reasons of Oracle are still unknown so we just have to see what happens.


I wonder if it couldn't be largely automated. The actual API that is exposed to end users is not that big, and I assume they can keep using Dalvik. They just need another language that compiles to Dalvik and then automatically transform the Java code to that other language. Or something like that...

Wouldn't it be great if Android would be based on a better language than Java?


> I assume they can keep using Dalvik.

The Dalvik VM is the only thing these threats are about.

> Wouldn't it be great if Android would be based on a better language than Java?

You can already write Android apps in Python, Lua, Scheme, Ruby, Scala, Clojure, Fantom, Mirah, and Javascript. This is precisely due to the fact that Dalvik is closely related to the JVM.


Except that you can't really. At least for Clojure, last time I looked it was really slow. Most dynamic languages probably make heavy use of Java reflection, which seems to be rather slow on Dalvik.


Clojure is unique among the languages I listed because it uses persistent data structures by default (being a functional language), which necessarily generates a lot of transient garbage. The reflection problems are not specific to Dalvik; they unhinted Java calls cause slowdown on the JVM as well. But it's easy to get around this with type hints.


The reviews I read pointed to reflection as the main problem of Dalvik. Are there examples of successful non-Java apps for Android yet?

I have written an app in JavaScript going the HTML5 route, but it required some Java glue code. The JavaScript engine is V8 (at least on Froyo), so it is fast.


The long and short of question 1 is that there will likely be a large cash transfer from google to oracle some PR spin about how googles vm is now "official" and life/litigation moves on.


I think Google will hit Oracle with a counter lawsuit. Google posses a lot of patents in area of Information Systems. Or they can cross license using patents like Map-Reduce, E.g. Google allowed ASF to use MR patent for Hadoop, however if tomorrow Oracle comes up with a proprietary solution for MapReduce, Google might not be so generous.


This is not my area of expertise but in answer to question 1: Really hard.


"it on another language say Objective C"

Maybe they could use Go for this purpose. (This would be a nice opportunity for Go.)

http://code.google.com/p/go/


My understanding is that they chose Java for being easy and mainstream. So, that said, it's easier to they choose Python over Go.


The want make a VM, compiler and a OS in Phyton. Its just not going to happen.

Go is not ready for something like this, NO CHANGE. Go as a Language and as a Platform is not ready.


1- I expect Google to support python on Android better and better. Is something they can control, hey Guido works there!. And I would love (but don't expect) they supporting c/c++ better.

4-Yes, MySQL competes with Oracle, so... they will let it die slowly. They want db systems to be expensive, not cheap.


Many of the patents that Oracle is suing over could as easily be targeted to .NET. Of course Oracle isn't dumb enough to target Microsoft (having a much deeper portfolio of superficial but deadly patents). In fact they could as easily target many other virtual machine runtimes.


“With Oracle, everything is always about money. It is the only metric they know.”

— Gosling, comment on linked article.


Oracle (NASDAQ: ORCL) is a public company, so… duh?

"So say goodbye to the NAACP award […] But I'll just take the "I Got A Lot Of Cheese" award"

— Kanye West, "Everything I Am"


Could someone be so kind to explain why this is bad for Java instead being bad for patents? I guess we all agree that software patents are bad. This issue seems to be just about them. Why is Java dragged into this? (Genuine curiosity.)


I'll try: Decisions for one "platform" (it's not just Java, it's J2EE etc.) are based on many factors, but one of the most important factors is trust. Examples:

  * Companies (more specially: Enterprises) must trust you or they won't use your technology
  * Library makers must have trust in you or they will not continue building libraries for your platform
Only two examples, but I think they highlight the point: Nobody will invest in a technology/platform/programming language they do not trust. And starting patent lawsuits against companies that use your platform is a great way to loose trust. While Android/Davik technically is not a Java VM that is not what most people will see. Most people will see "Oracle starts lawsuits against companies using Java"


Because people will use something else instead of Java to avoid being sued by Oracle. Just like they stopped using OpenSolaris to avoid being sued by NetApp (like CoRaid). One by one, the open Sun technologies will fall into irrelevance.


Hold on a moment there... Java is still #1 on the TIOBE index and hasn't been lower than #2 since the index began in 2001. Oracle could declare by fiat that it was going to sue every single Java shop in existence, and it would still probably be cheaper for most of them to pay Oracle's settlement fee then to switch away from Java.


The problem is not that enterprise won't pay, they can and they will. That's how Oracle sells databases.

The problem is a middle-term one: open-source will shy away from it (and the Apache/JBoss libraries are A Big Reason to use Java), academia will begin to stop teaching it (for all the "it doesn't matter what language you use" arguments, there are many mediocre programmers who can only handle the one thing they are taught), and new company projects will try and avoid the license fees and choose unencumbered languages. That sort of thing won't hurt Oracle now, but it will in five to ten years.

Heck, if Microsoft ever saw the woods from the trees and freed C#, bought the Mono devs and pushed the .NET ecosystem to other platforms, creating a sea of programmers that use their language alone, Oracle could feel the results of this in less than three years.


If MS turned C# and .NET into a true open-source ecosystem, as well as the CLR, my next project would be in C# without a doubt.


And what is going to stop the heirs to Microsoft's patent portfolio from suing you, ten years hence?

Microsoft's conversion to open source is going to have to be really really convincing after yesterday's precedent.


Mine in F#


Lets hope that Java will get thrown out of teaching. Its posible the worst langauge for teaching.


But... Isn't it baked into the HN DNA that you should be using something other than Java? http://www.paulgraham.com/javacover.html ;-)


For all the crap Java the language gets, it's led to many mature, excellent projects and libraries (just take a look down the Apache list), it's led to the JVM and Scala, Clojure, etc.

The language itself has shown that it probably isn't going to get past version 7, and even getting that through was by cutting a whole lot of features (lol closures lol?). However, that would just mean Java faded into insignificance when a new leader emerged. I think this may well have fallen to Scala given time. Oracle is unnecessarily hastening Java's demise, and from my limited understanding of the reporting, might be taking the JVM with it. That's a really bad thing for software development in general.


Ha, OK while it is slightly naff to do it I couldn't help but smile and pull this quote out of pg's essay:

  11. Its daddy is in a pinch. Sun's business model is being undermined on two 
  fronts. Cheap Intel processors, of the same type used in desktop machines, are 
  now more than fast enough for servers. And FreeBSD seems to be at least as good 
  an OS for servers as Solaris. Sun's advertising implies that you need Sun 
  servers for industrial strength applications. If this were true, Yahoo would be 
  first in line to buy Suns; but when I worked there, the servers were all Intel 
  boxes running FreeBSD. This bodes ill for Sun's future. If Sun runs into 
  trouble, they could drag Java down with them.
Prescient. I hadn't read that essay before.


Java is much more than just the language, its the platform, the libraries and countless other JVM languages.


I'm aware of that; I was getting paid for Java work in 1995.


wrong Java is a language nothing more. Sun just sold it as a platform.

There are 3 things Java the Langauge JVM and the JDK (not sure if this is the write name i just meen the libs around it)


In point #11 pg presciently says,

> If Sun runs into trouble, they could drag Java down with them.

[ 'trouble' could of course include 'nonexistence' or 'sleeps with the enemy' ]


Big companies that can't smell very well and have piles of Cobol-esque Java [The Java Programming Language (tm)] code running on things like AS/400's will probably just pay whatever patenting licensing fees they need to in order to carry on with Java as long as they possibly can.


It's just more anti-java noise. There are a lot of anti-java folks out there and I don't see how this isn't more ammunition.

All things being equal, Oracle suing somebody and doing it in part because of "java" does have to make you take notice if you do anything with it. It's not like there is some open standard for Java and 10 different yet fairly equal implementations to choose from like it is with a C compiler. For serious java work, there still are maybe 3 implementations (Sun's, IBM's and maybe OpenJDK?) and they share some common components and ancestry.

Time will tell though, we'll see what happens. The java haters will continue to hate it, the java lovers will continue to love it and then those in the middle will have a raised eye brow and sort of pay attention.


I guess somewhere RMS is grinning from ear to ear.


I don't know; he's been warning people about shit like this for years and no one seems to care. If anything I'd bet he's feeling a little like Sarah Conner before Skynet goes sentient.


Why? Rms has endorsed java since it went gpl. Goggles jvm is not gpl. If the used the gpl java then they might have less problems. I'm guessing Rms does not support either party here.


I wonder if you're right... To the casual observer this seems to undermine the GPL.


I'm not talking about RMS priming the lawyers, I'm talking about his general stance about patent-laden, open-source-but-not-really technologies. He must feel vindicated today.

As many other said before, the fact that OpenJDK is GPL licensed doesn't mean anything for Dalvik.


I think he's referring to how he can use this incident to brag about how he's right with his views on open-source-but-not-really-free stuff.


Or, he could use this incident to demonstrate how he's right with his views on open-source-but-not-really-free stuff.


This sort of things makes me think that http://www.illumos.org/ (formerly OpenSolaris) could run into trouble sooner rather than later...


They don't even need Oracle for that. NetApp already flexed muscles and made clear they'll go after anyone daring using OpenSolaris and most probably anything sporting ZFS (including *BSD), in a storage oriented product. Frankly, I don't see any reason to use OpenSolaris if not for ZFS.

IMHO OpenSolaris won't represent much more than NetBSD pretty soon.


(Open)Solaris has other nice stuff, including dtrace, zones, and some big iron features (hotswapping CPUs and memory, for instance, and apparently an advanced hardware error detection system).

I don't use it, but it does have some things to offer.


I know that, however the one and only feature that makes everyone drool is ZFS. We do live without all the other nifty features.


This week seems to be particularly bad for Big Names and their stance on such things as Net Neutrality and Software Patents, first Vint Cerf (who after Jon Postel was my internet hero #2) and now James Gosling, who seems to imply prior knowledge that this one was in the cards.

So, if he saw their eyes sparkle that means that he is saying that he had an inkling that they were going to use that patent, and then he says "I hope to avoid getting dragged into the fray".

Great guy, not only does he sell a cocked gun to a company that is well known for using guns, on top of that he hopes that he's not even going to have to testify.


I don't think it was his decision to sell. He was forced out/quit/whatever soon after the acquisition anyway.


Ok, that is probably true.

So he must have been in on the negotiations only because of his name being on those patents, or his unique understanding of those patents or something to that effect.

I find it strange to see him talking to the Oracle lawyers explaining the patent situations in a 'we're selling you this asset with which you can attack google' mode, and to come out now and act all surprised and 'I hope I don't get dragged in to it' mode.

He should probably expect to get dragged in to it, most likely by Googles council as a witness for the defense.

If he presented it to Oracle in a way that 'made their lawyers eyes sparkle' that sounds like he presented it in a very favorable light (for Oracle and Sun) during those meetings, if he's going to be dragged in to it he will have to repeat his stance on why this is something that Oracle can do in court or he'll risk being sued by Oracle for misrepresentation during the meetings with Oracle if he comes down on the defense side with his point of view.

I really wouldn't want to be in his shoes, this could get very nasty. And it could damage the Java brand considerably.


He didn't say he was in on the negotiations. He said he was in the integration meetings, presumably after the sale had been agreed. So he didn't say 'we're selling you X', he said 'you've been sold X'.

Also, it's not clear whether any special presentation was needed to make the lawyers' eyes sparkle, other the mere possibility of extracting licensing fees from Google.


I just felt it cogent to point out that the article linked is a mere 71 words, while your above analysis of the situation is 215. I think you may be reading too much into this...


It's speculative.


Gosling doesn't sound surprised at all.

It isn't clear whether the integration meetings Gosling referred to occurred before, or after, the Sun-Oracle deal was made. Whatever the case, I expect Gosling was asked to attend those meetings as a Sun employee, and that he explained the patent situation in an open and honest manner.

What do you think Gosling should have done? Deceived Oracle during the acquisition talks because he didn't like what they were planning to do?

dragged in to it he will have to repeat his stance on why this is something that Oracle can do in court

Where has Gosling said he won't repeat the same stance?


Having been acquired a couple of times, "integration meetings" normally occur after the deal is made public but before it closes. So the decision would already have been made.


Wait, has Cerf said something on the Google/Verizon thing?



Thanks, I'd missed that somehow. It is disappointing.


> It is disappointing.

The art of the understatement.


Thank you. They didn't link to the email that I can see; is there a more reliable source for this than CNN?


for those who can't see the page, heres the coral cache link http://nighthacks.com.nyud.net/roller/jag/entry/the_shit_fin...


OK but, did google not really think about this possibility? I think it was a very obvious risk and I would think they probably had a plan for this.


It probably seemed relatively remote when Sun was still around, as Schwartz and Sun had a history of being very friendly to open-source philosophies. Most viewed Sun's patents as defensive. Schwartz has written about how the patents kept Sun out of this mess before -- Microsoft came and said "Cough up because OpenOffice violates our patents" and Schwartz countered with "O RLY, well, while we're at it, why don't we discuss licensing for our Java-related patents re: .NET", etc. But now what used to be Sun is the aggressor.

Oracle bought Sun and everyone was concerned because Oracle is very evil.


OK but it's not convincing to think Google would have thought, oh Sun is a company that is nice to open source, so lets base our whole Android operating environment on this open source friendly Java language and JVM and disregard any possibility of being sued. I would think such companies would think about the possibility of someone else taking over or generally anything else happening. Its unprofessional to base your business decision on something as vague as attitude. You need something more solid like an agreement - especially for something as big as Android.

So anyway my understanding is probably Google has some agreement or plan at hand for this situation. Ideas welcome.


Dumb question, isn't Java free and open source now? What are they suing about?


Google didn't use Sun's open sourced version of Java as the base for their VM. They implemented their own VM from scratch and are thus not covered by the patent protection offered by the open source license.


So why didn't they just use the open source version?


Because it stinks, technically: JVM (even on mobile devices) was never designed to be memory efficient. Dalvik is, big time. I would even say that we all need "Dalvik for desktop" as JVM, with its enormous startup lag and memory appetite is nearly useless outside of data centers.

Also, Google is betting on mobile big. And if you want to play in that space you better have your own platform and not depend on someone else's licenses. I think it only proves that it was the right move: JVM is now owned by assholes and being in court for patent "infringement" with them is still a lot better than betting the company future on the OS based on a platform owned by assholes.


It's difficult to find hard numbers for Dalvik, but the KVM[1] (Sun's JVM for mobile devices) was designed for memory efficiency and can operate in roughly 128kb of working RAM.

[1]http://discolab.rutgers.edu/classes/cs672-fall00/j2me/Append...


However it achieves that memory use by targeting J2ME not J2SE which is what Dalvik uses. J2ME is a very limited Java target at much more limited phones and not really something suitable for writing cutting edge apps for the next generation of smartphones.


Not-invented-here syndrome, probably. Dalvik seemed intentionally as different from a conventional JVM as possible (different instruction set, register-based rather than stack-based, different executable format, etc), and given the maturity of the JVM architecture it's hard to believe those decisions were entirely for engineering reasons.


> given the maturity of the JVM architecture

The server JVM is very mature; millions of dollars have been poured into making it work great in long-running, high-memory conditions where it has a lot of time to optimize its JIT. The client JVM (focusing on quick startup and low resource usage) has been pretty much neglected ever since people realized "Java applets on the web" wasn't going to happen.


Dalvik seemed intentionally as different from a conventional JVM as possible .. register-based rather than stack-based

That's because register IRs are easier to optimize than stack based ones. Have you heard of SSA? the canonical intermediate representation for high performance compilers; yeah, it's register based.

And Dalvik wasn't the first recent VM to be that "different"; heard of Parrot? it's register based.


It seems like there's something missing from the story. I don't see how Google wouldn't have known they were infringing on Sun's patents. How could they release Android without a licensing agreement? It would be insane.


In the filing Oracle claims Google knows this because it hired Java programmers away from Sun years ago.


They are saying that because if they can prove willful infringement then they get increased damages. However it is unclear at this point that said Java programmers were the ones to implement this. And some may not have been aware of the patents in question.


Right, my question is why didn't Google know they were opening themselves up to this kind of suit? Could they possibly have known but gone ahead anyway? That would be crazy.


As far as Google, they deliberately wrote a new virtual machine to be certain they were not infringing. With the patent system we have today, the only way to avoid opening themselves up to this kind of suit is to stop writing software entirely.

Google isn't infringing on the patents and sure isn't violating the copyright. Oracle knows that a Texas jury won't understand the technical issues and hopes Google will settle to avoid the chance of losing billions over a bogus and ignorant verdict.

The outcome of a jury trial in a case like this is like flipping a coin. There won't be any hackers on the jury or else it'd be a five minute decision out of the jury room for Google.


I always assumed Google had done their legal homework before building Dalvik. If they truly did a thoroughly clean implementation and if they truly examined all the patent issues they could foresee, then this case would prove that nobody, no company at all, no matter how diligent, can safely write software without fear of infringing patents. That won't help Google in court, but they could help make the case against software patents in the U.S. Congress. My dearest hope.


There has to be more behind this. They can't be suing Google just because they wrote their own embedded Java VM because if they were they'd be suing RIM too.

And they certainly know RIM develops its own since they say so right on their own site: http://www.oracle.com/technetwork/systems/index-139239.html

RIM's support for J2ME includes development of its own Java virtual machine (JVM) 1, which supports the Connected Limited Device Configuration (CLDC) and the Mobile Information Device Profile (MIDP).


"RIM's support for J2ME [...]"

The gist of the matter is right there. Since RIM supports J2ME, it means they have paid Sun, now Oracle for a J2ME license. That was one of the things that Google bypassed by writing their own implementation.

See this comment on the other discussion: http://news.ycombinator.com/item?id=1599834


The crux of the matter is that Dalvik is not a JVM. It cannot run Java bytecode. Google supplies a tool to convert Java bytecode to Dalvik bytecode.

I won't even pretend to understand Sun's ownership of the JVM IP, the licensing agreements it had with JVM implementors, patents etc. But my view from afar is that Google tried to route around all that by using a different VM architecture, but (possibly) exposed its self to a different set of legal vulnerabilities.


Text for anyone who can't see it due to site being down:

Oracle finally filed a patent lawsuit against Google. Not a big surprise. During the integration meetings between Sun and Oracle where we were being grilled about the patent situation between Sun and Google, we could see the Oracle lawyer's eyes sparkle. Filing patent suits was never in Sun's genetic code. Alas....

I hope to avoid getting dragged into the fray: they only picked one of my patents (RE38,104) to sue over.


Okay, at least now I don't have to think about what language to learn next, Clojure or Erlang…


I'd say Clojure, but it runs on the JVM.


Sun poured billions into Java; is it so bad to ask for one of the biggest benefitors to share the profits?


"Asking" doesn't mean suing first thing in the morning.


I'll bet good money that there was a lot of negotiation going on behind closed doors between Oracle and Google before this suit was filed. We're only seeing this suit because Google must have turned down Oracle's best offer.


Oracle are not suing Google because they've made a profit from Java. They are suing Google for making a competing VM which allegedly infringes some of Oracle's patents.


Well they could have just gone with python if they had known this was coming. They probably picked Java on the basis that it is free to use and fits into the open-source community.


Android, Inc. (the original company) chose Java because their target market (smartphones) nearly universally supported Java (JVM) at the time of the inception of Android, so the phones ran Java and phone developers knew and were comfortable with Java.

Ref: http://en.wikipedia.org/wiki/Android_%28operating_system%29#...

I was unable to ascertain whether Dalvik came from Android, Inc. or was created by Google after acquiring Android. My memory says the later.

The Dalvik VM is an end-run around the Sun JVM licensing issue: http://en.wikipedia.org/wiki/Dalvik_virtual_machine

See especially the reference http://www.betaversion.org/~stefano/linotype/news/110/

This raised more than one eyebrowse, and sure did make me raise mine: how did Google manage to get Sun to license off a platform that could very well kill their own?

Turns out, they didn’t: their move was even smarter than Sun’s.

Today Google released the Android code and I took a serious look at its internals... and found the solution for the licensing problem. It’s called Dalvik and it’s the new name of Sun’s worst nightmares.


My recollection is that Dalvik was always a key part of Android and it came along to Google when they bought it.


Also, key Android people came from Danger which was Java-based.


Google didn't create Android. They bought it.


They start arguing about it instead of improving it :(




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: