94 comments

[ 4.4 ms ] story [ 191 ms ] thread
I am going to buy a Nokia Lumia for Windows to replace my Sony Android phone. No more iOS or Android for me. Funny how MS is becoming an old "new" alternative for some of us.
How is this related with the submission?
I'll admit the comment may have been a bit sparse, and reactionary on my part, but it is not that far of an association; I think it has relevance. Open source Android is being fought over by two behemoths in an IP war over Java code. MS was proprietary, and not much loved amongst the OSS crowd, and now Windows 10 is going to have hooks for Java and Objective-C to make porting Android and iOS apps to Windows 10. Forgive me, but MS seems to be doing and end-around Oracle and Google...I don't see how there is more than 2 degrees of separation from the submission and the possible relevance of my comment. Is it because I refused to bite on the IP angle?
My Nexus 5 mysteriously stopped booting one day a few months ago, so I got a Nokia 530 to tide me over... it's a 40 dollar phone.

I'm still using it 4 months later... I may end up getting the next Nexus phone, but If the more expensive Lumias offer a commensurate increase in quality, I'd say they're probably great phones.

Can I install Linux on it? If so, count me in.
(comment deleted)
Isn't this case already closed?
No, most heard Google won the first trial and assumed it was. Oracle appealed and won the 2nd trial. They tried to reach a settlement but are way apart on how much it should be. Google tried to appeal to the Supreme Court but that was denied. So now they are having another go at it in a lower court.
Thanks. I thought it was ended as soon as the Supreme Court decided not to pick it up.
https://www.eff.org/cases/oracle-v-google

    On October 6, 2014, Google filed a petition asking the 
    U.S. Supreme Court to review the Federal Circuit's 
    decision.  On November 7, 2014, EFF filed an amicus brief 
    on behalf of many computer scientists that asked the 
    Supreme Court to grant Google's petition for review, 
    reverse the Federal Circuit, and reinstate Judge Alsup's    
    opinion.

    Unfortunately, in June 2015 the Supreme Court denied 
    Google's petition. The case will now return to the 
    district court for a trial on Google's fair use defense.
Didnt win in court because the judge actually had some clue what was happening?

Dont worry, just keep those appeals flying, you'll get a clueless idiot evetually and your lobby money will win them over.

I doubt that Google isn't also using all its lobby money to prevent that.
Can someone explain why oracle is doing this? This is not good for their brand name, this is not good for Java. A large number of people use Java because of android app development, what is oracle trying to gain out of all this?
Money, market exclusivity. Oracle is a big, dumb, litigious beast that pursues IP and money at the exclusion of everything else. See the Solaris/OpenSolaris/Illumous situation, and anyone who has ever worked somewhere with big Oracle databases.
I guess that's their way to monetize Java.
(comment deleted)
Almost anyone who cares about this lawsuit is automatically someone whose opinions don't matter to Oracle. Oracle only cares about executives at large orgs with large budgets to spend on Oracle's enterprise software. And those people don't care about Java or Oracle's reputation among people outside their community.

To understand Oracle's motivations it is necessary to review what Bryan Cantrill said about the company:

"As you know people, as you learn about things, you realize that these generalizations we have are, virtually to a generalization, false. Well, except for this one, as it turns out. What you think of Oracle, is even truer than you think it is. There has been no entity in human history with less complexity or nuance to it than Oracle. And I gotta say, as someone who has seen that complexity for my entire life, it’s very hard to get used to that idea. It’s like, ‘surely this is more complicated!’ but it’s like: Wow, this is really simple! This company is very straightforward, in its defense. This company is about one man, his alter-ego, and what he wants to inflict upon humanity — that’s it! …Ship mediocrity, inflict misery, lie our asses off, screw our customers, and make a whole shitload of money. Yeah… you talk to Oracle, it’s like, ‘no, we don’t fucking make dreams happen — we make money!’ …You need to think of Larry Ellison the way you think of a lawnmower. You don’t anthropomorphize your lawnmower, the lawnmower just mows the lawn, you stick your hand in there and it’ll chop it off, the end. You don’t think ‘oh, the lawnmower hates me’ — lawnmower doesn’t give a shit about you, lawnmower can’t hate you. Don’t anthropomorphize the lawnmower. Don’t fall into that trap about Oracle." [1]

Nothing that Oracle does makes sense without understanding this.

[1] https://www.youtube.com/watch?v=-zRN7XLCRhc&t=33m

For me this just puts into perspective how much it sucks to have Java as the language powering Android. Would a rewrite in (say) Go even be possible? I guess you could machine translate a lot of boring stuff like support for a gazillion devices, and the memory footprint savings would be quite substantial.
Oracle tried their hand with copyright infringement, because copyright is far stronger than anything else that's IP-related. However, here's the thing:

1. Oracle is basically arguing about APIs being copyrightable and if APIs are deemed to be copyrightable, we're fucked as an industry ;-)

2. Oracle, because of the Sun acquisition, has many, many interesting patents related to programming languages and virtual machines. Consider that Sun was involved in the research for making Smaltalk VMs fast and they also developed Self. The IP for all the fancy techniques used in Java's HotSpot VM? Well Sun owned it. Do you think Go is safe because it's not based on Java, or because it doesn't have a Java-like VM? Think again, at the very least it has a garbage collector ;-)

Thing is, if Google would have cloned OpenJDK, they would have been safe because of the GPL license. But they didn't, they used Apache Harmony instead, a project that never passed the Java TCK because Sun never allowed it to.

Oracle failed to assert any patent related to virtual machines
> Think again, at the very least it has a garbage collector ;-)

...which was not invented by Sun. GC is like twenty years older.

> 1. Oracle is basically arguing about APIs being copyrightable and if APIs are deemed to be copyrightable, we're fucked as an industry ;-)

In the US, in Europe where we are somewhat more sane on this issue I'd look forward to a boom in software development the like of which we've never seen.

The implications for the US software industry are pretty horrify though, it makes software patents look mild.

Why a boom in software development?
parent thinks the industry will flee to safer European shores, because the local legal climate is much more liberal than the US when it comes to software (for example, patent trolls are very rare over here).

In practice this is unlikely for a number of reasons, in particular the fact that Europe is way too expensive for the industry that spearheaded third-world "offshoring".

That would be the case except if you where a US software company fleeing a legislative climate that made it hard to do business are you going to put your HQ/major business units in Berlin/Paris or a third-world country.

These are large primarily sales driven organizations so first world transport links and infrastructure matter.

It's not just unlikely, it's completely nonsensical from a legal perspective. If Google's Android division were located in Europe, that would make zero difference for their legal fight against Oracle.

The only way to avoid US law is to not trade in the US at all, otherwise someone should have told Samsung and SAP before they paid hundereds of millions to Apple and Oracle respectively.

I always think is is somewhat interesting given the Java trap [1]. In some ways RMS was very prescient (not entirely surprising), but had Sun not released Java under the GPL, we could easily be having this discussion about IceTea.

The "Don't be ridiculous, nobody is going to sue you for using/implementing Java/C#/whatever" attitude was always frustrating, but I have to admit I didn't actually expect it to really happen :-P

[1] http://www.gnu.org/philosophy/java-trap.en.html

APIs are pretty much confirmed to be copyrightable, as far as I can tell. The SC denying cert to review this appeal essentially confirms the Federal Circuit's interpretation. All that is left is to decide on fair use, which could still let Google off, but that defense assumes copyrightability.

But I disagree "we're fucked as an industry", though there could be some inconvenience. The Sega etc. cases still hold, and they essentially say that copying interfaces for binary compatibility / interoperability is fine. As far as statically compiled languages are concerned, that's all we need. If some API creator sues, we can always create / adopt a different API and map it to the binary instructions in the SPI.

As far as I've been able to tell, the Federal Circuit's decision sets no precedent. It is only binding on the trial court in this particular case.

Their decisions on patents set precedent, but for copyright they are supposed to follow the precedent of the numbered circuit that the trial court is in, which would be the 9th in this case. Future copyright cases in the 9th will still be appealed to the 9th Circuit, not the Federal Circuit, unless they are also a patent case.

I think there needs to be a change to the way appeals work in cases like this. In federal trial courts, there is a thing called supplemental jurisdiction which allows a court to hear claims that they would normally not have subject matter jurisdiction to hear if they are part of a case with other claims that they do have jurisdiction to hear.

For example, suppose a business deal goes bad, and ends up spawning a lawsuit involving federal copyright claims and state contract claims. Copyright claims must be heard in federal court. Federal courts normally would not have jurisdiction to hear state contract cases, but because of supplemental jurisdiction the federal court will hear the state contract claims too. If the case was just a state contract case, it could not be brought in federal court.

The idea behind supplemental jurisdiction is that in case like my hypothetical business deal gone bad it really is one case that just happened to generate issues that fell under different jurisdictions. If tried separately there would be much overlap in witnesses, documents, and other evidence. It would be an inefficient use of judicial resources and unduly burdensome on the parties and the witnesses.

At the appellate level, the court is examining the trial court's application of the law, not the trial court's determination of the facts. The appeals court works off the transcript and documents from the trial court, and the only people that have to appear physically are the lawyers arguing for the parties.

I think it would make a more sense to let appeals from multi-issue cases to go to multiple appeals courts, each appeals court only getting those issues for which it sets precedent. So in a case like Oracle vs. Google, tried in the 9th Circuit, copyright issue appeals should go to the 9th Circuit Court of Appeals, and patent issue appeals should go to the Federal Circuit. In cases like my hypothetical copyright and state contract case, if tried in the 9th Circuit, appeals on copyright issues should go to the 9th Circuit Court of Appeals, and state contract issues should go to a state appellate court.

Main issue is making people move away from one language to another. You'd have to let people use their existing code base with the new language (like apple did with swift). Could it be possible without another similar lawsuit?
Call them "legacy apps" and run them over a compatibility layer. Hardware will gradually get good enough to run the old Java apps without hiccups, and the apps that get translated to Go will run about as fast as the Java-Android versions [citation needed], but with oodles of memory to spare.
if the API is copyrightable, your "compatibility layer" would also infringe.
> Would a rewrite in (say) Go even be possible?

The problem isn't rewriting Dalvik in Go or language X,Y,Z.The problem is the APIs used by Google -- and Oracle copyright claims on them.

Furthermore Dalvik supports most languages of the JVM so do you really want to impose a single language in place of Java, Clojure, Kotlin, Scala, Jruby, Jython and many more ? do you think all the programmers using these languages would be happy if forced to migrate to Go ?

Ask yourself that question.

They probably wouldn't but then again, they're taunting the lawnmower (mentioned above) and seem to forget that the lawnmower has a lot of money and willpower.

I'd say it's time they dumped that lawnmower and came up with something to replace it.

They also had the money to buy Sun Microsystems , they didn't. They had the money to use something else than Java on Android , they didn't. They're not going to move to Go, they'll just pay and make a deal if Oracle wins.
Is it really more difficult to compile to Go source code than to Dalvik/ART byte code? Using Go as a compilation target would allow other languages to benefit from structured value types and goroutines.
> Is it really more difficult to compile to Go source code

And who's going to write a Java/Clojure/Scala/Jyton/JRuby/Kotlin/ to Go compiler ? when Google couldn't even write their own language for the android plateform at first place ?

If a platform is popular, language creators will want their languages to run on it, especially if that platform solves some of the problems the old platform has (like excessive memory consumption in the case of Java).

Rich Hickey has complained about the lack of composite value types for instance, and I can imagine that many language creators would love to use green threads based concurrency without actually having to write the low level code for it.

Go is a minimalist language. Many people want more sophisticated type systems and other modern features. So there's a great opportunity for other languages to stand out without having to compete with Go itself. Every time Java adds some functional programming support, the Scala community has to defend its raison d'etre. There would be no such issues with Go and that alone would be a real incentive for language designers to put work into a compiler.

> There would be no such issues with Go and that alone would be a real incentive for language designers to put work into a compiler.

I don't know what you're talking about.

You can use Go to write android apps already so let the people that like other languages already supported by Android do the same. Nobody's going to rewrite Java or Scala in Go. As I said earlier, if Google wanted to do that it would have done that 5 years ago. They are clearly not interested in betting all their mobile strategy on a niche language.

I'm not saying it is going to happen or that it has no drawbacks. What I'm saying is that Go has some benefits as a compilation target.

And no, you can not write Android SDK apps entirely in Go today. What you can do is write a library or command line tool and call it from a Java app.

It's not just Android. Google is a massive Java shop and a lot of their stuff is written in it. They have plenty of Java expertise in all areas.

It's also the main language taught at universities, which helps with hiring. I've heard that Google's public use of Python is more for PR. If you want to change this then the way is to change what educators are teaching.

Java is probably one of the reasons why they acquired Android. Possibly even one of the reasons Android is written in Java.

I once knew a senior Java architect who turned down a job at Google. This was back in the "who needs another Yahoo!" days. Needless to say they regretted that decision.

Nicely summed up as "ORACLE: One Rich Asshole Called Larry Ellison."
I could go on for hours about the myriad ways Oracle keeps shooting themselves in the foot with amazingly short sighted policies. However, Larry Ellison is hanging out on a yacht many times larger than any house I'll ever own, so really I guess they aren't that dumb....
> However, Larry Ellison is hanging out on a yacht many times larger than any house I'll ever own, so really I guess they aren't that dumb....

If the CEO's money is a metric in measuring this, maybe. But maybe that's also what's wrong with that attitude.

Contrived example: "Yes, the guy did rape and murder 7 little girls, but he's also taking champagne baths in a tub larger than the city I live in, so he has to be doing something right".

I guess my point is that I can arm-chair quarterback all I want, but their business doesn't seem to end up hurt by their tactics (which look self-destructive to me), so perhaps my view is not 100% accurate.
And my point is that you can make more money than god and still be evil and your existence be a net negative on the world. I don't think we should judge them by the money they make.
I guess we're talking cross-purpose. I'm not trying to say Oracle is "good" or "evil" or weigh in on their moral value to the world. I'm just pointing out that business decisions they make, that seem to be illogical or self-harming, never appear to actually harm their overall business long term.
Oracle has had a really fundamental impact on databases, being one of the first relational DBs and the first one in widespread use. I think it'd take a lot more than suing Google over Android to make Elison a "net negative" to the world. It's like Google Seach. Google could launch a bullshit patent war against Facebook to help Google+, but the negative effect of that wouldn't outweigh the positive contribution of Google Search.

I note this not to defend Oracle so much as point out that the history of computing is long and a lot of important stuff happened before this latest Android/Twitter/Facebook era.

I think the point was that he earned his money with the business he's doing. In your analogy, the person did not earn by raping, they are two different things.
There are unethical business practices too. Sure, maybe every decision Larry/Oracle every did was legal, they are still in the business of vendor lock-in based extortion aided by their reputation as the transaction processing vendor. Because early on they teamed up. A great salesman with a brilliant software engineer guy.
Your example is spot-on, but unfortunately that is the way America works in 2015. :ED: to clarify, they are not held to the same accountability standard as we are.
The Oracle/Sun perspective (let's not forget that the whole argument predates the acquisition, although it hadn't reached the court yet) is that Google "stole" Java and should pay something for it. They want a piece of the Android action, preferably a lot of money.

In order to do that, in pure Ellison style, they will use any tactic, no matter how ruthless or disparaging. Ellison does not care about style or manners, he only cares about winning and cashing in; in many ways he's very similar to his great friend Jobs (who did not care about anything but his products, basically).

(Not that Google comes out squeaky-clean, from all this. They clearly piggybacked on the java ecosystem while explicitly avoiding to grant any attribution...)

There is no Java inside an Android handset. Dalvik isn't Java. Dalvik bytecode isn't Java. The two Android runtimes have similar semantics to Java, but there is no Java technology in either one. There is no JavaCompiler API in Android.

Google "uses" Java in the toolchain, for some definition of "use." But They don't sell anyone any Java. It will be tough sledding for anyone trying to show there is Java IP inside Android.

You certainly write Android apps using the Java API, which is Sun/Oracle IP. The argument there is no "real" Java in Android actually hurts Google's case. Because Dalvik uses non-Java byte code, these apps are not interoperable with "real" Java apps. This completely undermines some of Google's legal arguments as a defense for API copyrightability, because the cases they cited (Sega etc) explicitly held that copying certain things was OK for maintaining binary interoperability.
> "You certainly write Android apps using the Java API"

So Oracle should go after Eclipse and other IDEs? Or Apache Harmony?

> *" This completely undermines some of Google's legal arguments as a defense for API copyrightability, because the cases they cited (Sega etc) explicitly held that copying certain things was OK for maintaining binary interoperability."

That binary compatibility is required by javac, which is in the toolchain. Then the Java bytecode gets translated to Dalvik bytecode and packaged as an APK.

Oracle can go after who ever they want as long as the law allows them to. I don't see how they can target IDEs, though. IDEs don't provide the Java API.

One way translation of byte code is not interoperability. Android apps cannot interoperate with "real" Java apps.

> Dalvik isn't Java. Dalvik bytecode isn't Java.

... but all apps are "written in Java", in practice, and one could argue that Android would not have obtained such a large ecosystem without this play. This is all but admitted in Google emails from the Sun days. Whether this means Google has to somehow credit Oracle/Sun, it's for the courts to decide, and as of now, the score is 1-1, so not really clear-cut.

> It will be tough sledding for anyone trying to show there is Java IP inside Android.

This has already been considered in the original trial and the appeal. IIRC, a few secondary files were reused or copied verbatim at some point; regardless, Oracle's position is that the API itself is copyrightable, and as such any implementation has to acknowledge the original rights.

(Note: I don't think Oracle should win, I just acknowledge that neither party really has any higher ground, moral or otherwise.)

> "but all apps are "written in Java", in practice"

That's not strictly true. And if it is or not, it can't be relevant. If you take a JVM language like Scala, compile it to Java bytecode, and run it on a Java(tm) runtime you downloaded from oracle.com, does Oracle have any IP rights in Scala? In the toolchain? In your code?

What if you wrote it in Java? Same answers.

What if you translate that code to Dalvik bytecodes? Same answers.

When I say "There is no Java in Android" I mean the runtime in Android is not Java. Everything else is code that was written in Java and translated to Dalvik and runs in those runtimes that are themselves not Java.

So either Oracle has IP rights all over the place, in everything that is in source code that a Java compiler compiles, or that at some point in the toolchain is in Java bytecode, including stuff like Scala, or not.

Google, and Android, make and sell none of the things in which Orcale has plausible IP rights.

> it can't be relevant

That's what the courts have been asked to decide. You can argue with me until we're both dead and this will not change.

> If you take a JVM language like Scala, compile it to Java bytecode, and run it on a Java(tm) runtime you downloaded from oracle.com, does Oracle have any IP rights in Scala?

No. But if you build a like-for-like JVM exposing the same API calls as the official runtime, Oracle's position is that you are infringing their IP rights (unless you do stuff for binary compatibility and yadda-yadda-Sega), since your are "copying" the "intellectual work" that the API design is.

At least one court agreed with them, and the US Supreme Court "refused to disagree", so it can't be so out-of-this-world as a concept.

Say you design a language called Foobar, and build a great runtime for it. It gets wildly popular and you even release it as GPL. Google decides that it really likes the language, and really needs all those developers who use it, but "screw you and screw the GPL": they implement a brand new runtime that will run your Foobar programs mostly unchanged. They refuse to acknowledge any of your work and will not work with you on anything -- it's not Foobar anymore, it's "Googlebaz".

Wouldn't you be a bit pissed off? Isn't that actually copying stuff?

Unfortunately, this sort of "emulation" is often necessary in our industry, and for the best of reasons; now, just because Google acted like total assholes (note how they made their choice when Sun was still alive -- I strongly doubt they would have done it with Ellison on the other side), we risk losing the right to it.

The only APIs called from Java are implemented in Java, even if they are just a layer over a JNI. So the questions about Oracle having IP rights in those implementations are the same as for other software.

How did Google act like assholes? Android has the same Apache license as the base class and other library implementations they used, which had been open source for many years at that time.

I am not assuming the answer to what's being litigated. I am pointing out that if Oracle has an IP interest in something inside an Android device, it also has exceptionally dangerous and disruptive IP claims all over the place, including things like Scala and all code written in the Java language.

Regarding your example about runtime environments: No, I don't see how inventing a language, which is generally not protectable, and someone inventing a different runtime for a language should make anyone think their IP has been ripped off.

1. Sure, Google could have chosen Scala for Android dev and removed any trace of the Java API. But they didn't. Ask yourself why.

2. As was noted in various trials (Oracle, MS antitrust) "Java" is not one thing, it's multiple. It can refer to the language, the dev environment, the runtime or the API. This case is specifically about the API. Similarly, Android is not just the software that runs on the handset, it also includes the dev environment needed to make that software.

They are trying to get control of and/or money from Android, as well as prevent other people from creating similar Java-alike but not Java-by-Oracle's-terms platforms.
While some people may use Java "because Android", rest assured that far, far more people do Android development "because Java". The reason Google chose Android was clearly because they needed a large number of people writing many apps as quickly as possible for their platform to compete with the iPhone.

Google got a much better deal out of Java. Sun/Oracle got nothing in return.

> they needed a large number of people writing many apps as quickly as possible for their platform to compete with the iPhone.

Android was bought before the iPhone existed

Could the HNers who have bought Oracle db or its enterprise apps share why they chose Oracle over other options. I have have been working in the s/w development side in the banking sector but I was never part of the purchasing decision for infrastructure. I do suspect that the banks keep on buying Oracle or IBM DB2 because of their (Oracle and IBM) reputation for reliability and the army of Oracle or DB2 DBA already in the banks' employment. I have often recommended Jboss over Weblogic for my applications but that option is not considered viable because of Oracle's reputation and existing support contracts. So, why did you buy Oracle db over say (i)Postgres (ii) MS SQL or Sybase ?
Consultants that sell Oracle to customers on a regular basis get personal bonuses from Oracle. These could be personal vacation trips or cash.
I imagine it's extremely rare that someone comes to HN regularly would choose to buy Oracle with alternative options on the table.

Here is the cynical view: the majority of "enterprise" S/W development happens in companies whose CTOs knows very little about software development other than the powerpoint slides they saw from sales or consultants. And all their CEOs can do to improve their technology is to throw more money to those CTOs, who in most cases can only spend those money by buying expensive services/support, hiring AAA brand consultants and hiring as many managers as it takes to "improve the productivity." Well, what else can they do, good engineers don't want to work there.

I work in the space. Oracle gets picked because is perceived as "safe" by executives, because they have armies of people you can shout at when things go wrong (not that it will solve anything, but executives usually enjoy it).

In addition, their portfolio is so vast that any large business will likely have something else that can be leveraged in any discussion ("don't like our db pricing? Let me cut the renewal price of this other product you bought last year. Or what if I throw in a few licenses of that other product you were already evaluating?"). This also allows one good product to cover for the shortcomings of others ("ok, this project failed horribly, but that other thing last year was hot stuff! You got to give us another chance!").

Of course, they already are on the list of approved vendors, so there is no bureaucracy or exposure for whoever signs the purchase order. CYA rules.

If you want to get really technical, however, most Oracle products will just "tick all boxes". They might not be the best option, the fastest one or the easiest to maintain (and they are never the cheapest), but they're likely the most feature-complete. For example, the db: want multiple active-active instances? can do. Active-passive? can do. Multiple names for same instance? can do. Multiple instances on same box? can do. Cross-platform? can do. Working without DNS? can do. Objects? can do. XML? Can do. Your company has weird storage requirements? No prob. Maintenance tools? More than you will ever use. And so on and so forth. On paper (which is where executives live), it's hard to justify anything else; problems only come up when you actually try to use the beast.

This is spot on.

Regarding the last paragraph, I was once in a meeting at a very large company in which an AVP asked me and several other experienced engineers: "Ignore the technical details; is there any reason we shouldn't purchase this large suite of Oracle products?" That was the litmus test, so yes, it's purely a safety play for many.

The good news is that Oracle is pretty much the only vendor like this these days, and no matter how many companies they buy, they are slowly seeing erosion of both their core business and their peripheral apps/services by upstarts ... not to mention SAP pivoting much more intelligently to the modern, cloud-based SAAS world.
That is hilarious, straight out of an SNL/Onion skit. And these are the folks who run the world.
Because it usually doesn't matter. If you are not a Google/Facebook scale op, cobbling together something with SQLite on a battery backed RAM disk is probably properly enough. I'm pretty sure that could run the store part of Amazon with enough madness thrown at it.

So for most companies UX is more important than how messy your backing store is. And yes, delivering good UX requires quick iterations, and that probably means a good operational support for experimenting with various data access patterns, but - again - SQL is enough. Just throw more Hadoop at it, if not. (For specialized data stores. Or just more hardware and even more 12c instances and use that as your key-value store. Doesn't matter. Wrap it and spend more time on UX and features.)

Yes, disrupting them with better technical skills is possible, but don't forget that in the end you have to provide value, and rarely a "contains only F/OSS" sticker is enough.

It was required and included by one of our vendors in their product. We pay the vendor and they pass on to Oracle the yearly licensing fee. Oracle does support their products and quite a lot of people know how they work. I'm not sure why the vendor chose Oracle.
There are products in niche spaces (Higher Ed, for instance) that are built entirely on the Oracle platform. The one we run has a front-end that was built on the old Oracle Forms product and still runs that code on the Oracle WebLogic server and, at its core, are thousands of pl/sql functions and procedures. The companies that have owned this product have had numerous (unsuccessful) projects to migrate the system away from its dependency on Oracle technology.

The database is a solid product, but there is a lot of stuff bolted on and configuration and management is more complicated that it should be and too many features that should be part of the core are expensive extra-cost options. I have a love/hate thing with this company - decent support, over-priced products, and a horrid sleazy sales team that I avoid like the plague.

In many cases the decision to go with Oracle was made decades ago, and the cost of migrating large, legacy databases and codebases away from Oracle is higher than the cost of continuing to use Oracle. Oracle licenses can be very expensive, but migrating and rewriting and retesting working code can be even more expensive!

Also, Oracle is pretty good at achieving vendor lock-in. For example they introduced a rapid web application development platform called "Apex" [1] about a decade ago and shipped it with every Oracle database (even the "free" Oracle Express Edition). In my experience, developers who use it tend to like it, it does achieve rapid development, and there's really nothing else like it outside of Oracle. Once an organization has Apex apps, though, there's no migration path to Postgres that doesn't involve completely redeveloping the Apex applications from scratch.

Finally, despite all of the ways in which Oracle seems to be business and developer unfriendly, for a developer or DBA trained and experienced and entrenched in the Oracle ecosystem (and for whom license costs and sales tactics are not a concern), it's really not such a bad place to be IMHO. I personally would not choose Oracle for my own ventures but in the cases where Oracle has been chosen for me, I enjoy working in the ecosystem.

[1] https://en.wikipedia.org/wiki/Oracle_Application_Express

Every time I read about this awful case I am reminded how happy I am to have left Java behind. Yes as a developer this makes no difference to me in any practical way but it did put an awkward and uncomfortable cloud over the Java framework for me. Using a language owned by a company who does this kind of thing just didn't feel "right" and I disliked knowing I was [indirectly] supporting Oracle by using Java.
The most depressing part, to me, is if you asked anyone who "owned" Java back in the Sun days they would have told you nobody. Since it is OSS and aside from Microsoft's J++ lawsuit, Sun was pretty liberal about how people used Java (as they mostly profited from value adds, rather than the core language or libraries).

If Sun were still around, I suspect not only would they not be suing Google, but they would be actively involved in the Android development scene, producing tooling and other assists and offering enterprise support.

Oracle are just evil™

Couldn't agree more. Sun, for all their faults, knew what Java was about. For me Java died the day Oracle bought Sun. I am glad I have nothing to do with Oracle anymore.

With Microsoft making more and more of .NET open source I hope to see C# replace Java in the enterprise.

> If Sun were still around, I suspect not only would they not be suing Google, but they would be actively involved in the Android development scene

That's a big stretch. For one, Sun people weren't particularly happy that Google blatantly sidestepped them; all the time Sun was a going concern, backroom discussions with Google were ongoing and not particularly conciliatory. Sun didn't contribute to Dalvik and would likely never had (why, when they had OpenJDK?). The fact that they never granted use of the TCK is quite revealing in itself.

That's not true. The JCP has always been a farce, as Java's TCK was never a part of it. This meant that a project such as Apache Harmony couldn't pass it and thus earn the right to use Java's trademark because Sun wanted licensing terms incompatible with open-source. The Apache foundation was pretty pissed about it, as this effectively killed Harmony ... http://www.apache.org/jcp/sunopenletter.html - Truth is that big companies do not open source stuff because it's so damn hard to get all the approvals. Sun only open-sourced Java because they felt the pressure to do it, as Apache Harmony was backed by IBM.

Of course, the reasons don't really matter. The power of open source starts from the license. You don't have to trust Oracle in order to enjoy Java because OpenJDK can be forked, as unfortunately for them that genie is out of the bottle. OpenOffice was forked as LibreOffice, Open Solaris was forked as Illumos, both have been doing better than their former selves. If Oracle is not careful, Java will get forked as well.

This is why MS was wise to create their own “MS Java”, named C# (when Sun still existed). I wouldn't want to depend on Oracle for anything.
C# exists, in part, because Sun sued over Visual J++.
Well, I don't know.

VJ++ had a completely different target market from modern Java / C#: it was the Age of the Desktop, Java was supposed to be the client-side Nirvana of write-once-run-everywhere, and VJ++ was a blatant embrace-and-extinguish play in that sense ("write once, run on Windows only" basically), based on platform-specific UI libs.

C# was developed when the market had changed and Java had become the language of choice for web apps. MS needed a competitor there, and it didn't make sense for their platform lock-in strategies to build anything but MS-specific tech. They couldn't have adopted Java at that point, regardless of lawsuits.

Visual J++ was, at the time, the best implementation of Java as a language integrated with an IDE, UI stack, and runtime that ran on a commonly used OS. If it was "embrace and extinguish" it had considerable merit. It would have completely transformed Windows software development, especially for interactive software.

At the time, Forte and Eclipse were a bog-slow nightmare to use with insane hardware requirements relative to even high-end PCs of that time, and Sun's UI stacks still haven't produced any human-usable software, never mind back then.

I don't always think Microsoft should win IP cases, but Sun destroyed a very worthwhile product and they had no comparable product to protect. It was a purely destructive action.

What we really need is a revision to the copyright statutes. Is anybody working on that?
If Android usage of Java is in violation of Oracle's copyright, than why isn't OpenJDK? I don't code much in Java and when I do I use Oracle's version, so I don't know how different it is, but I guess the "API" should be the same, no?

Also, I don't see how is it better for Google to be sued by Oracle than using OpenJDK just because it is GPL-ed. Why? It doesn't make sense!

> If Android usage of Java is in violation of Oracle's copyright, than why isn't OpenJDK?

OpenJDK was released by Sun as GPL.

Well, couldn't be simpler than that, thanks for clearing that up for me!
Java is dying since Oracle bought it. Google made a mistake to build Android upon it.