Java's creator discusses technology of Sun-Microsoft lawsuit
Gosling testifies on technical merits of Sun's claim
By Bill Day, JavaWorld.com, 10/01/98
- Digg
- Reddit
- SlashDot
- Stumble
- del.icio.us
- Technorati
- dzone
September 9, 1998 -- Sun and Microsoft appeared in U.S. District Court in San Jose, CA in this week to present evidence and testimony supporting
each of their arguments in the Sun vs. Microsoft case, which centers around Microsoft's implementation of Java technology. By everyone's reckoning, this is an important case,
one which will have far-reaching effects on Sun and Microsoft as well as their partners, ISVs, and even end users. Please
refer to the Resources for more information on the case.
For all the rhetoric, at its core this is a potentially straightforward contract law case. It has been complicated for the
court, however, by the technical nature of the material in the contracts.
It isn't often that Perry Mason meets Java virtual machines and native method interfaces, but that's exactly what transpired
at this week's hearings. James Gosling, the acknowledged creator of Java, spent more than two hours on the witness stand on
September 9, giving an in-depth Java tutorial and explaining the technical issues critical to Sun's case.
The foundation for Sun's complaint
Sun Microsystems's legal basis for its case against Microsoft revolves around a few key points. They are:
- That Java's central promise, the most important feature in Sun's and many other developers' minds, is its cross-platform portability.
Sun spent a lot of effort building this up; Microsoft's lawyers tried to tear it down at every turn.
- Sun held that Microsoft's implementation of Java violates this promise, and supposedly the letter of the law as specified
in the Technology License and Distribution Agreement (TLDA), by breaking compatibility and portability. Sun asked that Microsoft be required to fix its Java products such that
its code remains compatible with other runtimes (i.e., passes the Java Compatibility Kit tests).
- Furthermore, Sun held that Microsoft willfully chose to violate the contract. If true, this would allow Sun to claim damages
done to its business and could be used to demonstrate anticompetitive business practices, not a boon for Microsoft as it currently
faces antitrust actions from the US Department of Justice.
In order to lay the foundation for Sun's arguments, Sun's lawyers spent a great deal of time questioning Gosling on the technical
details of Java, Java runtimes, and native method interfaces that allow Java applications to be cross-platform portable. What
follows is a description of the technical material covered in Gosling's testimony, and of Microsoft's response. (You can review
a written declaration from Gosling on the subject via the URLs in the resources at the end of this article.)
Are native methods portable?
Gosling spent some time explaining that the entire design of Java centers fundamentally around portability. This is true even
with the native method interface, the Java Native Interface (JNI) beginning with Java 1.1 and beyond. (Interestingly, Gosling
admitted that the Java 1.0 Native Method Interface (NMI) was really just a quick fix to help make Java available as soon as
possible. Though the developers in the crowd already knew this, Microsoft's lawyers harped on this point later in trying to
show that even Sun's own implementations of the JDK 1.0 and 1.1 were incompatible at the native code level because of Sun's
changes to the interface.)
- Digg
- Reddit
- SlashDot
- Stumble
- del.icio.us
- Technorati
- dzone
Resources
- The early phases of the Sun vs. Microsoft legal battles had already begun last year as Sun received the ISO sanction to be
the PAS submitter for Java standards. Read my analysis at the time of both Sun's and Microsoft's motivations. The predicted
strategies have played themselves out quite nicely. http://www.javaworld.com/javaworld/jw-12-1997/jw-12-iso.commentary.html
- Sun is providing lawsuit materials and additional information on a special Web site that archives all public court filings,
evidence, press releases, etc. http://java.sun.com/lawsuit/index.html
- James Gosling's Declaration is a fascinating read, if you can get past the legal language. In it, Gosling presents a significant amount of supporting
technical information to attempt to show that Microsoft violated the terms of its agreement with Sun. This document neatly
presents the technical basis of Sun's case. http://java.sun.com/lawsuit/82198gosling.html
- The legal basis of Sun's case revolves largely around the Technology License and Distribution Agreement signed by Sun and Microsoft. This document, combined with Gosling's declaration, will give you an in-depth understanding
of the argument Sun is making to the court. http://java.sun.com/lawsuit/document.html
- Sun provides detailed Java documentation on its Web site, including online versions of both the Java Language Specification and the Java Virtual Machine Specification. http://java.sun.com/docs/
- Read a transcript from an InfoWorld interview with James Gosling. Among other things, Gosling offers his take on the question"Is Microsoft paranoid about Java?"
http://www.infoworld.com/cgi-bin/displayStory.pl?/interviews/980212gosling.htm
- Intelligence.com provides a nice compendium of news stories on the Sun vs. Microsoft lawsuit. You can use these stories to
dig into more detail on the various nuances of the proceedings, and to see the spin each news organization is putting on the
story. http://www.intelligence.com/topic.asp?id=zz2027
- Read about the marginally related, and more closely watched, United States vs. Microsoft antitrust case on the Mercury News's Microsoft Watch site. http://www.mercurycenter.com/business/microsoft/