73. The term "Java" refers to four interlocking elements. First, there is a Java programming language with which developers can write applications. Second, there is a set of programs written in Java that expose APIs on which developers writing in Java can rely. These programs are called the "Java class libraries." The third element is the Java compiler, which translates the code written by the developer into Java "bytecode." Finally, there are programs called "Java virtual machines," or "JVMs," which translate Java bytecode into instructions comprehensible to the underlying operating system. If the Java class libraries and a JVM are present on a PC system, the system is said to carry a "Java runtime environment."
74. The inventors of Java at Sun Microsystems intended the technology to enable applications written in the Java language to run on a variety of platforms with minimal porting. A program written in Java and relying only on APIs exposed by the Java class libraries will run on any PC system containing a JVM that has itself been ported to the resident operating system. Therefore, Java developers need to port their applications only to the extent that those applications rely directly on the APIs exposed by a particular operating system. The more an application written in Java relies on APIs exposed by the Java class libraries, the less work its developer will need to do to port the application to different operating systems. The easier it is for developers to port their applications to different operating systems, the more applications will be written for operating systems other than Windows. To date, the Java class libraries do not expose enough APIs to support the development of full-featured applications that will run well on multiple operating systems without the need for porting; however, they do allow relatively simple, network-centric applications to be written cross-platform. It is Sun's ultimate ambition to expand the class libraries to such an extent that many full-featured, end-user-oriented applications will be written cross-platform. The closer Sun gets to this goal of "write once, run anywhere," the more the applications barrier to entry will erode.
75. Sun announced in May 1995 that it had developed the Java programming language. Mid-level executives at Microsoft began to express concern about Sun's Java vision in the fall of that year, and by late spring of 1996, senior Microsoft executives were deeply worried about the potential of Sun's Java technologies to diminish the applications barrier to entry.
76. Sun's strategy could only succeed if a Java runtime environment that complied with Sun's standards found its way onto PC systems running Windows. Sun could not count on Microsoft to ship with Windows an implementation of the Java runtime environment that threatened the applications barrier to entry. Fortunately for Sun, Netscape agreed in May 1995 to include a copy of Sun's Java runtime environment with every copy of Navigator, and Navigator quickly became the principal vehicle by which Sun placed copies of its Java runtime environment on the PC systems of Windows users.
77. The combined efforts of Netscape and Sun threatened to hasten the demise of the applications barrier to entry, opening the way for non-Microsoft operating systems to emerge as acceptable substitutes for Windows. By stimulating the development of network-centric Java applications accessible to users through browser products, the collaboration of Netscape and Sun also heralded the day when vendors of information appliances and network computers could present users with viable alternatives to PCs themselves. Nevertheless, these middleware technologies have a long way to go before they might imperil the applications barrier to entry. Windows 98 exposes nearly ten thousand APIs, whereas the combined APIs of Navigator and the Java class libraries, together representing the greatest hope for proponents of middleware, total less than a thousand. Decision-makers at Microsoft are apprehensive of potential as well as present threats, though, and in 1995 the implications of the symbiosis between Navigator and Sun's Java implementation were not lost on executives at Microsoft, who viewed Netscape's cooperation with Sun as a further reason to dread the increasing use of Navigator.
Microsoft Findings Home
Findings of Judge Thomas Penfield Jackson, Nov. 5, 1999