X
Business

Stop blaming Microsoft for Sun's Java woes

It's convenient for Sun to imply that Java is not dominant on PCs because of Microsoft's alleged misdeeds. But, in fact, Java failed in spite of Microsoft's efforts, not because of Microsoft.
Written by Larry Seltzer, Contributor
COMMENTARY--I was surprised the first time that I tried a site that required Java in Windows XP and was told that I needed to download the Java VM. The removal of JVM was Microsoft's first step in transitioning Windows users away from a built-in (or, to use a loaded word, "integrated") Java VM.

At first I thought this might be a serious problem--yet more evidence of Microsoft's "lack of support for Java." It turns out there are a few mitigating factors. First, OEMs pre-installing Windows XP or corporations doing scripted installs have the option of pre-installing the Microsoft VM. I suspect that most of them do this, and I know from personal experience that Dell does. Plus, you only have to download the Microsoft VM once and then it works. But enough was enough for Microsoft, who must have been getting enough heat from knee-jerk reactions like mine. Microsoft just announced that it will put the VM back into Windows by default (via SP1), although they will begin to remove it starting in 2004.

Microsoft's decision to move away from Java is tied to their settlement agreement with Sun, which places several restrictions on Microsoft that haven't been widely reported.

At the top of the list of restrictions: Microsoft is only allowed to ship the ancient 1.1.4 version of Java. Microsoft has taken a lot of grief for this from uninformed observers, but in fact you can blame Sun. At the time Sun sued Microsoft many years ago it stopped delivering code to Microsoft as well, which is why Microsoft's VM has never advanced beyond version 1.1.4. Microsoft actually counter-sued over Sun's refusal to deliver under the contract, but the counter-suit was thrown out along with the rest of the suit. What's more, Microsoft's removal of Java from new Windows versions starting in 2004 isn't exactly a decision it made--that, too, is mandated by the settlement agreement.

But Sun's still not happy. Now Sun argues that Microsoft should ship Sun's Virtual Machine with Windows XP. Wouldn't that be nice for Sun.

Java is a failure on the client side
Whether Java is shipped with Windows doesn't matter much for users (apart from potentially lengthening the installation of Windows), because Java on the client is so insignificant--it's a failure. A couple of Java-enabled Web sites are the only reason I have it now, but as a general desktop application platform Java's failure has been evident for a good five years or more. Do you wonder, for example, why Sun doesn't sell any desktop Java applications? Why isn't StarOffice written in Java? Probably because it would be so slow that people would only use it long enough to laugh at it.

Marc Andreessen, co-founder of Netscape and co-developer of the first graphical Web browser, summed it up in a 1998 interview, in which he joked about how a Java version of Netscape Navigator would be better because it would be slower, have fewer features, and would crash more often.

It's convenient for Sun to imply that Java is not dominant on PCs because of Microsoft's alleged misdeeds. But, in fact, Java failed in spite of Microsoft's efforts, not because of Microsoft. Microsoft's VM was the fastest available (back when Microsoft cared about it) and it was actually the most compatible with the applications that people wrote for Java. I know this because I designed and supervised the largest Java app/VM compatibility test that had been done at that point (for PC Magazine).

As far as desktop systems go, Java probably never had a chance because essentially it's an inappropriate technology for most development projects. But even if Java did have a chance, Sun's lawsuit-after-lawsuit strategy has blown it. Microsoft's VM was obviously going to be the most popular one. And by freezing Microsoft at version 1.1.4, Sun has made it difficult for anyone who wants to write an application that requires a later version of the VM. For servers, this isn't much of an issue; installing the VM is a minor problem. But having to push a giant VM to the desktop (the U.S. Windows runtime version of the latest version--1.4--is almost 10 MB) is a hassle. And, under the terms of the Sun/Microsoft settlement, Microsoft is prohibited from improving the performance of the VM.

Sun would have us all believe that Microsoft's download-on-demand is an attempt to deprive users of access to Java, but if Java is what users want, then OEMs will preload it. OEMs have this right, and when Windows XP SP1 comes along, they'll have the tools to make the Sun VM the default VM on the system. Once again, that's not good enough for Sun, which also claims, inexplicably, that download-on-demand is a violation of the settlement agreement.

Predicting the future of operating system development can be tricky, but it looks like there's one new standard feature in every new Microsoft OS: A Sun lawsuit. Sun's history in this regard is sad, and the future looks even sadder. In the end it won't make much difference to desktop users, but at least it will keep the lawyers happy.

How do you want to get JVM for XP--download it yourself, in the box with XP, from Sun, or not at all? Share your thoughts in our TalkBack forums, or drop Larry a line.

Larry has written software and computer articles since 1983. He has worked for software companies and IT departments, and has managed test labs at National Software Testing Labs, PC Week, and PC Magazine.

Stay focused: Sign up for Tech Update Today, the daily e-mail newsletter for those who need to know.


Editorial standards