by William Blundon

All over but the shouting?

news
Oct 1, 19977 mins
Core JavaInternet ExplorerTechnology Industry

The mainstream press handled the recent Microsoft and Apple partnership as a story about Steve Jobs and Bill Gates. The real story is about the future of Java

The tiny island nation of Montserrat is sinking into the sea as the Soufriere Hills volcano gradually consumes it. This event and several others over the past summer have some people in the Java community remembering the island of Atlantis. In legend, Atlantis was a civilization of scientists, artists, and philosophers who created a utopian society that was lost to the depths of an enveloping sea. Current theories ascribe the legend to distant memories of the Minoan civilization on Crete or a lost culture from the Greek Island of San Torini. Regardless of historical fact, Atlantis has become a prominent feature in popular culture. It has become the worldโ€™s icon for lost opportunities.

So too with Java?

When Steve Jobs announced Appleโ€™s partnership with Microsoft at Macworld in Boston just last August, many in the Java community had the definite sensation of cold waves surging around their feet. The two main aspects of the agreement are: Microsoftโ€™s Internet Explorer will become the default browser on the Macintosh; and the two companies are committed to collaborating to โ€œensure that thereโ€™s compatibility between our virtual machines.โ€ The mainstream press used this news as an opportunity either to write about Steve Jobs and Bill Gates, or to discuss the economic impact for Apple.

They mostly missed the point.

The true story was not lost on the Java community. The announcement was more about the future of Java than about anything else. It provided the culmination of a series of developments this summer that included:

  • A raft of JavaSoft, Oracle, IBM, and Netscape (JOIN) collaborations on Java technology and products

  • The momentum that Sunโ€™s 100% Pure Java certification program gained by mid-year

  • Microsoftโ€™s announcement that it will ship its own Application Foundation Classes (AFC) with Internet Explorer 4.0 โ€” not the Java Foundation Classes (JFC) or Java Native Interface (JNI) that are considered โ€œthe standardโ€

  • Sunโ€™s announcement of its WebTop initiative and its intent to develop a direct sales force

Together these agreements demonstrate the emergence of two informal Java keiretsus โ€” JOIN and Microsoft. Somehow, perhaps in spite of themselves, these two groups will determine the future of Java.

The real issue involves the formal definition of Java: not simply who can use the word, but what the word means. The industryโ€™s only definition of what is and isnโ€™t Java is found in the 100% Pure Java initiative. It is intended to be a comprehensive definition designed to maximize portability. For Java applets and applications, five major elements make up this definition:

  1. Written in 100% Pure Java
  2. Contain no native method calls
  3. Use the Core Java API specifications
  4. Donโ€™t alter the Core Java API
  5. Use pure libraries

An applet passes specific tests only if the test driver runs to completion on two unique Java platforms (of the developerโ€™s choice) with the following two qualifications: the operating systems must not be the same, and the two browsers used must be from different vendors โ€” the โ€œtwo-plus-twoโ€ test.

The 5 Java requirements + Microsoft + Apple = ?

Microsoftโ€™s moves with IE 4.0 and the Application Foundation Classes are at the heart of the Apple deal. It probably violates all five of the 100% Pure Java specifications, leading some to believe that the criteria were designed to highlight this issue. Working with Apple doesnโ€™t help. Windows, MacOS, and Solaris are the qualifying operating systems, however Navigator, Internet Explorer, and HotJava are the reference browsers. Therefore, the Apple deal gives Microsoftโ€™s virtual machine a โ€œtwo-plus-oneโ€ response to the โ€œtwo-plus-twoโ€ test.

Defining Java turns out to be a difficult process. Microsoft will argue that the 100% Pure Java specification is anti-competitive. It puts the definition solely in Sunโ€™s hands, and it provides no room for innovation. While clearly this is a disingenuous position for Microsoft to take, it is also partially correct. In addition, there appears to be some definition creep around the core of Java. No doubt many other vendors would question the 100% initiative if Microsoft were not using it as a lever to undermine Java overall.

One fact is clear, however: Sun owns Java. Microsoft has licensed it from the JavaSoft division, and has recognized significant financial gain from the license (through both product sales and PR). Microsoft has the installed base, but this is Sunโ€™s game to lose. The current impasse permits several opportunities for closure:

  • Wait and hope the user community will force Microsoft to move toward a 100% Pure Java standard.

  • Agree to a compromise standard. From Microsoftโ€™s perspective this will only happen if the Core Java API is defined tightly without further creep. From the industryโ€™s perspective, this can only happen if Microsoft decides to ship the JFC libraries. This strategy would enable a two-tier certification standard โ€” 100% Pure Java and a new definition of official Java extensions for specific platforms. In other words, the Java definition could start to look like the SQL standard. Of course the question is, if there is any place for โ€œapprovedโ€ native method calls, whatโ€™s in it for Sun and how much of โ€œwrite once, use anywhereโ€ is at risk?

  • Go to court. Both Apple and Microsoft have been reticent about disclosing the exact details of their formal agreement, so any discussion here is speculative. However, legal action is surely possible. Since Microsoft has already gained financially from the Java license, its principal argument must revolve around the definition of the Core Java API. How many and which class libraries can be included in a โ€œcore API,โ€ and which are optional? This is definitely an option, but it is not in Sunโ€™s interest.

  • Divest JavaSoft as a separate entity with shared ownership by its license holders. This is possible but unlikely. This type of approach has certainly been tried. Remember the Open Software Foundation (OSF)? Unix history indicates that while this kind of action is good for PR, it tends to create a technology abyss. In an open letter to Sun executives in early September, Intel, Microsoft, Digital, and Compaq asked Sun to cede control of Java to an international standards-setting organization. This could happen, but the companies who made this request look an awful lot like a consortium of Windows/NT supporters.

  • Have IBM or Novell invest in the JavaSoft subsidiary and execute a keiretsu strategy. Combinations in the software industry are inevitable. There is a significant possibility that Novell will partner with another company in the next year or so. Under the right circumstances, a Novell-led consortium could become a good home for Java. If it combines with IBM, the merged company would provide Sun with a potentially winning keiretsu in the โ€œJava Wars.โ€

One way or the other, itโ€™s time to lead, follow, or get out of the way.

Whatever the final details, a true cross-platform Java is rapidly turning out to be in every vendorโ€™s self-interest. That includes Microsoft. The user community, particularly in the corporate world, is restless. Echoing the sentiments of many in the corporate world, Alan Nugent, the outspoken CIO of American Re-insurance, recently said โ€œEither Sun and Microsoft will define a true cross-platform standard for Java, or we will.โ€

Settle, sue, divest, or form an official keiretsu: Sun ultimately will have to bring peace to the Java Wars. In the meantime, the Java community will just have to learn how to swim.

William Blundon is executive vice president and co-founder of The Extraprise Group, a leading provider of application development, training, and strategic advisory services for corporations building Internet, intranet, and extranet sites. His focus in the last eight years has been on distributed object environments and the Internet. He is a former director of the Object Management Group.