Sun Microsystems, Inc. v. Microsoft Corp.

87 F. Supp. 2d 992 (2000)

SUN MICROSYSTEMS, INC., a Delaware Corporation, Plaintiff,
v.
MICROSOFT CORPORATION, a Washington Corporation, Defendant.

No. C 97-20884 RMW (PVT).

United States District Court, N.D. California.

January 24, 2000.

*993 Lloyd R. Day, Jr., Day, Casebeer, Madrid & Batchelder, Cupertino, CA, for Plaintiff.

David T. McDonald, Karl J. Quackenbush, Preston, Gates & Ellis, Seattle, WA, Terrence P. McMahon, Barbara A. Caulfield, Orrick, Herrington, & Sutcliffe LLP, Menlo Park, CA, Allen Ruby, Ruby & Schofield, San Jose, CA, Thomas Burt, Microsoft Corp., Redmond, WA, for Defendant.

ORDER RE SUN'S MOTION TO REINSTATE NOVEMBER 17, 1998 PRELIMINARY INJUNCTION UNDER CAL. BUS. & PROF. CODE §§ 17200 ET SEQ.

[Re Docket No. 1658]

WHYTE, District Judge.

Sun Microsystems, Inc.'s Motion to Reinstate November 17, 1998 Preliminary Injunction Order Under Cal. Bus. & Prof. Code §§ 17200 et seq. was heard on October 15, 1999. The court has read the moving and responding papers, heard the oral argument of counsel, and consulted with the neutral expert appointed in the present case. For the reasons set forth below, the court grants in part Sun's motion to reinstate the November 17, 1998 Preliminary Injunction Order based upon Microsoft Corporation's alleged unfair competition.

I. BACKGROUND

A. NATURE OF MOTION

In its May 12, 1998 motions for preliminary injunctive relief, Sun Microsystems, Inc. ("Sun") sought to enjoin Microsoft Corporation ("Microsoft") from distributing incompatible versions of Sun's Java Technology based on theories of copyright infringement and unfair competition. On November 17, 1998, the court, based on Sun's showing of likely success as to its claim for copyright infringement, granted preliminary injunctive relief to Sun restricting Microsoft's distribution of software products incorporating Sun's Java Technology. Since Sun's claim for copyright infringement supported much of the relief it sought, the court did not decide whether Sun's claim for unfair competition warranted the same relief. See Sun Microsystems, Inc. v. Microsoft Corp., 21 F. Supp. 2d 1109, 1126 (N.D.Cal.1998). However, the court did address Sun's motion for preliminary injunctive relief based on its claim of unfair competition to the extent it sought to enjoin certain of Microsoft's licensing practices and alleged false and misleading statements to software developers. Id.

On August 23, 1999, the Ninth Circuit issued an order vacating and remanding the November 17, 1998 Preliminary Injunction Order. As to Sun's claim for copyright infringement, this court, according to the Ninth Circuit, failed to adequately address whether the compatibility terms of the TLDA limited the scope of *994 Microsoft's license or whether they constituted covenants independent of the license grants, breach of which only supports claims for breach of contract. See Sun Microsystems, Inc. v. Microsoft Corp., 188 F.3d 1115, 1121 (9th Cir.1999). In addition, the Ninth Circuit vacated that portion of the November 17, 1998 Order based on Sun's claim of unfair competition. It reasoned that, under California law, a plaintiff is not entitled to an injunction for a defendant's past conduct, unless it shows that such conduct is likely to recur. Id. at 1123 (citing People v. Toomey, 157 Cal. App. 3d 1, 20, 203 Cal. Rptr. 642 (1984)). However, the Ninth Circuit recognized that on remand Sun, even if not entitled to an injunction based upon copyright infringement, might be able to demonstrate entitlement under the "traditional standard for preliminary injunctions" for recurring unfair business practices. Id.

Sun now moves to reinstate the November 17, 1998 Preliminary Injunction Order based on Microsoft's alleged unfair competition.[1] In addition, Sun asks the court to expand the injunction to cover new acts of alleged unfair competition by Microsoft. Specifically, Sun seeks additional provisions enjoining Microsoft from:

(1) promoting Microsoft's proprietary "@com" compiler directives as adhering to Sun's JAVA™ specifications or as otherwise being approved by Sun in any respect; and (2) negotiating, entering into, or enforcing any agreement by which a third party implements and/or distributes Microsoft's unauthorized and incompatible language extensions unless such products comply with the same restrictions imposed on Microsoft's distribution of similar products.

Sun's Motion for Reinstatement re: Unfair Competition at 1.

B. THE COMPATIBILITY PROVISIONS OF THE TLDA

Sun and Microsoft entered into a Technology Licensing and Distribution Agreement ("TLDA") on March 12, 1996. Pursuant to the TLDA, Sun granted to Microsoft a nonexclusive development license "under the Intellectual Property Rights of SUN to make, access, use, copy, view, display, modify, adapt, and create Derivative Works of the Technology in Source Code form for the purposes of developing, compiling to binary form and supporting Products." TLDA § 2.1(a).[2] Sun also granted Microsoft a limited distribution license to "make, use, import, reproduce, license, rent, lease, offer to sell, sell or otherwise distribute to end users as part of a Product or an upgrade to a Product, the Technology and Derivative Works thereof in binary form." TLDA § 2.2(a)(iii). However, the TLDA also places compatibility requirements on Microsoft's commercially distributed implementations of the Java Technology. See TLDA § 2.6(a)(vi) ("Licensee agrees that any new version of a Product that Licensee makes commercially available to the public after the most recent Compatibility Date shall only include the corresponding Compatible Implementation (subject to Licensee's right to exclude the Supplemental Java Classes pursuant to Section 2.7); provided, that any version of a Product which, as of such Compatibility Date, is being beta tested by third parties, shall be exempt from such requirement."). The TLDA also places similar compatibility obligations on any Java Compiler that Microsoft develops and distributes. See TLDA § 2.6(b)(iv) ("any new version of a Product that includes the Java Language compilation function that Licensee makes commercially available to the public after the most recent Compatibility Date shall include a mode which a Tool Customer may use to permit such Product to pass the Java Language Test Suite[3] that accompanied the Significant Upgrade.").

*995 As to the Java Virtual Machine, section 2.6(a) sets forth a compliance validation scheme resulting in Microsoft's development and eventual delivery of a "Compatible Implementation." According to the TLDA, Sun may develop and deliver Upgrades to the Java Technology. See TLDA § 2.6(a)(iii), 3.1. Sun may designate two such Upgrades per year as "Significant Upgrades" and, subject to the backwards compatibility obligations of section 2.6(a)(iii), require Microsoft to deliver a "Java Reference Implementation" that is compatible with the Significant Upgrade. TLDA §§ 2.6(a)(iv), 2.6(a)(v). Compatibility under the TLDA hinges on passing the test suite accompanying the Significant Upgrade. See TLDA § 2.6(a)(iv) ("[Microsoft] shall deliver to SUN ... an upgrade to the Java Reference Implementation (each, a `Compatible Implementation' that passes the test suite that accompanied the Significant Upgrade.")). The TLDA marks the date that Microsoft delivers the Compatible Implementation[4] in response to a Significant Upgrade as the "Compatibility Date." Id. Microsoft agreed to limit commercial distribution to Products including the Compatible Implementation corresponding to the most recent Compatibility Date. TLDA § 2.6(a)(vi).

C. SUN'S THEORY OF UNFAIR COMPETITION

1. Distribution of Non-Compliant Java Technology

Sun bases its claim of unfair competition, in part, on Microsoft's allegedly illegal efforts to squash the competitive threat posed by Sun's Java Technology in order to maintain its monopoly in desktop operating systems. Sun labels Microsoft's allegedly anti-competitive conduct as an "embrace and extend" strategy. First, Microsoft "embraced" the Java Technology by licensing from Sun the right to use its Java Technology to develop and distribute compatible Products. Second, Microsoft "extended" the Java platform by developing strategic incompatibilities into its Java runtime and development tools products. According to Sun, these incompatibilities tied applications using Microsoft's Java development tools to Microsoft's virtual machine and the Windows platform. Third, Microsoft used its distribution channels to flood the market with its version of the Java Technology in an attempt to "hijack the Java Technology and transform it into a Microsoft proprietary programming and runtime environment." Sun's Reply at 8.

According to Sun, Microsoft's strategic incompatibilities were designed to exploit its market power and the economic and technical constraints imposed on software developers. These strategic incompatibilities included unauthorized extensions to the java.* class libraries, which ensured that applications created with Microsoft's Java development tools were tied to its virtual machine and operating system.[5] Second, Microsoft's refusal to implement JNI in its Java runtime or development tools products, says Sun, prevented developers from writing a Java/native application *996 for all virtual machines running on a given platform. The exclusion of JNI, therefore, forced developers to write one Java/native application for Microsoft's virtual machine and another version for other implementations. Microsoft's use of its dominant market power in operating systems to flood the market with its Java runtime products, contends Sun, ensured that developers would write Java/native applications for Microsoft's implementation before any other. In addition, the cost of porting, says Sun, discouraged developers from also creating the same Java/native application for compliant Java implementations. Moreover, Microsoft's substitution of the RNI and J/Direct native method interfaces in place of Sun's JNI, according to Sun, ensured that developers wanting to develop hybrid Java/native applications that would run on Microsoft's virtual machine had no choice but to use Microsoft's Java development tools products.[6]

Lastly, Sun contends that, in an effort to further fragment the Java programming environment, Microsoft extended the Java language to ensure that applications developed with its Java tools products were tied to Microsoft's implementation of the Java virtual machine. Microsoft's keyword extensions and compiler directives, says Sun, replaced the contractual lock-in Microsoft initially employed. Specifically, Microsoft once required certain licensees to exclusively distribute Microsoft's virtual machine and to use Microsoft's native code interfaces as the sole method of calling native code. Microsoft's exclusion of JNI and its Java language extensions embedded in its Java development tools products allegedly provided a technical lock-in that forced developers to use Microsoft's native code interfaces and distribute Microsoft's implementation of the Java virtual machine.

Sun also decries Microsoft's more recent efforts to license the technology embodying Microsoft's non-compliant language extensions to software developers, tools vendors, and entities in the business of cloning the Java technology. Beyond their distribution in Microsoft's own software products, Microsoft makes available its windows-specific extensions to the Java Technology in a variety of ways. For example, it has paid Tower Technology Corporation ("Tower") to develop a modified version of IBM's Jikes Compiler that supports Microsoft's language extensions. See Howard 9/24/99 Decl. ¶ 3. The Tower agreement also allows Tower to incorporate Microsoft's language extensions into its "TowerJ high performance deployment system." Id. ¶ 4. According to Tower, neither the IBM's Jikes compiler nor its own technology incorporates any Sun copyrighted program code. Id. ¶¶ 8, 9. Microsoft similarly paid Transvirtual Technologies, a "cloner" of the Java Technology, to include Microsoft's language extensions in its independently developed implementations. See Day 9/3/99 Decl. Exs. 34, 35. Microsoft also grants royalty-free licenses to its Developer Tools Interoperability Kit ("DTIK"[7]), which assists tools vendors in the implementation and support of Microsoft's extensions. See Day 9/3/99 Decl. Ex. 37. Sun also cites a draft agreement relating to Microsoft's Windows Foundation Classes[8] ("WFC"), which requires licensees, if any exist, to implement the "J/Direct and Delegates Specification" in distributed virtual machine implementations. See Day 9/3/99 Decl. Ex. 28.

*997 2. False and Misleading Advertising

Sun also claims that Microsoft has made certain misrepresentations about its software products and technologies relating to the Java Technology in an effort to confuse and induce developers to create applications using Microsoft's extended Java programming environment. See 5/12/98 Unfair Comp. Motion at 19. In its May 12, 1998 motion, Sun alleged that Microsoft misleadingly advertised its implementation of the Java Technology as the "official reference implementation" for Win32-based systems. More recently, Microsoft has falsely promoted, says Sun, its @com compiler directive technology as complying with Sun's specifications for the Java Technology and being approved by Sun. See Day 9/3/99 Decl. Exs. 24, 25.

D. SECTION 11 OF THE TLDA AND THE AVAILABILITY OF INJUNCTIVE RELIEF

In its appeal to the Ninth Circuit of this court's November 17, 1998 Order, Microsoft argued for the first time that this court's previous construction of section 11.2 of the TLDA conditioned the availability of injunctive relief on Sun's showing that a Microsoft senior management official wilfully and intentionally breached the compatibility provisions of the TLDA. See Sun Microsystems, Inc. v. Microsoft Corp., 999 F. Supp. 1301, 1306-07 (N.D.Cal. 1998). However, as the court's concurrently issued Order Re Sun's Motion to Reinstate November 17, 1998 Preliminary Injunction Under 17 U.S.C. § 502 (" § 502 Order") indicates, the remedies limitations set forth in section 11.2 apply only to claims for breach of contract, and not to other claims such as unfair competition and trademark infringement. § 502 Order at 4-7.

II. LEGAL STANDARD FOR PRELIMINARY INJUNCTIVE RELIEF

A plaintiff seeking preliminary injunctive relief must demonstrate "either a likelihood of success on the merits and the possibility of irreparable injury, or that serious questions going to the merits were raised and the balance of hardships tips sharply in its favor." Johnson Controls, Inc. v. Phoenix Control Systems, Inc., 886 F.2d 1173, 1174 (9th Cir.1989). The alternatives in the above standard represent "extremes of a single continuum," rather than two separate tests. Benda v. Grand Lodge of Int'l Ass'n of Machinists & Aerospace Workers, 584 F.2d 308, 315 (9th Cir. 1978). A "serious question" is one to which the movant has a "fair chance of success on the merits." Sierra On-Line, Inc. v. Phoenix Software, Inc., 739 F.2d 1415, 1421 (9th Cir.1984). Generally, evaluation of the relative hardships of the parties should precede an analysis of the "likelihood of success on the merits" since the balance of hardships determines how strong and substantial the plaintiff's showing must be. See Alaska v. Native Village of Venetie, 856 F.2d 1384, 1389 (9th Cir. 1988). Where a public interest is involved, the court should also consider if the grant of a preliminary injunction favors the public interest. Westlands Water Dist. v. Natural Resources Defense Council, 43 F.3d 457, 459 (9th Cir.1994).

III. ANALYSIS

A. IRREPARABLE HARM AND BALANCE OF HARDSHIPS

In the present case, Sun has demonstrated a possibility of irreparable harm, if an injunction restraining Microsoft's distribution of non-compliant Java Technology is not issued. Microsoft's unauthorized distribution of incompatible implementations of Sun's Java Technology threatens to undermine Sun's goal of cross-platform and cross-implementation compatibility. The threatened fragmentation of the Java programming environment harms Sun's relationship with other licensees who have implemented Java virtual machines for Win32-based and other platforms. In addition, Microsoft's unparalleled market power and distribution channels relating to computer operating systems pose a significant risk that an incompatible and unauthorized version of the Java Technology *998 will become the de facto standard. The court further finds that money damages are inadequate to compensate Sun for the harm resulting from Microsoft's distribution of software products incorporating non-compliant Java Technology as the harm to Sun's revenues and reputation is difficult to quantify.

In addition, the balance of hardships tips sharply in Sun's favor, since the potential harm to Sun outweighs the hardship advanced by Microsoft. The relief Sun seeks requires Microsoft to maintain the previously required, non-extended mode as the default setting in its Java compiler and to continue to warn developers that use of its language extensions results in program code that will run only on Microsoft's Java Virtual Machine. As to Microsoft's Java Virtual Machine, Sun's requested relief requires inclusion of JNI, Sun's native method interface. Such requested relief poses little, if any, harm to Microsoft. According to Microsoft, its Java software products comply with the now-vacated preliminary injunction of November 17, 1998. Microsoft submits that it has no plans "for the foreseeable future" to change its currently distributed implementations of the Java Technology.[9] Maritz 9/24/99 Decl. ¶ 7. Microsoft's concern over the stigma associated with an injunction does not suffice to overcome the harm asserted by Sun. Sun identifies significant harm to it and to competition if its requested relief is not granted. As discussed below, for example, Microsoft's exclusion of JNI threatens injury to Sun and its licensees of the Java Technology, as well as competition in the market for Java development tools. In addition, Microsoft's extensions to the Java language and its false and misleading statements to the developer community similarly threatens harm to Sun, independent software developers, and the public.

Lastly, the injunction Sun seeks does not appear to harm the public interest. Sun's requested injunction merely seeks to require Microsoft to continue to set the default setting on its Java compiler to the non-extended mode and to continue to warn developers that use of its language extensions results in program code that will run only on Microsoft's Java Virtual Machine. Such relief does not deprive the public of Microsoft's language extensions and compiler directives. In fact, Sun's requested injunction advances the public interest by ensuring that developers are adequately informed about the consequences of using Microsoft's added keywords and compiler directives. Moreover, the absence of an injunction requiring Microsoft's distributed software products to support Sun's JNI may harm software developers if Microsoft were to discontinue its inclusion and support for this native method interface in its Java Virtual Machine.

B. UNFAIR COMPETITION-LIKELIHOOD OF SUCCESS ON THE MERITS

California law defines unfair competition as, in part, "any unlawful, unfair or fraudulent business act or practice." Cal. Bus. & Prof.Code § 17200. In the past, California courts have construed section 17200 broadly to embrace "anything that can properly be called a business practice and at the same time is forbidden by law." See Rubin v. Green, 4 Cal. 4th 1187, 1200, 17 Cal. Rptr. 2d 828, 847 P.2d 1044 (1993) (quoting Barquis v. Merchants Collection Assn., 7 Cal. 3d 94, 113, 101 Cal. Rptr. 745, *999 496 P.2d 817 (1972)). However, the California Supreme Court recently clarified what constitutes an "unfair" business act or practice in suits between competitors. See Cel-Tech Communications, Inc. v. Los Angeles Cellular Telephone Co., 20 Cal. 4th 163, 178-87, 83 Cal. Rptr. 2d 548, 973 P.2d 527 (1999). Cel-Tech requires

[w]hen a plaintiff who claims to have suffered injury from a direct competitor's "unfair" act or practice invokes section 17200, the word "unfair" in that section means conduct that threatens an incipient violation of an antitrust law, or violates the policy or spirit of one of those laws because its effects are comparable to or the same as a violation of the law, or otherwise significantly threatens or harms competition.

Id. at 187, 83 Cal. Rptr. 2d 548, 973 P.2d 527.

Sun and Microsoft dispute whether Cel-Tech applies to the instant case. Microsoft asserts that it and Sun are direct competitors and that, therefore, Cel-Tech applies. Sun argues that Cel-Tech is inapposite, since the TLDA places it and Microsoft in a vertical relationship by which Microsoft distributes Java Technology supplied by Sun. Sun contends that this vertical supplier-distributor relationship, therefore, takes them out of the direct competitor relationship covered by Cel-Tech. See Cel-Tech, 20 Cal.4th at 187 n. 12, 83 Cal. Rptr. 2d 548, 973 P.2d 527 ("This case involves an action by a competitor alleging anticompetitive practices. Our discussion and this test are limited to that context."). Sun, therefore, advocates for application of the standard used in Allied Grape Growers v. Bronco Wine Co., 203 Cal. App. 3d 432, 249 Cal. Rptr. 872 (1988). In Allied Grape the court found that a practice had to "merely be unfair" to be enjoinable and that a wine company's practice of inappropriately downgrading grapes and paying lower prices under a distribution agreement with grape growers constituted such an "unfair" practice. Id. at 451. Allied Grape is not discussed in Cel-Tech. Therefore, it is not clear whether the California Supreme Court considers Allied Grape to still be good law. However, for at least two reasons, the court believes Cel-Tech provides the standard to be applied to the alleged unfair business practices in this case with the exception of those dealing with Microsoft's allegedly false advertising.

First, the unfair practices alleged by Sun affect Sun as a direct competitor of Microsoft for the business of software developers for software development tools and, ultimately, consumers for operating systems or platforms. Second, Cel-Tech appears to distinguish the proof required in cases by a competitor alleging "unfair" anticompetitive business practices from claims by competitors or consumers for "fraudulent" or "unlawful" business practices or "unfair, deceptive, untrue or misleading advertising." Cel-Tech, 20 Cal.4th at 187 n. 12, 83 Cal. Rptr. 2d 548, 973 P.2d 527. The claims by Sun, other than those dealing with advertising, fall into the first category which is covered by Cel-Tech. There has been no showing that Microsoft has engaged in any fraudulent business practice or scheme or that it violated some specific statutory proscription. Therefore, it seems appropriate to measure Microsoft's conduct against the Cel-Tech standard except with respect to Sun's misleading advertising claims.

In determining whether a challenged act or practice is unfair within the meaning of section 17200 of the California Business and Professions Code, Cel-Tech endorses looking at federal authorities interpreting the prohibition against "unfair methods of competition" in section 5 of the Federal Trade Commission Act. Id. at 186, 83 Cal. Rptr. 2d 548, 973 P.2d 527. According to the Supreme Court, "the Federal Trade Commission Act was designed to supplement and bolster the Sherman Act and the Clayton Act ... to stop in their incipiency acts and practices which, when full blown, would violate those Acts ... as well as to condemn as `unfair methods of competition' existing violations of them." F.T.C. v. Brown Shoe Co., 384 U.S. 316, 86 S. Ct. 1501, 1504-5, 16 L. Ed. 2d 587 (1966) (quoting F.T.C. v. Motion Picture Advertising *1000 Service Co., 344 U.S. 392, 73 S. Ct. 361, 363, 97 L. Ed. 426 (1953)). Accordingly, "unfair methods of competition" under section 5 of the Federal Trade Commission Act covers business practices "which conflict with the basic policies of the Sherman and Clayton Acts even though such practices may not violate these laws." Id. at 1504; see also Atlantic Refining Co. v. F.T.C., 381 U.S. 357, 85 S. Ct. 1498, 1506, 14 L. Ed. 2d 443 (1965) (section 5 proscribes "conduct that runs counter to the policies declared in the Act.") (citations and internal quotations omitted). In addition, where the adverse effects on competition are clear, a "fullscale economic analysis of competitive effect" is not required. Atlantic Refining, 85 S.Ct. at 1507. Rather, it is enough that "the practice in question unfairly burden[s] competition for a not insignificant volume of commerce." F.T.C. v. Texaco, Inc., 393 U.S. 223, 89 S. Ct. 429, 433, 21 L. Ed. 2d 394 (1968).

1. Distribution of Non-Compliant Java Technology

Sun asserts that its claim of unfair competition supports an injunction prohibiting Microsoft from distributing non-compliant Java Technology that fails to support Sun's JNI and includes unauthorized language extensions. Specifically, Sun asserts that Microsoft's distribution of software products incorporating non-compliant versions of Sun's Java Technology as part of a scheme to "kill cross-platform Java by grow[ing] the polluted Java market" constitutes an "unfair" business practice.

Preliminarily, Sun has established a reasonable likelihood of success in demonstrating that Microsoft's distribution of non-compliant Java technology violates the compatibility provisions of the TLDA. See Sun, 21 F.Supp.2d at 1119-22, 1122-25; Sun, 188 F.3d at 1120 (holding that substantial evidence demonstrates that Microsoft violated the TLDA). In addition, Sun has also demonstrated reasonably likely success in establishing that Microsoft's alleged violations of the TLDA were committed as part of a concerted effort to devalue the cross-platform and cross-implementation promise of the Java Technology it licensed and, ultimately, to gain control of the Java programming environment. See Day 9/3/99 Decl. Ex. 6 ("get control of Java with Java support/tools"); Ex. 11 ("Eliminate/contain cross-platform Java by growing the polluted Java market."); Ex. 7 ("without something to pollute Java more to Windows (show new cool features that are only in Windows) we expose ourselves to more portable code on other platforms"). Moreover, Microsoft's ongoing use of compiler directives and keyword extensions indicates continuing harm to Sun. More importantly, however, Sun has raised a serious question on the merits of its claim for unfair competition arising out of Microsoft's distribution of non-compliant Java Technology. Specifically, Sun has raised a serious question as to whether the incompatibilities introduced by Microsoft into its commercially distributed versions of the Java Technology harm competition.

Sun has demonstrated that Microsoft introduced strategic incompatibilities in its implementations of the Java Technology and relied on its unparalleled market power and distribution channels in computer operating systems to unfairly impede competition in the Java development tools market. Without apparent technological or pro-competitive justification and in contravention of the TLDA,[10] Microsoft excluded Sun's JNI native method interface from commercially distributed versions of its Java Virtual Machine implementation.[11] In place of JNI, Microsoft *1001 created its own native method interfaces, such as RNI, Java/COM and J/Direct, which are supported by its Java development tools products. Furthermore, Microsoft's wide array of distribution channels and overwhelming market share in operating systems ensured that its Java Virtual Machine omitting JNI enjoyed a large installed base.

The exclusion of JNI and the ubiquitous distribution of Microsoft's non-compliant virtual machine achieved for Microsoft an unfair commercial advantage in the Java development tools market. Specifically, software developers are naturally motivated to create software applications for the operating system platform having the largest installed base — i.e., Microsoft's Windows operating system including its Java Virtual Machine implementation. See Arrow 5/12/98 Decl. ¶¶ 10-13, 29. Here, Microsoft's exclusion of JNI rendered competitive Java tools products incapable of creating hybrid Java/native applications that run on Microsoft's Java Virtual Machine. The economic and technological constraints resulting from Microsoft's exclusion of JNI, thus, compel software developers wishing to write hybrid Java/native applications for the Windows platform to use Microsoft's Java development tools. Id. ¶ 23. This also adversely affects the commercial viability of competitive Java runtime products, since the use of Microsoft's Java development tools results in Java/native applications that only run on Microsoft's virtual machine. Accordingly, Microsoft's Java tools products did not compete on their merits alone, but also possessed the added, unfair advantage of offering the only way of creating hybrid Java/native applications that run on Microsoft's non-compliant virtual machine.

2. Microsoft's Language Extensions and its Current Licensing Practices

According to Sun, Microsoft's distribution of Java runtime and development tools products, which incorporate added keywords and compiler directives, constitutes unfair competition. Sun also contends that Microsoft has attempted to circumvent this court's order of November 17, 1998 by inducing third parties to distribute Microsoft's technology embodying its added keywords and compiler directives without the safeguards required by the November 17, 1998 Order. Sun seeks to reinstate the injunction to the extent it requires Microsoft's compiler to include certain safeguards designed to warn developers about the use of Microsoft's extensions.[12] Sun reasons that Microsoft's licensing practices are acts of unfair competition, and, therefore, requests expansion of the injunction to force Microsoft to require licensees of its extended Java technologies to include the same safeguards.

Sun's present showing fails to establish reasonably likely success or a serious question going to the merits on its claim that Microsoft's distribution and licensing practices relating to its language extensions constitute "unfair" business practices under section 17200 of the California Business and Professions Code. Sun appears to complain that inducing others to distribute Windows-optimized, albeit non-compliant, software development tools that emulate Sun's Java Technology constitutes unfair competition. Sun offers no evidence that these agreements or Microsoft's independently developed language extensions implicate any Sun intellectual property right. Moreover, Sun's evidence merely indicates harm to its commercial interests, rather than harm to competition.

*1002 The cases upon which Sunrelies are materially distinguishable and appear to be inapposite to Microsoft's distribution of extended Java programming tools and present licensing efforts. Unlike Atlantic Refining, Texaco and Brown Shoe, Sun submits insufficient evidence suggesting that Microsoft continues to use its economic power to coerce software developers or other relevant entities in a manner restricting competition in a relevant market. See Atlantic Refining, 85 S.Ct. at 1506-07 (proscribing use of dominant economic power over gas station retailers to coerce them into buying tires, batteries and accessories from one source); Texaco, 89 S.Ct. at 431-33 (same); Brown Shoe, 86 S.Ct. at 1503 (holding that FTC was within its power to declare as an unfair method of competition the payment of valuable consideration to shoe retailers to "secure a contractual promise ... not [to] purchase conflicting lines of shoes."). Rather, Microsoft essentially altered the Java Technology to create a programming environment that enhances a software developer's ability to create Windows-specific applications using an extended form of the Java language. This modified Java programming environment competes directly with Sun's standard or "pure" Java programming environment. See Hausman 9/24/99 Decl. ¶¶ 9, 12. In contrast to the cases on which Sun relies, there is insufficient evidence to suggest that Microsoft continues to use its economic power to unfairly force software developers into buying its tools products to the exclusion of competitive tools products or using its development environment to the exclusion of Sun's standard Java programming environment.

Given Microsoft's inclusion and support of JNI, its Java runtime and tools products do not enjoy an unfair commercial advantage over competitive Java runtime and tools products. In addition, Microsoft's Java development tools products do not restrict the growth of Sun's standard Java programming environment, since software developers using Microsoft's Java tools products have the option to write software applications that are cross-platform compatible, cross-implementation compatible, or specific to Microsoft's virtual machine.[13] Moreover, Microsoft's current licensing agreements do not appear to require exclusive distribution of Microsoft's virtual machine or exclusive use of Microsoft's native method interfaces. Accordingly, software developers will decide whether Microsoft's added keywords and compiler directives benefit them, taking into account the advantages and disadvantages of writing cross-platform, cross-implementation, or Microsoft-virtual-machine-specific applications. See Hausman 9/24/99 Decl. ¶ 17. Sun cannot complain that it is "unfair" within the meaning of § 17200 that, given the large installed base of Microsoft's operating system and virtual machine and the efficient methods of invoking native code, software developers may be naturally motivated to use Microsoft's extensions to the Java Technology when creating Windows-specific applications. Therefore, assuming that software developers are not mislead as to the consequences of using Microsoft's windows-specific enhancements, it appears that whether Sun's standard Java programming environment succeeds in the market is largely up to the merits of Sun's technology, the range of functionality it offers, the software developers who use it to develop software applications, and, ultimately, consumers.

3. Microsoft's Representations Concerning Sun's Java Technology

According to Sun, as part of an effort to confuse and induce developers to use its non-conforming language extensions, Microsoft has falsely advertised that its implementation of the Java Technology is the "official reference implementation" for Win32-based systems and that its "@com" compiler directive is authorized by Sun and complies with the specifications for the Java Technology.[14]See Day 9/3/99 Decl. Exs. 24, 25.

*1003 Here, Sun has raised a reasonable likelihood of success or, at a minimum, a serious question going to the merits on its claim that Microsoft's representations concerning Microsoft's implementation of Sun's Java Technology are false or misleading.[15] Microsoft's representations are likely to confuse or mislead developers into thinking that (1) Sun approves of Microsoft's extended Java programming technology, (2) the such extended Java programming technology complies with Sun's specifications, and, therefore, (3) is a compatible addition to the standard Java programming and runtime environment. A developer who is mislead into using Microsoft's language extensions faces significant costs to port the application from the Windows-dependent environment to the standard Java runtime environment. Microsoft's white paper entitled "Integrating Java and COM" states that the class attributes created using the @com compiler directive "adhere to the Java. specification, and are an approved method for adding functionality to Java classes." See Day 9/3/99 Decl. Ex. 24. In addition, a second Microsoft white paper states that:

According to the Java Virtual Machine Specification [published] by Addison Wesley, custom class attributes are the best way to extend Java functionality, and th[e] virtual machines ignore directives they don't understand.

Id. Ex. 25. These statements are misleading since they are likely to convey that Microsoft's @com compiler directive technology is "approved" by Sun. In a similar manner, Microsoft's previously-enjoined advertising of its implementation of the Java Technology as "official" falsely suggests that its extended Java programming environment possesses some form of endorsement or approval by Sun and, therefore, is also likely to confuse developers as to the compatibility of Microsoft's extensions to the Java Technology.

In addition, Sun has also shown reasonably likely success in establishing that Microsoft's @com compiler directive technology does not comply with Sun's specifications and that, therefore, Microsoft's statements to the contrary are false. Microsoft relies on section 4.7.1 of the Java Virtual Machine Specification to demonstrate the veracity of these statements.[16]See Verbowski 9/24/99 Decl. ¶ 5. However, section 4.7.1 contains no indication that custom class attributes are the "best way" to extend Java functionality. Rather, that section indicates that additional attributes in class files are permitted, but must not affect the semantics of the class file. The example in the Java Virtual Machine Specification of a permissible added attribute underscores this caveat. Specifically, the Java Virtual Machine Specification states that "defining a new attribute to support vendor-specific debugging is permitted." JVM Spec § 4.7.1. A Java virtual machine that does not support this attribute can safely ignore it, since it does not affect the semantics of the class file. Id. ("Java virtual machine implementations are specifically prohibited from throwing an exception or otherwise refusing to use class files simply because of the presence *1004 of some new attribute."). See also Sun, 21 F.Supp.2d at 1124.

4. Distribution of Product Upgrades that Fail to Install a Compatible Implementation

Microsoft, according to Sun, has impermissibly undermined this court's November 17, 1998 Preliminary Injunction Order and the January 25, 1999 Extension Order by distributing product upgrades that fail to result in the installation of a Compatible Implementation of the Java Virtual Machine. Specifically, Sun contends that Microsoft's Internet Explorer 5.0 Upgrade, both in its default "Minimum" and "Typical" installation configurations, fails to replace the non-compliant virtual machine contained in previously distributed Internet Explorer 4.0 products. See Schroer 9/3/99 Decl. ¶¶ 4, 5. Microsoft justifies its upgrade configuration on the basis that it decreases download time. As to the CDROM version of the product upgrade, however, this justification lacks merit. Moreover, as discussed below, Microsoft's installation interface, regardless of whether the product upgrade is downloaded from a remote server or installed using a CDROM, does not make a "full" installation easily apparent to a user.

Microsoft's Internet Explorer 5.0 product upgrade, in fact, renders the option of replacing a non-compliant Java Virtual Machine[17] that accompanied Internet Explorer 4.0 with a compliant Java Virtual Machine somewhat obscured. Specifically, the product installation interface initially presents the user with two options: 1) a "typical" installation, and 2) a "minimal/custom" installation. See Polomski 10/1/99 Decl. Ex. A. However, neither the "typical" nor "minimal" install configuration replaces the previously installed, non-compliant virtual machine with the newer compliant virtual machine. See Schroer 9/3/99 Decl. ¶¶ 4, 5, 6. Rather, the previously installed non-compliant virtual machine remains in the "C:*Windows*System" directory available to the newly installed Internet Explorer 5.0 browser. See Polomski 10/1/99 Decl. ¶¶ 8-11 & Ex. C. Microsoft's Internet Explorer 5.0 product upgrade does include a "full" installation mode, which results in the installation of a compliant virtual machine that, inter alia, supports JNI. See Johnson 9/24/99 Decl. ¶ 4. However, a user must first counter-intuitively select the "minimal/custom" installation mode in order to select the "full" installation mode, which the user must find in a drop-down menu in the succeeding interface screen. See Polomski 10/1/99 Decl. ¶ 4 & Ex. A.

While Microsoft's configuration and presentation of the installation interface in the Internet Explorer 5.0 product upgrade obscure the way for a user to replace a previously installed, non-compliant Java virtual machine, such conduct does not in itself appear to constitute unfair competition or to violate the letter of the now-vacated November 17, 1998 Preliminary Injunction Order. Microsoft's conduct, however, does undermine the spirit of the November 17, 1998 Preliminary Injunction Order and, as discussed below, further demonstrates the need to reinstate some form of the injunctive relief sought by Sun.

C. WHETHER MICROSOFT'S ACTS OF UNFAIR COMPETITION ARE SUFFICIENTLY LIKELY TO RECUR

California law specifically provides for injunctive relief to enjoin acts of unfair competition. Cal. Bus. & Prof.Code § 17203. However, injunctive relief under section 17203 has no application to completed wrongs absent a showing of threatened future harm or a continuing violation. See People v. Toomey, 157 Cal. App. 3d 1, 20, 203 Cal. Rptr. 642 (1984) (engaging in conduct prohibited by a preliminary injunction demonstrated sufficient threat of continuing violations); Gladstone v. Hillel, *1005 203 Cal. App. 3d 977, 990, 250 Cal. Rptr. 372 (1988) (defendant's pattern of wrongfully using plaintiff's molds warranted finding sufficient threat of future violation); Hewlett v. Squaw Valley Ski Corp., 54 Cal. App. 4th 499, 542, 63 Cal. Rptr. 2d 118 (1997) (defendant's "flagrant" and repeated misconduct justified injunction).

1. Distribution of Non-Compliant Technology

The evidence of record suggests a threat of future harm warranting injunctive relief requiring Microsoft (1) to maintain its support for JNI in its Java runtime and development tools products, and (2) to include certain safeguards in its development tools products to adequately warn developers as to the consequences of using Microsoft's compiler directive and added keyword technologies. Microsoft's past conduct demonstrates an ongoing strategy to compete with Sun's standard Java programming environment that includes injecting key points of incompatibility, packaged as extensions or additions to Sun's Java Technology in its software products, and failing to clearly indicate the nature and consequences of using such extensions. As discussed above, Microsoft, at one point, extended the java.* classes.[18] In addition, Microsoft's software development tools did not adequately warn developers or identify its extensions to the java.* classes as Microsoft specific.[19]See Day 2/26/99 Reply Decl. Ex. 13 (Schroer 2/13/98 Decl. ¶¶ 2-7); Ex. 11 (Hankinson 11/17/97 Decl. ¶ 37). Microsoft further fragmented the standard Java programming environment when it refused to implement Sun's JNI native method interface. Microsoft only included Sun's JNI in commercially distributed versions of its Java runtime and development tools products in response to this court's November 17, 1998 Order, despite the fact that the court previously found in March 1998 that the TLDA was reasonably construed to require Microsoft to support JNI. See Sun, 999 F.Supp. at 1310-11. Microsoft also added two keywords to the Java language and three compiler directives, all supported by its Java development tools, which included a compiler supporting such extensions by default. Microsoft's language extensions further fragmented the standard Java programming environment, since an application using such language extensions runs only on Microsoft's Java virtual machine. As noted above, Microsoft's development and distribution of such language extensions alone does not appear to constitute an "unfair" business practice. However, Microsoft's misleading statements to developers that its implementation was the "official" implementation of the Java Technology for Win32-based platforms and that its @com compiler directive technology is approved by Sun and complies with Sun's specifications demonstrates the need to remedy the anticompetitive and misleading effect of such misrepresentations and to adequately inform software developers as to the consequences of using Microsoft's keyword and compiler directive technologies. Still further, Microsoft's questionable implementation of installation modes in its Internet Explorer 5.0 product upgrades allows the competitive harm associated with Microsoft's previous exclusion of JNI to continue and also suggests that injunctive relief is appropriate.

Lastly, the evidence does not suggest, however, that it is appropriate that Microsoft be required to have its licensees *1006 incorporate the same safeguards in distributed versions of their respective Java development tools. There is no evidence indicating how Microsoft's licensees have implemented or will implement Microsoft's compiler directive and additional keyword technologies and whether such implementations would infringe any of Sun's intellectual property rights. The court finds, therefore, that such a provision in the present order would unduly interfere with third parties and Microsoft's relationship with them.

2. Misrepresentations Relating to the Java Technology

Microsoft contends that no injunction is necessary to restrain Microsoft's alleged false advertising, since it no longer advertises its implementation of the Java Technology as "official" and has deleted the statements to which Sun presently objects from its white papers.[20]

The court finds, however, that Microsoft's previously enjoined misrepresentations and its current false and misleading statements relating to its compiler directive technology are sufficiently similar to demonstrate a threat of future harm warranting an injunction. Microsoft's reference to its implementation as "official" and its statements indicating that Sun approves of Microsoft's compiler directives both misleadingly suggest some form of endorsement or approval by Sun. Moreover, such statements unfairly cloud the distinctions between Microsoft's extended Java programming environment and Sun's standard programming environment.

3. Previously Enjoined Licensing Practices

Sun also seeks to reinstate the November 17, 1998 Preliminary Injunction Order to the extent it enjoined Microsoft from negotiating or enforcing license agreements requiring licensees to exclusively distribute Microsoft's virtual machine, or to call native code only by use of Microsoft's native interfaces. However, Sun has not shown that the licensing practices enjoined by the now-vacated order are sufficiently likely to recur. Sun offers no evidence showing that Microsoft continues to negotiate or enforce licensing agreements including terms similar to those the court previously found objectionable. Moreover, Sun argues that the "technical lock-in" provided by Microsoft's language extensions reduces Microsoft's need for such exclusionary licensing practices. Sun submits that Microsoft's January 1999 agreement with Sybase is sufficiently similar to the Aimtech and Fujitsu agreements that supported a finding of unfair competition in the November 17, 1998 Order. However, the Sybase agreement does not appear to require exclusive distribution of Microsoft's virtual machine or exclusive use of Microsoft's native code interfaces. In addition, according to Microsoft, it has discontinued such licensing practices. See Maritz 9/24/99 Decl. ¶ 7.

IV. ORDER

Since the court finds that Sun has at least raised serious questions going to the merits and that the balance of hardships tips sharply in its favor if Microsoft is not enjoined, a preliminary injunction is hereby issued against Microsoft, and its officers, agents, servants, employees, attorneys, and those in active concert or participation with them who receive actual notice of this order by personal service or otherwise, pending trial, from:

(A) Selling or distributing, directly or indirectly, any operating system or browser product containing or implementing, in whole or in part, Sun's Java Technology as that term is defined in the TLDA (i.e., the Java Runtime Interpreter, Java Classes, *1007 Supplemental Java Classes, Java Compiler, and all Upgrades), unless such product includes a Java runtime implementation which supports Sun's JNI in a manner which passes the compatibility test suite accompanying the latest version of the Java Technology contained in, implemented by, or emulated by such product;

(B) Selling or distributing, directly or indirectly, any software development tool or product containing or implementing Sun's Java Technology as that term is defined in the TLDA, including SDKJ 2.0, SDKJ 3.0 and VJ + + 6.0, unless such product:

(1) includes a Java runtime implementation which supports Sun's JNI in a manner which passes the compatibility test suite accompanying the latest version of the Java Technology contained in, implemented by, or emulated by such product,
(2) has the default mode in the compiler configured such that (a) Microsoft's keyword extensions and compiler directives are disabled and (b) wherein the compiler mode switch enables, rather than disables, such keyword extensions and compiler directives, and
(3) includes a dialog box which appears when a user elects to use the extended mode of the compiler (either when the user accesses the compiler from a DOS command line or when the user checks a box provided during execution of the compiler software) and which warns the user that use of Microsoft's language extensions results in compiled code which may not comply with Sun's specifications for the Java Technology and will only run on Microsoft's virtual machine or other virtual machines that support the special Microsoft extensions (Microsoft's compiler directive and keyword technologies);

(C) Advertising any product that contains, implements or emulates the Java Technology as the "official" Java reference implementation; however, nothing in this order prevents Microsoft from making advertising claims with respect to the performance of its reference implementation; and

(D) Advertising, promoting, or otherwise publicly describing Microsoft's @com, @dll, @security compiler directives as complying with Sun's specifications for the Java Technology or as being approved by Sun.

Furthermore, Microsoft's development tools products shall include at least as much support for Sun's JNI as Microsoft's RNI, e.g. help files, header files, etc.

Nothing in this order requires Microsoft to recall any product. This order does not prevent any purchaser of Microsoft's products from continuing to use them.

As a condition of this preliminary injunction, Sun must reinstate within ten (10) days of this order the security previously required for the payment of such costs and damages as may be suffered by Microsoft if it is found to have been wrongfully enjoined.

NOTES

[1] In a separate motion, Sun moves to reinstate the November 17, 1998 Order based on Microsoft's alleged infringement of Sun's copyrights covering the Java Technology.

[2] Words and phrases capitalized in the TLDA are capitalized when used in this order.

[3] The TLDA defines "Java Language Test Suite" as "SUN's publicly available test suites for validating that products which compile the Java Language comply with the then-current Java Language Specification as of the date of the test suites." TLDA § 1.13.

[4] According to section 3.3 of the TLDA, Microsoft must deliver to Sun the source code corresponding to the Compatible Implementation.

[5] Microsoft's extensions to the java.* class libraries generated SignatureTest failures when Sun's test suites were applied to Microsoft's implementation. Indeed, Microsoft appears to admit that Internet Explorer 4.0 and SDKJ 2.0 for Win32 operating systems, distributed between September 1997 and May 1998, failed to pass Sun's SignatureTest in the JCK 1.1a test suite. Day 1/27/99 Decl. Ex. 3 (Microsoft's Response to RFA No. 59); Schroer 1/22/99 Decl. Ex. C. Microsoft also admits that Internet Explorer 4.0 for the Macintosh and Solaris operating systems, which it distributed prior to September 1998 failed the SignatureTest of the JCK 1.1a test suite. Day 1/27/99 Decl. Ex. 3 (Microsoft's Response to RFA No. 62, 63); Schroer 1/22/99 Decl. Ex. C. Microsoft has changed its implementation to pass Sun's SignatureTest. In any event, Sun does not appear to argue that Microsoft's current implementations generate Signature-Test failures.

[6] Microsoft's Java implementations now support Sun's JNI. Microsoft's past licensing practices also required that licensee's exclusively use its native code interfaces. Microsoft no longer requires such exclusive use from its licensees. See Maritz 9/24/99 Decl. ¶ 7.

[7] Sun refers to Microsoft's Developer Tools Interoperability Kit as "DIOTK."

[8] Microsoft's WFC provides a tool for constructing graphical user interface components. Poppe 9/28/99 Decl. Ex. II (Hejlsberg Decl. ¶ 3). WFC uses Microsoft's added keywords "multicast" and "delegate." Id.

[9] Microsoft complains that it is unfair to assess the balance of hardships based on the circumstances resulting from its compliance with the now-vacated November 17, 1998 Preliminary Injunction Order. However, as Microsoft concedes, the court must look to the present in assessing the propriety of a requested injunction. Opposition at 8. Additionally, Microsoft cannot persuasively argue that it is unfair to measure the balance of hardships according to circumstances resulting from Sun's efforts to enforce the TLDA's compatibility obligations. Moreover, the harm to Microsoft, even when the current state of Microsoft's relevant software products is ignored, fails to outweigh the competitive and other harms advanced by Sun.

[10] Sun has demonstrated a reasonable likelihood of success in establishing that the TLDA requires Microsoft to include JNI in its implementations of the Java Virtual Machine. See Sun, 21 F.Supp.2d at 1119-22; Sun, 188 F.3d at 1120 (holding that substantial evidence demonstrates that Microsoft violated the TLDA).

[11] The exclusion of JNI does not benefit software developers or consumers, since Microsoft's development tools eliminate the option to write a hybrid Java/native application for Sun's standard Java runtime environment.

[12] Part of the safeguards Sun seeks to include is a warning to developers that Microsoft may be prohibited by court order from including or supporting its extended language technology. However, requiring such a warning in response to Sun's current motions would be appropriate only if the development and distribution of such language extensions alone constitute "unfair" business practices or copyright infringement.

[13] Microsoft's currently distributed versions of the Java Technology may in fact promote Sun's standard programming environment. See Hausman 9/24/99 Decl. ¶ 19.

[14] Cel-Tech does not apply to this aspect of Sun's claim since it involves alleged false advertising. See Cel-Tech, 20 Cal.4th at 187 n. 12, 83 Cal. Rptr. 2d 548, 973 P.2d 527.

[15] As discussed in the November 17, 1998 Preliminary Injunction Order, Sun has already established a reasonable likelihood of success as to its claim that Microsoft's designation of its implementation of the Java Technology as the "Official Reference Implementation of Java on Windows 32-bit platforms" is false and misleading. See Sun, 21 F.Supp.2d at 1127.

[16] Microsoft also attempts to justify its statements concerning its @com compiler directive, reasoning that whether it complies with Sun's specifications "is of course the subject of technical debate." Opposition at 17. However, Microsoft's statements do not reasonably appear to be assertions made in the context of a "technical" debate. Rather, they create the false impression that, inter alia, Sun approves Microsoft's implementation and use of the @com compiler directive.

[17] According to Sun, the non-compliant virtual machine in previous versions of Internet Explorer 4.0 failed to support JNI, Sun's native method interface. See Schroer 9/3/99 Decl. ¶¶ 4, 5, 6.

[18] According to Sun, a licensee's modification of the public Java APIs significantly impairs Java's goal of cross-platform compatibility. See Day 2/26/99 Reply Decl. i/s/o Motions for Summary Judgment Ex. 11 (Hankinson 11/17/97 Decl. ¶¶ 21-23); see also Ex. 33 (Deutsch 11/17/97 Decl. ¶ 19).

[19] Moreover, Microsoft's failure to adequately warn developers may not have been inadvertent. See Day 9/3/99 Decl. Ex. 19 ("at this point its [sic] not good to create MORE noise around our win32 java classes, instead we should just quietly grow VJ+ + share and assume that people will take more advantage of our classes without ever realizing they are building win32-only java apps.") (emphasis in original).

[20] Specifically, the author of the white paper states that he "intends" to remove the passages to which Sun objects. See Verbowski 9/24/99 Decl. ¶ 11. In addition, counsel for Microsoft represented at the hearing that Microsoft has removed from its white papers the statements to which Sun objects. See Transcript of October 15, 1999 Hearing at 53:1-12, 84:4-9.