アセンブラプログラムについて、創作性の有無が争点となった事例。
事案の概要
X(原告)は、吸い出し機と呼ばれるツールで、スーパーファミコン用ゲームのオブジェクトコードを、逆コンパイルし、パッチプログラム(本件パッチ。アセンブリ言語)を制作した。本件パッチは、モビルスーツの戦闘画面における色の切り替えを可能にする機能(本件色切替パッチ)等を有する。
Xは、何者かが本件パッチの複製物をあるサイト(本件サイト)にアップロードしたとことが、Xの著作権(複製権又は翻案権及び公衆送信権)を侵害するとして、プロバイダ責任制限法4条1項に基づき、Y(接続プロバイダ。被告)に対し、発信者情報の開示を求めた。
ここで取り上げる争点
本件色切替パッチのプログラム著作物該当性
Yは、本件パッチは、元のプログラムを書き換えるためのデータ列でしかなく、プログラム(著作権法2条1項10号の2)に該当しないと主張していたほか、元のプログラムの原状に規定・拘束されたものであって創作性(法2条1項1号)を有しないと主張していた。
裁判所の判断
そもそもプログラムに該当するかという点については、次のように述べて認めた。
本件色切替パッチは,アセンブリ言語により記述されたもので約100行のコードからなり,一定の条件の下で当該モビルスーツの色彩が変更されるようにするために,元プログラムから登場機体番号,登場機体の所属,登場機体のレベルに関する情報を読み出し,一定の加工を行った上で,用意しておいたデータベース(甲36)の情報と対照し,「条件a」,「条件o1」,「条件o2」の成否を判定して,所定の場合には色の切替動作を行うようにしたものである。
以上のとおり,本件パッチのうち,少なくとも本件色切替パッチは,複数の指令を組み合わせて電子計算機を機能させ,所定の場合には色の切替動作を行い,所定の場合にはこれを行わないという1つのまとまった仕事ができるように構成されているものと認められるから,「プログラム」に該当する。
続いて著作物性について、
プログラムに著作物性があるというためには,指令の表現自体,その指令の表現の組合せ,その表現順序からなるプログラムの全体に選択の幅があり,かつ,それがありふれた表現ではなく,作成者の個性,すなわち,表現上の創作性が表れていることを要する。
そして,「創作的」に表現されたというためには,厳密な意味で独創性が発揮されたものであることは必要ではなく,作成者の何らかの個性が表現されたもので足りるというべきであるが,他方,プログラムの具体的記述自体がごく短く又は表現上制約があるため他の表現が想定できない場合や,表現が平凡かつありふれたものである場合には,作成者の個性が表現されたものとはいえないから,創作的な表現であるということはできない。
という判断基準を述べた上で、以下のように具体的なコードに関して言及し、著作物性を認めた。いずれも、一定の処理を行うには、別の記述方法の可能性(表現の選択の幅)について言及されている(5カ所について言及されているが、ここでは3カ所だけ取り上げる。)。
(ア)値を比較して、一定の条件を満たした場合には指定した場所にジャンプするという処理(該当箇所のコードは下記のとおり)について、
ここで,ANDコマンドは,二進数で考え,各桁において,二つの値の両方とも1の時のみその桁は1に,一方でも0なら0となるとともに,ゼロフラグを変更しうるコマンドであり(甲38の15),BNEコマンドはゼロフラグがゼロの時,指定された場所までジャンプするコマンドであるが(甲38の12),これらに代えて「A」テーブルの値と指定された値の引き算を行い,両者が等しい場合にゼロフラグを「1」に変更するCMPコマンド(甲38の10)を用いて,「A」テーブルに保存されたデータの値と,値「00」の比較を行った上で,BNEコマンドと組み合わせても,本件色切替パッチ同様の処理結果となると考えられる。
(イ)データの置き換え、代入という処理について(該当箇所のコードは下記のとおり)、
ここで,[$00:30B8]に保存された情報の上書きを防ぐため,処理(i)の後に処理 (ii)を行うことは必要であるが,処理 (iii)は処理(i)及び処理(ii)とは無関係な処理であるから,処理 (iii)を行ってから処理(i),処理 (ii)を行うという順序でも,処理 (i)の次に処理 (iii)を行い,最後に処理 (ii)という順序でも,本件色切替パッチと同様の処理結果となると考えられる。
(ウ)一定の演算をする処理について(該当箇所のコードは下記のとおり)、
ここで,例えば,部分⑥のASLコマンドを2回使った時に(すなわち,シート1Aデータが4倍された時に),当該値を[$00:30B6]に保存しておき,部分⑦では[$00:30B6]に保存しておいたシート1Aデータが4倍された値を「A」テーブルに読み出し,これを2倍にした上で,[$00:30B6]に保存してあるシート1Aデータが4倍された値を加算することでも,シート1Aデータを12倍した値を作成することは可能と考えられる。
これらを踏まえて以下のように結論を述べている。
以上のとおり,数値の突合及びそれに伴う条件分岐にいかなるコマンドをどのように組み合わせるか,条件が成立する場合としない場合の処理をどのような順序で記載するか,どのタイミングでテーブルないしメモリ領域間で情報を移動させるか,共通する処理があるときに共通する部分をまとめて記述するかそれとも個別に記述するかなどについて,本件色切替パッチと異なる表現を採用しても,本件色切替パッチにおいて実現される処理と同様の処理を行うことが可能である。そして,使用可能なコマンドは多数存在すること(甲38),本件色切替パッチのコード数は約100行あることからすれば,全体としてみれば,本件色切替パッチにおいて実現される処理を行うために用いうるコマンド,その組み合わせ及び表現順序の選択の余地は大きいものというべきである。
Xは,それだけの選択の余地がある中で,工夫を凝らして本件色切替パッチを作成したものであるから(甲14),本件色切替パッチは,ありふれた表現ではなく,何らかの作成者の個性,すなわち,表現上の創作性が表れていると認められる。
そして、問題となったコードはオブジェクトコードレベルで完全に一致することから、複製権の侵害(権利侵害の明白性)があったと認め、発信者情報の開示を認容した。
若干のコメント
本件は、発信者情報開示請求事件で、被告は被疑侵害者ではないですが、アセンブリ言語で書かれた非常にシンプルなコードについて著作物性が判断されたこと、さらにそのコードの具体的な内容に言及しながら著作物性が検討されたことに特徴がある事案です。
アセンブリ言語は、コンピュータのCPUが解釈する命令(マシン語)と1対1に対応した言語であって低水準言語に分類されます。C、PHP、Pythonなどの言語と違って、各ハードウェアのレジスタやメモリなどの配置、特性を意識しながら記述することが必要である一方、記述がシンプルになることから、表現の幅が狭く、個性が発揮しづらい(創作性が認めにくい)のではないかとも思われます。
しかし、本件では、原告が、一見するとシンプルに見える記述について、その表現上の工夫を丁寧に主張、立証した結果、著作物性が認められており、他のプログラムの著作権侵害が問題となる事案において参考になると思われます。
というのも、プログラムの著作権(特に創作性)が問題になる事案では、権利者側が、機能が優れていたりユニークであるとか、プログラムの構成/構造/アルゴリズムを工夫したという主張をしがちでした。前者については、表現それ自体ではないから創作性を基礎づけることにはならず、後者については、たとえその点に工夫があったとしても、規約(法10条3項2号)、解法(同項3号)に属するものであって、保護が及ばないことになってしまうからです。本件における原告の創作性に関する主張は、規約・解法など、表現ではない部分との紙一重であり、裁判所によっては、「表現ではない」「ありふれている」という判断もあり得たところなので、この種の事案の判断は難しいと感じます(発信者情報開示事件だったので、これが著作権侵害事件で、被告が激しく争った場合には結論が変わった可能性もあり得ます。)。
加えて、本件では、パッチプログラムはデータ列であって、プログラム(指令の組合せ。法2条1項10号の2)ではないということも争われましたが、東京地判平15.1.31では、当該記述それ自体で利用できないものであっても、他のプログラムと協働してコンピュータを動作させるものであればプログラムに当たるとしていたことに照らせば、問題なくプログラム該当性(創作性・著作物性ではなく)を認めてよい事例でしょう。
参考までに、本件以外に近時のプログラム創作性が問題となった事例を以下に列挙しておきます。
東京地判令6.12.23[畳システム]、知財高判令6.11.21[サイレントロボ](原審:東京地判令6.1.29)、東京地判令4.8.30[モバカルネット]、知財高判令3.9.29[放置少女]、大阪地判令3.1.21[舟券購入プログラム]、知財高判令2.10.28[ライズ株式]、東京地判令2.3.4[X-Smart]、大阪地判令元.5.21[でんちゅ~]、知財高判平29.3.14[通販管理]、知財高判平28.4.27[液滴法](原審:東京地判平26.4.24)、知財高判平28.3.23[字幕制作ソフト]、知財高判平26.3.12[ディスクパブリッシャー]があります。