Apple says it's deprecating the JVM: Will Oracle step in?
JenniAloi 120000JEBE Comment (1) Visits (4969)
Apple does not plan to include its Java runtime in future versions of Mac OS X. The announcement, buried in the developer release notes for a Java update for Mac OS X 10.6, put it bluntly: "As of the release of Java for Mac OS X 10.6 Update 3, the version of Java that is ported by Apple, and that ships with Mac OS X, is deprecated."
While Apple will support and maintain the Java runtime shipping in Mac OS X 10.5 and 10.6, there will be no Apple JVM for Java 7. So Mac-loving Java developers looking forward to GC and concurrency updates in Java 7 (or perhaps Java 8) may not feel the hit right away, but they'll feel it big when Apple releases OS X 10.7.
Alan Zeichick over at SD Times summed up the view of most industry commentators on this issue so far, saying it's clear that Apple thinks Java technology is irrelevant to its future plans.
What does that mean for developers who prefer to write their Java (or Scala, or Groovy) applications on the Mac?
A relationship on the rocks
Apple makes beautiful products (though, when it comes to actually making a phone call, I'll take my G1!), and software developers have good reason to love the usability of a MacBook Pro. But the "let us surprise you" showmanship that works so well with a consumer audience just doesn't fly when livelihood is at stake. Java developers, and the IT shops that employ them, need to know that their technology investment is stable -- or they'll walk away. Can Apple really afford to let them?
Apple in the enterprise
Sun (now Oracle) supplies Java for all other platforms. They have their own release schedules, which are almost always different than ours, so the Java we ship is always a version behind. This may not be the best way to do it.
So Jobs expects Oracle to step in and provide runtime updates for Mac releases the same way it does for Windows (but, incidentally, not IBM AIX or z/OS). And it seems he's willing to bet a good chunk of cash that it'll happen, too. I'm frankly thinking that the man has either lost his business sense, or he knows something that he isn't saying -- yet.
Simon Phipps, writing in his Computerworld blog, has pointed out that it does matter -- and should matter to Apple -- what platform developers choose to work on: with many corporate developers using Java in some form, "making the Mac a Java-hater has surely to have an effect."
A reader comment on Phipps's blog expanded on that point:
Why choose to develop for only Apple devices using the antiquated Objective-C when I can use the vastly better Java (better concurrency support for all those Cores coming out these days) ? If I choose Java I get to sell to Windows, Linux, Unix/Solaris, Android and whatever else is coming in the future. It is the sensible strategic decision to use Java and IMHO Jobs has made a mistake in dropping Java without a customer-friendly handover plan to Oracle. -- SplashMyBandit
Of course, Jobs has vested interest in ensuring that consumer Java applications running on iOS platforms don't port to Android -- which could explain why Java apps are banned from the new Mac App Store. But there's still a whole world of enterprise applications to be built on Java-compatible Macs -- and that's a market that could only benefit Apple.
What's in it for Oracle?
The main hurdle might be Apple, actually, with its historic reluctance to share its codebase. Jobs's comments in the email to Fraser suggest that the company could be willing to deal with Oracle as it wouldn't with Sun, however, and this might be especially true in light of the mutual respect between Jobs and Ellison.
Moreover, as a MacRumors reader observed, Oracle does have a bottom line in this scenario, even if (and that is an if) it has little to do with profit gain:
In the unlikely event Oracle doesn't pick up the slack, marketshare for Java as a "run anywhere" platform would rapidly begin to disintegrate [...] Sun may not have figured that out, but it wouldn't be lost on someone like Larry Ellison. -- John.B
Played right, it could even help soothe the company's pained relationship with Java developers.
I'd like to thank Athen O'Shea for his assistance with this post.
Disclaimer: The opinions and information contained in this blog are my own and do not reflect the opinions or strategies of IBM.