Viewpoints-Sun vs. Microsoft17 May 1998
On May 12, Sun filed a new legal motion asking the U.S. District Court to require Microsoft to include a Sun compliant Java implementation in both Windows 98 and its MS software tools for the Java programming environment.
Sun asked that the court require Microsoft to either:
- Completely ship with Sun’s Java VM on its environment including RMI and JNI or
- Remove Java altogether on all of Microsoft’s environments or
- Include Sun’s Java VM in addition to Microsoft’s Java VM in the new Operating System Windows 98.
Microsoft dismissed all the options, calling the entire action a publicity stunt, and saying that its Java customers/developers would be hardest hit if the court granted the requested injunction.
While Sun talks of purity of Java implementations, there are people who argue that Sun should put the legal issues with Microsoft on the back burner and instead concentrate its resources on enhancing its own JVM to better compete in the marketplace (instead of the courtroom).
As of today, Microsoft is the only company with a browser software implementation that is capable of running Java 1.1 applets. So I see no reason why Sun is so upset with Microsoft. If I need to run any RMI or JNI stuff, I always have the option of downloading it as a plug-in from the Microsoft site.
If you are not aware of this yet, I am sorry to inform you that even the latest version of Netscape Navigator 4.05 does not run Java 1.1 applets. To my utter disbelief, I found out that Netscape does not support the Java 1.1 Delegation Event Model yet. SO IF YOU ARE RUNNING NETSCAPE, YOU WILL NOT BE ABLE TO VIEW JAVA 1.1 APPLETS. THIS IS A FACT. Even Sun’s Java 1.1 Plug-in has problems with Netscape. This came as a rude shock to me and I am sure it is the same case with most of you. I sincerely wish Netscape solves this problem at least in their next release. So if you use Netscape and want to view Java 1.1 applets, you will have to move over to Internet Explorer 4.0 !
If you want to see for yourself, go to your Netscape/Program/Java directory. You will find a single file called java_301. Give it a .zip extension, unzip it and try to use the javap.exe utility program that comes with your Sun 1.1.x JDK compiler on any of the awt component classes. You will not be able to find any of the Java 1.1 methods like add…Listener() etc. For your information, I compile all my programs using Sun’s JDK 1.1.5 compiler.
By the way, Symantec’s JIT which comes with Sun’s JDK 1.1.6 has some serious problems. Every time I have to disable it to make my JDK 1.1.6 work fine. So I have removed it from my machine. Coming to think of it, as time goes on, I feel all these actions by Sun are helping segregate the market even further.
Think about it. If my Sun Java 1.1 compliant applets can only run on MS Internet Explorer 4.0x, why do I want to remove IE from my machine? To run Sun’s plug-in on IE or Netscape, I have to first force the user’s of my web page to install this ActiveX control (ironically, Sun’s plug-in is an ActiveX control which has to be installed for running on IE). I don’t need it for IE since IE runs my Java 1.1 code really well. I only need it for Netscape since Netscape does not run Java 1.1 code. However, the Sun plug-in has serious stability problems with Netscape. If you want to see for yourself, take look at http://java.sun.com Sun plug-in’s download site. They say it right there just before you can download it.
And do you know what the Sun’s plug-in has come down to? - ALL OR NOTHING - The same slogan which Sun used to beat MS ActiveX has now come to haunt them. I can write Java 1.1 applets which can read and write files to my hard-disk with Sun’s plug-in. I am not trying to create a controversy here. I am just stating facts.
Let us not fight among ourselves trying to do a one-up on each other. While Sun, Netscape, Microsoft and all the “Biggies” have reason to protect their intellectual property, we the users of this technology should not be affected by all this. I have a lot more to say but I do not want to say it here. I am sure that people who really write Java code would have already found out the Caveats by now and those who haven’t found ‘em yet will get to very soon.
The implementers whether they be Sun or Netscape or Microsoft know the gotchas in their implementations and I am sure they are making all out efforts to rectify them. I do not want to rake up any more issues. I leave the conclusions to you.
Update: Netscape has since come out with newer versions of their browser and have been supporting JDK 1.1 fairly well since their 4.06 release. However, IMHO, Microsoft Internet Explorer 4.x and more recently IE 5.0 run JDK 1.1 code far better then Netscape. Unfortunately, at this time, neither browser supports JDK 1.2.