翻訳 井上雅夫 1198.11.20; 2000.02.16   ↑UP  

Sun v. Microsoft Java事件
98.11.17
 
カリフォルニア北部合衆国地方裁判所

 SUNのMICROSOFTに対する仮差止申立に関する命令


 
〔 目  次 〕
序説
I.バックグラウンド
 A.SunのJavaテクノロジー
 B.SunとMicrosoftのライセンス契約
 C.訴えられたMicrosoft製品の非互換性
  1.RMIコンパイラ・テスト
  2.SDKJ 2.02
  3.Javaネイティブ・インターフェース(「JNI」)
  4.キーワード拡張及びコンパイラ指令
 D.訴えられたMicrosoftの不公正競争
 E.Sunが求める救済
 F.Sunの新しく変更された意見に対するMicrosoftの削除申立
II.仮差止のための法的基準
III.分析
 A.本案訴訟におけるSunの著作権侵害請求の勝訴の可能性
  1.有効な著作権の所有
  2.Sunの著作権によって保護された表現のコピー
  3.Sunが著作権を有するソースコードのMicrosoftの使用は許可されたものかどうか
   a.本件契約がMicrosoftにJNIのサポートを要求しているかどうか
   b.Microsoftのキーワード拡張とコンパイラ指令
  3.SDKJ 2.02及び「テスト601」
  4.放棄
 B.回復不能の被害と困難性の天秤
 C.Sunの不公正競争の主張
IV.命令
  脚注
  訳注

原告 SUN MICROSYSTEMS, INC., a Delaware Corporation,
被告 MICROSOFT CORPORATION, a Washington Corporation,

NO. C 97-20884 RMW(PVT)
[Re Docket Nos. 258, 265, 632]
 
 

 合衆国法律集17〔著作権法〕第502条、並びにカリフォルニア州ビジネス及び職業法第17200条〔不公正競争〕に基づく仮差止救済を求める原告の申立は1998年9月8−10日に審問された。裁判所は申立書及び答弁書を読み、証人の証言を考慮し、代理人の口頭による主張を聞いた。以下に示す理由により、裁判所は原告の仮差止申立を部分的に認容する。
  

I.バックグラウンド

  Sun Microsystems, Inc. (「Sun」)によると、Microsoft Corporation (「Microsoft」)のInternet Explorer 4.0(「IE 4.0」)、Software Development Kit for Java(「SDKJ」)バージョン2.0 及び 3.0、Visual J++ 6.0(「VJ 6.0」)及び Windows 98製品はJavaテクノロジーを具体化するソースコードのSunの著作権を侵害する。より明確には、Sunが著作権を有するソースコードを使用する製品を配布するためのMicrosoftのライセンスは、Microsoftの製品が合体するテクノロジーのバージョンにSunが適用するtest suiteに依存すると、Sunは主張する。上述の製品は適用される互換性test suitをパスせず、それゆえ、Microsoftのこれらの製品の配布はSunの著作権を侵害するとSunは主張する。

 Microsoftがこれらの製品がSunの互換性test suiteを成功裏にパスし、SunとMicrosoftの間の技術ライセンス及び開発契約に備えられたすべての他の互換性及び証明要件に従わない限り、及び従うまで、Microsoftが SDKJ 2.0 及び 3.0、並びに VJ 6.0を複製、配布又は販売することの禁止をSunは現在求めている。Microsoftの現在の状態のIE 4.0及びWindows 98を配布する権利にもSunは異義を唱えている。しかしながら、これらの製品に関するSunが提案する差止は、IE 4.0及びWindows 98がSunの互換性test suiteをパスするように修正するためにMicrosoftに90日を許容するであろう。
  
A.SunのJavaテクノロジー

 SunのJavaテクノロジーは標準のプラットフォーム独立プログラミング及びランタイム環境を作り出すプログラミング・コンポーネントを集めたものである。SunのJavaテクノロジーは二つの基本的エレメント:Javaプログラミング環境及びJavaランタイム環境を有している。

 Javaプログラミング環境はJavaランタイム環境互換インプリメンテーションを有するいかなるプラットフォームにおいても実行可能なただ一つのバージョンのプログラムコードをソフトウエア開発者が作成することを可能とさせている。Javaプログラミング環境は(1)SunのJava言語スペシフィケーション、(2)SunのJavaクラスライブラリ・スペシフィケーション及び(3)Javaコンパイラから成る。

 Javaランタイム環境はJavaクラスライブラリ及びJavaランタイムインタープリタから成る。Javaランタイム環境をインプリメントしたシステムプラットフォーム又はブラウザ・プログラムはJavaプログラミング環境を使用して開発されたアプリケーションプログラムを実行することができる。

 SunのJavaプログラミング及びランタイム環境はJavaディベロッパー・キット(「JDK」)の形でソフトウエア開発者が利用可能であり、JDKは言語、クラスライブラリ及びコンパイラを統合した一つのツールである。また、Sunはシステム及びブラウザ製造業者(たとえばApple、IBM、Microsoft、Netscape等)にJDKソフトウエアのソースコードをライセンスし、Javaテクノロジーを彼ら自身のオペレーティングシステム、ブラウザ及びソフトウエア開発ツール・キットに合体させることを可能としている。
  
B.SunとMicrosoftのライセンス契約

 技術ライセンス及び配布契約(「本件契約」)を結実するためのSunとMicrosoftの間の交渉は何回かの電話会議、電子メールのやりとり及び対面交渉から成る。1995年12月6日、SunとMicrosoftは交渉されるべき契約の一般的内容及び基本的条件を明らかとした意思書簡(「LOI」)<Letter of Intent>を完成させた。McMahon陳述書36参照。意思書簡の交渉の間は、Sun及びMicrosoftは、ライセンス契約がMicrosoftにそのインターネットブラウザ及びソフトウエア開発ツールの中だけにJavaテクノロジーを含める権利を認めるであろうことを考えていた。Baratz応答陳述書¶27;Patch応答陳述書¶9参照。[1] しかしながら、提案された契約はすぐにMicrosoftのオペレーティングシステムにおけるJavaテクノロジーの使用を含めるように拡張された。

 1996年2月末近く、本件契約を結実するための交渉の熱烈さと頻度は増加した。Microsoftはテクニカルシステム開発者にMicrosoftのインターネット戦略の詳細を表明するプロフェッショナル開発者会議を1996年3月中旬に計画していた。Muglia陳述書¶12。この会議がMicrosoftのSunとの契約交渉に締め切りを設定した。同。会議の前日でさえ、Microsoft及びSunは多くの重要な条件及び契約の詳細を完成していなかった。Microsoftの交渉者は1996年3月11日の月曜の朝10:00a.m.に議論を始めるためにCupertinoにあるSunのオフィスに飛び込んだ。Muglia陳述書¶15。ほとんど19時間の交渉の後、SunとMicrosoftは1996年3月12日の4:45a.m.に最終的な契約を完成させた。[2]同。4時間以内のうちに、Microsoftは会議で本件契約の達成を表明した。同¶17。

 本件契約に従って、SunはMicrosoftに「製品を開発し、バイナリ形式にコンパイルし、サポートすることを目的として、Sunの知的所有権に基づいて、ソースコードの形のそのテクノロジーの派生的著作物〔二次的著作物〕を作成し、アクセスし、使用し、コピーし、調べ、表示し、修正し、改作し、創作させる」非独占的ライセンスを許諾した。Batchelder陳述書、書証C (本件契約 § 2. 1 (a))。また、SunはMicrosoftに「製品の一部又は製品へのアップグレードとして、そのテクノロジー及びバイナリ形式でそれの派生的著作物を作成し、使用し、インポートし、再製し、ライセンスし、貸し、リースし、販売の提示をし、販売し、あるいはエンドユーザーへのその他の配布をする」ライセンスを許諾した。本件契約 § 2.2(a)(iii)。しかしながら、ブラウザ及びオペレーティングシステムに関して、本件契約はまたSunのJavaテクノロジーを合体させる「製品」の新しいバージョンはそれぞれ商業的配布の前にSunの互換性test suiteをパスしなければならないとも規定している。本件契約 §§ 2.6(a)(iv), (vi)。本件契約は「Java Test Suite」を「Javaバイトコードを解釈する製品がtest suitesのその日のAAPIのSUNスペシフィケーションに従うことを確認するためのSunのパブリックに利用可能なtest suites」であると定義している。本件契約§1. 15。AAPIあるいはアプレット・アプリケーション・プログラミング・インターフェースは次のように定義されている:

(a)資料A<Exhibit A>で特定されるテクノロジーをもたらすJavaアプレット環境(JAE)へのパブリック・アプリケーション・プログラミング・インターフェース、(b)「OEM Java仮想マシン・スペシフィケーション」と題する文書におけるバイトコード・スペシフィケーション、(c)「OEM Java言語スペシフィケーション」と題する文書におけるJava言語スペシフィケーション及び(d)OEM Java APIスペシフィケーション、この契約の期間中にSunによって修正されたものとして。
本件契約§1.1。本件契約はMicrosoftにAAPIに拡張又は付加することを「付加価値オープンパッケージ<Value Added Open Packages>」あるいは「VAOP」として許している。本件契約§§1.28、2.8(a)。しかしながら、本件契約はMicrosoftにあらゆるVAOPに対して特定の命名の約束事の制限を課している。本件契約§2.8(d)参照。加えて、本件契約は「『Java』、『COM.sun』又はこれらの均等物で始まる」パブリックJavaクラスの名前にいかなる修正又は付加も禁止している。本件契約§2.8(d)。

 Javaコンパイラを含むMicrosoftの製品は少し異なった応諾基準に従っている。Java言語コンパイラを有するあらゆるMicrosoft製品は「ツールの顧客がその製品〔顧客が作成する製品〕がSignificant Upgradeを伴うJava言語Test Suite[3]をパスすることを可能とするために使用できるモードを含むこととする<shall include a mode which a Tool Customer may use to permit such Product to pass the Java Language Test Suite that accompanied the Significant Upgrade」。本件契約§2.6(b)(iv)。Microsoftは、この条項はWin32プラットフォームのためだけにアプリケーションを書くことを望むソフトウエア開発者のために、Javaテクノロジーを最適化するコンパイラ指令及びキーワード拡張を開発することを、コンパイラがこれらのコンパイラ指令及び拡張を不能にするモードを含む限り、許していると主張している。Muglia陳述書¶¶5,9,11参照。他方、Sunは、2.6(b)(iv)条はそのコンパイラの中に以前の製品に合体されたJavaテクノロジーの以前の互換バージョンのためのコードをコンパイルするモードを含めることをMicrosoftに許容しているにすぎないと主張している。Baratz応答陳述書¶¶15,18-21;パッチ応答陳述書¶¶62-68参照。また、SunはMicrosoftはJava言語を拡張する可能性を議論しなかったと証言する、..パッチ応答陳述書...¶68;しかしMuglia 陳述書¶11参照。
  
C.訴えられたMicrosoft製品の非互換性

 Sunは、MicrosoftのWindows 98とIE 4.0製品はSunのJDK 1.1a test suiteのJNIテストをパスしないと主張している。Schroer補充陳述書¶¶5,6及び書証A。MicrosoftのSDKJ 2.02及び3.0及びVJ 6.0ソフトウエア開発ツールは、Sunによれば、SunのJNIとRMIテクノロジーをサポートしておらず、それゆえ、(1)SunのJNI test suiteと(2)St&s RMIコンパイラテストに失敗している。また、Sunは、Microsoftの非互換キーワードとコンパイラ指令の使用はJDK 1.1仮想マシン上で正しく実行しないアウトプットを作り出す原因となると主張する。Schroer補充陳述書¶¶7,8,9及び書証A参照。また、SunはSDKJ 2.02は二つの要求されるコンパイラテストに失敗していると主張している。Schroer補充陳述書¶7(d)。

 Sunの最初のテストはMicrosoft製品が107「シグネチャテスト<Signature Test>」失敗を引き起こすことを示している。しかしながら、このテストはMicrosoft製品のいわゆる「ベータバージョン」で行われた。SunはもはやMicrosoftの製品がこれらのシグネチャテスト・エラーを引き起こすことを主張していない。
 
1.RMIコンパイラテスト

 RMIテストの失敗に関しては、Microsoftは、SunのRMIコンパイラ又は「rmic」は本件契約に基づくサプリメンタルJavaクラスを構成すると論じている。本件契約§§1.23,2.7(a)参照。Microsoftは、本件契約サプリメンタルJavaクラスを製品に含ませることは要求されていないと書きとどめている。むしろ、Microsoftは、本件契約に基づく義務を満足するために、サプリメンタルJavaクラスをそのウエブサイト上に掲示しなければならないだけである。Sunは、応答書面で反論していないから、この主張に合意しているようにみえる。

2.SDKJ 2.02

 SDKJ 2.02によって引き起こされる二つのコンパイラ・エラーに関しては、Microsoftは、これらのテストの一つ(「601テスト」)は実際にパスし、他のテスト(「2003テスト」)の失敗はSDKJ 3.0でフィックスされたプログラムバグの結果であると力説する。Golde陳述書¶¶2-4。MicrosoftはSDKJ 2.02においてこのバグはフィックスされるだろうと主張する。同¶4。しかしながら、Sunは、SDKJ 2.02が601テストをパスしたというMicrosoftの主張はこのテストの不適切な実行を基礎としているのが最もありそうであると主張する。Schroer 応答陳述書¶¶26-29。

3.Javaネイティブ・インターフェース(「JNI」)

 Javaテクノロジーはソフトウエア開発者が必要とするかもしれない機能の全てを有していないから、SunはJavaランタイム・インタープリタへのネイティブ・メソッド・インターフェースを開発した。Deutsch 陳述書¶75参照。SunのJDK 1.1製品において、このネイティブ・メソッド・インターフェースはJavaネイティブ・インターフェースあるいは「JNI」と呼ばれている。Sunによると、JNIはMicrosoftへ最初に出荷されたJavaテクノロジーのJDK 1.0のなかのネイティブ・メソッド・インターフェース(最初は「nmi」と呼ばれた)へのアップグレードあるいはエンハンスメントである。Sueltz Decl¶7。Javaテクノロジーでは利用できない機能が必要なときは、ソフトウエア開発者はJava言語でアプリケーションの一部を書き、残りの部分はそのプログラムが書かれる特定のプラットフォームによってサポートされるネイティブ言語で書くだろう。CあるいはC++のようなネイティブ言語はプラットフォームに依存する;ゆえに、ネイティブ・メソッドを呼び出すJava言語で書かれたプログラムもプラットフォームに依存する。

 Sunによると、JNIはJavaランタイム・インタープリタへのパブリック・プログラミング・インターフェースである。Lindholm応答陳述書¶4。JNIは「Java仮想マシンを通してJavaコードをネイティブコードにリンクする、そしてJava仮想マシンへアクセスするネイティブコードを提供する。」同¶3。JNIがJava互換仮想マシン上で走るJava/ネイティブコード・アプリケーションを可能とさせている。Gosling陳述書¶15;Lindholm応答陳述書¶3。

 Microsoftのランタイム・インタープリタ又は仮想マシンはSunのJNIをサポートしない。むしろ、Microsoftのランタイム・インタープリタはRNI、Java/COM及びJ/Directと呼ばれるネイティブ・メソッド・インターフェースをサポートする。Java/COM及びJ/DirectはSDKJあるいはVJ 6.0のようなMicrosoftのソフトウエア開発ツールキットを使うときソフトウエア開発者にWindows特有ネイティブ機能を呼び出すことを可能とさせる。RNI、J/Direct又はJava/COMを使用するソフトウエア・アプリケーションはSunのJNIだけサポートしているJavaランタイム・インタープリタ上で走らないと、Sunは主張する。Gosling陳述書¶16参照。この非互換性は、Sunによると、WindowsプラットフォームのためのJavaプログラミング環境を「バラバラに壊す」。同¶17。さらに、RNI、J/Direct又はJava/COMを使用するJava/ネイティブ・アプリケーションはMicrosoftの仮想マシン上だけで正常に走るとSunは主張する。同¶¶16, 17。

 SunはJNIは明らかに本件契約に基づくMicrosoftの互換性義務の中にあると論じる。本件契約はアップグレードを含めたSunのAAPIのスペシフィケーションに従っていることをSunがテストすることを認めているとSunは主張する。JNIはJavaアプレット環境の一部を構成するJavaランタイム・インタープリタへのプログラミング・インターフェースであるから、Microsoftが従う義務の中にあるとSunは論証する。Sueltz陳述書¶7;Day陳述書、書証D(Silverbergデポジションat 38:3-10)参照。

 他方、マイクロソフトは、本件契約は製品がJNIをサポートすること、あるいは、それに関連する互換性テストをパスすることを要求しないと主張する。Microsoftによると、この問題はSunのJNIはAAPIの一部であるかどうか、そして、より明確には、JNIは「資料Aで特定されるテクノロジーをもたらすJavaアプレット環境(JAE)へのパブリック・アプリケーション・プログラミング・インターフェース」の一部であるかどうかである。本件契約§1.1(a);反論書at 9。1.2条によって証拠づけられるように、本件契約の1.1(a)条はJavaアプレット・インターフェースを定義することを意図しているだけであり、JNIはこの定義に適合しないとMicrosoftは主張する。本件契約§1.2参照。Microsoftが説明するように、JNIはC又はC++プログラマに利用可能なインターフェースであり、Java仮想マシンを呼び出すネイティブ・プログラムを可能とし、ネイティブコードを書くときをターゲットとしたプログラマのための接続メカニズムを提供する。Huhns陳述書¶40;Deutsch陳述書、書証28(Java ネイティブ・インターフェース・スペシフィケーションat 1)。実際、Microsoftの「Javaリファレンス・インプリメンテーション」へのネイティブ・インターフェースのSunの支配権を認めるSunが提案した契約文言をMicrosoftは明確に拒否したと力説する。McMahon 陳述書、書証17(Mugliaデポ十ションat 117:14-118:10)。

4.キーワード拡張及びコンパイラ指令

 本件契約はJavaベースの製品にキーワード拡張及びコンパイラ指令の〔プラットフォームに〕特有なインプリメンテーションの権限を与えているとMicrosoftは主張している。MicrosoftはWindowsプラットフォームにすでに存在するネイティブ機能を直接的に、より効率的に呼び出すことを提供するコンパイラ指令を開発した。Gosling陳述書¶16参照。「@dll」及び「@com」指令は各々「J/Direct」及び「Java/COM」と呼ばれるMicrosoftのネイティブ・メソッド・インターフェースをサポートする。これらの指令はソフトウエア開発者が「ダイナミック・リンク・ライブラリ」及び「COMライブラリ」の中の非Javaコードをアクセスすることを可能とする。Lee陳述書¶37。「@security」指令はMicrosoftの仮想マシンにインプリメントされたあるセキュリティ機能を不能とする。同。これらのコンパイラ指令を使用することを望むソフトウエア開発者はドキュメンテイション・コメントとしてソースコードの中にそれらを挿入する。Lee陳述書¶43参照。通常、コンパイラはドキュメンテイション・コメントの中の情報を無視するが、拡張モードでは、Microsoftのコンパイラは@dll、@com及び@security指令を認識する。[4]

 Microsoftのキーワード拡張、「multicast」と「delegate」、はメソッド・ポインタを作り出すためのクラス宣言の一部として使用され、「イベント・ハンドリング」の問題を扱うために設計されたものである。Deutsch陳述書¶34、書証3,4;Lee陳述書¶37参照。拡張モードにおいてMicrosoftのコンパイラが「delegate」及び「multicast」キーワードに出会ったとき、「delegate」及び「multicast」クラスを拡張するクラス・ファイルを作り出す。その結果のクラス・ファイルはMicrosoftによって開発された二つのクラス(「com.ms.lang.Delegate」及び「com.ms.lang.MulticastDelegate」)を参照する属性を持つ。Deutsch陳述書¶58、書証2(Delegates in Visual J++ 6.0 at 1)参照。もし、Sunのもののような仮想マシンはこれらのクラスをインプリメントしなければ、それらを参照するコンパイルされたコードはその仮想マシン上では走らないだろう。Deutsch陳述書、書証6(DeMichillieデポジッションat61:8-63:14)。Microsoftのdelegateクラスは、分離されたJavaクラスとしてインプリメントされているのではなく、Microsoftの仮想マシンによってネイティブにインプリメントされている。DeMichillieデポジッションat 62:10-22。

 非互換と訴えられたMicrosoftのコンパイラに関して、そのコンパイラは「ユーザーがコンパイラ指令及び二つのキーワードの3つのファミリーを利用可能なエンハンス・モード」を有していることをMicrosoftは指摘する。反論書at 3。また、MicrosoftはSDKJ 2.0及び3.0はVJ 6.0と同様にソフトウエア開発者がこのエンハンス・モードを、本件契約の 2.6(b)(iv)条によって意図されているように、ON、OFFすることができると言う。Huhns陳述書¶58。これに加えて、Microsoftはそのコンパイラはエンハンス・モードが用いられるかどうかにかかわりなく正常に動作すると力説する。Lee陳述書¶¶14, 15;Huhns陳述書¶¶59, 60。さらに、ソースコード中にそのコンパイラ指令を使用しても、Sunのコンパイラがそのソースコードをコンパイルしたときでさえエラーの原因とはならないとMicrosoftは主張する。Lee 陳述書¶15。しかしながら、Microsoftはソフトウエア開発者がソースコードの中にMicrosoftのキーワード拡張(「delegate」及び「multicast」)を使用すると、非Microsoftコンパイラではエラーが発生することを認めている。Lee陳述書¶16。しかしながら、ほとんどのソフトウエア・プログラマはプラットフォーム独立コードを書くときにはこれらの拡張を単に避けるであろうこと明白に明らかであろうとMicrosoftは主張している。Lee陳述書¶¶8,13,16。

 Sunによると、Microsoftのコンパイラのモード・スイッチはJDK 1.1a test suiteをパスするクラスファイルの生成を許さない。Hankinson陳述書¶¶7,8参照。しかしながら、この主張はコンパイルされたソースコードがMicrosoftの言語拡張を含むとき有効であるようにみえるだけである。同¶¶37,38参照。とにかく、Sunはコンパイラ指令及びキーワード拡張のMicrosoftの使用は本件契約で許諾されたライセンスの範囲を超えていると主張する。

 Microsoftのキーワード拡張(「multicast」及び「delegate」)に関して、Microsoftのコンパイラは、これらの拡張に遭遇したときに、バイトコード互換であるクラス・ファイルの中にアウトプットを生成することを証拠は示している;しかしながら、コンパイルされたインストラクションが原因となり、仮想マシンはMicrosoftの仮想マシンだけが保有するクラスを探すことになる。Deutsch陳述書¶58;Deutsch応答陳述書¶6参照。他方、Microsoftのコンパイラ指令はMicrosoftのコンパイラが結果のバイナリファイルの中に非標準属性を挿入する原因となる。Deutsch応答陳述書¶9。Microsoftによると、「クラスの意味及びインターフェース・タイプ」には影響がなく、Javaランタイムはそれが認識しない属性を無視するから、これはJava言語スペシフィケーションあるいはJava仮想マシン・スペシフィケーションに違反しない。Lee陳述書¶¶40-42。とにかく、Microsoftのコンパイラ指令を含むソースコードは、Microsoftのコンパイラを使用してコンパイルしSunのJDK 1.1仮想マシン上で走るとき、所望のネイティブ機能を実行するよりもむしろ、エラーメッセージを発生させる。例えば、「@dll」コンパイラ指令に関して、非Microsoft仮想マシンはこのコンパイラ指令の使用によって作成された属性を無視し、結局、関連するネイティブDLL機能を呼び出すのに失敗し、それによってその仮想マシンがエラーメッセージを発生する原因となるだろう。1998.9.9審問謄本(Gosling証言at 250:20-252:24,255:2-15)参照; see also September 8, 1998.9.8審問謄本(Lee証言at 133:5-135:21);Hankinson陳述書¶36も参照。

D.訴えられたMicrosoftの不公正競争

 カリフォルニア・ビジネス及び職業法に基づく仮差止救済を求めるSunの申立は、第一に、オペレーティングシステム・マーケットのMicrosoftの継続する支配を明らかに止めるという恐れを中和させるためのMicrosoftの申し立てられた陰謀に基づくものである。Sunによると、Microsoftの計画はJavaテクノロジーマーケットを「汚染する」ために、非互換ブラウザ、オペレーティングシステム及びソフトウエア開発ツールと共に、オペレーティングシステムにおける支配的なマーケットシェアをテコとして使用するというものである。その結果であるJavaテクノロジーのMicrosoftの非互換インプリメントがインストールされた基盤がデファクトスタンダードになることをSunは恐れている。Arrow陳述書¶¶26-29。

 マーケットへのJava非互換製品の申し立てられた意図的な投入についての訴えに加えて、SunはJavaテクノロジーのインプリメントに関連したMicrosoftのライセンス慣行について異義を唱えている。特に、SunはMicrosoftの再販業者及び開発者とのライセンス契約がJavaテクノロジーのMicrosoftのバージョンのためだけにソフトウエアを開発するように制限していると主張する。Armstrong応答陳述書、書証15(「[ライセンシー]は...MicrosoftのJava仮想マシンを再配布するものとする...そして、他の仮想マシンは再配布しないものとする;...ネイティブコード呼び出しのためにMS Java VMの一部であるMicrosoftネイティブコード・インターフェースだけを使用するものとする。」)参照;書証22(「[ライセンシー]は..そのようなインターフェースに関してネイティブコード呼び出しのためにMS Java VMの一部であるMicrosoftネイティブコード・インターフェース(J/Direct、RNI、Java/COM)だけを使用する。」);Armstrong陳述書、書証35も参照。他方、Microsoftは現在のライセンシング・プログラムはMicrosoftの仮想マシン又はネイティブコードの呼び出し方の独占的使用を要求していないと主張する。さらに、Microsoftの仮想マシンの独占的配布を要求する以前のライセンス契約はもはや「有効」ではないと主張する。McMahon陳述書、書証19 (Plamondonデポジッションat 40:6-41:19)参照。 

 また、SunはMicrosoftがJavaテクノロジーのMicrosoftの非互換インプリメンテーションのためにプログラムを作成するようにソフトウエア開発者を勧誘する努力の中で不当表示をしたと主張する。不公正競争申立書at 19参照。Sunによれば、Microsoftは本件契約がMicrosoftのインプリメンテーションをWin32ベース・システムのための「オフィシャル・リファレンス・インプリメンテーション」に選定しているという誤解を招く宣伝をした。Armstrong陳述書、書証31。また、Sunは「SKDJで作成されたJavaアプリケーションはいかなるプラットフォームでも走るだろう」というMicrosoftの宣伝に異義を唱えている。Armstrong陳述書、書証32 at 3。さらに、SunはMicrosoftがSDKJ及びVJ 6.0を「Java Compatible」と呼称することを非難している。Armstrong陳述書、書証29,30。Microsoftはこれらの陳述は事実であるがソフトウエア開発者が誤解しそうもなく、Microsoftによると、Microsoftのソフトウエア開発ツールはソフトウエア開発者がJava互換コードを作成できるモードを含んでいると論じる。Microsoftは言語拡張の使用はうまく宣伝されており、ソフトウエア開発者によって驚くべきことはないと指摘する。Hejlsberg陳述書、書証A, B。

E.Sunが求める救済

 以上の議論のように、SunはMicrosoftに対し、IE 4.0、SDKJ 2.0及び3.0、VJ 6.0並びにWindows 98がSunの互換性テストに成功裏にパスし他の全ての互換性及び本件契約で規定された検定要件に従っていることをMicrosoftが証明しない限り、及び証明するまで、これらの製品の再製、配布又は販売を禁止する命令を求めている。しかしながら、Sunは要求された救済が引き起こすかもしれない悪意のないサードパーティへの被害を認識している。Sunの著作権応答書at 15。Windows 98及びIE 4.0に関しては、Sunは本命令の90日後に各製品がJDK 1.1a test suiteをパスするJavaランタイム・インタープリタを含んでいない限り、これらの製品のコピーの配布をMicrosoftに対して禁止する命令を求めている。また、Sunは、もしMicrosoftが十分な理由を証明すればこの90日の期間の延長を考えている。Microsoftの開発ツール(VJ 6.0 及びSDKJ 2.0 及び 3.0)に関しては、Sunは、それらがSunのJNI及びコンパイラ・アウトプット要件テストを成功裏にパスしない限り、及びパスするまで、Microsoftのこれらの製品の配布を直ちに禁止する命令を求めている。

F.Sunの新しく変更された意見に対するMicrosoftの削除申立

 MicrosoftはSunの応答書面において初めて存在したとマイクロソフトが申し立てる議論と証拠の削除を申し立てている。MicrosoftはSunの応答書面はSunの最初の申立書で主張したものから極めて異なっている議論と証拠が含まれていると主張する。例えば、最初の申立書では、Sunは最初はMicrosoftの製品がSunのシグネチャテストをパスできないことに頼っていた。Sunの申立はJNIへの重要でない参照だけが含まれていたとMicrosoftは主張する。その応答において、Microsoftにしたがうと、Sunはその主要な重点をJNI並びにMicrosoftのコンパイラ指令及びキーワード拡張の使用をサポートするためのMicrosoftが申し立てる不法な失敗にシフトさせた。Microsoftは現在これらのSunによる「新しい」議論及び証拠を削除することを申し立てている。

 裁判所はSunの新しく変更された意見を無効にするというMicrosoftの申立を、Microsoftが不公正な不意打ち又は不利益を証明するのに失敗したことにより、却下する。Sunの申立及び技術説明の間の裁判所へのプレゼンテーションに対するMicrosoftの異義はMicrosoftがSunの申立の中に主要な問題を完全に承知していたことを証明している。さらに、MicrosoftはMicrosoftの要求に従い行われた2日間の証拠の審問の間に現在主張している不利益を軽減する十分な機会を有していた。JNIに関しては、Sunの最初の申立書は本件契約はMicrosoftの製品がJNIをサポートすることを要求していると明確に主張している。著作権申立書at 9:4-5;不公正競争申立書at 16:26-18:5参照;Deutsch陳述書¶¶5-8, 74-89も参照。加えて、なぜ本件契約がJNIのサポートを要求するのかに関するSunの議論はSunによる仮差止救済を求める最初の申立と同じである。1998.3.24命令at 16:15-27参照。Microsoftのコンパイラ指令及びキーワード拡張に関しては、SunはMicrosoftにSunの要求の十分な通知を与えた。第二訂正申立(1998.5.12)¶83参照;Schroer 1998.6.17陳述書¶¶5(a)-(c),11(e),12(f),13(f)。Sunの議論及び証拠は本件契約2.6(b)(iv)条における「モード」の文言がMicrosoftに言語拡張を作成することを許しているというMicrosoftの議論に主に返答する応答の中で提出された。
 

II.仮差止のための法的基準

 原告が求めている仮差止救済は「本案訴訟において勝訴する可能性及び回復不能な損害の可能性、又は、本案訴訟に進むことに重大な問題が生じかつ困難性の天秤がはっきりと有利に傾くことのどちらか」を証明しなければならない。Sega Enterprises Ltd. v. Accolade. Inc., 977 F.2d 1510, 1517 (9th Cir. 1992)(引用は削除)上記基準に代わるものは、二つの別々のテストよりもむしろ「一つの連続体の両端」に代表される。Benda v. Grand Lodge of Int'l Ass'n of Machinists & Aerospace Workers, 584 F.2d 308, 315 (9th Cir. 1978)。一つの「重大な疑問」は申立人が「本案訴訟において勝訴するかなりよいチャンス」を有していることに対するものである。Sierra On-Line. Inc. v. Phoenix Software. Inc.,739 F.2d 1415, 1421(9th Cir. 1984)。一般に、両当事者の相対的な困難性の評価は「本案訴訟における勝訴の可能性」の分析より先に行うべきである、なぜなら、困難性の天秤が原告の証明がどれだけ強くまた実体のあるものでなければならないのかを決定するからである。Alaska v. Native Village of Venetie, 856 F.2d 1384,1389(9th Cir. 1988)参照。もし、公衆の利益が伴う場合は、裁判所は、仮差止が公衆の利益に合致するかどうかも考慮すべきである。Westlands Water Dist. v. Natural Resources Defense Council,43 F.3d 457,459(9th Cir. 1994)。

 著作権法は侵害者に対して一時的及び永続的仮差止救済のために特に規定している。17 U.S.C.§502(a)。著作権侵害においては、仮差止の地裁の認容を証拠立てるために原告は合理的な勝訴の可能性を立証することだけが要求される。Johnson Controls v. Phoenix Controls Systems,886 F.2d 1173, 1174(9th Cir. 1989)(「本案訴訟における合理的な勝訴の可能性の証明は回復不能の被害の推定を成り立たせる。」)
 

III.分析

A.本案訴訟におけるSunの著作権侵害請求の勝訴の可能性

 著作権侵害を立証するために、原告は(1)有効な著作権の所有及び(2)その著作権によって保護された表現のコピーを証明しなければならない。Triad Systems Corp. v. Southeastern Express Co.,64 F.3d 1330,1335(9th Cir. 1995)。

1.有効な著作権の所有

 Sunの著作権登録証によってSunがJDKソースコードに有効な著作権を所有していることの反証可能な推定が成り立つ。17 U.S.C.(著作権法)§410(c);Entertainment Research v. Genesis Creative Group, 122 F.3d 1211, 1217 (9th Cir. 1997);generally Crean陳述書及びCrean補充陳述書参照。MicrosoftはJDK 1.1ソースコードのある「大きなかたまり」はサードパーティのソースによるものであると主張して有効性の推定を反証することを試みた。しかしながら、サードパーティのコードを潜在的に含んでいるのはJDK 1.1のソースコード・ファイルの10%より少ないことを示す証拠をSunは提出した。Lindholm応答陳述書¶44。加えて、Sunの登録証には登録されたソースコードはサードパーティのコンピュータ・プログラムを合体していることが示されている。Crean陳述書、書証D, E;Crean補充陳述書、書証A. B, C参照。著作権を有するソフトウエアの中の承認されたサードパーティのコードの存在が有効性の推定を反証するために十分であることを示す証拠をMicrosoftは引証していない。

2.Sunの著作権によって保護された表現のコピー

 MicrosoftはSunのJDK 1.1製品をコピーしたことを争っていない。しかしながら、サードパーティのコードの存在を前提としてSunの著作権がMicrosoftによってコピーされたものに及ぶことを証明する責任をSunは果たしていないとMicrosoftは主張する。しかしながら、SunはSunのオリジナルなソースコードファイルのMicrosoftのコピーを証明する証拠を提出している。Deutsch応答陳述書¶¶30-35参照。

3.Sunが著作権を有するソースコードのMicrosoftの使用は許可されたものかどうか

 Sunは、MicrosoftのIE 4.0、SDKJ 2.0及び3.0、VJ6.0並びにWindows 98はSunの互換性test suiteにパスできず、それ故、これらの製品の配布は本件契約でMicrosoftに許諾されたライセンスの範囲外となると論じる。他方、Microsoftは、本件契約はパスすべきテストを切り分けており、Microsoftの製品はこれらのテストをパスしていると主張する。

 もし、ライセンシー〔著作権の許諾を受けた側〕がライセンスの範囲を超えていれば、ライセンシーはライセンサー〔著作権を許諾を与えた側〕の著作権を侵害する。S.O.S., Inc. v. Payday, Inc., 886 F.2d 1081,1087(9th Cir. 1989)参照。「著作権ライセンスが許可されていないあらゆる使用を禁じるのは当然である。」同at 1088。それ故、本件契約の肯定的な許諾がMicrosoftのライセンスの範囲を決定する。Cohen v. Paramount Pictures Corp.,845 F.2d 851,853-54(9th Cir. 1988)(「[著作権]ライセンスは連邦著作権法の基礎をなす目的に従って解釈されなければならない。」)参照。

 ここに、問題はMicrosoftのJavaテクノロジーの使用がそのライセンスの範囲を超えたかどうかである。2.2(a)(iii)条はMicrosoftにJavaテクノロジー及び「製品の一部として」「それの派生的著作物」を配布する権利を許諾している。本件契約の2.6(a)(vi)条はこの配布権をSunのrelevant test suiteをパスする「製品」に限定している。したがって、契約問題は(1)本件契約がMicrosoftにJNIをサポートすることを要求しているかどうか、及び(2)本件契約がMicrosoftがキーワード拡張及びコンパイラ指令をその製品に合体させることを許しているかどうかに純化される。

a.本件契約がMicrosoftにJNIのサポートを要求しているかどうか

 Sunは、本件契約がJNIのためのSunのスペシフィケーションに従うことを要求しているという主張に合理的な勝訴の可能性を立証した。本件契約に基づけば、「Java Test Suite」は「Javaバイトコードを解釈する製品がtest suitesのその日のAAPIのSunのスペシフィケーションに従うことを確認するためのSunのパブリックに利用可能なtest suites」を意味している。本件契約§1. 15。本件契約は明確にAAPIを、「本契約期間の間、Sunによって修正されたものとして[本件契約の]資料Aで特定されるテクノロジーをもたらすJavaアプレット環境(JAE)へのパブリック・アプリケーション・プログラミング・インターフェース」の一部分として定義している。本件契約§1.1。資料AはJavaアプレット環境はあるJavaクラス及びJavaランタイム・インタープリタから構成されると記述している。「テクノロジー」は「Javaランタイム・インタープリタ、Javaクラス、サプリメンタルJavaクラス、Javaコンパイラ、及び全てのアップグレード」で構成される。本件契約§1.25。Sunによれば、JNIはJava/ネイティブアプリケーションが、特定のプラットフォームのために設計された、全ての仮想マシン上で走ることができるように意図されたJavaランタイム・インタープリタへのアップグレードされたパブリック・アプリケーション・プログラミング・インターフェースである。Sueltz陳述書¶7;Gosling陳述書¶15;Deutsch陳述書、書証28(JNIスペシフィケーションat 1)参照。Microsoftは、JNIは仮想マシンへのアプリケーション・プログラミング・インターフェースであることに合意しているように見える。Huhns陳述書¶40、Day陳述書、書証D(Silverbergデポジッションat 38:3-10)参照;Deutsch陳述書、書証21も参照。また、Sunは本件契約はネイティブコード・インターフェースを仮想マシンへのインターフェースとして定義していることを指摘する。本件契約§2.9(e)。それに続いて、JNIは本件契約の資料Aに従い、Javaアプレット環境の一部であるJavaランタイム・インタープリタへのアプリケーション・プログラミング・インターフェースであるから、JNIは本件契約の2.6条に基づくMicrosoftの応諾義務の中に入っている。

 Java言語スペシフィケーション及びJava仮想マシン・スペシフィケーションは両方がネイティブ・メソッドを呼び出すことを意図しているからSunの主張を大きく支持している。Lindholm応答陳述書¶¶14-19;Java仮想マシン・スペシフィケーション(「JVMスペック」)at 104, Table 4.4参照。SunのスペシフィケーションはJavaランタイム・インタープリタの機能はネイティブコードを呼び出す能力を含んでいると指摘している。Java仮想マシン・インストラクション・セットは仮想マシンにロードされリンクされるネイティブコードもたらす用語「invokeinterface」、「invokespecial」、「invokestatic」及び「invokevirtual」を含んでいる。JVMスペックat 258-69; Lindholm応答陳述書¶14。そのうえ、Java言語スペシフィケーション環境及びネイティブコードは特定のプラットフォームに特有であり(そしてしばしば特定のソフトウエア・アプリケーションのために書かれ)、インターフェースはJava仮想マシンとネイティブコードの間のコミュニケーションを許すことが求められる。Lindholm応答陳述書¶15参照。

 本件契約の他の条項はこの裁判所の解釈を支持している、本件契約2.9(b)条はMicrosoftのランタイム・インタープリタが「Javaランタイム・インタープリタの機能をインプリメントするために必要なソースコードを含む」ことを要求している。したがって、本件契約はMicrosoftのランタイム・インタープリタにJNIによってもたらされる機能をインプリメントすることを要求している。また、2.9(f)条は「リファレンス・インプリメンテーションVM」へのインターフェースのSunのテストを意図している。本件契約§2.9(f)(「契約期間中、時々、SunはTest Suiteを通しては十分に表現されることができない独立の方法でリファレンス・インプリメンテーションVMへのインプリメンテーション及び/又はインターフェースをライセンシーが修正することを提案することを望んでもよいことをライセンシーは同意する。」)参照。

 そのうえ、ドラフト契約書によって証明されるように、本件契約の交渉経過は、ランタイム・インタープリタへのプログラミング・インターフェースの独占的支配は「取引違反者」であるというMicrosoftの主張の土台を削り去る。特に、Microsoftが1996年3月10日に提案したドラフトはランタイム・インタープリタへのMicrosoftの呼び出しインターフェースをSunにテストすることを許しているように見える。March 10, 1996 Draft§1.9(「『呼び出しインターフェース<Invocation Interface>』は...この契約の2.6条で明らかにされた互換性要件を満たす派生的著作物又は独立した著作物を含む...リファレンス・インプリメンテーションVMへのパブリック・インターフェースを意味する。」)参照。呼び出しインターフェースはネイティブコード・プログラムがJavaランタイム環境を呼び出すことを可能とする。1998.9.8審問謄本(Muglia証言at 31:1-5)参照。3月10日のドラフト契約及び以前のドラフトにおいて定義されているように、呼び出しインターフェースはJNIの二つの面の一つに直接的に関係している。上述のように、JNIは二組の機能からなる:1)ネイティブメソッドを呼び出すJavaコードを可能とするインターフェース、及び2)Javaランタイム環境を呼び出すネイティブ・プログラムを可能とするネイティブ・インターフェースの組。

 JNIは、Microsoftによると、AAPIあるいはアプレットAPIはJavaクラスへのインターフェースを単に参照しているにすぎないから、AAPIの一部ではないとMicrosoftは論じる。ここで、Javaクラスはアプレットが正しく走るために必要とするものの全てである。本件契約資料A§I(A)参照。Microsoftはその解釈を支持するために、本件契約及びJDK 1.0の文書及びいわゆるSun「ホワイトペーパー」「JavaアプレットAPI」のSunの定義における「アプレット」の定義に依存している。Huhns陳述書、書証B、C参照;本件契約§1.2(「アプレットは(i)AAPI上で走り、(ii)Javaランタイム・インタープリタによって実行されるJavaバイトコードからなるJava言語で書かれたプログラムを意味する(しかし、Javaランタイム・インタープリタ又はJavaクラスを含まない、あるいは合体しない)。も参照。さらに、Microsoftはその定義は本件契約に至る交渉においてSunとMicrosoftによって理解された用語の意味に対応すると主張する。McMahon陳述書、書証17(Mugliaデポジッションat 108:23-109:17)、書証13(Joyデポジッションat 277:11-278:3)。しかしながら、本件契約以外でいかに定義されているかにかかわらず、AAPIは本件契約においてJavaランタイム・インタープリタを含むJavaアプレット環境へのアプリケーション・プログラミング・インターフェースを含むと明確に定義されている事実をMicrosoftは無視している。Java/ネイティブ・アプリケーションはJavaアプレットばかりでなくネイティブ・モジュールも合体している。Microsoftが主張する解釈は1.1(a)条のAAPIの定義の中に「アプレット」を挿入することを試み、用語「Javaアプレット環境」を用語「Javaクラス」に置き換える結果をもたらすものである。本件契約§§1.1, 1.3参照。

 さらに、本件契約は一つの統合した契約(本件契約§12.3)であり、SunはAAPIの定義が不明瞭でないことを示すことにおいて勝訴の可能性を立証したから、仮処分証拠規則はMicrosoftがAAPIの明白な定義からJavaランタイム・インタープリタへのインターフェースを削除するために本質的でない文献、意思書簡及び以前の交渉に頼るのを禁止することができる。A. Kemp Fisheries, Inc. v. Castle & Cooke, Inc., 852 F.2d 493, 495 (9th Cir. 1988)(「仮処分証拠規則は『法律文書の文言が合理的に受け入れやすい意味を証明するために関連しない証拠』を排除するように作用する。...『非本質的な証拠は記述された契約の文言に付加すること、減じること、変更することは許されない。』)(引用は削除)参照;California State Auto. Ass'n Inter-Ins. Bureau v. Antonelli, 94 Cal. App. 3d I 1 3, 118 (1979)(ある文言が明確に定義され、契約書を通して一貫して使用されているときは、その文言の通常又は普通に理解される意味はより狭いという事実はその契約文言を曖昧にしないと述べている)も参照。

 さらに、Microsoft自身の1996年3月10日のドラフトは「アプレット・アプリケーション・プログラミング・インターフェース」における用語「アプレット」はSunに許されたテストの範囲をJava言語だけで書かれたプログラムに制限しているというMicrosoftの主張の価値を損なっている。3月10日のドラフトの1.1条はAAPIは「(以下に定義する)アプレット・クラスへのインターフェースを含むテクノロジーへのアプリケーション・プログラミング・インターフェースを意味している。」と記述している。3月10日のドラフトの「アプレット」及び「Java Test Suite」の定義は本件契約に含まれているものと同一である。March 10, 1996 Draft §§1.2,1.16。Microsoft自身の3月10日のドラフトは呼び出しインターフェース、リファレンス・インプリメンテーションVMへのインターフェース、は2.6条の互換性要件の中に入ると極めて明確に記述している。 March 10, 1996 Draft§1.9参照。

 Microsoftによれば、JNIは本件契約の1.15条に基づくSunの「AAPIのためのスペシフィケーション」の一部ではない、それゆえ、JNIは本件契約の互換性義務外である。Microsoftは、「SunのAAPIのためのスペシフィケーション」は本件契約の1.1(b)、(c)及び(d)で参照された文書に限られ、これらの文書はJNIに全く言及していないと論じる。しかしながら、Microsoftの解釈は本件契約の明瞭な文言と適合できない。用語「AAPIのためのスペシフィケーション」は本件契約において明確な定義を見いだせない。本件契約のAAPIの定義は「Javaアプレット環境へのパブリック・アプリケーション・プログラミング・インターフェース」を含む4つの部分を含んでいる。本件契約§1.1(a)。それゆえ、Sunのtest suiteはJavaランタイム・インタープリタを含むJavaアプレット環境のためのSunのスペシフィケーションに従うことを、本件契約が有効とするであろうことを意図しているようにみえる。本件契約§§1.15,1.1&書証A参照。

 また、Microsoftは1.1(a)条のAAPIの本件契約の定義は資料Aで特定されたものに制限され、アップグレードを排除している。しかしながら、Microsoftが主張する解釈はAAPIへの修正及びアップグレードを合理的に意図しているようにみえる1.1条の最後の文言を見過ごしている。本件契約§1.1(「『AAPI』は(a)資料Aで特定されるテクノロジーをもたらすJavaアプレット環境(JAE)へのパブリック・アプリケーション・プログラミング・インターフェース...この契約の期間中にSunによって修正されたものとして。」(強調付加)。

 また、MicrosoftはJNIは「サプリメンタルJavaクラス」であり、それゆえ、ランタイム・インタープリタにJNIを含ませる義務はないと言う。本件契約§2.7(a)参照。しかしながら、「サプリメンタルJavaクラス」は資料Aで与えられるJavaクラスへのSunの付加であるが、一方、JNIはJavaランタイム・インタープリタへのインターフェースである。本件契約§1.23(「『サプリメンタルJavaクラス』は本件契約3.1条に従い有効日後Sunが[Microsoft]へ配達するJavaクラス(すなわち「Javaクラス」への追加)を意味する。」)参照。そのうえ、MicrosoftはMicrosoftの仮想マシンに「Javaランタイム・インタープリタの機能をインプリメントする必要なソースコード」を含めることを要求する本件契約2.9(b)を無視している。

 Microsoftは、Sunはいくつかの他のライセンシーにJNIに従うことを要求していないから、SunはJNIに従うことをテストすることが許されないと論じる。MicrosoftはSunのJavaOSさえJNI関連テストに失敗していると主張する。しかしながら、SunのJavaOSは「ネイティブコードのダイナミック・ローディング」を除外するように特に設計されたものであり、JNIあるいは他のネイティブ・メソッド・インターフェースをインプリメントしていないとSunは指摘する。Schroer応答陳述書¶19。そのうえ、特定のライセンシーがある、よく定義されたインスタンスにおいてJNIをサポートするために要求されるべきであるかどうかに関してMs. Schroerの推奨にMicrosoftが依存することは、(1)彼女がSunのために断固として話したこと及び(2)Sunがそのような免除を許したことが示されなかったから、無駄である<Furthermore, Microsoft's reliance on the recommendations of Ms. Schroer as to whether a particular licensee should be required to support JNI in certain, well-defined instances is unavailing as no showing has been made (1) that she speaks conclusively for Sun and (2) that Sun has granted any such exemptions>。

 最後に、Microsoftは、Sunのテストの範囲はJava仮想マシン・スペシフィケーションに限られ、AAPIの定義にJNIを含むことは「任意で強制されない」という意味に帰着すると論じる。しかしながら、本件契約の1.1(a)条はSunのテストを、ツール・インターフェース又はランタイム・インタプリタへの他のインターフェースよりもむしろランタイム・インタプリタへのパブリック・アプリケーション・プログラミング・インターフェースに制限しているようにみえる。

b.Microsoftのキーワード拡張とコンパイラ指令

 Microsoftによると、本件契約はWindowsプラットフォームのためのJavaテクノロジーの最適化をMicrosoftに許しており、Java言語の拡張を明確に意図している。そのうえ、キーワード拡張とコンパイラ指令の〔プラットフォームに〕特有なインプリメンテーションはJavaと非互換ではなく、SunのJava言語スペシフィケーション又はJava仮想マシン・スペシフィケーションに違反しないとMicrosoftは主張する。SunはMicrosoftのコンパイラが失敗した一つのテストを特定しなかったとMicrosoftは主張する。反論書at 17。しかしながら、Microsoftの拡張されたキーワードとコンパイラ指令を含むMicrosoftのコンパイラでソースコードをコンパイルするとき、Microsoftのソフトウエア開発ツールはコンパイラ・アウトプット要件を満たしていないとSunは主張する。また、SunはMicrosoftの言語拡張はJava仮想マシン・スペシフィケーションとJava言語スペシフィケーションの両方に違反すると述べる。また、Sunは本件契約はMicrosoftにJava言語の拡張を許していないと主張する。

 両当事者から提出された証拠は、ソフトウエア・プログラマがMicrosoftのキーワード拡張及びコンパイラ指令の使用を避ける限り、ソースコードはいかなるJava互換コンパイラでも正常にコンパイルされ、いかなるJava仮想マシンでも走ることを示している。したがって、問題は、もし、ツール製品がSunの関連test suiteをパスする能力も有しているとすれば、Java言語及び対応するコンパイラの拡張バージョンを創作し配布することを、本件契約がMicrosoftに許しているかどうかに純化される。本件契約の肯定的なライセンス許諾がこの問題を支配する。Cohen, 845 F.2d at 853-54参照。

 2.6(b)(iv)条の意味は明瞭ではないようにみえる。MicrosoftはJavaテクノロジーの派生的著作物を修正及び創作する権利を有している。本件契約2.1(a)条はMicrosoftに「開発し、バイナリ形式にコンパイルし、製品をサポートする」目的でソースコード形式のその「テクノロジー」の派生的著作物[5]を修正し、改作し、創作するライセンスを許諾している。「テクノロジー」は「Javaランタイム・インタープリタ、Javaクラス、サプリメンタルJavaクラス、Javaコンパイラ及び全てのアップグレード」からなる。本件契約§1.25。しかしながら、本件契約はJavaテクノロジーの派生的著作物を配布するMicrosoftの権利を互換インプリメンテーションに制限している。

 これとは別に本件契約はSunの関連test suiteをパスする条件でその「テクノロジー」の派生的著作物を含む「製品」を配布することをMicrosoftに許している。本件契約§§2.2(a)(ii),(iii);2.6(a),(b)。本件契約はコンパイラに関してMicrosoftの互換性義務を明らかにしている。本件契約§ 2.6(b)(iv)(Microsoftのコンパイラは「ツールの顧客がその製品〔顧客が作成する製品〕がSignificant Upgradeを伴うJava言語Test Suiteをパスすることを可能とするために使用できるモードを含むこととする。」)参照。

 SunとMicrosoftは2.6(b)(iv)の意味に著しく異なった意味があるとしている。コンパイラがこれらの拡張を不能としてSunのtest suiteをパスするモードを含む限り、MicrosoftはJava言語を拡張できることが両当事者の理解であることは2.6(b)(iv)条が証拠であるとMicrosoftは主張する。[6] 他方、Sunはその2.6(b)(iv)条の「モード」という用語は単にMicrosoftに「以前の製品に合体されたJavaテクノロジーの以前の互換バージョンのためのコードをコンパイルする能力をコンパイラに含めること」を許しているだけであると主張する。応答書at 12。

 Sunは、本件契約がJava言語のMicrosoftの拡張及びそれに対応するJava言語コンパイラへの修正を許していないことを立証する合理的な可能性を証明した。Microsoft言語拡張に関したSunの勝訴の可能性の証明はJNIに関する勝訴の可能性の立証ほど強くはない;しかしながら、Sunの証明は仮差止救済の何かの形を保証する。2.6(b)(iv)条の文言はSun及びMicrosoftの両方の解釈を支持する。同様に、「モード」という用語によって理解されるものに関するSunによって提出された外部証拠はMicrosoftの外部証拠とまさに対立している。しかしながら、Java言語スペシフィケーション及び本件契約の中で2.6(b)(iv)条が現れる文脈はMicrosoftの言語拡張及び修正されたコンパイラは許されていないというSunの立場を支持している。

 本件契約において明らかにされた互換性要件は、ランタイム・インタプリタ及びコンパイラの両方に関して、Sunによって合理的にアップグレードされたJavaテクノロジーに従うことを命じている。一般的に本件契約§§2.6(a),(b)参照。本件契約はSunがテクノロジーをアップグレードし、「Significant Upgrades」を選定することを意図している。本件契約§§2.6(b)(iii),(iv)。「Java言語コンパイル機能を含む製品のいかなる新しいバージョンも・・・その製品〔顧客が作成する製品〕がSignificant Upgradeを伴うJava言語Test Suiteをパスすることを可能とするために使用できるモードを含むこととする。」本件契約§2.6(b)(iv)。これを背景とすると、2.6(b)(iv)条は、JavaテクノロジーのSunの最新のSignificant Upgrade に従ったコードをコンパイルするモードも含める限り、Javaテクノロジーの以前のバージョンのコードをコンパイルするモードをコンパイラに含めることをMicrosoftに許しているだけであるように見える。非標準キーワード及びコンパイラ指令を受け入れるようにJavaコンパイラを修正することをMicrosoftに肯定的に許すことを意味する本件契約の他のいかなる文言もMicrosoftは指摘しない。実際、Microsoftが主張する解釈は本件契約の明言された目的の一つと正反対である。本件契約の説明<Recitals>(「SunはJavaテクノロジーをライセンスすると同時に製品の基礎となるJava言語間に互換性を維持することを望んでいる。」)参照;JLSpec. at xxiii(「Javaプログラムは全てのマシンで全てのインプリメンテーションで同じ結果を計算<compute>すべきである。)も参照。

 また、Java言語スペシフィケーションはMicrosoftのキーワード拡張が禁止されていることを示している。Java言語スペシフィケーションはその言語のための全てのキーワードを定義し、現在使用されていない二つのキーワードをリザーブしている。JLSpec. at 18-19。現在のJava言語スペシフィケーションの著者は「すべての言語構成物の振る舞いは[Java言語スペシフィケーション]に明記され、その結果、Javaの全てのインプリメンテーションは同じプログラムを受け入れる。」JLSpec. at xxiii。したがって、非標準キーワードを採用すること及びそれらを受け入れるようにコンパイラを修正することは「Javaプログラムは全てのマシンで全てのインプリメンテーションで同じ結果を計算すべきである。」というJavaの主な目的に違反する。同。

 そのうえ、Microsoftのコンパイラ指令はJava仮想マシン・スペシフィケーションに違反する。同¶¶31,32。Java仮想マシン・スペシフィケーションは「このスペシフィケーションで定義されない属性は、付加的記述情報を提供することだけを除き、クラス・ファイルの意味に影響することを許されない(§4.7.1)JVMSpec.§4.6」と記述している;JVMSpec.§4.7.lも参照。例えば、「@dll」コンパイラ指令は、Microsoftのコンパイラのデフォルト(拡張)モードでコンパイルされたとき、結果のバイナリファイルは(1)ネイティブコードが接続されなければならないことをサポートするためにセットされるACC_NATIVEフラグを持つメソッド及び(2)必要な付加的な情報を提供する新しい属性を含むことを、Microsoft自身の専門家が示した。Huhns陳述書¶59;Lee陳述書¶39。Microsoftの専門家の一人、Dr. Leeは、語義は「実際の意味又はプログラムの振る舞い又はファイル・フォーマットに関連している」と述べている。Lee陳述書¶35。Java仮想マシン・スペシフィケーションはランタイム・インタープリタはそれが認識しない全ての属性を無視するように指摘している。JVMSpec.at 106,107。しかしながら、「@dll」及び「@corn」コンパイラ指令に関して、ソフトウエア・アプリケーションの正しい機能は、仮想マシンが安全に無視できる単なる記述情報よりもむしろ、必要な追加的な情報を含んでいる新しい属性の認識を要求する。したがって、Microsoftのコンパイラを使用した結果のバイナリファイルは、プログラムの振る舞いに影響を及ぼす新しい属性を含んでいるから、Java仮想マシン・スペシフィケーションに違反する。[7]

 少なくともMicrosoftのコンパイラ指令に関しては、SunはまたMicrosoftの開発ツールの中のコンパイラは本件契約が意図するSunのコンパイラ・アウトプット要件テストに失敗していることを証明した。JDK 1.1a Test Suite文書はライセンシーのコンパイラ・インプリメンテーションはJavaSoft仮想マシンで正しく実行しなければならないと記述している。Schroer 応答陳述書¶ 4及び書証A。したがって、Microsoftの「拡張された」コンパイラは、プログラムの意味に影響し、それゆえ、Sunのコンパイラ・アウトプット要件を満たしていない非互換属性を含むアウトプットを生成するから、本件契約の互換性要求を満たしていない。Schroer応答陳述書¶¶7,8,11,12及び書証A;Gosling陳述書¶¶18-23 33参照。

 他方、Microsoftのキーワード拡張の使用がコンパイラ・アウトプット要件を満たさないアウトプットを生成するというSunの主張はMicrosoftに明確に許諾された付加的Javaクラスの形でJavaのインプリメンテーションに新しい機能を付加する能力と調和させるのがやや困難である。本件契約§2.8(a)(「両当事者は...[Microsoft]は実行中にネイティブコード・インターフェースを呼び出す必要がない付加価値オープン・パッケージ(『ポータブルVAOP』)及び実行中にネイティブコード・インターフェースを呼び出す必要がある付加価値オープンパッケージ(『非ポータブルVAOP』)を開発してもよいことを理解し合意している。」);本件契約§1.28(「『VAOP』「delegate」、Microsoftによって開発された二つのクラス(「com.ms.lang.Delegate」及び「com.ms.lang.MulticastDelegate」)を参照する属性を有するクラス・ファイルを生成する。)も参照。もし、Sunのような仮想マシンがこれらのクラスをインプリメントしていないとしたら、これらのクラスを呼び出すコンパイルされたコードはその仮想マシン上では走らない。Deutsch陳述書、書証6(DeMichillieデポジッションat 61:8- 63:14)。しかしながら、そのコンパイラがクラス・ファイルを生成する方法(すなわち、Microsoftによって加えられたキーワード及び生成されたクラス・ファイルを認識するかどうか、あるいはこのクラス・ファイルをインプリメントした標準Javaソースコードをコンパイルするかどうか)に係わらず起こるようにみえるだろう。そのうえ、VAOP/Javaクラスを参照する属性を持つクラス・ファイルは、もしVAOP/Javaクラスをサポートしなければ、明らかにSunのJDK 1.1仮想マシン上で走らないであろう。[8] 本件においては、しかしながら、com.ms.lang.Delegate及びcom.ms.lang.MulticastDelegateが実際にVAOP/Javaクラスに含まれるのかどうかはっきりしない。これらのクラスは本件契約の2.8(d)条で明らかにされた慣行に基づいて名付けられるが、それらは別のクラス・ファイルとしてインプリメントされているというよりはむしろMicrosoftのJava仮想マシンに統合されているようにみえる。[9]DeMichillieデポジッションat 62:10-22。とにかく、裁判所はMicrosoftのdelegate 及びmulticastクラスが実際にVAOPであるかどうかに関して判断しない。仮にこれらのクラスがVAOPであるとしても、本件契約は付加的なキーワード(「multicast」及び「delegate」)及びこれらのクラスを拡張するクラス・ファイルを生成する修正されたコンパイラを使用することをMicrosoftに許していない。

3.SDKJ 2.02及び「テスト601」

 I.C.2.項において検討した証拠に照らして、SunはSDKJ 2.02が「テスト601」及び「2003」に失敗したことを立証する合理的な勝訴の可能性を証明した。

4.放棄

 Microsoftは、Sunは本件契約に基づくMicrosoftからの支払いの受領を継続することによって契約違反の主張を放棄したと言う。しかしながら、放棄は知られた権利の意図的な放棄を必要とする。U.S. v. King Features Entertainment, Inc.,843 F.2d 394, 399(9th Cir. 1988)参照。Microsoftからの支払いのSunの受領は、Microsoftが本件契約の互換性条項に違反していることをSunが知っていたとしても、本件契約の違反の主張の放棄を構成しない。本件契約の12.3条は放棄は書面で行うことを要求している。さらに、支払い時点の両当事者間に存在した状況に照らして、Sunは支払いの受領によって契約違反の主張の放棄を意図していたようにみることはできない。

B.回復不能の被害と困難性の天秤

 本案訴訟における合理的な勝訴の可能性の証明は回復不能の被害の推定を成り立たせる。Johnson Controls v. Phoenix Controls Systems, 886 F.2d 1173, 1174 (9th Cir. 1989) (Apple Computer Inc. v. Formula Int'l. Inc., 725 F.2d 521, 525 (9th Cir.1984)を引用している)。金銭的損害賠償が妥当であることはこの推定の反証とはならない。Cadence Design Systems, Inc. v. Avant! Corp.,125 F.3d 824, 827(9th Cir.1997)。加えて、原告が本案訴訟において勝訴の可能性を立証したときは、被告の侵害行為を禁止する命令によって被告が被るかもしれない被害の考慮は一般に少なくなる。同at 829-30。しかしながら、差止による重大な公衆の被害は差止救済の否定を支持するかもしれない。Abend v. MCA, Inc.,863 F.2d 1465,1479(9th Cir.1988),aff'd sub nom., Stewart v. Abend, 110 S.Ct. 1750(1990)参照。

 JNIに従うこと及びMicrosoftの権限のないJava言語の拡張に関して、Sunは本案訴訟における合理的な勝訴の可能性を証明した、そして、それゆえ、回復不能の被害の推定を享受する。USAR Systems,Inc. v. Brain Works,Inc.,887 F Supp.84(S.D.N.Y. 1995)に基づき、Sunは回復不能の推定を享受しないというMicrosoftの議論は、Sunの主張は著作権侵害ではなくむしろ契約違反によるという裁判所が却下した議論の焼き直しにすぎない。

 また、MicrosoftはSunによる差止請求の遅延は回復不能の被害の推定を反証すると論じる。しかしながら、本件の状況はSunによる合理的でない遅延を立証しているようにはみえない。SunはWindows 98及びVJ 6.0の商業的リリース以前に申立を起こしている。Forry,Inc. v. Neundorfer. Inc.,837 F.2d 259, 267(6th Cir. 1988)(著作権侵害訴訟の訴えの22ヶ月の遅延は回復不能の被害の推定を反証しないと判示している)参照。

 困難性の天秤に関しては、SunのJNIをサポートすることを求める仮差止から生じるMicrosoftが被る潜在的な被害は不当に負担になるようにはみえない。Sunの仮差止救済申請はMicrosoftにJNIを含めること及びサポートすることを求めるだけである。Sunは〔この仮差止請求においては〕MicrosoftがRNI又はJ/Directのような他のネイティブ・インターフェースを同時に使用することに反対してない。Windows 98にJNIのサポートを含めるには再開発、テスト、文書作成、配布のために少なくとも90日が必要であるとMicrosoftは見積もっている。Akerlind陳述書¶12。また、MicrosoftはSunのJNIをサポートするためのVJ 6.0のリワークには180日と約5百万ドルがかかると述べている。Button陳述書¶5。

 Sunが求める救済は公衆の利益に関係がある。さまざまなサードパーティがWindows 98、IE 4.0及びMicrosoftの開発ツールを排除する差止によって被害を受けることを証明する証拠をMicrosoftは提出している。特に、OEMパソコン製造業者は、もしWindows 98が直ちに禁止されるとすれば、重大な被害を受けるであろう。Akerlind陳述書¶¶2-11,14;Mitchell陳述書。また、Windows 98に影響がある差止はソフトウエア流通業者及び再販業者に重大な被害を与える可能性がある。Schiro 陳述書¶¶4-14,16-18。加えて、顧客のWindowsスペック・アプリケーションを開発するためにSDKJ又はVJ 6.0を使用したサードパーティ・ソフトウエア開発者はWindows 98、IE 4.0又はあらゆるMicrosoftのソフトウエア開発用製品に影響のあるいかなる差止によっても重大な被害を受けるだろう。Button 陳述書¶¶3,9。さらに、VJ 6.0に関連したものを作成している単行本、雑誌の出版者が被害を被ることも考えられる。同¶¶4,10。

 求める救済をSunが快く軽減したことによりMicrosoftによって主張される潜在的な被害のいくらかが和らげられる。上述のように、Sunは既に流通チャネルにあるMicrosoft製品のリコールを求めていない。Windows 98及びIE 4.0に関しては、Sunのtest suitesをパスする(すなわちJNIをサポートする)バージョンを開発し配布するためにMicrosoftに90日間をSunは進んで許している。十分な理由により延長する権利を有する、この90間はMicrosoftにその仮想マシンにJNIをサポートのための修正をするのに適切な時間を与えるであろう。

 しかしながら、Microsoftの開発ツールに関するSunが求める救済は罪のないサードパーティ・ソフトウエア開発者に重大な被害をもたらすであろう。それゆえ、裁判所はMicrosoftに本案訴訟のトライアルの前に現在の形でSDKJ 2.0、SDKJ 3.0及びVJ 6.0の全ての今後の配布を直ちに停止させることは行わない。それにもかかわらず、Microsoftの本件契約違反によって引き起こされた被害を軽減し、公衆に対する重大な被害を引き起こさない何らかの仮差止救済の権利がSunに与えられる。

 トライアル継続中に新しいコンパイラ指令、キーワード又は他の言語拡張をMicrosoftに禁じても、サードパーティ開発者は重大な被害を受けないであろう。また、もし、Microsoftのコンパイラのモード・スイッチが、デフォルト・モードがMicrosoftの拡張を許さず、開発者が拡張をイネイブルする時、ある警告が発せられるように変更されたとしても、開発者は被害を受けないだろう。[訳1]

C.Sunの不公正競争の主張

 著作権侵害に基づくSunの仮差止救済請求の仮処分を裁判所が行うことにより、Sunが求める救済の多くが達成される。それゆえ、Microsoftのライセンス慣行及び開発者へ声明のいくつかを禁止するために、Sunが求める範囲で不公正競争に基づくSunの請求のこれらの面を扱うだけとする。

 「不公正競争に」携わった、携わっている又は携わる恐れのある者又は団体は「いかなる管轄適格な裁判所も禁止することができる。」Cal. Bus. & Prof. Code§§17201,17203。「不公正競争」は「不法、不公正又は詐欺的ビジネス行為又は慣行及び不公正に欺く、虚偽の又は誤解を招く広告」を含む。Cal. Bus. & Prof. Code§17200。ビジネス行為は17203条に基づいて禁止される不法を必要としない。State Farm Fire & Casualty Co. v. Superior Court, 45 Cal. App. 4th 1093,1103-05(1996)(善良な信頼の義務違反及び不公正取引は17200条に基づく差止を支持する)。むしろ、「17200条に基づくテストは慣行が単に不公正であることである。」Allied Grape Growers v. Bronco Wine Co., 203 Cal. App. 3d 432, 452 (1988)。このテストは「加害被疑者の理由、弁明及び動機に対する...慣行のインパクト又は被害者への行為」の天秤を伴っている。Klein v. Earth Elements, Inc.,59 Cal. App. 4th 965,969-70(1997)。

 上述のように、Microsoftがライセンシーへ、Microsoftの仮想マシンを独占的に配布しMicrosoftのインターフェース(RNI、J/Direct及びJava/COM)の使用だけでネイティブコードを呼び出すように要求している点で、Microsoftのライセンス・ポリシーに対してSunは異義を唱える。Sunはその不愉快な条件を含む二つのライセンス契約書を提出している。また、SunはMicrosoftの「Designed for Windows 95/NT」ロゴ・ライセンス・プログラムに反対している。SunはMicrosoftはそのロゴを使用したいソフトウエア開発者に彼らが配布する製品にMicrosoftの仮想マシンだけを使用するように不公正に要求していると主張する。Schroer 陳述書、書証L、M、N。いかなるJavaプログラム開発者も申し込もうとしたことはないとMicrosoftは主張する。Thibodeaux陳述書¶3。Microsoftはそのプログラムのこの部分は利益がないから止めることになるだろうと主張する。McMahon陳述書、書証19(Plamondonデポジッションat 139:14-140:7)。

 上述のライセンス条件を求める交渉又は実施は不公正ビジネス慣行を構成すると裁判所は認定する。Microsoftはこれらのライセンス条項がSunが主張する被害に勝る効用があることを論じていない。Microsoftがもはや明確にライセンシーにこのような条件に従うことを要求せず、Javaに関するロゴ・ライセンス・プログラムを放棄することを計画していることはSunが要求する救済を否定するための基礎としては不十分である。[10] Polo Fashions, Inc. v. Dick Bruhn Inc.,793 F.2d 1132,1135-36(9th Cir.1986)。参照。

 加えて、Microsoftがその仮想マシンを「Windows 32ビット・プラットフォーム上のJavaオフィシャル・リファレンス・インプリメンテーション」と呼称することは誤解を招くことを裁判所は認定する。本件契約は「リファレンス・インプリメンテーションVM」を「Win32プラットフォームのためのJavaランタイム・インタープリタの[Microsoftが]著作した派生的著作物又は独立した著作物」と定義している。本件契約§1.10。しかしながら、この定義はMicrosoftのランタイム・インタープリタがWin32プラットフォームのためのSunが選定したオフィシャル・リファレンス・インプリメンテーションであると明確に述べ又は示唆していない。Microsoftはその立場を支持する本件契約中の他の文言を裁判所に示していない。
  

IV.命令

 Sunが本案訴訟で勝訴する見込みがあること及びもしMicrosoftが禁止されなければSunは回復不能の被害を被ることを裁判所は認定し、ここに仮差止がMicrosoft、及びその役員、代理人、使用人、従業員、弁護士、及び、親展の送達又は他の方法で実際にこの命令の通知を受けた者と実際に関係または関与した者に対して、本案訴訟継続中に、次のことを仮に差し止める命令が発せられる:
 

(A)本命令の日から90日後に、もし、その製品が、そのような製品に含まれ、そのような製品によってインプリメントされ、又はエミュレートされるJavaテクノロジーの最新バージョンを伴う互換性test suiteをパスする方法で、SunのJNIをサポートするJavaランタイム・インプリメンテーションを含んでいない限り、本件契約で定義された用語としてのJavaテクノロジーのためのSunが著作権を有するプログラムコード(すなわち、Javaランタイム・インタープリタ、Javaクラス、サプリメンタルJavaクラス、Javaコンパイラ、及び全てのアップグレード)からコピー又は派生した、Windows 98及びIE 4.0を含む、あらゆるオペレーティングシステム又はブラウザ製品を、直接又は間接的に、販売すること又は配布すること;

(B)本命令の日から90日後に、それらの製品が下記(1)〜(3)を満足しない限り、本件契約で定義された用語としてのJavaテクノロジーのためのSunが著作権を有するプログラムコードからコピー又は派生したコンピュータ・プログラム・コードを含む又はインプリメントした、SDKJ 2.0、 SDKJ 3.0及びVJ 6.0を含む、あらゆるソフトウエア開発ツール又は製品を、直接又は間接的に、販売すること又は配布すること;
 

(1)そのような製品に含まれ、そのような製品によってインプリメントされ、又はエミュレートされる、Javaテクノロジーの最新バージョンを伴う互換性test suiteをパスする方法で、SunのJNI(ヘルプファイル、ヘッダーファイル等を含む)をサポートするJavaランタイム・インプリメンテーションを含むこと、

(2)(a)Microsoftのキーワード拡張及びコンパイラ指令が不能にされ(b)そのようなキーワード拡張及びコンパイラ指令を、不能にするのではなく、可能にするコンパイラのモード・スイッチを有するように形成したデフォルト・モードをコンパイラの中に有すること、及び

(3)コンパイラ拡張モードを使用することをユーザーが選択するときに(ユーザーがDOSコマンドラインからコンパイラをアクセスする時も、コンパイラ・ソフトウエアの実行の間に与えられるボックスをユーザーがチェックする時も)現れ、(a)Microsoftの言語の拡張の使用はコンパイルされたモードにおいて全ての互換仮想マシンの上では走らないかもしれないことをもたらすであろうこと及び(b)将来のバージョンのMicrosoftの開発ツールは裁判所の命令によってSunのJava言語スペシフィケーションに含まれないキーワード拡張及びコンパイラ指令を禁止されるかもしれないことをユーザーに警告する警告を含むこと;しかしながら、この命令はMicrosoftがJavaソフトウエア開発ツールからモード・スイッチ、キーワード拡張及びコンパイラ指令を取り除くこと及びそのような結果として生じたインプリメンテーションを配布又は販売すること妨げるものではない。[訳2]


(C)テスト601及びテスト2003をパスしない限り、SDKJ 2.02を販売又は配布すること;

(D)MicrosoftのJava仮想マシンの独占的な配布を「Designed for Windows 95(98)/NT」ロゴを使用する権利の条件とすること;

(E)MicrosoftのJava仮想マシンの独占的な使用又は配布をMicrosoft製品のライセンスの条件とすること;

(F)ネイティブコードを使用する時に、ランタイム・インタープリタにMicrosoftのインターフェースを独占的に使用するようにサードパーティに要求する契約、条件又は取り決めをサードパーティと締結すること;

(G)Javaテクノロジーを含み、インプリメントし又はエミュレートする製品を「オフィシャル」Javaリファレンス・インプリメンテーションとして宣伝すること;しかしながら、Microsoftがリファレンス・インプリメンテーションのパフォーマンスに関して宣伝の主張を作成することを妨げない;及び

(H)Javaソフトウエア開発ツールに、追加的なMicrosoftのキーワード拡張又はコンパイラ指令を合体させること。


 Microsoftは、本命令のIV(A)及び(B)条において十分な理由を証明することを条件として、90日の期間の合理的な延長を求めることができる。

 本命令はMicrosoftに製品のリコールをすること又は追加的なMicrosoftのキーワード拡張又はコンパイラ指令を含まない限りその製品のアップグレードを慎むことを命じるものではない<Nothing in this order requires Microsoft to recall any product or from upgrading its products so long as they do not include additional Microsoft keyword extensions or compiler directives>。本命令はMicrosoft製品の購入者がそれらを使用することを続けることを妨げない。しかしながら、Microsoftは上記IV(A)及び(B)の要件を満足するアップグレードを提供するものとする(たとえば、ウエブサイト上のサービスパックの方法によって)。

 Microsoftは、本命令から15日以内に、本命令及び講じられる矯正方法を顧客に通知するものとする。その通知は、MicrosoftがSunのJavaテクノロジーへのライセンス契約に違反したこと、及び、もし、本裁判所の仮の認定と矛盾しない終局判決がなされた時は、SunのJava言語スペシフィケーションに含まれないMicrosoftのキーワード及びコンパイラ指令(たとえば、「multicast」、「delegate」、「@dll」、「@corn」、及び「security」)は将来のMicrosoftのJavaソフトウエア開発ツールに含めることを禁止されるかもしれないことを裁判所が仮に認定したことを明確に示すものとする。その通知はMicrosoftのウエブサイト上に目立つように掲示され、Microsoft開発者ネットワークの次の季刊リリースに含まれるものとする。[訳3]

 本仮差止の条件として、もし、誤って禁じられたことが認定されたとき、Microsoftが被るかもしれない費用と損害の支払いのために、Sunは本命令から10日以内に1500万ドルの担保を差し出すものとする。

1998.11.17

RONALD M. WHYTE
合衆国地裁裁判官

命令のコピーは1998.11.17に以下の者に送付された:

原告代理人
Lloyd R. Day, Jr.
Vernon Winters
Day, Casebeer, Madrid, Winters & Batchelder
20400 Stevens Creek Boulevard, Suite 750
Cupertino, CA 95014

Janet Cullum
Cooley Godward LLP
Five Palo Alto Square
3000 El Camino Real
Palo Alto, CA 94306-2155

被告代理人
David T. McDonald
Karl J. Quackenbush
Preston, Gates & Ellis
701 Fifth Avenue, Suite 5000
Seattle, WA 98104-7078

Terrence P . McMahon
Barbara A. Caulfield
Orrick, Herrington, & Sutcliffe LLP
1020 Marsh Road
Menlo Park, CA 94025

Allen Ruby
Ruby & Schofield
60 South Market Street, Suite 1500
San Jose, CA 95113

Thomas Burt
Microsoft Corporation
One Microsoft Way, Bldg. 8
Redmond, WA 98052

Media Entitiesの代理人
Edward P. Davis, Jr.
Skjerven, Morrill, MacPherson, Franklin & Friel LLP
25 Metro Drive, Suite 700
San Jose, CA 95110

Roger R. Myers
Steinhart & Falconer
333 Market Street, 32nd Floor
San Francisco, CA 94105-2150

-----------------------------

脚注

(1)LOIの中のある文言は両当事者が最初は「ブラウザ」取引だけを考えていたというSunの主張を支持している。McMahon陳述書、書証36 at 1(「この書簡と付属部分からなる最終的な契約に到達することができると仮定すると、MicrosoftはWindows 95及びその後継製品のためのInternet ExplorerにJavaのサポートを提供するだろう。」;同at 4(「もし、Microsoftが必要十分なJavaランタイム実行環境及びAAPIバイナリをMicrosoftのInternet Explorerブラウザ製品に合体することに合意するとすれば...」)参照。

(2)なぜSunとMicrosoftの各々の交渉者の記憶がいくつかの重要な問題に関して実質的に異なっているのかを、本件契約の最終的条件が交渉された状況が説明しているのかもしれない。

(3)本件契約は「Java言語Test Suite」を「Java言語をコンパイルする製品がtest suitesのその日の最新のJava言語スペシフィケーションに従うことを確認するSunのパブリックに利用可能なtest suites」であると定義している。本件契約§1.13。

(4)MicrosoftはSunは「@deprecated」と呼ばれるコンパイラ指令を創作したと指摘する。@deprecated指令は、コンパイラがある条件のもとで警告し、アウトプット・クラス・ファイルの中に「deprecated」属性の挿入を行う。Deutsch応答陳述書¶8;Gosling陳述書¶36;Huhns 陳述書¶55も参照。しかしながら、deprecated属性はクラス・ファイルの振る舞いには影響を及ぼさない。Deutsch陳述書、書証20参照。

(5)本件契約は派生的著作物を「現存する著作物がその中で改作、変形、ポート<ported>又は改造され、合衆国著作権法に基づく『派生的著作物』である、改訂、修正、...要約、...拡張...又は他の形式」として定義している。本件契約§1.5。

(6)Javaテクノロジー及び本件契約2.6(b)(iv)条の派生的著作物を創作するMicrosoftのライセンス以外に、MicrosoftにJava言語を拡張することが許されていることを意味する本件契約の他の条文をMicrosoftは指摘していない。

(7)Microsoftの「@security」指令もプログラムの意味に影響を与えるが、「Microsoftの仮想マシンにインプリメントされた特別なセキュリティ機能を不能にするために使用」される。

(8)Sunの論理に従えば、コンパイラ・アウトプット要件テストを失敗するであろう。

(9)もし、com.ms.lang.Delegate及びcomp.ms.lang.MulticastDelegateがVAOPだとすると、それらへの参照を含むクラス・ファイルがSunのJDK 1.1仮想マシン上で実行できないという事実はMicrosoftのコンパイラが本件契約の互換性要件に失敗すると断言するための適切な基礎であるようにはみえない。さらに、これらのクラスがVAOPでないとしてさえ、Microsoftがその仮想マシンに直接に付加機能を統合することを本件契約が妨げるかどうかに関するいかなる決定も裁判所は行わない。

(10)そのうえ、Microsoftはライセンシーにそのような条件をもはや求めないことを強く主張しているから、Microsoftは裁判所の差止のこの面からいかなる被害も被らないだろう。



訳注

(訳1)SunはVJ++6.0等の開発ツールについては直ちに禁止する命令を求めたが、裁判所はそれよりかなり甘い仮差止をMicrosoftに命令した。しかし、これは裁判所がMicrosoftに味方したからではなく、サードパーティの被害を最小限にするためである。命令後のMicrosoftのプレスリリースをみると、Microsoftがこの点を正しく認識しているとは思えない。

(訳2)この命令IV(B)(3)で命令されたVJ++6.0のユーザーが拡張モードを使用するときに表示される警告についてMicrosoftは段階的に公表した。11.18にBob Muglia氏は「あるテキスト」とだけ表現し(現在は掲示されていない)、11.20には「これらのエンハンスメントを使用することによってWindows上だけで走るかもしれないアプリケーションを書くことを選択したことをアドバイスする裁判所の命令に従ったあるメッセージ」と表現して命令の(a)についてのみ知らせ、11月25日の「顧客への通知」になって、ようやく、「将来のMicrosoftの製品は裁判所の命令によってSunのJava言語スペシフィケーションに含まれないキーワード拡張及びコンパイラ指令をMicrosoftの開発ツールに合体させることが禁止されるかもしれないというメッセージ」と表現し、(b)に相当する内容をユーザーに知らせたことになる。しかし、例えば、MS(日)からも明らかなように、全体的にユーザーが拡張モードを使用しても問題がないような印象を与えるメッセージばかりである。これに対して、命令の(3)のこれに続く部分には、「しかしながら、この命令はMicrosoftがJavaソフトウエア開発ツールからモード・スイッチ、キーワード拡張及びコンパイラ指令を取り除くこと及びそのような結果として生じたインプリメンテーションを配布又は販売することを妨げるものではない」と記載されており、ここからWHYTE判事がマイクロソフトが自主的にこのような拡張(エンハンスメント)を取り除くことを期待していることが読みとれる。したがって、この命令が命じたことと、Microsoftのサイトで述べられていることとは、ニュアンスが正反対であり、VJ++6.0のユーザーは注意する必要があると思います。

(訳3)この命令は基本的には90日以内にWindows 98、IE 4.0等についてはIV(A)に従って、J++6.0等についてはIV(B)に従って、修正することを命じるものである。しかし、そのほかに15日以内に次に示す通知をすることを命じている。『MicrosoftがSunのJavaテクノロジーへのライセンス契約に違反したこと、及び、もし、本裁判所の仮の認定と矛盾しない終局判決がなされた時は、SunのJava言語スペシフィケーションに含まれないMicrosoftのキーワード及びコンパイラ指令(たとえば、「multicast」、「delegate」、「@dll」、「@corn」、及び「security」)は将来のMicrosoftのJavaソフトウエア開発ツールに含めることを禁止されるかもしれないことを裁判所が仮に認定したことを明確に示す』通知をウエブサイト上に目立つように掲示しなければならないのである。最初は、それとは気がつきませんできたが、どうやら11月25日の「顧客への通知」日本では12月18日に翻訳版が公開)が、この命令に従ったとMicrosoftが考えた「通知」のようです。ところが、この通知の下の方にある「What does this mean for you? 」(「この予備的決定のもつ意味について」)をクリックすると、この命令に基づいてVJ++6.0及びMicrosoftの拡張を使用して開発を続けることができること等を述べたメッセージが表示され、その最後の部分には、「この命令は、卓越したWindowsとウエブのアプリケーションを創作する能力を開発者に与えるという我々の本来の使命を遂行することを禁じてはいない。<this order does not prohibit us from fulfilling our primary mission: to give developers the ability to create great Windows and Web applications.>」と述べており、Microsoftは表面上は仮差止命令を応諾するようですが、実際には、今後、あらゆる法的及び技術的な手段を用いて、「使命」を貫徹するようです。ここで、VJ++6.0ユーザーが注意しなければいけないのは、この命令のIV(B)(3)によって90日以内に修正されたVJ++6.0では、エンハンスモードを選択するときはいつも、ユーザーが警告を読まされることです。(訳1)で述べたように、この仮差止命令ではサードパーティの被害を最小限にするために、命令の一部をMicrosoftに甘くしています。しかし、本案訴訟の終局判決の時には、サードパーティへの配慮は少なくなるかもしれません。なぜなら、VJ++6.0ユーザーは警告を読み、将来禁止されるかもしれないエンハンスモードを自分の判断で選んだからです。また、もし、将来禁止され、それまでのエンハンスモードのプログラムの商品価値が無くなったとしても、Microsoftは損害を賠償してはくれないでしょう。なぜなら、ユーザーが警告を読んで自分の判断でエンハンスモードを選択したのだからMicrosoftに賠償責任はないと主張できるからです。結局、VJ++6.0ユーザーは警告をよく読み、自己責任でエンハンスモードを選択しなければならないのです。

トップページhttp://www.venus.dti.ne.jp/~inoue-m/ 独禁法・契約違反 著作権 特許権 利用条件 参考文献    

since 1998.11.20