マイクロソフト対秀和システムトレーディング事件判決


昭和57年(ワ)第14001号著作権侵害差止請求事件


判       決

<住所省略>

原          告            マイクロソフトコーポレーション
右 代 表 者                 クレイグ ワッセェン

右訴訟代理人弁護士               三   木     茂
同                       松  田   政  行
同                       黒  瀬   直  秀
同                       早 稲 田 祐 美 子

<住所省略>

被          告            秀和システムトレーディング株式会社
右代表者代表取締役               牧  谷   與  一

被          告            東京スガキ印刷株式会社
右代表者代表取締役               <氏名省略>

右被告両名訴訟代理人弁護士           徳  岡   寿  夫
同                       脇  田   康  司

主        文

一 被告らは,別紙物件目録記載の図書を出版,頒布してはならない。

二 被告らは,主文第一項記載の図書を廃棄せよ。

三 訴訟費用は被告らの負担とする。

事        実

第一 当事者の求めた裁判

一 請求の趣旨

  主文と同旨

二 請求の趣旨に対する答弁

  原告の被告らに対する請求をいずれも棄却する。

  訴訟費用は原告の負担とする。

第二 当事者の主張

一 請求の原因

1 原告は,米国ワシントン州法によって設立され,主にパーソナルコンピュータの用途に使用するソフトウェアを開発し,製作,販売することを業とする会社である。

2 原告は,別紙著作権目録記載の著作物(以下,「本件著作物」という。)の著作権者である。

  本件著作物は,以下の過程において,製作され,販売された。

(一)昭和54年4月10日,原告は日本電気株式会社(以下,「日本電気」という。)から,PC−8001用ベーシックインタープリタプログラムの開発を依頼され,原告は,本件著作物たるプログラムを製作した。

(二)本件著作物は,原告の役員であるウィリアム・H・ゲイツ外の技術者が,職務として,約8ケ月を要して,開発したものである。

 本件著作物の著作権者の表示は,プログラムの稼働時にディスプレイ上に,Copyright 1979 (C) by Microsoftと示されるようにプログラミングされている。

(三)原告は,右開発した本件著作物をフロッピーディスクに格納したうえ,日本電気に引渡し,同社は,これをROMに複製して,PC−8001パーソナルコンピュータ(以下,「本件パソコン」という。)に組込み販売をしている。

(四)なお,原告は,本件著作物を米国において,公衆に販売したり,あるいは頒布したりしたことはない。

 以上のとおり,本件著作物は,原告の発意に基づき,原告の業務に従事する者が,職務上作成するものであって,原告名義の下に公表したものであるので,原告が著作権を有するといえる。

3 本件著作物は,前項主張のとおりであって,著作権法第6条第2号及び第3号により,目本国において著作権法により保護される。

4 本件著作物の概要は以下のとおりである。

 すなわち,本件著作物は,本件パソコンに組込まれたベーシックインタープリタのソースプログラムであって,このプログラムは,マイクロ・プロセッサを利用した小型コンピュータシステムである本件パソコンに入力されたベーシック言語の命令ないしプログラムを解読して,マイクロ・プロセッサの処理しうる命令語その他の情報を逐語的に変換するオペレーティングシステムであり,記号語(アッセンブリ言語)を用いて表現されている。

 また,本件著作物は,これをマイクロ・プロセッサが処理しうる二進の電気信号(バイナリコード)に変換され,本件パソコンのコンピュータ・システムの記憶装置であるROMに複製,収納されている(この機械語に変換されたプログラムを,以下,「本件オブジェクトプログラム」という。)。

5 本件著作物は,以下のとおり,著作権法上の著作物に該当する。

(一)一般に,コンビュータプログラムとは,電子計算機を機能させて一定の結果を得ることを目的として指令を組合せたものとして表現したものであって,この指令はプログラム言語の命令その他情報を組合せて作製され,プロクラム著作者の高度な学術的思想を表現し,かつ,個性的な特微を有するもので,著作権法第2条第1項第1号にいう「思想を創作的に表現したものであって,学術の範囲に属するもの」に該当し,同法第10条第1項第1号にいう「その他の言語の著作物」に該当する。

(二)本件著作物についていえば,本件パソコンをベーシック言語によって対話型に容易に稼働させるように機能させ,ベーシック言語の命令またはプログラムを逐語的に処理してその命令またはプログラムを入力した者が意図した結果を出力することを目的としているものである。

 本件著作物は,本件パソコンの中央演算処理装置(CPU)に使用されている米国ザイログ社製のZ80マイクロプロセッサの記号語(アッセンブリ言語)を用いて記述されているもので,同語の命令その他情報を組含わせて作製されており,本件パソコンのハードウェアの構成に合致し,その機能を充分に発揮させるようにプログラムの全体的構成,各ルーチンの構成及び各アドレスの命令語その他情報の組合せに至るまで,著作者の高度なコンピュータ及びプログラム言語に関する知識を駆使して作製されているものであるから,学術の範囲に属する言語の著作物ということができる。

(三)本件著作物は,合計229ものルーチン(ある機能を遂行するための一群の命令)を有するものであるが,このうちの1つであるCSAVEルーチンと名付けられたルーチン(右は,コンピュータのメモリに格納されているプログラムをカセットテープに格納する命令群である。)の中の特にCOINITと名付けられたモジュール(カセットトインターフェースを初期化するサブルーチン)を例にとり,個々の命令の内容を分析し,本件著作物が思想を創作的に表現していることを説明すると次のとおりとなる。

 (なお,アドレス番号,アッセンブリ言語,その内容の順に記載した。)

(1) 1EC0〜1EC2  CALL L 0C46(COINIT)
 0C46番地から始まるCOINITルーチーンを呼び出す。
(2) 0C46〜0C48  CALL L F1B9(HOOK27)
 F1B9番地のHOOK27を呼び出す。同番地には,通常RET(リターン)命令があるのみで,何らの処理もせずに次のアドレスである0C49番地に移る。
 F1B9番地はRAM領域であって,書き換えが自由に行えるため,ROM領域の要所にこのCALLnn命令を置いておくことによって,呼び出されるRAM領域のみを加筆修正することにより,実質的にROM内プログラムを修正することができる。
(3) 0C49〜0C4B  LD A,(LEA66)(PORT30)
 EA66番地に入っているI/Oポート30EのデータをAレジスタ(アキュムレータ)に転送する。I/O30Hでは,ビット0からビット5までの6ビットを使用している。
 I/Oポート30Hに対応するビットを1もしくは0にセットして,出力してやることによって,出力のハードウェアに操作者の選択する適宜な動作を行わせることができる。
(4) 0C4C〜0C4D  AND 0FH
 Aレジスタの内容と数値0FHとのビットごとの論理積(共に1のときのみ出力1)をとり,その結果をAレジスタに格納する。
 このAND0FHのもつ論理的な意味は,上位4ビットを0にするということであり,実質的な意味は,カセットインターフェイスを用いるようにAレジスタのデータを変換することである。
(5) 0C4E〜0C4F  OR 0CH
 Aレジスタの内容と数値0CHとのビットごとの論理和(いずれかが1のとき出力1)をとり,その結果をAレジスタに格納する。
 このOR 0FHの論理的な意味は,ビット3とビット2を1にセットするということであって,実質的な意味は,モータをON,スペース信号(録音開始を示す信号)を出力するように,Aレジスタの内容を変更する。
(6) 0C50〜0C52  CALL L 0C38(SET30H)
 0C38番地(SET30H)を呼び出す。
(7) 0C38〜0C3A  LD(LEA66),A
             LD(PORT30),A
 Aレジスタの内容をEA66番地に格納する。EA66番地にAレジスタの内容を書くことによって,ROM内にある他のサブルーチンからも現在のI/Oポート30Hの状態を知ることができる。
(8) 0C3B〜0C3  OUT(30H),A
 Aレジスタの内容をI/Oポート30Hに出力する。Aレジスタの内容は,前記(4),(5)の結果,各ビットは,000011※※とされていたので,カセットインターフェイスを選択し,モータのリレーを0Nに制御し,スペースフィーダを出力するようにI/Oポート30Hに組み込まれたIC回路が動作することになる。
(9) 0C3D RET
 RET(リターン)命令で,0C53番地へ戻る。
(10) 0C53〜0C55  CALL L 0D14(RE8251)
 0Dl4番地(RE8251)を呼び出す。この意味は,カセットインターフュイスに用いられる8251というLSIを初期化する。
(11) 0D14〜0Dl5  LD A,0EH
 8251は,CPU側の並列データを直列データに,また直列データを並列データに変換する通信インターフェースである。8251を使用する場含は,まず,8251の動作を設定するために,8251をリセットし,その後に,モードワード,次にコマンドワードを8251のコントロールワードレジスタに書き込まなければならない。8251をプログラムでリセットする場合は,8251のコントロールワード入力がモード設定或はコマンド設定のどちらとして扱われるかわからないので,コントロールワードレジスタに対して,1回以上のダミーデータを送り,次のコマンド設定状態で,8251をリセットすることになる。このダミーデータは,ビット6が0でなければならない。
 ここでは,LD A,0FHという命令によって,ダミーデータ0EHがAレジスタに格納される。
(12) 0Dl6〜0D17  OUT(21H),A
 I/Oポート21H(8251のコントロールワードレジスタ)にAレジスタの内容(ダミーデータ)を出力する。
(13) 0D18〜0D19  LD A,40H
 Aレジスタの内容を40Hとする。この40Hというデータは,8251をリセットするためのデータである。
(14) 0D1A〜0D1B  OUT(21E),A
 I/Oポート2lHにAレジスタの内容(リセットデータ40H)を出力し,8251をリセットする。
(15) 0D1C  RET
 RET(リターン)命令によって,0C56番地へ戻る
(16) 0C56〜0C57  LD A,L 00CE(0CEH)
 Aレジスタの内容を数値0CEHにする。前記のどおり,8251はリセット直後にコントロールワードレジスタに書き込んだ情報をモードワードとするため,まずレジスタにモード設定用のデータを格納する。
 このモード設定用データ0CEH(11001110B)の意味は,上位ビットより11(ストップビット2)00(パリティーなし)11(8ビットデータ)10(非同期モード)となっている。8251というLSIは多くの通信機能を有するが,本機では非同期通信という通信方法でデータの転送を行う。
 この0CEHのデータにより,ストップビットとして2ビットを用いる,パリティビットを用いない,8ビットの直列データを送る,非同期通信である,ということを示している。
(17) 0C58〜0C59  OUT(21H),A
 8251のコントロールワードレジスタ(I/Oポート21H)にAレジスタの内容(モード設定用のデータ)を出力する。
(18) 0C5A〜0C5B  LD A,11H
 Aレジスタの内容を数値11Hにする。コマンドワード設定用のデータが11Hである。11Hは,ビット4とビット0が1になっている。このビット4は8251のエラーリセットを示し,ビット0は送信可能状態を示す。
(19) 0C5C〜0C5D  OUT(21H),A
 8251のコントロールワードレジスタ(I/Oポート21H)にAレジスタの内容(コマンド設定用のデータ)を出力する。
(20) 0C5E〜0C60  CALL L 0C7C(TMLOP2)
 0C7C番地(TMLOP2)を呼び出す。TML0P2とは,時間つぶしのサブルーチンであり,これを呼び出すことによって,戻ってくるまでの約3秒間,テープに録音開始時間を示すスペースフィーダを記録する。
(21) 0C7C  PUSH DE
 スタックにDEレジスタの内容(DレジスタとEレジスタの内容を合わせた16ビットのデータ)を転送する。これは,時間つぶしのサブルーチンにおいてDレジスタ,Eレジスタを使用するので,スタックにDEレジスタの内容を退避しておくために行われる。
(22) 0C7D  PUSH HL
 スタックにHLレジスタの内容を転送する。これも,(21)と同様にレジスタの内容を失わないよう退避するものてある。
(23) 0C7E〜0C7F  LD E,6
 Eレジスタの内容を6にする。Eレジスタの内容によって時間つぶしを行う時間の量を決定する。
(24) 0C80〜0C8l  JR L 0C6D(TMLOOP)
 0C82番地から0EBHバイト前に戻ったところへ,ジャンプ(相対ジャンプ)する。すなわち,0C6D番地(TMLOOP)へジャンプすることになる。
(25) 0C6D〜0C6F  LD HL,0
 HLレジスタの内容を0000にする。
(26) 0C70  DEC L
 Lレジスタの内容から1引く。1バイトのデータ0から1を引くと0FFH(255補数表示)となる。
(27) 0C71〜0C72  JR NZ,L 0C70(TMLOP1)
 Lレジスタの内容がゼロでないとき0C70番地(TMLOP1)にジャンプする。
 再度TMLOP1に戻り,DEC LによってLレジスタの内容をマイナス1にする。このように(26)と(27)によってループ(くりかえし)になっている。即ち,Lレジスタが256回ディクリメントされたとき初めてこのループを脱出する。
(28) 0C73  DEC H
 Hレジスタの内容から1を引く。
(29) 0C74〜0C75  JRN Z,L 0C70(TMLOP1)
 (27)と同様でありループを作る。但し,(26),(27)のルーブの外側に(28),(29)のループがあるため二重のループとなっている。Hレジスタを256回ディクリメントを行うと(29)のルーブを脱出する。
(30) 0C76  DEC E
 Eレジスタの内容から1を引く。
(31) 0C77〜0C78  JRN Z,L 0C70(TMLOP1)
 (27),(29)と同様である。ここでは,Lレジスタのループ,Hレジスタのルーブ,Eレジスタのループという三重のループを時間つぶしのために実行する。
(32) 0C79  POP HL
 スタックに退避させておいたHLレジスタの内容を復帰させる。
(33) 0C7A  POP DE
 スタックに退避させておいたDEレジスタの内容を復帰させる。
(34) 0C7B  RET
 0C61番地へ戻る。この時点で時間つぶしのサブルーチンが終了する。
(35) 0C6l〜0C63  LD A,(LEA66)(PORT30H)
 最後にI/Oポート30Hに出力したデータを格納してあるEA66番地(PORT30H)をAレジスタに格納する。
(36) 0C64〜0C65  AND 0FBH
 Aレジスタの内容と数値0FBHとの論理積を行う。この意味は,旧Aレジスタの内容がいかなるデータであっても,ビット2を0にするということである。I/Oポート30Hのビット2は,スペース信号とマーク信号の制御に用いられているので,今までスペース信号を出力していたのをマーク信号に切り換えるためのデータを用意している。
(37) 0C66〜0C68  CALL L 0C38(SET30H)
 (36)でAレジスタにマーク信号を出力するデータが格納され,このデータをサブルーチンSET30Hを呼び出すことにより,I/Oポート30Hへ出力し,またEA66番地へ格納する。
 SET30Hでの処理は,(7),(8),(9)と同じである。
(38) 0C69  PUSH DE
 スタックにDEレジスタの内容を転送する。
(39) 0C6A  PUSH HL
 スタックにHLレジスタの内容を転送する。
(40) 0C6B〜0C6C  LD E,1
 Eレジスタに1を格納する。これは,時間つぶしのための初期設定であり,このループ脱出には,約0・5秒が必要であり,これによりマーク信号を0・5秒出力する。

6 被告秀和システムトレーディング株式会社(以下,「被告秀和」という。)は,コンピュータに関する出版物の販売等を,同東京スガキ印刷株式会社(以下,「被告スガキ」という。)は,出版物の印刷等をそれぞれ業とする会社である。

 被告秀和は,昭和57年6月ころ,本件パソコンに組込まれている本件オブジェクトプログラムをそのまま16進数のコードに置き換え,本件オブジェクトプログラムの全部を複製し,さらに本件オブジェクトプログラムを逆アッセンブルして解読し,本件著作物の全部を無断複製したものであって,前者の複製行為は,本件著作物の複製物を更に複製したものであり,後者の複製行為は,本件著作物の複製そのものである。被告スガキは,右各複製物を別紙物件目録記載の図書(以下,「本件図書」という。)に印刷,複製し,被告秀和はこれを頒布している。

7 よって,原告は,披告らに対し,著作権法第112条第1項により,本件図書の出版,頒布の差止めを求め,同条第2項により,本件図書の廃棄を求める。

二 請求の原因に対する認否

1 請求の原因1の事実は認める。

2 同2の事実中,プログラム稼働時にディスプレイ上に,Copyright 1979 (C) by Microsoftと表示されることは認め,その余の事実は知らない。

3 同3の事実は知らない。

4 同4の事実は認める。

5 同5の事実は否認する。

 著作権法第2条によれば,著作物とは,「思想又は,感情を創作的に表現したものであって文芸,学術又は音楽の範囲に属するものをいう。」と定義されている。著作権法により,著作物として保護される所以は,人格的利益の保護という点にある。

 ところで,本件著作物は,オペレーティングシステム(基本ソフト)の1つであるが,このオペレーティングシステムは,より効率的かつ高速なデータの処理を目的とするものであって,科学における理論ということができる。思想とか感清は,極力排除され,合理性のみが追求されるものである。この点では,アプリケーションプログラムやゲームのプログラムが創作者の目的に沿った思想,感情を表現しているのとは全く異なる。

 本件著作物は,人格権的要素をまったく無視しうる科学技術における法則を当てはめた当然の掃結として生じたものであるから,著作権の保護の対象にならない。

6 同6の事実中,被告らの業務内容,被告秀和が,本件オブジェクトプログラムをそのまま16進数のコードに置き換えたこと,本件オブジェクトプログラムを逆アッセンブルして解読したこと,本件図書を出版,頒布したこと,また,被告スガキが,本件図書を印刷したことは認め,その余の事実は否認する。

 被告秀和が,逆アッセンブルリストを解読し,ラベル及びコメントを付し,本件図書のソースリスト欄の各記載をしたのは,同被告が,本件パソコンのオペレーティングシステムを研究した成果を発表した行為であって,右行為は,独自の創作活動と評価すべきものであって,本件著作物の複製行為ではない。

 本件パソコンは,20万台以上販売されており,この利用者が本件パソコンの有効な利用を計るためには,その構造とくにオペレーティングシステムである本件著作物の内容を知る必要があるが,原告も日本電気もこれを公開せず,利月者は部分的に解析しながら利用しているものであるところ,被告秀和は,本件パソコンの利用者のために,原告あるいは日本電気株式会社に代わってオペレーティングシステムの総合的解説として本件図書を発表したものであって,被告らの行為は正当である。

第三 証  拠

  <省略>

理     由

一 請求の原困1の事実は当事者間に争いはない。

二 本件著作物の製作過程,権利の帰属等について検討する。

 <証拠省略>を総合すれば,次のとおりの事実が認められ,これに反する証拠はない。

 本件著作物は,目本電気の依頼に基づき,原告において,開発,製作したものである。開発を担当したのは,原告の会長であるウィリアム・H・ゲイツを始めとするその他原告の技術者であって,約8ケ月の期間を費やして完成した。そして,昭和54年8月3日ころ日本電気に引き渡し,同社は,これをROMに複製して,本件パソコンに組込み販売したものであるが,この間,米国において,公衆に販売,或は頒布されたことはない。なお,本件著作物の著作権者が原告に帰属する旨の表示は,本件パソコンの稼働時にディスプレイに示されるようにプログラムされてある。

 以上の事実が認められる。

 右各事実に照らすならば,本件著作物(著作権法上保護の対象になるか否かは後述する。)は,原告の発意に基づき,原告の業務に従事するものが職務上作成したものであって,原告名義の下に公表したものといえるから,著作権は原告に属するというべきである。

 更に「本件著作物は,米国内において,一切頒布されておらず,日本電気により,日本国内で複製,頒布されたものであり,また,万国著作権条約によって,わが国が保護の義務を負う著作物であるということができるから,著作権法第6条第2号,第3号の規定により,著作権法上保護を受けるものというべきである。

三 次に本件著作物の内容についてみてみる。

 <証拠省略>によれば,本件著作物の内容について,次の事実が認められる。

1 本件著作物は,NEC PC8001用のBASICインタープリタのソースプログラムであって,記号語(アッセンブリ言語)を用いて記述されている。本件著作物の具体的な表現態様は,本件パソコンのROMに格納されている本件オブジェクトプログラムを逆アッセンブルプログラムによって逆アッセンブル(オブジェクトプログラムをソースプログラムであるアッセンブリ言語に転換する。)して作成したプログラムリストの1頁ないし250頁の各B欄記載のとおりである。

2 しかして,このプログラムの目的は,米国ザイログ社製のZ80マイクロ・プロセッサを利用した日本電気製の小型コンピュータシステムである本件パソコンに入力されたベーシック言語の命令ないしプログラムを解読して,マイクロ・プロセッサの処理し得る命令語その他の情報を逐語的に変換することである。

 換言すれば,ベーシック言語で書かれたアプリケーションプログラムをパソコンにより入力したときに,このプログラムを解読して,これを実行するためのものということができる。

3 プログラムを実行するためには,次のような処理手順が必要であるが,本件著作物は,これらの処埋手順を誤りなく実施することができるよう作成されている。

イ 電源入力により処埋を開始する。

ロ 処理開始後,プログラムの初期化を行う(各種入出力装置の初期設定,画面の消去,サイン・オンメッセージの表示,実行時に必要な各種一時記憶値の設定など)。

ハ 命令を受けられる状態になると,OKというメッセージを表示してそのことを知らせる。

ニ 入力された行が数字で始まっている場合には,中間コードと呼ばれる圧縮した形でメモリに格納する(間接モード)。入力された行が数字で始まっていない場合は,直ちにその行の解釈が始まり,該当する命令,実行文の処理モジュールに処理が委ねられる(直接モード)。

ホ 各命令,実行文はそれぞれ該当する実行モジュールにより必要な処理が行われる。

4 また,本件著作物には,合計229ものルーチン(例えば,メモリに格納されているプログラムをカセットテープに格納するルーチンや1行ステートメントの入力ルーチン等)を構成要素として有しており,適宜選択されて,使用されるよう作られている。

四 そこで,前項のような内容を有する本件著作物が,著作権法上保護の対象になるものであるか否かについて考察する。

1 前記認定のとおり,本件著作物は,NECPC8001用のBASICインタープリタのソースプログラムであって,記号語(アッセンブリ言語)を用いて表現されたものであり,米国ザイログ社製のZ80マイクロ・プロセッサを利用した小型コンピュータシステムである本件パソコンに入力されるベーシック言語の命令ないしプログラムを解読して,マイクロ・プロセッサの処理し得る命令語その他の情報を逐語的に変換することを目的としているものである。

 そして,本件パソコンのハードウェアの構成に合致し,その機能を充分に発揮させるように,プログラムの全体的構成,各ルーチンの構成,各アドレスの命令語その他情報の組合せについて,作成者の創意,工夫がなされている。

2 この点を,詳細にみてみると,前掲各証拠によれば,本件著作物のうちアドレス1EC0から0C6Cまでの各アドレスに記載されている命令或はステートメントは,講求の原因5の(三)記載のとおりの意味に理解することができ,右はコンピュータのメモリ内に格納されているプログラムをカセットテープに格納する命令群であることがわかる。

 更に,本件著作物のうちアドレス3CECから3D11までの各アドレスに記載されている命令或はステートメントの意味内容は次のとおりである。

(なお,アドレス番号,アッセンブリ言語,その内容の順に記載した。)

(1) 3CEC  CALL L 1B7E(INPUTL)
 1B7E番地から始まるINPUTLと名付けられたサブルーチンを呼び出す。INPTULというサブールーチンは,一行のベーシックプログラムをコンソールから読み込む働きをしている。リターンキーが押されたならば,これを一行と認識し,INBUFFとラベルのつけられたEC96番地からED93番地までのエリアに文字列を格納する。
(2) 3CEF  JP C,L3C9F(COMIN2)
 キャリーフラグがセットされていれば(C=1),COMIN2のラベルが付してある3C9F番地にジャンプする(条件付きジャンプの命令)。強制終了のためのキーが押された場合はキャリーフラグがセットされるが,このとき入力は無効であるから,入力された1行の内容は検討することなく,初期の入力待ちの状態にする。
(3) 3CF2  RST 10H
 CALL 0010Hと同じである。RST命令は1バイト命令で,CALL命令は3バイト命令であるので,2バイト分メモリの節約となる。10番地では,CHRGE1というラベルの付した4259番地ヘジャンプする。ここでの処理は,入力された文字列のうち有効なものの最初の一文字のアスキーコードをAレジスタに入れ,入力された先頭の文字が数字である場合にはキャリーフラグをセットし,数字でなければリセットしてリターンする。
(4) 3CF3〜3CF4  INC
 AとDEC AINC A命令は,Aレジスタに1を加算する命令で,DEC A命令は,Aレジスタから1を減算する命令である。ここでの処理は,キャリーフラグに影響を与えず,Aレジスタの内容が0かどうかをチェックするためのものである。
(5) 3CF5  JP Z,L3C9F(COMIN2)
 Zフラグがセットされている場合(Aレジスタの内容が0の場合),COMIN2というラベルの付されたアドレス(3C9F番地)にジャンプし,初期の入力待ちの状態にする。
(6) 3CF8  PUSH AF
 AレジスタとFレジスタの内容をスタックに退避する。Fレジスタのキャリーフラグには,行番号があるかないか(間接モードか直接モードか)という情報が入っており,Fレジスタの内容を保存する必要がある。
(7) 3CF9  CALL L44B5(GETLNO)
 GETLNOというラベルの付されているアドレス(44B5番地)のサブルーチンを呼び出す。
 GETLNOというサブルーチンは,入カされた1行から行番号を取り出す働きをしている。取り出した行番号は,数値に変換されてDEレジスタ・ペアに保存され,リターンする。
(8) 3CFC  CALL L4082(SKPSPC)
 SKPSPCというラベルが付されたアドレス(4082番地)のサブルーチンを呼び出す。SKFSPCというサブルーチンは,行番号の終りを検出するために,GETLNOが読みとばしたスペースキャラクタコードをもとに戻す働きをする。
(9) 3CFF  LDA,(HL)
 HLレジスタ・ペアが指し示しているINBUFF中の入力行の一文字をAレジスタに入れる。
(10)3D00  CP 20H
Aレジスタの内容とスペースキャラクタ(20H)を比較する。Aレジスタの内容がスペースキャラクタなら,ゼロフラグがセットされ,異なっていれば,ゼロフラグがリセットされる。
(11)3D02  CALL Z,L26C7(INCHL)
 ゼロフラグがセットされていたら,HLレジスタ・ペアの値を1つ増す。ベーシックのLIST文(ベーシック言語で書かれたプログラムをディスプレーに顕出する命令)を実行すると,行番号の直後には,最小でも1個のスペースキャラクタが入ることになっており,必ず入るスペースキャラクタを,中間言語にしておく必要はないため,HLレジスタ・ペアの値を1つ増やすことによって,1バイトを倹約している。
(12)3D05  PUSH DE
 DEレジスタ・ペアの内容(行番号)をスタックに退避して保存する。次の命令によって,DEレジスタGペアの内容がこわされるのを回避するためである。
(13)3D06  CALL L3E65(CHGINT)
 CHGINTというラベルの付されたアドレス(3E65番地)のサブルーチンを呼び出す。このサブルーチンは,INBUFFに格納されている入力のうち,HLレジスタ・ペアが指し示す文字から,その行の終りまでを中間言語に変換し,TEXTBUFというラベルの付されたEB57番地からEC91番地までの315バイトのエリアに格納する。変換し終ったら,HLレジスタ・ペアにTEXBUFの先頭アドレス(EB57番地)の1バイト前のアドレスであるEB56を入れてリターンする。
(14)3D09  POP DE
 DEレジスタ・ペアの値(行番号の数値)をスタックから復帰させる。
(15)3D0A  POP AF
 AFレジスタ・ペアの値(Fレジスタのキャリーフラグには現在処理している行が間接モードであるか直接モードであるかの情報が入っている。)をスタックから復帰させる。
(16)3D0B  LD(LEF8D),HL
        LD(SAVETP),HL
 HLレジスタ・ペアの値(TEXTBUFの1バイト前のアドレス)をSAVETPというラベルの付されたアドレス(EF8D番地)に転送して,テキスト・ポインタであるHLレジスタ・ペアの値を保存する。
(17)3D0E  CALL LF174,(HOOK4)
 HOOK4というラベルの付されたアドレス(F174番地)のサブルーチンを呼び出す。ここには,リターン命令が書かれているため,何の動作もせずに戻ってくる。
(18)3D11  JP NC,L423B(PRACT3)
 もし,キャリーフラグがリセット(0)されていたら,PRACT3というラベルの付されたアドレス(423B番地)に移る。この場合行番号のない直接モードなので,PRACT3では,入力された命令をすぐに実行する。
 もし,キャリーフラグがセット(1)されていたら,行番号が存在している間接モードであり,入力された文は,実行されずに,次のエディターセクション(ここでは,行番号,中間言語をベーシックのプログラムエリアに格納する)に移る。

 以上のとおり,アドレス3CECから3D11まての各アドレスに記載されている命令群は,キーボード等から入力された命令やステートメントを間接か直接かのいずれのモードであるかを判断して,次のステップに移行するルーチンであることが認められる。

3 右認定した事実によれば,本件著作物は,ベーシック言語によって,本件パソコンに入力された命令またはプログラムを逐語的に処理して,命令を入力した者が意図した結果を出力するように,プログラムの構成,ルーチン,サブルーチンの活用,組合わせに至るまで,プログラム言語に関する高度な専門的知識を駆使して作製されており,プログラム作製者の学術的思想が表現されていることが明らかであり,したがって,学術の範囲に属する著作物に当たるということができる。

4 ところで,被告らは,本件著作物は,いわゆるオペレーティングシステム(基本ソフト)の1つであるところ,右は,アプリケーションプログラム等と異なり,効率的かつ高速なデータの処理のみを目的とするものであって,著作者の思想とか感情は排除されるものであるから,著作権法上の保護を受け得ない,と主張するので,以下この点につき,検討する。

 一般にコンピュータプログラムについては,一定の目的に達するための解決手段は唯一ではなく,さまざまな解決手段の選択が可能である。本件のように本件パソコンに搭載するためのベーシックインタープリタを作製する目的においても同様であって,前に詳細に検討したとおり,作製にあたっては,目的達成のため種々の問題を細分化して分析し,それぞれについて解法を発見し,右発見された解法に従って,アッセンブリ言語によって,命令及びその他の情報の組合わせを記述して,プログラムを完成させたのであって,そのすべての過程は,一定のものではなく,作製者の個性や思想を反映させることによって異なるのみならず,むしろ,その個別性に価値を見出すことができるものである。この点は,ゲームのプログラムやアプリケーションプログラムであっても,本件のようなオペレーティングシステムであっても少しも変わるところはない。

 したがって,本件著作物が,著作権法上の保護の対象にならないとする被告の主張は理由がないことになる。

五 ついで,被告らに,著作権侵害行為があったか否かについて,検討する。

1 被告秀和が本件パソコンに組み込まれている本件オブジェクトプログラムをそのまま16進数のコードに置き換えたこと,更に本件オブジェクトプログラムを逆アッセンブルしたうえ,解読し,ラベル及びコメントを付したことは,当事者間に争いはない。

 同被告の前者の行為が,本件著作物の複製物である本件オブジェクトプログラムを複製したものと解することができるのは明らかである。

 同被告の後者の行為について検討する。

 <証拠省略>によれば,次の事実が認められる。

 本件著作物(甲第1号証の各頁のB欄)と本件図書の各頁のロ欄とは,表記上相違する点が存在する。

 例えば,アドレス0004についてみると,本件著作物においては,JP L003Bと記述され,他方,本件図書のロ欄においては,JP WAMCHK;CHECK COLD START OR WARM STARTと記述されている点に相違がある。しかしながら,前者は,3B番地に無条件でジャンプすることを意味しているところ(003B番地は,WARM CHECKのサブルーチンが始まる。),後者は,WAMCHKとのラベルを付したアドレスに無条件でジャンプすることを意味しているが,これは,ジャンプした先の機能を英語の略語を用いてラベル表示をし,かつその意味を英文で説明しているのであって,両者は同じ内容であると解される。

 その他,両者の表現上の相違点は,殆どラベル表示の差違によるものである。

 以上の事実が認められる。

 そうであるとすると,両者は,同じプログラムであるということができるから,被告秀和が本件オブジェクトプログラムを逆アッセンブルして,解読したものにラベル及びコメントを付した行為は,本件著作物の複製行為であると評価することができる。

 また,被告スガキが,本件図書を印刷,複製し,被告秀和がこれを頒布していることは,当事者間に争いはない。

2 被告らは,被告秀和が,逆アッセンブルリストを解読し,ラベル及びコメントを付し,本件図書のソースリスト欄の各記載をしたのは,研究成果の発表であり,独自の創作活動というべきであるから,著作権侵害には当らない旨,また,被告らが本件図書を発表したのは,本件パソコンの利用者のためであるから,被告らの行為は正当である旨,主張する。

 しかしながら,原著作物に依拠して新たに作製したものが,創作性ないし独自性を有するか否かは,原著作物の著作権を侵害するか否かの点に,影響を与えるものではないというべきてあり,また,著作者がソースプログラムとして公開していない本件著作物につき,その著作者の意思に反して発表する行為が,利用者の便宜の故に正当化される余地がないのは当然の理であるので,被告らの主張はそれ自体失当でいずれも採用することはできない。

六 以上のとおり,被告らの前記各行為は,原告の有する本件著作権を侵害するものというべきてあり,また,本件図書は,右侵害の行為によって作成された物ということができるので,原告は被告らに対して,本件図書の出版,頒布の差止めを求め,あわせて,本件図書の廃棄を求めることができるというべきである。

 よって,原告の被告らに対する本件講求をいずれも認容することとし,訴訟費用の負担につき,民事訴訟法第89条,第93条1項をそれぞれ適用のうえ,主文のとおり判決する。

東京地方裁判所民事第29部

裁 判 長  裁 判 官       元    木      伸

       裁 判 官       飯   村   敏   明

       裁 判 官       富   岡   英   次

 


別 紙 著 作 物 目 録

NEC PC−8001用のBASICインタープリタのソースプログラム

なお,日本電気株式会社製のNEC PC−8001パーソナルコンピュータに格納されているプログラムを逆アッセンブルしたリスト(PAGE1)は,別紙一のとおりであり,本件著作物は,そのB欄に記載されている。


物  件  目  録

THE WHOLE ANALYSIS OF ver 1.0&1.1
(ピーシー8001 ベーシックソース プログラム リスト 1・0および1・1巻の完全解析)

(発行所 秀和システムトレーディング株式会社)

なお,本件図書のプログラムリストの第1頁は,別紙二のとおりである。


<別紙一,別紙二省略>


Copyright (C) 1998-2001 Takato Natsui, All rights reserved.

Published on the Web : Jan/26/1998

Error Corrected : Apr/13/2001

インデックス・ページへ

トップ・ページへ