The Sun vs. Microsoft Java War has gone nuclear. Microsoft shipped its Internet Explorer 4.0 browser on September 30th, and version 2.0 of Microsoft SDK for Java shipped a few days later. On October 7 Sun Microsystems retaliated with a lawsuit "against Microsoft for breaching its contractual obligation to deliver a compatible implementation of Java technology in its products" according to Sun's press release. Sun says that IE 4.0 and Microsoft's SDK for Java failed the Java Development Kit 1.1-compatibility tests, and should not use the Java Compatible logo. Sun will also stop delivering new Java releases to Microsoft until the lawsuit is settled.
An organized contingent of developers has also joined the battle. On September 22, a new organization named the Java Lobby (www.javalobby.org) sent an open letter to Microsoft CEO Bill Gates saying that "We want Java to be truly portable, reliable, open, standard, bug-free, and high-performance." The letter also stated that "We ask you to implement all of the Java core platform and let us, as capable developers, decide what our preferred methods will be. Please have enough respect for your developers and customers to let us make these choices for ourselves." I was not aware of the Java Lobby when I wrote my October editorial "Fear of Java," but our messages are quite compatible. The letter describes the Java Lobby as an "independent group of Java developers and users." By early October, the Java Lobby's Web site reported more than 6,500 members (membership is free).
If these battles prove anything, it is the rapidly growing significance of Java. Microsoft is protecting the Windows platform, the foundation for its overall software business. Despite Microsoft's wishes, Java is not merely a language. It may even be more than just a competing platform. Judging from the escalating steps each side is taking, Java has become the center of an upheaval unlike anything since the introduction of the microcomputer. PCs (including servers) perform many tasks formerly done on mainframe and minicomputers, but they have not and never will completely displace mainframes and minicomputers. Nor will Java completely displace other languages or platforms, but no one can doubt that Java is absorbing an increasing share of programming tasks formerly done in C/C++, Visual Basic, and other development tools. Java is also finding its way into all sorts of devices. New product releases and startup companies emphasize their tie to Java, whether or not it's really important to their technology. The future is Java.
If you are actively using or investigating Java, I urge you to speak directly to Sun and Microsoft and let them know how you feel about each company's actions over the last year or two. Microsoft is clearly trying to splinter Java into a Windows version that is not painlessly compatible with Java on other platforms. Sun wants to control Java as much as Microsoft controls Windows. Sun indicated it would release Java to a standards body, but failed to fully relinquish control over the future of Java. Look long enough, and no one is a saint. If enough developers and customers speak their minds, perhaps Sun, Microsoft, and other companies such as Netscape will realize that the development community is not being helped by the uncertainty fostered by continued controversy.
My point in October, and this bears repeating, is that developers should be the ones to decide if they want to build universally portable Java applications or Java applications targeted to Windows or any other single platform.
Is a splintered Java inevitable? If that comes to pass, it will not be the first nor the last time developers have lost an opportunity to build systems that are not held hostage in one environment. SQL is standardized, yet seductive vendor extensions lead many developers to write optimized but nonportable SQL code. The C language was standardized, and language vendors including Microsoft reacted with frameworks that lock in developers at a layer above the core language. In their efforts to capture and control markets, vendors will go as far as their customers let them. Why should they stop if no one complains?