Oracle's last two crap quarterly earnings can most definitely be described as the chickens coming home to roost. The core of the problem is that Oracle lacks anyone who can have a big idea, and a sales machine won't produce the results that investors are accustomed to unless they have something to sell.
The Sun acquisition was a mixed bag: Oracle leapt from the low-cost, high-margin business of software sales into the high-cost, low-margin business of hardware sales just as the cloud era kicked off in earnest. That had to be fun for investors. What was even more fun was what investors were unable to see: that Oracle failed to capitalize on the most important part of Sun.
Java was the big opportunity. Java was Sun's success story. If Sun had spun off its hardware business to Fujitsu, built a sales team that worked, and hired a marketing team that could count or do math (Java version 1.x, 1.2 = 2, 1.3 = 2, 1.4 = 2, 5, 6, 7...), then my buddy Simon Phipps might have retired to a private island and Sun would still be here today.
By the time Oracle bought Sun, its troubles had leaked into Java 7, which took approximately 100 years (give or take) to be released -- and with far fewer features. Oracle started making promises about releases and tried to create a release schedule (good idea), However, it failed to fix Sun's semi-abortive attempts to open-source Java, which might have made it more responsive to the industry, or to create any new Java products that anyone wanted to buy.
In fact, Oracle trimmed Sun's portfolio of immature products that no one was purchasing. It was probably a good move, but some of Oracle's offerings in those areas are rickety at best. Then Oracle continued Sun's late attempt to tick off its allies and sued Google with a position ripe with collateral damage for our entire industry. Needless to say it was sort of predictable.
Java's major new features?
With Java 7 and Java 8, we got developer porn, but no new ideas or big ideas. So Typesafe stuck things into Scala, developers talked up those features, then they went into Java. This allowed the developers stuck in big companies who dreamed of writing Scala to use their favorite candy with a slightly wonkier syntax in Java.
This is great for "commoditization" and "standardization," but it offers no new or big ideas. Big ideas are what create new markets. Java was a big idea: "Write once, run anywhere" in a fully garbage-collected VM with a type-safe language that took most of the suck out of writing C++. That was a big enough reason to get companies to rewrite code in Java. Project Lambda wasn't a big enough idea.
Despite all that, Java SE hasn't been an unmitigated disaster. Oracle would have had to do a lot to screw that up. Meanwhile Microsoft, the most obvious competitor, screwed itself completely. Nevertheless I expect Microsoft to turn it around in the cloud era so long as it realizes Azure, Office 365, and BizTalk are the platform and Windows is essentially a dead man walking.
Java EE is another story
Java EE was already stagnant. Do you know what's new in the latest release? Neither do I, and I don't care. Remember WebLogic? Remember what Sun ended up calling its app server that was based on GlassFish? Neither do I. Meanwhile Red Hat is busy building its future with OpenShift, with JBoss as a smaller part. EMC and its VMware and Pivotal subdivisions are talking about Cloud Foundry, but they're busy selling Hadoop bolted on to Greenplum.
In other words, Java EE is playing catch-up with the industry. Java EE is hobbled by a Java Community Process that has outlived its usefulness because Oracle is terrible at pretending it cares what people think. The JCP was a political thing that convinced vendors (especially IBM) to stay on the Java ship. The most important innovation to Java's core in the past several years was Android, and Oracle sued Google over it. The rest of the innovations all happened in open source, yet Oracle alienated Apache. What's the point of the JCP?
But there's more to Java EE's ecosystem, by which we used to mean Spring. Well, Rod Johnson went to go work for Typesafe and VMware spun Spring into the new Pivotal weed farm (because cloud, data warehousing, Hadoop, and Spring obviously all belong in one incoherent company). That's not Oracle's fault directly, but it speaks to the opportunity in the Java EE ecosystem. It isn't a key part of anyone's business strategy, unless they're running an offshoring outfit.
What is driving Java?
Inertia is driving Java. If you want a multiplatform runtime, the JVM is the main game in town. There is so much stuff in Java and an install base so extensive that, from a business standpoint, you'd be an idiot to ignore it.
That inertia is part of the reason Hadoop was written in Java (mostly) instead of other languages. Over the past year I've been talking to .Net shops that are deploying their first Linux and first Java runtime all because of Hadoop.
How to recover?
Some of this is the maturity cycle. As Microsoft learned, you can't do anything new without ticking off the faithful. Oracle has a project to finally "fix" Java and address a bug I filed with Sun years ago making
List<int> work properly. Too little, too late, and in any case, that isn't a big idea. A big idea in the business sense is "get customers to ___, making it possible for them to ___, which lets us sell them ___" (market creation, disruption, productization), but then doesn't sound like a Pinky and the Brain joke.
The big ideas are cloud, NoSQL, and big data. These are the technologies that make new things possible and old things cheaper. How do you give Java EE (or maybe CE or DE) a great edge here? How do you make it so that there is a big reason to come to Oracle's table?
I don't think Oracle knows how to create markets. It knows how to destroy them and create a product out of them, but it somehow failed to do that with Java. I think Java will have a long, long tail, but the days are numbered for it being anything more than a runtime and a language with a huge install base. I don't see Oracle stepping up to the plate to offer the kind of leadership that is needed. It just isn't who Oracle is.
Instead, Oracle will sue some more people, do some more shortsighted and self-defeating things, then quietly fade into runtime maintainer before IBM, Red Hat, et al. pick up the slack independently. That's started to happen anyhow.
This story, "Oracle hasn't killed Java -- but there's still time" was originally published by InfoWorld.