Visit Your Local PBS Station PBS Home PBS Home Programs A-Z TV Schedules Watch Video Donate Shop PBS Search PBS
I, Cringely - The Survival of the Nerdiest with Robert X. Cringely
Search I,Cringely:

The Pulpit
The Pulpit

<< [ "You're a freakin' moron, Bob." ]   |  Making Lemonade  |   [ Roll Your Own ] >>

Weekly Column

Making Lemonade: How Microsoft Is Using Its Own Legal Defeat to Hurt Java

Status: [CLOSED]
By Robert X. Cringely
bob@cringely.com

This was going to be such an easy week. Tired of all the worm and virus intrigue of the past couple weeks and VERY tired of Microsoft conspiracy theories, it was my plan to return to more pleasant topics. Specifically, having already covered the nuts and bolts of building a bootleg 802.11b long range Internet connection, I was looking forward to taking the next step for people who don't have line-of-sight to anything — do it yourself DSL. Forget the phone company, forget DSL providers that will go out of business in another week anyway, I was planning to just role my own high-speed wired link...

But not this week. Come back next week for that one. There is just too much happening this week on the old conspiracy front, specifically why did Microsoft REALLY drop Java support from Windows XP? It's not for the reason you think.

But first let's update my "Death of TCP/IP" story from two weeks ago — the rumor that Microsoft might be intentionally allowing Windows XP to create a data security environment so bad that it could then "solve" the problem by introducing a bizarro version of TCP/IP that would be skewed just enough from the standard to be Microsoft's own. There are two new data points to go with this story — one coming from Steve Gibson at Gibson Research and the other from me.

Steve has now decided that there is a simple misunderstanding between he and Microsoft about the issue of raw socket support in Windows XP. He doesn't see Microsoft as evil, just confused. Apparently, thousands of programmers up in Redmond assumed en masse that that only way to allow Windows XP system calls to raw sockets is by allowing XP users to all have administrator privileges. Steve thinks that if he can prove to Microsoft that shutting down USER access to raw sockets won't affect SYSTEM use of sockets, well then just maybe Redmond will see the light and change that aspect of Windows XP. Toward this end, Steve and Jeremy Collake wrote SocketLock, a freeware utility that locks user access to raw sockets in the Windows XP beta version so that Microsoft and the rest of us can see that everything else works just fine. You'll find a link to SocketLock under the Links of the Week.

I doubt that Microsoft will be moved by Steve and Jeremy's work, however good it may be. After all, thousands of programmers can't be wrong, can they?

Now on to my data point. Since writing my "Death of TCP/IP" column, I have heard nothing at all from Microsoft — not a word. The column was picked-up by Slashdot and was read and criticized by tens of thousands of nerds all over the planet. As a guy who will have been viewed as a thorn in Microsoft's side for 15 years next month, I am very familiar with the drill. If Microsoft takes exception with something I write they come down on me like a ton of Washington apples. I get a polite but firm call from some PR person who invites me up for a day of reeducation. And I always go because it is so much fun to be triple-teamed by Microsoft executives for six to eight hours, especially since the soft drinks are free. Understand that all Microsoft ever pays for is the drinks. I pay my own way to the gulag.

But sometimes Microsoft does nothing at all, and I have come to view that as confirmation. They just hope nobody is reading or that nobody will pay attention. Maybe another story will come along and people will forget. "Pay no attention to that man behind the curtain!" It is a bit like dealing with Japanese businessmen, who will characteristically apologize for anything except what they have actually done.

The only Microsoft response to my story was a single comment from a Redmond programmer who said the protocol I was referring to was IPv6 — the next version of TCP/IP.

No, it is not.

Well, another story HAS come along. This week the issue is why Microsoft has withdrawn the Java virtual machine from Windows XP. This is a wonderfully absurd tale even in the public version everyone already knows. The short version says that Bill Gates had an epiphany back in December 1997 and decided Microsoft should license Sun's Java language or risk being left out of the Internet revolution. But once Microsoft had Java, they started to change it in ways that would only work on Windows PCs, violating Sun's license agreement. Sun sued, Sun won, Microsoft paid a few million to Sun and has been limited ever since to an old, feature-limited, version of Java. So when it came to Windows XP, Microsoft decided to heck with Java and just threw it out, offering up instead its Java competitor, a language called C# or "C-sharp."

Sun, which complained about Microsoft having Java in Windows, is now complaining about Microsoft not having Java in Windows. Sun is publicly demanding that Microsoft support Java, and is writing its own Java Virtual Machine for Windows just in case Microsoft doesn't see the light. This is ludicrous. Sun looks stupid and Microsoft can point to its actions as simply being in accordance with the terms of their legal settlement. And while many XP users may load Sun's JVM, most probably won't and Java will be seriously hurt as a de facto standard.

A great irony here is that Sun is really getting the end it asked for, but didn't expect to achieve. The Java license agreement was written with Microsoft in mind and tested at great expense by the best legal minds in Silicon Valley. It was a trap set by Sun for Microsoft only Microsoft has turned the tables.

But wait, there's more! For all the wicked cleverness of Microsoft's Java repudiation, it is just another example of Microsoft taking (or threatening to take) its ball and go home. Almost the same thing happened during the anti-trust trial when Microsoft offered to create a deliberately retarded version of Windows without Internet Explorer, essentially threatening the court with really bad software if Redmond didn't get its way. That technique backfired on Microsoft when used against the DOJ. It often takes three or more times, but Microsoft does eventually learn from its mistakes. So we will shortly see a much more sophisticated reason why Microsoft "has to" drop Java from Windows XP.

The argument is simple. Rather than saying "Sun made us do this," which makes no sense with Scott McNealy running full page ads asking Microsoft to ship Java in XP, Microsoft will blame a third-party, a little company in Chicago called Eolas Development Corporation.

I have written about Eolas before, back in December, 1998. The story then was that the little startup owned U.S. patent number 5,838,906 for an invention called a "Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document." Say that fast three times. The patent is held by the University of California in the name of inventors Michael Doyle, David Martin, and Cheong Ang. Doyle is the CEO of Eolas, which is the exclusive licensee of the patent.

Read the patent and you'll see it covers the use of embedded program objects, or applets within Web documents. The patent also covers the use of any algorithm that implements dynamic, bi-directional communications between Web browsers and external applications. Every Web browser you can name currently supports embedded applets, and is therefore in violation of the Eolas patent. The Eolas patent covers the whole concept of executable content, which is at the very foundation of Java. So it looks like Java, too, is in violation of the patent. For that matter, so is Microsoft's Internet Explorer and ActiveX.

The patent stems from work done in 1993 by Doyle and company at the University of California at San Francisco, where they built an interactive 3-D medical visualization tool. These guys showed working applets and plug-ins in their enhanced version of Mosaic to NCSA, Microsoft, and Sun a couple of years before any similar products like Internet Explorer, Netscape Navigator, or Java appeared on the market. It's not like these outfits can claim to have developed their products ignorant of Eolas' work.

So Eolas sued Microsoft, and the case has been winding itself toward trial ever since. I predicted back in 1998 that Microsoft would end up buying Eolas and putting Java out of business that way, but the game is playing out a bit differently. Eolas has been wiping the courtroom floor with Microsoft, which doesn't look like it will win. If Microsoft can't win the case, they will have to pay damages to Eolas and perhaps pay a license fee, too. But what if Microsoft takes a different route and simply removes from Windows the offending code? That would be unthinkable even months ago. It would require the removal of Java and the abandonment of APPLET and EMBED tags from future versions of Windows. It would require the adoption of an entirely new architecture for modular programs using XML. It would require .NET.

The test of this theory is, of course, Microsoft abandoning EMBED.

Then, on August 10th, came a note from Apple engineering staff to the QuickTime VR mailing list saying that "IE 5.5 SP2 [for Windows] will not use the QuickTime plug-in no matter what you do. Microsoft has disabled all 'Netscape style' plug-ins, there is nothing you can do. Look for information from us about how work around this problem in the near future."

Goodbye EMBED.

Of course, this has a delightful outcome for Microsoft. They are able to abandon Java and blame it on Eolas. It puts even more oomph behind Microsoft's move to .NET. And as an extra bonus, Apple's QuickTime (and RealPlayer, too!) gets nuked in favor of Microsoft's next-gen Media Player.

Sun and Eolas gave Microsoft lemons, so Microsoft is making lemonade. Now where in any of this is the part about serving customers? It isn't there.

Comments from the Tribe

Status: [CLOSED] read all comments (0)