Amended Complaint

1.  This is an action against defendant Microsoft Corporation for trademark infringement, false advertising, breach of contract, unfair competition, interference with prospective economic advantage, and inducing breach of contract.

2.  Plaintiff Sun Microsystems is the developer and licensor of the JAVA[tm] Technology, which comprises a standardized application programming environment that affords software developers the opportunity to create and distribute a single version of programming code that is capable of operating on many different, otherwise incompatible systems platforms and browsers. The simplicity, cross-platform compatibility, and rapid development cycles provided by Sun's JAVA[tm] programming environment significantly increase the productivity of software development and dramatically reduce the costs and burdens of establishing and supporting computer networks.

3.   As stated by defendant Microsoft on its Website:

"The JAVA[tm] programming language and execution environment has generated worldwide attention among developers, the media and even end users. . . . Its cross-platform capability gives developers access to end users across a variety of computer platforms. Its support for interactive, downloadable applets enables increasingly attractive and useful Web pages. Taken together, these key features of Java add up to greater developer productivity. Thousands of developers are writing for Java, and hundreds of companies are using Java applications."

4.  In order to obtain the right to make and distribute products incorporating Sun's JAVA[tm] Technology, and to mark such products with Sun's JAVA Compatible trademark, defendant Microsoft entered into two written agreements with Sun in March 1996. Pursuant to one agreement, defendant Microsoft promised to incorporate Sun's JAVA[tm] Technology in certain products, including Microsoft's Internet Explorer 4.0, in a manner that fully conforms with and adheres to Sun's set of published specifications ("JAVA specifications") and "public" application programming interfaces ("JAVA APIs") for the JAVA[tm] Technology. Microsoft further promised to incorporate Sun's future upgrades to its JAVA specifications and JAVA APIs as and when released by Sun in order to maintain compatibility with Sun's set of JAVA specifications and JAVA APIs for a period of five years. In addition, defendant Microsoft expressly agreed to refrain from distributing any products incorporating Sun's JAVA[tm] Technology that do not pass the test suites provided by Sun to ensure that the products Microsoft distributes are in fact compatible with Sun's set of JAVA specifications and JAVA APIs for the JAVA[tm] Technology. In a separate agreement defendant Microsoft promised to mark each product it distributes that implements Sun's JAVA[tm] Technology with Sun's "JAVA Compatible" logo, but only after each such product successfully passes Sun's test suites and otherwise meets the compatibility requirements of the agreements.

 

5.  Microsoft's prior agreements and promises notwithstanding, it has now unilaterally abrogated its obligations under both contracts by refusing to honor its express obligation to implement and adhere to Sun's most current set of JAVA specifications and JAVA APIs for the JAVA[tm] Technology. Rather than comply with its contractual obligations, defendant Microsoft has instead embarked on a deliberate course of conduct in an attempt to fragment the standardized application programming environment established by the JAVA[tm] Technology, to break the cross-platform compatibility of the JAVA[tm] programming environment, and to incorporate the JAVA[tm] Technology in a manner calculated to cause software developers to create programs that will operate only on platforms that use defendant Microsoft's Win32-based operating systems and no other systems platform or browser. In violation of the license, defendant Microsoft is distributing products falsely marked and/or advertised as JAVA Compatible, including Internet Explorer 4.0, but which fail to pass the tests for JAVA Compatible implementations, and fail to conform to Sun's JAVA specifications and JAVA APIs for the JAVA[tm] Technology.

6.  While defendant Microsoft openly acknowledges that it no longer is willing to honor its prior agreement to incorporate the JAVA[tm] Technology in conformity with Sun's JAVA specifications and JAVA APIs, it has not disclosed that it has modified the APIs of the JAVA[tm] Class Libraries in its Internet Explorer and other products in a manner that can render programs written for the JAVA[tm] programming environment using Microsoft's secretly modified APIs inoperable on any systems platform other than defendant's Win32 systems.

THE PARTIES

7.  Plaintiff Sun Microsystems, Inc. ("Sun" ) is a corporation existing under the laws of the State of Delaware with its principal place of business in Palo Alto, California. Sun develops and markets computer hardware and software.

8.  Defendant Microsoft Corporation ("Microsoft" ) is a corporation existing under the laws of the State of Washington with its principal place of business in Redmond, Washington. Microsoft develops and markets computer software.

 

JURISDICTION AND VENUE

9.  This action is brought under the Federal Trademark Act (the "Lanham Act") of July 5, 1946, as amended, 15 U.S.C. §§ 1051 et seq. This Court has jurisdiction under 15 U.S.C. § 1121, and 28 U.S.C. §§ 1331 and 1338. This Court also has jurisdiction under 28 U.S.C. § 1332 because this is a civil action between citizens of different states in which the amount in controversy, exclusive of costs and interest, exceeds seventy-five thousand dollars. This Court also has supplemental jurisdiction, pursuant to 28 U.S.C. § 1367, over the subject matter of Sun's Third, Fourth, Fifth, Sixth, Seventh, Eighth and Ninth Claims because those claims are so related to Sun's federal claims as to form part of the same case or controversy under Article III of the United States Constitution. Under 28 U.S.C. § 1391(a), venue is proper in the Northern District of California because a substantial part of the events giving rise to this action occurred here.

INTRADISTRICT ASSIGNMENT

10.   Assignment to the San Jose Division of the Northern District of California is proper under Northern District Local Rule 3-2 because a substantial part of the events giving rise to this action occurred in Santa Clara County.

PRELIMINARY FACTUAL ALLEGATIONS

11.   Founded in 1982, Sun is a leader in the design, manufacture, and sale of network computing systems. Sun specializes in computers which employ the Unix operating system and is a leader among manufacturers of Unix workstations and servers.

THE NEED FOR CROSS-PLATFORM COMPATABILITY

12.  One of the principal goals of the computer industry has been to achieve a universal application programming environment whereby different computers would conveniently interact with one another over electronic networks. In seeking to fulfill this goal, however, the computer industry has long been stymied by the widespread proliferation of different operating systems which, in conjunction with a variety of microprocessor architectures, are incompatible with one another (commonly referred to as incompatible "systems platforms"). Because most programming environments, such as defendant Microsoft's Win32 programming environment, are platform-dependent , the proliferation of incompatible systems platforms means that application programs created to function on one systems platform generally cannot and will not function on other, different systems platforms. For example, programs written for the Microsoft Win32/Intel desktop programming environment will operate only on platforms using the Win32 operating system and Intel microprocessor. If a software developer wishes to distribute a program written for a Win32-based systems platform to customers who use the Apple Macintosh systems platform, he must modify ("port" ) the program to run on the Apple Macintosh platform. Such modifications can be extremely time-consuming and expensive, and consequently pose a substantial impediment to the widespread dissemination and adoption of many programs.

13.  The ability to create and distribute a single version of programming code that is capable of executing a program on a number of different, otherwise incompatible systems platforms is commonly referred to as "cross-platform compatibility." For businesses and other organizations that use a number of different systems platforms, the need to achieve cross-platform compatibility can often outweigh the need to improve the processing performance of any particular system. For example, a business may wish to create a single order entry program for use throughout the enterprise. While the corporate computers may be high performance SPARC[tm] -based servers running Sun's Solaris[tm] operating system, the sales force may be using Intel-based laptop computers running a Microsoft Win32-based operating system and the sales administration department may be using Macintosh[tm] computers from Apple. The existence of multiple incompatible platforms confronts the organization with a choice: either it can develop multiple, incompatible versions of its order entry program, one for each different platform, or preferably it can find some way to develop one version of the program that can run on all of its different systems platforms without the need for further modification.

14.   Due to the proliferation of incompatible systems platforms, independent software developers confront a similar dilemma. Because a separate version of each program must be developed and supported for each different systems platform, the independent software developer must either invest in developing and supporting different versions of each program it develops for each different systems platform, or it must pick and choose among the many different possible systems platforms the one or more platforms for which it will develop and support a version of its program. In the absence of cross-platform compatibility, developers are economically constrained to choose which among many different possible systems platforms for which they will develop code and, given that choice, almost invariably choose the one systems platform having the largest market share. Only after a program version is produced and distributed for the market share leader, will most independent software developers consider whether to develop and support versions of the same program for other systems platforms as well. Obviously, developers would prefer to develop one version of a program that could be distributed to run on all systems platforms without modification, thereby reducing the cost of development and support, increasing the number of potential customers to whom a single version of the program can be sold, and shortening the time periods required to develop and launch their program for an array of different systems platforms.

15.   The recent emergence of the Internet has only heightened the need for and value of an application programming environment that provides true cross-platform compatibility between different systems platforms. Whereas corporate computing networks often seek to connect hundreds or thousands of computers with one another in a common programming environment, that environment is still subject to corporate control and generally involves a comparatively small number of different systems platforms. The Internet, by contrast, literally connects millions of computers to the World Wide Web, with no effective means to control or limit the large variety of systems platforms seeking to interact with one another. Thus, the Internet has spawned a much greater need to achieve cross-platform compatibility among a rapidly expanding array of otherwise incompatible systems platforms. Similarly, because the growth of the Internet has also greatly increased the cost of development and the risk incurred by software developers to develop and support different program versions for the ever-expanding array of incompatible systems, it has also increased dramatically the value of a standardized programming environment that affords software developers the opportunity to create one program version capable of running on all systems platforms, and the economic rewards of doing so.

16.  The advent of the Internet has led to the development of the browser, a software program which resides on a systems platform and can be used to select and display data transmitted across the World Wide Web, such as text, images or sound. The latest generation of browsers, such as Netscape's Navigator 4.0 or Microsoft's Internet Explorer 4.0, afford third party media or service providers, such as movie and television producers, banks, and brokerage houses, the opportunity to provide an increasing array of interactive services and features over the World Wide Web, such as video, airline reservations, interactive games, on-line banking, or securities trading. These services are provided by means of programs designed and developed by third party media or service providers to run on a browser ("browser program" ), and then distributed over the World Wide Web. Currently, all browsers are incompatible with one another. Consequently, a third-party media or service provider who wishes to develop and distribute a browser program across the World Wide Web is confronted with the daunting task either of developing and supporting a different version of its browser program for every different possible combination of browser/systems platform to which the browser program may be distributed, or otherwise implementing some workable and cost-effective means to create a standardized programming environment in which a single program version can operate on all systems platforms or all browsers.

17.   Sun appreciated the need to achieve cross-platform compatibility between otherwise incompatible systems platforms and browsers, and set out to develop a secure and effective means to achieve it.

THE JAVA[tm] PROGRAMMING ENVIRONMENT

18.   One way to achieve cross-platform compatibility between different systems platforms and browsers is to create a standardized application programming environment that can be implemented and supported on each of the different platforms and browsers between which compatibility is to be achieved. In this way, programs written in conformance with the specifications and APIs that define the standardized environment will function on each of the platforms and browsers supporting the standardized environment. While attractive in concept, the task of actually building and implementing such a universal, standardized application programming environment requires enormous capital investment and technical prowess.

19.   Equally important, the creation of such a standardized application programming environment requires the firm agreement and mutual commitment of each systems manufacturer and browser developer across whose platforms compatibility is to be achieved to implement the same set of specifications and APIs that define the standardized environment in a consistent, compatible manner. Systems manufacturers who fully and completely implement the set of specifications and APIs that define the standardized programming environment in their systems platforms will thereby support an application programming environment that affords software developers the opportunity to write a single version of program code that will run, not only on that manufacturer's systems platform, but also on every other manufacturer's systems platform that fully and consistently implements the same set of specifications and APIs.

20.   Once implemented, the cross-platform compatibility achieved in a standardized programming environment can be maintained only if each systems manufacturer continues to implement and maintain compliance with the set of specifications and APIs that defines the standardized environment as it changes and evolves over time through future upgrades and improvements to the underlying technology. If, in addition to systems platforms, the benefits of cross-platform compatibility are to be achieved for Internet users as well, then the browser developers must similarly agree to implement and maintain compliance with the same set of specifications and APIs that define the standardized programming environment. Unless each systems manufacturer and browser developer fully and consistently does so, the benefits of true cross-platform compatibility cannot be fully achieved.

21.   In this sense, each subscriber to a standardized programming environment, including enterprise consumers, software developers, and systems manufacturers, is relying and dependent upon each other subscriber to fully implement and faithfully adhere to the set of specifications and APIs that define the standardized programming environment. If, for any reason, one systems manufacturer, such as defendant Microsoft, fails or refuses to do so, and instead unilaterally modifies, adds to or deletes any portion of the set of specifications or APIs that define the standardized programming environment, the ability of all to achieve full cross-platform compatibility among one another will be impaired, and the utility and value of the standardized environment will be diminished for all.

22. Sun set out to develop the technology needed to create such a standardized application programming environment and to secure the binding agreement of systems manufacturers and browser developers to adhere to the resulting set of specifications and APIs that define the environment. The resulting technology, which Sun named JAVA[tm] , provides the first commercially feasible application programming environment capable of achieving true cross-platform compatibility among otherwise incompatible systems and browsers.

THE BENEFITS OF THE JAVA[tm] PROGRAMMING ENVIRONMENT

23.  The promise of cross-platform compatibility embodied within the JAVA[tm] Technology provides many potential benefits to the developers of software and browser applications. Formerly, such developers would be required to develop separate and different versions of each program for each different systems platform and/or browser for which they wished to distribute their program. Using the JAVA[tm] Technology, however, software developers now have the opportunity to write a single version of program code, with the expectation that the program they have written will operate on every JAVA[tm] compatible systems platform or browser, no matter what systems platform or browser may be used to run the program. Thus, the JAVA[tm] Technology significantly expands the number of systems platforms or browsers for which a single version of program code can be distributed, reduces the overall development, distribution and support costs of such programs, and shortens the time periods required to develop and distribute programs for a broad array of systems platforms and browsers.

24.  The cross-platform compatibility achieved with the JAVA[tm] Technology also promises significant benefits and cost-savings for organizations that use a variety of systems platforms or browsers. A business enterprise or other organization that utilizes the JAVA[tm] Technology in its various systems platforms or browsers can dramatically reduce the expense of software development, procurement and maintenance by eliminating the need to develop, procure and support separate program versions for each systems platform or browser, while at the same time significantly expanding the number of systems platforms or browsers on which each of its programs can run.

25.  The cross-platform and/or cross-browser compatibility achieved with the JAVA[tm] Technology offers even more significant benefits to the third party media and service providers who wish to distribute program content across the World Wide Web. If the remote systems that contact the Web page each have browsers that implement the JAVA[tm] Technology, the Web page publisher can transmit a single version of the program code to each different browser confident that it will operate on all. So long as browser developers faithfully implement the JAVA[tm] Technology in their respective browsers, third party providers of browser programs need develop only a single version of each browser program to interact with every browser. In short, the cross-platform and/or cross-browser capability of the JAVA[tm] Technology transforms the alluring potential of an interactive, content-rich World Wide Web into a practical reality.

THE JAVA[tm] TECHNOLOGY

26.  The JAVA[tm] Technology consists of three critical components, each of which is essential to the implementation of the JAVA[tm] programming environment, to which software developers write programs (collectively, the "JAVA[tm] Technology" ):

  a)  The JAVA[tm] Class Libraries include the set of JAVA APIs that comprise the standard packages, classes, methods and fields made available to software developers to write programs operable on JAVA[tm] compatible systems platforms or browsers.

  b)  The JAVA[tm] Compiler translates programs written in source code form into binary bytecodes operable on JAVA[tm] compatible systems platforms or browsers.

  c)  The JAVA[tm] Runtime Interpreter interprets compiled JAVA[tm] bytecode instructions and will execute code in accordance with the JAVA[tm] bytecode instructions as appropriate for the platform's operating system or browser. Some of these bytecodes may result in the execution of native methods using APIs of the JAVA[tm] Runtime Interpreter. The JAVA[tm] Runtime Interpreter interprets the compiled instructions and causes the host platform's operating system or browser to execute those instructions as if they had been written for the "native" programming environment of the systems platform or browser.

27.  In order to achieve the goal of a truly cross-platform programming environment, such that a program once written for the JAVA[tm] programming environment will run on any systems platform or browser that implements the JAVA[tm] Technology, it is essential that each systems platform or browser on which the program may run fully implements and conforms with the set of JAVA APIs of the JAVA[tm] Class Libraries, the JAVA[tm] Compiler and the JAVA[tm] Runtime Interpreter, including each interface, package, class, method and field specified therein. If a particular systems platform fails to incorporate the set of JAVA APIs, such that one or more interfaces, packages, classes, methods or fields are not supported as specified in the JAVA APIs, programs created by software developers or others that incorporate or reference any of the missing interfaces, packages, classes, methods or fields will fail to operate on that platform. Conversely, if in its particular product implementation, a systems manufacturer unilaterally adds to or otherwise modifies the interfaces, packages, classes, methods or fields that comprise Sun's set of JAVA APIs, programs written to incorporate or reference any such additional interface, package, class, method or field may operate on that single manufacturer's product implementation only, and fail to operate on any other implementation that conforms to Sun's set of JAVA APIs.

28.  So long as the JAVA[tm] Technology is incorporated in each systems platform or browser in conformity with Sun's set of JAVA APIs, a software developer can write a single version of program code that will operate on all JAVA compatible platforms or browsers no matter what operating system or hardware such platforms may use. Cross-platform compatibility is the promise of the JAVA[tm] programming environment, and in order to achieve that promise, it is essential that each systems manufacturer or browser developer who incorporates the JAVA[tm] Technology does so in full compliance with the set of JAVA specifications and JAVA APIs that comprise the JAVA[tm] Technology.

 

 

SUN'S OPEN LICENSING PROGRAM FOR THE JAVA[tm] TECHNOLOGY

29.  In the course of its design and development of the JAVA[tm] Technology, Sun has obtained and/or applied for a substantial body of intellectual property rights, including patents and copyrights, relating to various aspects of the JAVA[tm] Technology developed by Sun ("JAVA Intellectual Property").

30.  To encourage the rapid and widespread adoption and compatible implementation of the JAVA[tm] programming environment on multiple systems platforms, and in keeping with Sun's long-standing support for open systems, Sun has openly published the set of JAVA specifications and JAVA APIs that define the JAVA[tm] Technology so that software developers and systems manufacturers can design and build products in accordance with them.

31.  Although Sun has openly published its JAVA specifications and JAVA APIs, it has not unconditionally granted rights under its JAVA Intellectual Property to use or implement the JAVA[tm] Technology without restriction. Instead, Sun has established a licensing program to promote the widespread compatible implementation and adoption of the JAVA[tm] Technology, as described below.

32.  The central goal of Sun's licensing program is to achieve and maintain cross-platform compatibility among the various licensees of its JAVA[tm] Technology.

33.  Consequently, to protect against the risk of incompatible implementations of the JAVA[tm] Technology by different systems manufacturers and browser developers, the licenses granted by Sun to systems manufacturers or browser developers expressly require that all products they distribute that implement the JAVA[tm] Technology must first pass a detailed series of tests (the "Test Suites") designed to ensure compliance with Sun's published set of JAVA specifications and JAVA APIs that define the JAVA[tm] Technology.

34.  To further ensure that each systems manufacturer and browser developer who is licensed to distribute products that implement the JAVA[tm] Technology does so in a manner that conforms to Sun's set of JAVA APIs, and neither adds to nor deletes from any portion thereof, Sun's distributorship agreements with its systems and browser licenses expressly prohibit any modification to any "public" class or interface declaration whose name begins with "java." If any distributor wishes to append an additional interface, package, class, method or field to Sun's set of JAVA APIs, Sun's licenses expressly require that all such additions or enhancements be made using names other than "java." to ensure that software developers and others who incorporate or reference any such additional interface, package, class, method or field in the programs they write do so recognizing and understanding that such additional API's are not part of Sun's set of JAVA APIs, and therefore may not be supported in the JAVA[tm] products of other systems manufacturers or browser developers.

35.  To assist software developers to create programs for the JAVA[tm] programming environment, Sun has created and freely distributes a JAVA[tm] Developer's Kit (the "JDK"). The JDK includes the binary form of Sun's most current set of JAVA specifications and JAVA APIs defining the JAVA[tm] Technology, including the JAVA[tm] Class Libraries, the JAVA[tm] Compiler, and the JAVA[tm] Runtime Interpreter, together with a variety of programming tools and utilities. As part of its licensing program, Sun freely grants a limited, non-exclusive license to software developers and others to use the JAVA[tm] Technology contained in the JDK to create programs for the JAVA[tm] application programming environment. The license granted is expressly subject to and conditioned upon the express restriction against any modification or addition to the set of packages or classes contained within the JAVA[tm] Class Libraries.

36.  As another part of its licensing program for the JAVA[tm] Technology, Sun licenses its source code for the JAVA[tm] Technology to systems manufacturers and browser developers who agree to develop and distribute products that incorporate Sun's JAVA[tm] Technology. Again, in all cases the source code licenses granted by Sun are expressly subject to the condition that each systems platform or browser incorporating Sun's JAVA[tm] Technology must be a complete implementation of all of Sun's JAVA specifications and JAVA APIs, and must also pass the Test Suites that are made available by Sun. The requirement of a "complete implementation" of Sun's JAVA APIs means exact conformance with the full set of Sun's JAVA APIs, and does not allow for any modification or deviation from the specified set in any respect, whether by modification, deletion or addition.

 

SUNS'S CONTINUING ENHANCEMENT OF THE JAVA[tm] TECHNOLOGY

37.  As with any new and developing technology, Sun's initial set of JAVA specifications and JAVA APIs for the JAVA[tm] Technology have continued to evolve over time as additional research, development and commercialization by Sun and its licensees lead to ever more refinements and improvements in the technology. From the inception of Sun's licensing program for the JAVA[tm] Technology, Sun has publicly announced that it would continue to expand and elaborate the set of JAVA specifications and JAVA APIs that define the technology. In recognition of the fact that the JAVA[tm] Technology will evolve and improve over time, each distributor license granted by Sun expressly requires the distributor to incorporate into its licensed products all future upgrades to the JAVA[tm] Technology as and when delivered by Sun throughout the term of the license. While the JAVA[tm] Technology continues to evolve, the opportunity it affords to developers and others to write one program version that can run on any JAVA Compatible platform remains viable so long as Sun's licensees abide by their agreement to incorporate the JAVA[tm] Technology and all future upgrades in a manner that passes Sun's Test Suites.

38.  Since the first commercialization of the JAVA[tm] Technology in May 1995, Sun has continued to upgrade the JAVA[tm] Technology, in part through successive releases of the JDK.

39.  In advance of each upgrade to the JAVA[tm] Technology, Sun routinely encourages its licensees and others, including defendant Microsoft, to propose modifications and enhancements to the JAVA[tm] Technology. In addition, through its developers' Website and other means, Sun engages in an open dialog with its licensees and others, including defendant Microsoft, to afford interested parties the opportunity to consider and propose future modifications and enhancements to the JAVA[tm] Technology well in advance of each such upgrade to the JAVA[tm] Technology. Months prior to each new JDK upgrade, Sun routinely distributes to its source code licensees, including defendant Microsoft, "beta" versions of the source code to Sun's impending JDK releases and the associated Test Suites in order to afford interested parties the opportunity to evaluate, comment on, and prepare in advance for Sun's release of JDK upgrades to the JAVA[tm] Technology.

THE JAVA COMPATIBLE LOGO

40.  In conjunction with its licensing program for the JAVA[tm] Technology, Sun created a distinctive design mark consisting of a steaming cup of coffee coupled with the words JAVA COMPATIBLE (the "JAVA Compatible logo"), a true and correct current copy of which is attached hereto as Exhibit A. Under license from Sun, a systems manufacturer or browser developer, such as defendant Microsoft, is licensed to distribute products incorporating the JAVA[tm] Technology, provided the product has passed Sun's Test Suites, is otherwise fully compatible, and displays the JAVA Compatible logo. The JAVA Compatible logo symbolizes that product bearing the logo has successfully passed Sun's Test Suites and otherwise complies with Sun's set of JAVA specifications and JAVA APIs, such that programs written for the JAVA[tm] programming environment will run successfully on that implementation and on any other JAVA Compatible implementation.

41.  Sun has devoted substantial time, effort and resources to the development and refinement of the JAVA[tm] Technology in order to ensure that products implementing it and bearing the JAVA Compatible logo will fulfill the promise of cross-platform and/or cross-browser compatibility. Since at least as early as 1995, a number of systems manufacturers, including defendant Microsoft, have participated in Sun's JAVA Compatible licensing program and obtained the right to use and subsequently have used the JAVA Compatible logo on and in connection with products that implement the JAVA[tm] Technology and pass the JAVA Test Suites. As a result of Sun's devotion of effort and resources, the JAVA Compatible logo has come to symbolize and embody the reputation and substantial goodwill Sun has earned in the marketplace as a result of its introduction and continuing development of the JAVA[tm] Technology and the cross-platform compatibility it provides. The success and goodwill associated with Sun's JAVA[tm] Technology has benefitted and continues to benefit Sun's overall business by enhancing Sun's reputation and stature for supplying valuable innovative solutions for consumers of information technology.

 

THE WORLDWIDE REACTION TO AND ADOPTION OF JAVA[tm] TECHNOLGY

42.  Since the JAVA[tm] Technology was first introduced over two years ago, it has become the most rapidly adopted programming environment in the history of the software industry. Currently, over 70 million desktop systems and server platforms are able to run programs written for the JAVA[tm] programming environment.

43.  Nowhere is the momentum behind the adoption of the JAVA[tm] Technology more obvious than among software developers. IDC reports that the number of programmers developing programs for the JAVA[tm] programming environment is expected to grow from 400,000 to 750,000 this year alone. Over 1 million users have downloaded Sun's latest JDK 1.1 version of its developer tool kit from Sun's Website for developers since February 1997. Over 200 universities have implemented courses on the JAVA[tm] programming environment, over 800 books have been published on the JAVA[tm] programming environment, and over 100,000 programmers from 140 countries subscribe to Sun's "JAVA Developer Connection" Internet-based service. Sun's annual software developer conference, "JavaOne[tm] ," is now the largest such industry event.

x44.  In addition, tools used by professional programmers to develop programs for the JAVA[tm] programming environment are one of the fastest growing segments of the software industry, already generating $120 million a year in revenue for the industry. That revenue is anticipated to grow to $300 million by the year 2000.

45.  Market surveys and other data indicate that the JAVA[tm] programming environment is the most rapidly growing programming environment for use with corporate desktops and servers. A survey by Arthur Anderson in May 1997 showed that the JAVA[tm] Technology is the No. 1 industrial technology driving software innovation today. A survey by Forrester Research shows that 42 percent of those surveyed use the JAVA[tm] programming environment, principally for its cross-platform capability. Fifty-two percent of executives said that the JAVA[tm] programming environment would become part of their information technology strategy within the next year and 82 percent of those said they would use the JAVA[tm] programming environment to develop applications on which the company held a critical dependence for the applications' reliability.

THE JAVA[tm] TECHNOLOGY'S COMPETITIVE THREAT TO MICROSOFT'S DOMINANCE IN DESKTOP SYSTEMS

46.  Microsoft is the world's largest manufacturer of software. Among its current operating systems products, Microsoft manufactures and distributes the Windows®95 and Windows® NT operating systems. In addition, Microsoft manufactures and distributes the Internet Explorer browser program.

47.  Microsoft currently enjoys a dominant market share position in systems for the desktop and various other platforms, for which it distributes the MS-DOS®, Windows® 3.1 and Windows® 95 operating systems. In 1996, Sun is informed and believes that over 85% of the desktop systems throughout the world utilize and are dependent on Microsoft's operating systems.

48.  In contrast to the open systems cross-platform programming environment uniquely created by Sun's JAVA[tm] Technology, the programming environments established by defendant Microsoft's various operating systems are platform-dependent, such that programs created for it's Win32 and other programming environments will operate only on platforms running defendant Microsoft's operating systems, and will not run on any other systems platform. In a further effort to maintain control and dominance over the programming environment created by its operating systems, defendant Microsoft refuses to license other systems manufacturers, such as Sun and others, to use Microsoft's technology or intellectual property rights to produce operating systems that implement the Win32 programming environment.

49.  As the dominant market share leader in desktop operating systems, Microsoft has benefitted enormously from the pronounced economic incentive of independent software developers and other programmers to create their first, and often only, version of program code for use in the platform-dependent Win32 programming environment created by defendant Microsoft's Windows®95 and Windows®NT operating systems. The closed, platform-dependent Win32 programming environment created by defendant Microsoft's Windows®95 and Windows® NT operating systems has served to extend and perpetuate Microsoft's dominant market share position in desktop systems by causing independent software developers and others either to create versions of their programs only for the Win32 programming environment, or to so favor the development of Win32-based programs over all other programming environments as to render alternative programming environments for the desktop commercially unattractive for program development.

50.  Sun is informed and believes that defendant Microsoft seeks to extend the dominance it currently enjoys over desktop operating systems and the programming environments they create to browser programs and other applications through its manufacture and distribution of Internet Explorer 4.0 and its Software Development Kit for JAVA[tm] ("SDKJ" ).

51.  The immediate and widespread acceptance of Sun's JAVA[tm] Technology by developers and systems manufacturers, together with the cross-platform programming environment Sun's JAVA[tm] Technology creates, competitively threatens Microsoft's continuing dominance of and control over desktop programming environments. Because Sun's JAVA[tm] Technology is platform- and browser-independent, and therefore affords software developers the opportunity to create a single version of program code that will operate on any platform or browser faithfully supporting Sun's JAVA[tm] Technology, independent software developers now have a meaningful and pronounced economic incentive to create program versions for the JAVA[tm] programming environment rather than defendant Microsoft's Win32 and other platform- dependent programming environments, and thereby achieve access to even larger potential markets for their software products than Microsoft's programming environments provide. In addition, as such platform-independent programs become increasingly available, their continued development and proliferation further weakens and erodes defendant Microsoft's dominant position in desktop operating systems by significantly expanding the breadth and variety of programming available for competing systems platforms.

52.  In recognition of the competitive threat posed by the JAVA[tm] programming environment to Microsoft's continuing dominance of desktop operating systems, and in response to that threat, Sun is informed and believes that defendant Microsoft has embarked on a course of conduct to disrupt and impair the standardized programming environment created by Sun's JAVA[tm] Technology by deliberately implementing Sun's JAVA[tm] Technology in products Microsoft distributes in a manner that breaks the cross-platform compatibility of the JAVA[tm] programming environment, fragments the JAVA[tm] programming environment into separate, platform-dependent programming environments, and limits the operability of programs written using Microsoft's product implementations of the JAVA[tm] Technology to platforms supporting defendant Microsoft's Win32-based systems platforms and no other system platform or browser.

THE SUN/MICROSOFT AGREEMENTS

53.  In recognition of the enormous appeal and economic benefits associated with the cross-platform capability of the JAVA[tm] programming environment, defendant Microsoft approached Sun in late 1995 seeking a license to develop and distribute products that incorporate Sun's JAVA[tm] Technology. In March 1996, Sun and defendant Microsoft entered into two agreements: a Technology License and Development Agreement (the "TLD Agreement") and a Trademark License (the "Trademark License" ).

THE TLD AGREEMENT

54.  On March 11, 1996, Sun and Microsoft entered into the TLD Agreement. Pursuant to the TLD Agreement, Sun granted defendant Microsoft a non-exclusive limited license to develop and distribute products that incorporate Sun's JAVA[tm] Technology subject to certain terms and conditions. In particular, the only products defendant Microsoft is authorized to distribute incorporating Sun's JAVA[tm] Technology must include such a significant functional and value enhancement, in addition to the JAVA[tm] Technology, that the primary reason for a customer to license the product is other than the right to receive a license to the JAVA[tm] Technology. In other words, Microsoft promised that it would not undermine Sun's right to exploit its JAVA[tm] Technology by simply re-distributing it.

55.  To ensure that the products defendant Microsoft would be licensed to distribute would incorporate Sun's JAVA[tm] Technology in a manner that achieved and maintained the cross-platform compatibility of the JAVA[tm] programming environment, Sun insisted, and Microsoft agreed, to incorporate Sun's JAVA[tm] Technology in conformance with Sun's JAVA specifications and JAVA API's, and to do so in a manner that passes Sun's Test Suites.

56.  As recited in the preamble of the TLD Agreement, the purpose of the agreement is to "maintain[...] compatibility among JAVA[tm] language based products" and "to protect and promote a compatibility logo used in connection with" the JAVA[tm] Technology. A true copy of the TLD Agreement is attached to this Complaint as Exhibit B.1

57.  Pursuant to the TLD Agreement, Microsoft is obligated to incorporate Sun's JAVA[tm] Technology in the products it is authorized to distribute, such as Internet Explorer 4.0, in a manner that fully conforms with Sun's set of JAVA specifications and JAVA APIs that define the JAVA[tm] Technology. In addition, twice annually for the five-year term of the agreement, defendant Microsoft is obligated to incorporate Sun's future modifications or enhancements of the JAVA[tm] Technology as and when released by Sun, and to do so in a manner that successfully passes the Test Suites provided by Sun with each upgrade of the JAVA[tm] Technology. To ensure that defendant Microsoft fully and completely complies with Sun's set of JAVA specifications and JAVA APIs, the TLD Agreement requires Microsoft to provide Sun the source code for a representative embodiment (called the "Reference Implementation") of the manner in which it has incorporated Sun's JAVA[tm] Technology in the commercial products it wishes to distribute (the "Compatible Implementation"), and to refrain from distributing any product incorporating Sun's JAVA[tm] Technology that does not pass Sun's Test Suites.

58.  As a value added distributor of the JAVA[tm] Technology, the TLD Agreement requires defendant Microsoft to incorporate Sun's JAVA[tm] Technology in products whose central purpose and consumer appeal is other than the JAVA[tm] Technology itself. Accordingly, while Microsoft is permitted to add capabilities to the JAVA[tm] Technology, it may do so only in accordance with the naming conventions specified in the TLD Agreement. To ensure that any additions or enhancements made by defendant Microsoft are clearly and prominently identified so that independent software developers may choose whether to utilize any platform-dependent APIs added by Microsoft in the programs they create, the TLD Agreement expressly requires Microsoft to confine the name of any addition or extension to the JAVA APIs of the JAVA[tm] Class Libraries to names beginning with "COM.ms". In this way, any and all such platform-dependent additions made to the JAVA[tm] Class Libraries by defendant Microsoft can immediately and clearly be recognized as such by software developers and others who wish to develop programs for use only with defendant Microsoft's implementations of the JAVA[tm] Technology.

59.  Similarly, the TLD Agreement specifically prohibits defendant Microsoft from modifying or extending the name of any public class or interface declaration whose names begin with "java.", "COM.sun" or their equivalents. Here again, the contract expressly restricts defendant Microsoft from naming or otherwise misrepresenting any addition or change it may wish to make to the APIs of the JAVA[tm] Class Libraries, the JAVA[tm] Compiler or the JAVA[tm] Runtime Interpreter as a "java." API.

60.  In addition, Microsoft specifically acknowledged that the source code form of Sun's JAVA[tm] Technology is confidential to Sun and agreed not to disclose such information to any third party.

THE TRADEMARK LICENSE

61.   On March 11, 1996 Sun and Microsoft also entered into the Trademark License. A true copy of the Trademark License is attached to this Complaint as Exhibit C.

62. Pursuant to the Trademark License, Sun granted Microsoft a license to display Sun's JAVA Compatible logo on or in connection with only such products as have successfully passed Sun's Test Suites, and which otherwise fully comply with all other compatibility and certification requirements of the TLD Agreement. Defendant Microsoft, in turn, agreed to display the JAVA Compatible logo on the external packaging of its Internet Explorer and developer tool kit products and in all written and on-line versions of end-user documentation describing the JAVA[tm] Technology contained in any of its products.

63.   The Trademark License further authorizes Sun to inspect and test any products of Microsoft distributed in association with the JAVA Compatible logo to ensure that they meet the compatibility requirements of the TLD Agreement, and obligates defendant Microsoft to promptly make any modifications to such product necessary to meet the conditions for displaying of the JAVA Compatible logo.

64.  Microsoft expressly acknowledges and agrees in the Trademark License that "Sun is the sole owner of the Compatibility Logo and all goodwill associated therewith," that Microsoft's "use of the Compatibility Logo inures solely to the benefit of Sun," that Microsoft "shall not knowingly and intentionally do anything that might harm the reputation or goodwill of the Compatibility Logo," "shall not challenge Sun's rights in or attempt to register the Compatibility Logo," "shall take no action inconsistent with Sun's rights in the Compatibility Logo," and "shall not commence any action regarding the Compatibility Logo."

MICROSOFT'S MISCONDUCT

65.  Following the execution of the TLD Agreement and Trademark License in March 1996, Microsoft publicly announced its support for Sun's JAVA[tm] Technology, and confirmed its commitment to implement Sun's JAVA[tm] Technology in accordance with Sun's JAVA[tm] specifications and JAVA APIs. On April 30, 1996 Microsoft announced that it "will integrate support for Sun Microsystems, Inc.'s JAVA technology into future versions of the Microsoft Windows®95 and Windows®NT operating systems," and that it "would support developers who are creating cross-platform applications in JAVA." Subsequently, on June 27, 1996 Microsoft announced that it "is working closely with Sun Microsystems Inc to ensure its JAVA implementation conforms to Sun's strict licensing standards."

66.  In February 1997 Sun upgraded the previously existing JAVA[tm] Technology by releasing the JDK 1.1 version of its developer's tool kit. The JDK 1.1 release modified and enhanced the previously existing JAVA specifications and JAVA APIs of the JAVA[tm] Class Libraries, the JAVA[tm] Compiler, and the JAVA[tm] Runtime Interpreter. For example, JDK 1.1 modified the existing set of JAVA specifications and JAVA APIs to enhance the tools available to developers to create programs that will cause host systems and browsers to display images (AWT), to protect the security of host systems running JAVA[tm] programs, to build reusable and cross-platform components of programs (JavaBeans[tm]), to program output formatting for different geographic locations (Internationalization), and to enable programs for the JAVA[tm] programming environment to communicate between different computers (RMI). In addition, the JDK 1.1 release modified the existing set of JAVA specifications and JAVA APIs of the JAVA[tm] Runtime Interpreter to enhance its ability to save and retrieve objects (serialization), to enable inspection of the APIs available in a particular virtual machine running the JAVA[tm] programming environment (reflection), and to execute code written for the native programming environment of the host system or browser in accordance with the bytecode instructions (the JAVA Native Method Interface or "JNI"). The modifications and enhancements contained in the JDK 1.1 upgrade of the JAVA[tm] Technology all serve to improve and enhance the methods and capabilities afforded by the JAVA[tm] Technology to create a single version of program code that can run on otherwise incompatible systems platforms and browsers.

67.  Months prior to Sun's February 1997 release of its JDK 1.1 upgrade to the JAVA[tm] Technology, Sun informed its distributors and others, including defendant Microsoft, of the modifications and enhancements it planned to incorporate in JDK 1.1, and encouraged interested parties to comment on and contribute to Sun's proposals. In addition, Sun actively solicited the input of its distributors and others, including defendant Microsoft, on a number of Sun's enhanced JAVA specifications and JAVA APIs, including Sun's JNI specification for the JAVA[tm] Runtime Interpreter.

68.  In conjunction with the release of JDK 1.1, Sun also released a modified and enhanced version of its Test Suites, called JCK 1.1, as well as JAVA specifications and JAVA APIs documenting the modifications and enhancements made to the JAVA[tm] Technology in the JDK 1.1 upgrade.

69.  Pursuant to the terms of the TLD Agreement, Sun promptly designated the JDK 1.1 release a "Significant Upgrade" to the JAVA[tm] Technology, thereby obligating defendant Microsoft to implement the set of modifications and enhancements contained in JDK 1.1 in the next commercial release of the Microsoft products incorporating Sun's JAVA[tm] Technology. In addition, Microsoft is obligated to deliver to Sun, no later than six (6) months following the release of JDK 1.1, Microsoft's source code for the Compatible Implementation in a manner that passes the JCK 1.1 Test Suite. These requirements were intended to insure that all products distributed by Microsoft that incorporate the JAVA[tm] Technology fully conform to the most current version of Sun's JAVA specifications and JAVA APIs as the JAVA[tm] Technology continues to evolve.

70.  At first, defendant Microsoft publicly announced that it would comply with its express contractual obligation to incorporate the JDK 1.1 upgrade in the next commercial versions of its product implementation. On December 16, 1996, after Sun released its beta version of the JDK 1.1 upgrade, Microsoft announced that "[o]ur customers want us to support cross-platform Java applications that use JDK 1.1 functionality, so we will." Subsequently, however, defendant has abrogated its contractual obligations and engaged in a deliberate course of conduct to fragment the standardized application programming environment established by the JAVA[tm] Technology, to break the cross-platform compatibility that characterizes the JAVA[tm] programming environment, and to incorporate the JAVA[tm] Technology in the products it distributes in a manner that will operate only on Microsoft's Win32-based systems platforms and no other systems platform or browser.

71.  Shortly after Sun's release of JDK 1.1, defendant Microsoft republished portions of the JAVA[tm] Technology contained in JDK 1.1, including portions of the modifications and enhancements included therein, as an updated version of its standalone SDKJ. Defendant Microsoft has posted SDKJ on its Website, where it has been downloaded by independent software developers and others around the world. On the first page of the Microsoft website through which SDKJ is distributed to developers, Microsoft has displayed, and continues to display, the JAVA Compatible logo. Such use of the JAVA Compatible logo is in blatant violation of the Trademark License, because Microsoft's SDKJ has not and cannot pass the Test Suites supplied by Sun to Microsoft.

72.  Publicly, Microsoft advises developers that SDKJ is a "superset of the JDK, meaning it is fully compatible with the JDK and provides functionality above and beyond what is offered by JDK." According to defendant Microsoft, "[t]he JAVA applications created with the SDKJ will run on any platform." Defendant Microsoft's statements are false.

73.  In fact, SDKJ has both added and deleted elements of Sun's JDK 1.1, and fails to contain or support critical portions of Sun's JDK 1.1 upgrade to the JAVA[tm] Technology. In particular, Microsoft has altered and modified Sun's set of JAVA APIs contained in JDK 1.1 by deleting the JNI. It also has eliminated the package of supplemental class libraries called "Remote Method Invocation" ("RMI" ), and has not otherwise made RMI separately available through alternative channels of distribution as required by the TLD Agreement.

74.  JNI is an API which enables the JAVA[tm] Runtime Interpreter to invoke native code. Microsoft has deleted Sun's JNI APIs for the JAVA[tm] Runtime Interpreter and replaced them with a proprietary native code interface, called RNI, which is not compatible with JNI. As a result of Microsoft's refusal to implement JNI in its product implementations, a program created for the JAVA[tm] programming environment according to Sun's JAVA specifications and JAVA APIs will fail to run native methods on Microsoft's Win32 implementations of the JAVA[tm] Technology.

75.  By selectively incorporating only portions of the JDK 1.1 modifications and enhancements to the JAVA[tm] Technology in its product implementations, and refusing to incorporate or otherwise distribute others, defendant Microsoft is intentionally and deliberately attempting to fragment the JAVA[tm] programming environment by causing programs written by developers for the JDK 1.1 JAVA[tm] programming environment to fail to operate on the Microsoft product implementations.

76.  In addition to the deletions to JDK 1.1 made by defendant Microsoft in SDKJ, Microsoft has also successively introduced various modifications and additions to the JAVA API for Sun's JAVA[tm] Class Libraries, many of which were and are to this day falsely and unlawfully included by Microsoft as "java." methods and "java." fields within the "java." packages and "java." classes of the class libraries provided in SDKJ. In particular, defendant Microsoft has deceptively modified the "java." APIs of its SDKJ class libraries in a manner that will cause programs written by developers using such additions to fail to run on any systems platform other than Microsoft's Win32-based systems. By deceptively adding Win32-specific and other APIs to the SDKJ class libraries, while unlawfully acting to disguise such API changes and additions as "java." methods and "java." fields within "java." packages and "java." classes, defendant Microsoft has acted to induce independent software developers who use SDKJ to unwittingly write programs using the modified SDKJ "java." APIs expecting to achieve cross-platform functionality, but which in fact will fail to run on any systems platform or browser other than products, such as Microsoft's Win32 version of Internet Explorer 4.0, that implement Microsoft's unlawfully modified "java." class libraries.

77.  As a result of Microsoft's misconduct, independent software developers and others are using defendant Microsoft's SDKJ to create and distribute programs for the JAVA[tm] programming environment in the false expectation that such programs will achieve the cross-platform compatibility afforded by the JAVA[tm] Technology and symbolized by the JAVA Compatible logo. Consequently, the perceived value of the JAVA[tm] Technology in the minds of the developers and purchasers has and will decline, and the reputation and goodwill earned by Sun in the marketplace as a result of its introduction of the JAVA[tm] Technology, has and will be irreparably harmed.

78.  Since Microsoft's initial release of SDKJ, it has continued to release via its Website a succession of new and different versions of class libraries for the JAVA[tm] programming environment, each of which introduces a new and ever-changing set of API additions and deletions to Sun's JAVA[tm] Class Libraries, many of which are falsely and unlawfully included as "java." methods and "java." fields in the "java." packages and "java." classes of the JAVA[tm] Class Libraries. None of the various versions of the class libraries which Microsoft has released passes the JCK 1.1 Test Suite, and each version of defendant Microsoft's SDKJ class libraries contain mislabelled "java." methods and fields that will cause programs written by developers using those methods and fields to fail to run on platforms other than Microsoft's Win32-based systems platforms. Notwithstanding this fact, Microsoft has falsely advertised and continues to advertise versions of its SDKJ containing such unlawfully modified class libraries as "JAVA Compatible," and has displayed the JAVA Compatible logo on Microsoft's SDKJ Web page.

79.  Defendant Microsoft promotes SDKJ to independent software developers and others as an alternative to Sun's JDK, and seeks to induce developers to use the modified class libraries contained in SDKJ to create programs, ostensibly for the JAVA[tm] programming environment, through a succession of misleading and/or false promotions and inducements. By this scheme Microsoft seeks to induce developers unwittingly to write programs for the JAVA[tm] programming environment that will perform only when run on Microsoft's implementation of the JAVA[tm] Technology for the Win32 programming environment, thereby unlawfully tying Sun's JAVA[tm] Technology to defendant Microsoft's Win32-based systems, impairing the cross-platform compatibility of the JAVA[tm] programming environment, and injuring Sun's commercial prospects as well as the value of its JAVA[tm] Technology.

80.  For example, as one inducement to use SDKJ to develop programs for the JAVA[tm] programming environment, defendant Microsoft distributes through SDKJ its implementation of the JAVA[tm] runtime environment, including the class libraries and runtime interpreter, and misleadingly advertises that the TLD Agreement designates Microsoft's implementation of the JAVA[tm] Technology as "the official reference implementation" for Win32-based systems platforms and browsers. In fact, Microsoft's implementations are not the "official reference implementation" of Sun's JAVA[tm] Technology for Win32-based systems or any other platform. Each of Microsoft's product implementations of the JAVA[tm] Technology must conform to Sun's set of JAVA specifications and JAVA APIs, must incorporate and or otherwise distribute Sun's most recent JDK upgrade to the JAVA[tm] Technology, and must pass the corresponding Sun Test Suite for each such upgrade. The only products defendant Microsoft is licensed to distribute under the TLD Agreement are "Compatible Products," that is, products that incorporate Sun's most recent JDK upgrade to the JAVA[tm] Technology and pass the corresponding Sun JCK Test Suite for the upgraded technology. Sun is informed and believes and on that basis alleges that Microsoft's misleading and false statement is made for the purpose of creating the false impression among software developers and others that Microsoft, not Sun, sets the standards for compatibility among products implementing the JAVA[tm] Technology for use with Win32-based systems platforms and browsers, and thereby to induce developers to use Microsoft's SDKJ in lieu of Sun's JDK to develop programs for products implementing the JAVA[tm] Technology on Win32-based systems platforms and browsers.

81.  As another inducement to use SDKJ to develop programs for the JAVA[tm] programming environment, Microsoft makes available through SDKJ its version of the JAVA[tm] runtime environment, and requires developers who wish to display its "Win32 Compatible" logo on the programs they create to use Microsoft's version of the runtime environment in their products. Because Microsoft dominates the market for desktop operating systems, developers consider it essential to be able to use defendant Microsoft's "Win32 Compatible" logo on their products. Accordingly, Microsoft's requirement has the effect of forcing developers to use Microsoft's SDKJ to develop programs whether or not they would otherwise wish to do so.

  As yet another inducement to use its SDKJ to develop programs for the JAVA[tm] programming environment, Microsoft falsely advertises that "[t]he JAVA[tm] applications created with the SDKJ will run on any platform." To the extent that programs developed using SDKJ incorporate or reference the methods or fields added by Microsoft to the JAVA[tm] Class Libraries, such programs will fail to operate on any systems platform or browser other than products, such as Microsoft's Win32 version of Internet Explorer 4.0, that implement Microsoft's unlawfully modified "java." class libraries.

83.  As a further inducement to developers to use its SDKJ class libraries to create programs for the JAVA[tm] programming environment, defendant Microsoft has commercially distributed its Internet Explorer 4.0 browser. Microsoft has falsely represented and advertised Internet Explorer 4.0 as having "full compatibility with all the cross-platform features of JDK 1.1." A true and correct copy of Microsoft's Internet Explorer Web page of October 2, 1997 is attached to this Complaint as Exhibit D. In fact, defendant Microsoft has unlawfully and deceptively modified the "java." methods and "java." fields of the "java." packages and "java." classes of Internet Explorer 4.0 in a manner that will cause programs which reference or incorporate such modified methods of fields to fail to run on any browser other than products, such as defendant Microsoft's Internet Explorer 4.0, that implement Microsoft's unlawfully modified "java." class libraries.

84.  For example, because Sun's JAVA APIs are platform- independent, they provide a "SystemColor" class that permits a developer to write a program to look up the color of an attribute on the desktop, such as the color of a menu or a button, regardless of the systems platform on which the desktop resides. Using this class, a program written to the "java." SystemColor class will function on all JAVA[tm] compatible systems platforms and browsers to paint the desktop image in accordance with the program's instructions. Microsoft has deceptively modified the "java." SystemColor class in SDKJ and Internet Explorer 4.0 by adding a "public" field, improperly denominated as a "java." field, that allows a program to look up the color of the desktop's "appWorkspace" from Microsoft's Windows®95 operating system. The unauthorized and deceptive addition of this field to the "java." class libraries of defendant Microsoft's SDKJ and Internet Explorer 4.0 will result in programs written by developers who invoke this field to fail to paint images on the desktop as directed by the program when that program is run on any systems platform or browser other than the Win32 platform. In short, a program written using the modified or additional methods and fields of the "java." class libraries contained in SDKJ and or Internet Explorer 4.0 will operate only as intended on Microsoft's products when run on Win32 platforms, and will fail to operate on any other Java compatible systems platform or browser.

85.  By deceptively adding Win32-specific and other APIs to the Internet Explorer 4.0 class libraries, while unlawfully acting to disguise such API changes and additions as "java." methods and "java." fields within "java." packages and "java." classes, defendant Microsoft has acted to induce independent software developers to use SDKJ to write programs in accordance with the modified "java." APIs of SDKJ and Internet Explorer 4.0 expecting such programs to achieve cross-platform functionality when, in fact, such programs will fail to run on any systems platform or browser other than products, such as Microsoft's Win32 version of Internet Explorer 4.0, that implement Microsoft's unlawfully modified "java." class libraries. By freely distributing Internet Explorer 4.0 from its Website, Microsoft seeks to establish a market share position for its browser that is sufficiently large as to induce developers to create browser programs for Internet Explorer 4.0 using the unlawfully modified JAVA class libraries of SDKJ.

86.  The modifications to the JAVA[tm] Technology distributed by Microsoft through its SDKJ and Internet Explorer 4.0 have caused and will continue to cause widespread and irreparable harm to:

a)   Persons using JAVA Compatible browsers other than Internet Explorer 4.0, who are harmed because some programs written by developers using Microsoft's SDKJ are not fully functional on their browsers;

b)   Software developers using SDKJ, who are harmed because, unbeknownst to them, some of the programs they develop are not fully functional on browsers other than Internet Explorer 4.0;

c)  Browser developers other than Microsoft, who are harmed because some programs written to run by developers who use Microsoft's SDKJ developer's tool kit are not fully functional on browsers other than Internet Explorer 4.0, and this failure is and will likely continue to be mistakenly attributed to such browsers or to Sun's JAVA[tm] Technology;

d)  Enterprises developing programs for the JAVA[tm] programming environment, who are harmed because the promise of cross-platform compatibility on which they rely is being impaired as a result of Microsoft's efforts to fragment the JAVA[tm] programming environment; and

e)  Sun, which is harmed because the cross-platform compatibility created by the JAVA[tm] Technology has been and will continue to be impaired, and Sun, not Microsoft is and will continue to be wrongfully identified by developers as the source of their problems.

87.   In connection with its commercial release of Internet Explorer 4.0, Microsoft has posted an Internet Explorer site on the World Wide Web from which the public can download the commercial version of Internet Explorer 4.0 and SDKJ together with documentation for the products. Sun is informed and believes and on that basis alleges that over 1 million individuals accessed the Microsoft Website and downloaded the commercial version of Internet Explorer 4.0 in the first 48 hours following its release on September 30, 1997.

88.  Microsoft's SDKJ Web page unlawfully displays the JAVA Compatible logo immediately adjacent to its Internet Explorer logo and links the JAVA Compatible logo to its Website box for initiating download of Internet Explorer 4.0. A true and correct copy of defendant Microsoft's SDKJ Web page of October 2, 1997 is attached to this Complaint as Exhibit E, and a true and correct copy of defendant Microsoft's JAVA[tm] Web page of October 6, 1997 is attached to this Complaint as Exhibit F.

89.  Microsoft's unauthorized use of the JAVA Compatible logo in connection with its distribution of Internet Explorer 4.0 and SDKJ, neither of which pass Sun's Test Suites, has caused and will continue to cause widespread confusion as to the meaning and significance of the JAVA Compatible logo, thereby diminishing the value of the JAVA Compatible logo and the commercial acceptance and value of the JAVA[tm] Technology and the JAVA[tm] programming environment. As a result, Sun's business and reputation are and will be irreparably harmed.

90.   If, alternatively, Microsoft distributes Internet Explorer 4.0 without the JAVA Compatible logo, that act would violate the Trademark License by which Microsoft is obligated to display the JAVA Compatible logo in connection with its commercial distribution of Internet Explorer 4.0.

91.  When Microsoft first released SDKJ, Sun promptly objected to Microsoft that SDKJ did not provide a significant functional and value enhancement in addition to the JAVA[tm] Technology, and therefore did not fall within the scope of products defendant Microsoft was licensed to distribute under the terms of the TLD Agreement. In addition, Sun notified Microsoft as early as April 1997 that the SDKJ did not fully comply with or implement the JDK 1.1 JAVA[tm] Technology, would not pass the JCK 1.1 Test Suite, and therefore was not authorized for public distribution under the terms of the TLD Agreement.

92.  To further deter developers from embracing the JAVA[tm] Technology and thereby delay the development of programs for the JAVA[tm] programming environment, and to deter other systems manufacturers and browser developers from implementing the JAVA[tm] Technology and thereby limit the commercial acceptance of the JAVA[tm] programming environment, Microsoft has engaged in an extensive public relations campaign to denigrate the performance of the JAVA[tm] Technology, while falsely claiming that its implementations of the JAVA[tm] Technology are fully compatible with the cross-platform programming environment of the JAVA[tm] Technology.

93.  Sun is informed and believes that Microsoft's refusal to fulfill its obligations under the TLD Agreement and Trademark License reflects Microsoft's deliberate effort to maintain its dominant position in the market for desktop operating systems software by undermining the cross-platform compatibility of the JAVA[tm] programming environment, by fragmenting the JAVA[tm] programming environment into systems-dependent environments, and inducing independent developers to unwittingly create programs for the JAVA[tm] programming environment that will operate only on Win32-based systems.

FIRST CLAIM (False Representation and False Designation of Origin)

94.   Sun incorporates by reference the allegations set forth in paragraphs 1 through 92 of this Complaint.

95.  Microsoft's unauthorized use of the JAVA Compatible logo in connection with Internet Explorer 4.0 and SDKJ constitutes false designation of origin and false representation in violation of 15 U.S.C. § 1125(a). Microsoft's use of the JAVA Compatible logo in connection with these products is likely to cause and on information and belief has actually caused confusion in the marketplace by creating the false and erroneous impression that Microsoft has incorporated the JAVA[tm] Technology into its products in compliance with the requirements for use of the JAVA Compatible logo.

96.   Microsoft's false designation of origin and false description via its use of the JAVA Compatible logo, has caused and if not enjoined, will continue to cause irreparable and continuing harm to Sun, for which Sun has no adequate legal remedy.

97.   As a direct and proximate result of Microsoft's wrongful use of the JAVA Compatible logo, Sun has been and will continue to be damaged by, without limitation, a diminution in the value of its trademarks, reputation, and goodwill in an amount to be proven at trial.

98.   Microsoft's wrongful use of the JAVA Compatible logo is knowing, deliberate, willful, fraudulent, and without extenuating circumstances. Sun is therefore entitled to recover three times the amount of its actual damages, as well as its attorney's fees and costs incurred in this action.

Wherefore , Sun prays for judgment against Microsoft as set forth below.

SECOND CLAIM (False and Misleading Advertising)

99.   Sun incorporates by reference the allegations set forth in paragraphs 1 through 92 of this Complaint.

100.  The following public statements of defendant Microsoft constitute false and misleading advertising in violation of 15 U.S.C. § 1125(b):

101.   Microsoft's false and misleading statements as described above are material and are likely to cause and, on information and belief, have caused actual deception in the marketplace.

102.   Microsoft's false and misleading advertising has caused and, if not enjoined, will continue to cause irreparable and continuing harm to Sun, for which Sun has no adequate legal remedy.

103.   As a direct and proximate result of Microsoft's false and misleading advertising, Sun has been and will continue to be damaged in an amount to be proven at trial.

104.   On information and belief, Microsoft's false advertising is knowing, willful, fraudulent and without extenuating circumstances. Sun is therefore entitled to recover three times the amount of its actual damages, as well as its attorney's fees and costs incurred in this action.

WHEREFORE , Sun prays for judgment against Microsoft as set forth below.

THIRD CLAIM (Breach of Trademark License)

105.   Sun incorporates by reference the allegations set forth in paragraphs 1 through 92 of this Complaint.

106.  Microsoft is licensed to display Sun's JAVA Compatible logo only "on versions of Licensee's Products that have successfully passed the Test Suites made available by Sun to Licensee . . . ."

107.  In addition, to the extent that defendant Microsoft incorporates JAVA[tm] Technology in its products, it is obligated to display the JAVA Compatible logo on the external packaging of its developer tool kit products and Internet Explorer if sold through the retail channel, and in all written and on-line end-user documentation describing the JAVA[tm] Technology in any Microsoft product, including Internet Explorer.

108.  Microsoft has breached the Trademark License by displaying the JAVA Compatible logo in some, but not all, on-line end-user documentation describing the JAVA[tm] Technology in SDKJ and Internet Explorer 4.0, neither of which has successfully passed Sun's Test Suites.

109.  Alternatively, Microsoft has breached the Trademark License by failing to display the JAVA Compatible logo on all written and on-line end-use documentation that describes the JAVA[tm] Technology implemented in defendant Microsoft's Internet Explorer 4.0.

110.   Sun has performed all of its obligations under the Trademark License.

111.   As a result of defendant Microsoft's breach of the Trademark License, Sun has suffered and will continue to suffer irreparable harm to its business and property, for which Sun has no adequate legal remedy.

112.   As a direct and proximate result of Microsoft's breach, Sun has been and will continue to be damaged in an amount not yet fully ascertained, but which exceeds seventy-five thousand dollars.

WHEREFORE , Sun prays for judgment against Microsoft as set forth below.

FOURTH CLAIM (Breach of TLD Agreement)

113.   Sun incorporates by reference the allegations set forth in paragraphs 1 through 92 of this Complaint.

114.   In default of its obligations under the TLD Agreement, defendant Microsoft has failed and/or refused to:

a)  Deliver to Sun the source code for any Compatible Implementation of the JDK 1.1 JAVA[tm] Technology; and

b)   Confine the names of all VAOPs to names beginning with `COM.ms'.

115.   In further default of its obligations under the TLD Agreement, defendant Microsoft has:

116.   Sun has performed all of its obligations under the TLD Agreement.

117.   As a result of defendant Microsoft's breach of the TLD Agreement, Sun has suffered and will continue to suffer irreparable harm to its business and property, for which Sun has no adequate legal remedy.

118.   As a direct and proximate result of Microsoft's breach, Sun has been and will continue to be damaged in an amount not yet fully ascertained, but which exceeds seventy-five thousand dollars.

119.   As a further result of Microsoft's breach, which is a material breach, Sun is entitled to a judgment terminating the TLD Agreement and the Trademark License.

WHEREFORE , Sun prays for judgment against Microsoft as set forth below.

FIFTH CLAIM (Breach of TLD Agreement) (Liquidated Damages)

120.   Sun incorporates by reference the allegations set forth in paragraph 1 through 92 of this Complaint.

121.  Section 11.2 (a) of the TLD Agreement provides that if Microsoft intentionally and wilfully makes the Source Code to the JAVA[tm] technology generally available to the public, it shall be obliged to pay Sun the amount of Thirty Five Million ($35,000,000) in liquidated damages.

122.  From a date as yet unknown to Sun until at least October 6, 1997, Microsoft has made the Source Code for confidential and proprietary "Sun." classes implementing the JAVA[tm] Technology generally available to the public for downloading on the Microsoft Website.

123.   As a result of these actions, Microsoft has breached the TLD Agreement, and is obligated to pay Sun liquidated damages therefor in the sum of $35,000,000.

WHEREFORE, Sun prays for judgment against Microsoft as set forth below.

SIXTH CLAIM (Breach of Implied Covenant of Good Faith and Fair Dealing)

 

124.   Sun incorporates by reference the allegations set forth in paragraphs 1 through 92 of this Complaint.

125.   A covenant of good faith and fair dealing is implied in every contract, including the TLD Agreement and the Trademark License between Sun and Microsoft.

126.  Through its wrongful conduct as alleged above, Microsoft has breached the covenant by attempting to deprive and actually depriving Sun of the benefits of these Agreements. In particular, by doing the acts as alleged, Microsoft has taken overt and covert steps to impair or disrupt the cross-platform compatibility afforded by Sun's JAVA[tm] Technology.

127.   Microsoft's breach of the implied covenant of good faith and fair dealing has caused damage to Sun in an amount not yet fully ascertained, but which exceed seventy-five thousand dollars.

WHEREFORE , Sun prays for judgment against Microsoft as set forth below.

SEVENTH CLAIM (Unfair Competition)

128. Sun incorporates by reference the allegations set forth in paragraphs 1 through 92 of this Complaint.

129.  Sun is informed and believes, and based thereon alleges, that Microsoft has deceptively altered and otherwise modified the JAVA[tm] Technology as incorporated in its SDKJ and Internet Explorer 4.0 so that programs written through use of defendant's SDKJ for Internet Explorer 4.0 may fail to operate on any browser or systems platform other than defendant's Internet Explorer 4.0 running on defendant's Win 32-based platforms. In addition, Microsoft is distributing Internet Explorer 4.0 as an inducement to developers to create programs with the SDKJ for Internet Explorer 4.0 in the mistaken belief that such programs will also operate on any other JAVA Compatible systems platform or browser. Sun is informed and believes and based thereon alleges that Microsoft took these steps for the purpose of maintaining its dominance over desktop operating systems, and to extend that dominance to browsers and other applications, by rendering the products it distributes that incorporate Sun's JAVA[tm] Technology operable only or preferably on defendant Microsoft's Win32-based systems, and thereby injuring and/or disrupting the cross-platform compatibility of the JAVA[tm] programming environment.

130.  Sun is also informed and believes, and based thereon alleges, that Microsoft's unauthorized use of the JAVA Compatible logo with the SDKJ is an integral part of its wrongful scheme to tie Sun's JAVA[tm] Technology to Win32-dependent platforms, fragment the JAVA[tm] programming environment, and cast blame on Sun for any failure of programs written by use of defendant's SDKJ to run on platforms other than defendant's Win32 systems.

131.  Microsoft has also engaged in other acts of unlawful, unfair and fraudulent business practices relating to Sun's JAVA[tm] Technology, by inter alia:

132.   Microsoft's actions, as alleged, constitute unfair competition in violation of section 17200 et seq. of the California Business and Professions Code.

133.  By reason of Microsoft's unfair competition, Sun has been deprived and will in the future be deprived of the opportunity to promote, license and market the JAVA[tm] Technology, and the public has been and will be deprived of the benefits of true cross-platform compatibility and the open systems capability of the JAVA[tm] programming environment. Microsoft's acts of unlawful, unfair and fraudulent business practices are ongoing.

134.   Microsoft's acts of unfair competition, if not enjoined, are causing and will continue to cause irreparable harm to Sun, for which Sun has no adequate legal remedy.

135.   As a result of Microsoft's acts of unfair competition, Sun has been and will be damaged by, without limitation, a diminution in the value of its trademarks, business, reputation, and good will in an amount which, although unascertained, exceeds seventy-five thousand dollars.

WHEREFORE, Sun prays for judgment against Microsoft as set forth below.

 

EIGHTH CLAIM (Intentional Interference With Prospective Economic Advantage)

136.   Sun incorporates by reference the allegations set forth in paragraphs 1 through 92 of this Complaint.

137.  As a result of Sun's creation and on-going enhancement of the JAVA[tm] Technology, together with the licenses Sun has entered into with systems manufacturers, browser developers, and software developers to implement and use the JAVA[tm] Technology in a manner that conforms with Sun's set of JAVA specifications and JAVA APIs, Sun has succeeded in establishing increasingly valuable standardized application programming environments for systems and for browsers. The current and future adoption of the JAVA[tm] application programming environment by systems manufacturers or browser developers is in large measure dependent on the mutual commitment of each other systems manufacturer and browser developer to the continuing implementation of the JAVA[tm] Technology in a manner that conforms to the set of JAVA specifications and JAVA APIs that define the JAVA[tm] programming environment. The current adoption and future expansion of the JAVA[tm] programming environment is also dependent on the continued willingness of software developers to write desktop applications and browser programs for the JAVA[tm] programming environment.

138. At all times material hereto, Microsoft possessed and possesses knowledge of Sun's relationships with Sun's distributors and software developers.

139.  Sun is informed and believes, and based thereon alleges, that Microsoft has committed and is committing the acts alleged in this Complaint with the specific intent to impair or otherwise reduce the value of the JAVA[tm] programming environment, and to disrupt Sun's business relationships and prospective business relationships with its distributors, licensees, end-users and customers.

140.  By acting to induce developers to create programs for the JAVA[tm] programming environment that will only run on defendant Microsoft's Win32-based systems, in reliance on the false expectation engendered by Microsoft that such programs will achieve the cross- platform features provided by Sun's JAVA[tm] Technology, Microsoft has disrupted and will continue to disrupt and fragment the JAVA[tm] programming environment. As a proximate result of defendant Microsoft's actions, the commercial acceptance of Sun's JAVA[tm] Technology by systems manufacturers, browser developers, and software developers is and will be impaired, the prospective economic advantage of Sun's JAVA[tm] Technology will be reduced, and Sun will suffer a loss and diversion of profits that it might otherwise enjoy from its licenses for the JAVA[tm] Technology, and from the increased sale of Sun systems platforms designed to operate with the JAVA[tm] Technology.

141.   As a proximate result of Microsoft's wrongful scheme, Sun's relationships with its existing and potential distributors, licensees, developers and customers for its systems platform have in fact been disrupted and will continue to be disrupted in the future.

142.  As a direct and proximate result of the wrongful acts of Microsoft, Sun has been damaged in its business and property through, among other things, the loss of revenues and profits attributable to the weakening or disruption of the acceptance and implementation of the JAVA[tm] Technology by systems manufacturers and browser developers, and the fostering of non-JAVA[tm] compatible software and browser programs now and in the future which impair cross-platform JAVA[tm] compatibility, in an amount which, although as yet to be ascertained, exceeds seventy-five thousand dollars and will be subject to proof at trial.

143.   Sun is informed and believes, and based thereon alleges, that in engaging in the aforementioned acts and conduct, Microsoft acted maliciously, oppressively, fraudulently, and therefore Sun is entitled to an award of exemplary damages against Microsoft in an amount according to proof for the sake of example and by way of punishment.

WHEREFORE , Sun prays for judgment against Microsoft as set forth below.

NINTH CLAIM (Inducing Breach of Contract)

144.   Sun incorporates by reference the allegations set forth in paragraphs 1 through 92 of this Complaint.

 

145.  Valid licenses and contracts exist between Sun and software developers pursuant to which Sun has granted software developers fully paid, non-exclusive, world-wide limited licenses under such intellectual property rights of Sun as are needed to create and distribute products implementing the JAVA[tm] Technology subject to the conditions that such product implementations (i) must be complete implementations of the JAVA[tm] specification and public APIs; (ii) must pass all Test Suites relating thereto made available by Sun, and (iii) do not derive from Source Code or binary materials. As alleged above, Sun also created and freely distributes the JDK to allow developers to create software programs in the JAVA[tm] applications programming environment.

146.  Microsoft wrongfully induced and induces software developers with said license agreements with Sun to unknowingly breach their licenses, to the benefit of Microsoft. Microsoft carries out this inducement by offering software developers Microsoft's "SDKJ," which it represents as a JAVA Compatible Tool Kit to write applications, or applets, in the JAVA[tm] applications programming environment. In addition, Microsoft has released the Internet Explorer 4.0, which it has also represents to be JAVA[tm] compatible, thus giving the developers a commercial vehicle to which they can write programs. But because the SDKJ and Internet Explorer 4.0 are not truly JAVA[tm] compatible, Microsoft has in fact entered induced software developers to write software programs which will not have cross-platform compatibility, as they have been led to believe by Microsoft, but which will only operate on Microsoft's unlicensed Win32 implementation of the JAVA[tm] Technology. As a result, Microsoft has wrongfully induced developers to unknowingly breach their licenses with Sun contrary to their own intentions.

147. Microsoft knew of the existence of these licenses and contracts for the JAVA[tm] Technology between Sun and software developers.

148. Microsoft intended to induce a breach of the licenses and contracts between Sun and the software developers.

149.   The licenses and contracts were in fact breached.

150.   As a result of defendant Microsoft's wrongful conduct, Sun has suffered and will continue to suffer irreparable harm to its existing contractual relations with its licensees and customers, its business and property.

151.   The acts and conduct of Microsoft which induced the breach has caused and will continue to cause damage to Sun in an amount which, although yet to be ascertained, exceeds seventy-five thousand dollars.

152.   Sun is informed and believes, and based thereon alleges, that in engaging in the aforementioned acts and conduct, Microsoft acted maliciously, oppressively, fraudulently, and therefore Sun is entitled to an award of exemplary damages against Microsoft in an amount according to proof for the sake of example and by way of punishment.

WHEREFORE , Sun prays for judgment against Microsoft as set forth below.

PRAYER FOR RELIEF

1.  On Sun's First, Second and Seventh Claims, a preliminary and permanent injunction enjoining Microsoft and its officers, directors and agents from using directly or indirectly in connection with the sale and distribution of Microsoft's SDKJ or Microsoft's Internet Explorer 4.0, the JAVA Compatible logo or any other mark that imitates or simulates or is confusingly similar to the JAVA Compatible logo; from doing directly or indirectly any acts or making any statements that are likely to cause confusion, mistake or deception in the marketplace as to the compatibility of Internet Explorer 4.0 and SDKJ with Sun's JAVA[tm] Technology, including (without limitation) the statement that Internet Explorer 4.0 is "one hundred percent JAVA"; from doing directly or indirectly any acts that are likely to diminish the value of the JAVA Compatible logo, including (without limitation) selling and/or shipping any product with the JAVA[tm] Compatible logo which is not in fact compatible with the JAVA[tm] Technology; and from using directly or indirectly any trade practices including those complained of herein, that compete unfairly with or injure Sun and Sun's business related to the JAVA Compatible logo.

2.  On Sun's Third and Fourth Claims, a decree directing defendant Microsoft to specifically perform its obligations to distribute only such products incorporating Sun's JAVA[tm] Technology as fully and completely implement Sun's most current Upgrade thereof and pass the corresponding Sun Test Suites for such technology.

3.  On Sun's Third, Fourth, Seventh and Ninth Claims, a preliminary and permanent injunction enjoining Microsoft and its officers, directors and agents from directly or indirectly distributing any product incorporating any element of Sun's JAVA[tm] Technology, including Microsoft's SDKJ or Internet Explorer 4.0, that fails to incorporate Sun's most current Upgrade of the JAVA[tm] Technology in a manner that passes Sun's corresponding Test Suites for such technology.

4.   On Sun's First, Second, and Third Claims for Relief, an accounting by Microsoft for any and all profits which Microsoft has derived from its misuse of the JAVA Compatible logo;

5.   On Sun's First and Second Claims for Relief, damages in treble the amount of Microsoft's profits from its misuse of the JAVA Compatible logo, and in treble the amount of the damages sustained by Sun as a result of Microsoft's unauthorized use of the JAVA Compatible logo;

6.   On Sun's First and Second Claims, Sun's costs in this action and reasonable attorney's fees and expenses;

7.   On Sun's Third, Fourth, Sixth, Seventh, Eighth and Ninth Claims, compensatory damages in an amount to be proven at trial;

8.   On Sun's Third and Fourth Claims, a judgment terminating the TLD Agreement and Trademark License;

9.   On Sun's Fifth Claim, liquidated damages in the amount of $35,000,000;

10.   On Sun's Fifth Claim, a preliminary and permanent injunction enjoining Microsoft from any public disclosure of Sun's confidential source code, and directing Microsoft to return all copies thereof to Sun.

11.   On Sun's Eighth and Ninth Claims, exemplary damages in an amount according to proof.

12.   On all Claims, such additional and further relief as the Court deems just and proper.

JURY DEMAND

Sun Microsystems, Inc., demands trial by jury.

Dated: October 14, 1997.