Apple's Tim Cook wins where Steve Jobs failed: On Java

Oracle will take over Java updates for OS X, an accomplishment that eluded Jobs for years. But many users are left in the cold

Tim Cook has pulled a startling coup, getting Larry Ellison to start cooking -- if not eating -- his own dog food.

The headlines make it sound like Oracle, the inherited owner of Java, has generously stepped in to help protect Mac owners from infections like Flashback. There's an important backstory, though, that hasn't hit the headlines.

Although Steve Jobs tried for years to get out from under the Java ball and chain, last week Tim Cook finally coerced Oracle into supplying updates for its own software. It only took 700,000 infected systems to convince Oracle to handle Java on OS X itself.

Steve Jobs dropped Java for the Mac in October 2010, removing it as part of the standard OS X install. The Mac OS X Developer Library post for Oct. 20, says, "The Java runtime ported by Apple and that ships with Mac OS X is deprecated. Developers should not rely on the Apple-supplied Java runtime being present in future versions of Mac OS X." At the same time, Apple stopped accepting apps for the Mac App Store that relied on the Java Runtime Environment. Apple had never supported Java clients in its iOS.

On Oct. 21, 2010, the MacRumors forum said that Jobs replied to a concerned Java developer, claiming, "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."

Of course, Jobs knew at the time he was blowing smoke -- or perhaps a reality distortion field set in. With a few notable exceptions, Java's owner has never supplied versions "for all other platforms." Back when Java started, Sun supplied a version of the runtime for Linux because, as the "father of Java" James Gosling says, "there was no one else to do it." Every other distributor -- Microsoft, IBM, Hewlett-Packard, and Apple -- rolled its own version, based on Sun's reference code.

Java 1.0 for Mac OS 9 was released in 1996, the year Apple bought NeXT and Jobs returned to the Apple fold. Jobs knew full well that Apple was developing its own version of Java, just like all the other platform providers.

Microsoft started taking its version of Java far afield, adding its own extensions to the language, and Sun sued in 1997 to get its trademark back. A bitter, extended, and very public court battle ended in January 2001, with Microsoft paying Sun $20 million for its transgressions and Sun taking control of Java updates. Until this last week, Sun had released Java versions only for Linux and Windows. All the other platforms made their own.

The fact is that Jobs had been trying for years to get Sun, then Oracle, to take over Java releases for OS X. Back in 2007, Jobs is quoted as saying, "Java's not worth building in. Nobody uses Java anymore. It's this big heavyweight ball and chain." In 2010, when Jobs dropped Java like a hot cup of coffee, he tried to shame Oracle into supporting it. Since then, Java's been a neglected stepchild in the Mac world, completely shunned in iOS.

1 2 Page 1
Page 1 of 2
How to choose a low-code development platform