IT・システム判例メモ

弁護士 伊藤雅浩が,システム開発,ソフトウェア,ネットなどのIT紛争に関する裁判例を紹介します。

プログラムの著作物性(肯定)大阪地判令3.1.21(平30ワ5948)

構造体の採用,高速化等の処理方法の具体的な工夫によってプログラムの創作性が認められた事例。

事案の概要

Xら(2名。以下,単に「X」という。)は,舟券競艇公式サイトからあらかじめ設定した条件に従って自動的に購入するソフトウェア(Xソフトウェア)を開発し,販売していた。Xソフトウェアの販売を行っていたZからXソフトウェアを入手したY(被告は5者いるが,「Y」と総称する。)は,Xソフトウェアをコンパイルし,難読化を解除して一部修正したソフトウェアYソフトウェア)を作成して販売した。

そこで,XはYに対し,著作権法114条2項に基づき,Yが販売によって得た利益1億4000万円のうち,2800万円を損害賠償請求(一部請求)した。

Xプログラムには,以下のような特徴があった(認定事実より。一部編集。)。

ア Xプログラムの使用言語等
 Xプログラムは,Microsoft Visual Studio を使用して,Microsoft Visual Basic言語を用いて作成されている。
イ 自動運転中の画面レイアウト生成のソースコード(甲34)
 自動運転(ユーザーの設定した条件等に従って原告プログラムが自動的に舟券の購入等の動作を実行している状態)中の画面レイアウトについて,処理の高速化を図り,表中の数値等と的中や外れの結果の画像を重ねて見やすく表示するために,市販のソフトウェアにより自動生成されるコードを使用せず,独自のメソッドを作成し,オブジェクトを配列化し,オブジェクト間の関係を工夫した構造を記述している。
ウ 自動運転の設定を保存するための構造体のソースコード(甲35)
 レジストリに保存された自動運転の設定情報を読み込む方法として,自動運転設定画面の情報を格納する構造体を介する方式を採り,コードを軽量化して見やすくし,処理を高速化するために,構造体を画面に表示される項目に対応した構成及び配列として記述し,その一部の項目について固定配列として記述している。
エ 自動運転を制御するための構造体のソースコード(甲36)
 自動運転中に使用する電話締切時刻や進入方法,オッズの取得状態,出走表等の情報について,処理の都度,データベースから呼び出すのではなく,何度もデータベースを直接呼び出す処理を省くため,多数の構造体を定義し,画面の表示の記述に適合した入れ子式の構造を採用している。
オ DEMEDAS 情報を取得する処理のソースコード(甲37)
 DEMEDAS 情報から必要な要素を抽出処理するに当たって,ウェブサイト側で HTML の記述を変更されると抽出できなくなりやすいデメリットはあるものの,メンテナンス性を考慮して,できるだけ HTML の記述を省略せずに文字列パターンを指定して記述している。
カ 舟券購入サイトへの投票処理のソースコード(甲38)
 舟券をインターネット上で購入できるウェブサイト( BOAT RACE 投票サイト)にログインし,舟券を購入する動作を自動的に実行するに当たって,ユーザーにログイン処理等が行われていることを認識しやすくし,また,投票サイトの仕様変更等に対応しやすくする目的で,より人間の操作に近い動作をするように,基本的には所要の情報をサイトの画面にセットしてサイトの「ログインする」ボタンを押下する動作を WebBrowser ActiveX コントロールを利用してエミュレートする方法により送信する処理を選択し,サイト側の JavaScript 設定によりその方法でうまく動作しない部分については,ボタンの押下処理を残して JavaScript を動作させつつ,その処理を1秒待って情報を直接 POST 送信するように記述している。

XプログラムとYプログラムとは,プログラムを構成するDLLファイルのGUID値(Visual Basic Studioを使って作成する際に,自動的に生成される識別子)が一致するなど,完全に複製されたとみられる箇所があるほか,画面,マニュアルなども相当程度一致していた。

ここで取り上げる争点

Xプログラムの著作物性

裁判所の判断

まず,

プログラムに著作物性があるというためには,指令の表現自体,その指令の表現の組合せ,その表現順序からなるプログラムの全体に選択の幅があり,かつ,それがありふれた表現ではなく,作成者の個性,すなわち,表現上の創作性が表れていることを要するといわなければならない

との一般論を述べた上で,

Xプログラムは,市販のプログラム開発支援ソフトウェアである Microsoft Visual Studio を使用して Microsoft Visual Basic 言語で記述されているから,ソースコードを個別の行についてみれば,標準的な構文やありふれた指令の表現が多用されており,独創的な関数等は用いられていない。

しかしながら,前記(5)イ(引用者注:上記事案の概要中のイに対応。以下同じ。)については,一定の画面表示を得るために複数の記述方法が考えられるところ,一定の意図のもとに特定の指令を組み合わせ,独自のメソッドを作成して独自の構成で記述しており,同ウ及びエについては,一定の処理方式を選択すること自体はアイデアにすぎないが,やはり,一定の結果を得るためにどのように指令を組み合せ,どの範囲で構造体を設定し,配列・構造化するかには様々な選択肢が考えられるところ,その具体的な記述は,一定の意図のもとに特定の指令を組み合わせ,多数の構造体を設定し,配列・構造化した独自のものになっている。
また,同オについては,HTML データから一定の情報を抽出する指令の記述は選択の幅があるところ,メンテナンス性を考慮して独自の記述をしていることが認められ,同カについても,人間が情報を入力してログインや舟券購入の操作をすることを想定して作成されている投票サイトのサーバーに,人間の操作を介さずに必要なデータを送信してログインや舟券の購入を完了するための指令の表現方法は複数考えられるところ,複数の方式を適宜使い分けて記述し,一連の舟券購入動作を構成していることが認められる。
そうすると,前記イないしカのソースコードには表現上の創作性があるといえ,これらを組み合わせて構成されているXプログラムにも,表現上の創作性が認められるというべきである。

と,創作性を認めた。

その他に,Yは,複製・翻案の有無や,許諾の有無についても争ったが,すべて退けられた。

裁判所は,Yの販売実績から,少なくとも4240万円の損害が発生したと認定し,Xの請求のすべてを認容した。

若干のコメント

本件は,入手したソフトウェアのコピープロテクトを外して逆コンパイルするなどし,ほぼそのまま別のソフトウェアとして販売していたという事案であり,プログラムの著作権侵害事件の先例性は高くないかもしれません。

しかし,相手方がプログラムの創作性を争ってきた場合,「ほとんど丸ごとコピーしてるんだから著作権侵害なのは明らかだろう」「機能が同じである」と主張しても主張自体失当となってしまいます(実際にその種の事件は少なくありません。)。

本件では,Xが,機能や構造の特徴だけでなく,ソースコードに現れた表現として具体的に主張しており(事案の概要部分参照),かつ,その部分がYプログラムにも表れていることを主張立証したことで認容に繋がりました。プログラムの著作権侵害事件は,相手方のプログラムを入手したり,その中身を明らかにすることが困難であるため,簡単なようで難しい事件であることが伺える事例です。

なお,認定事実の判示部分の記載だけでは,まだアイデアの域を出ていないような印象も受けますが,実際には,認定事実に記載した工夫が具体的にソースコードに表現された部分との対応関係も示されて主張されたのだと思われます。