Kaneda Copyright Agency ホームに戻る
カネダ著作権事務所

著作権判例エッセンス

プログラム著作物▶個別事例①

▶令和234日東京地方裁判所[平成29()19073]
本件プログラムは著作物といえるかについて
⑴ プログラムの著作物性の解釈
ア プログラムは,電子計算機を機能させて一の結果を得ることができるようにこれに対する指令を組み合わせたものとして表現したもの(著作権法2条1項10号の2)であり,所定のプログラム言語,規約及び解法に制約されつつ,コンピューターに対する指令をどのように表現するか,その指令の表現をどのように組み合わせ,どのような表現順序とするかなどについて,著作権法により保護されるべき作成者の個性が表れる。
したがって,プログラムが著作物であるというためには,指令の表現自体,その指令の表現の組合せ,その表現順序からなるプログラムの全体に選択の幅があり,かつ,それがありふれた表現ではなく,作成者の個性,すなわち,表現上の創作性が表れていることを要すると解される。
イ そこで検討すると,前記認定のとおり,本件プログラムは,EDINET[注:金融商品取引法に基づく有価証券報告書等の開示書類の電子開示システムのこと]における取扱いに変更があったことを踏まえ,ユーザーが作成した会計に関するエクセルファイル等をX-Smartに取り込み,会計科目を開示科目に組み替え,編集作業等を経て,宝XBRLの形式に変換することを簡易に行うことなどを目的として開発されたものであり,相応の分量のソースコードから成るものである。
しかしながら,前記に照らすと,DI社が原告に本件プログラムの開発を委託した際に提供された本件各資料のうち,少なくとも本件資料4ないし6には,本件プログラムに要求される機能及びそれを実現する処理,画面の構成要素等を別紙3本件プログラム説明書と同様のものとすることが概ね示されていたと認められる。
また,前記認定のとおり,本件プログラムは,ユーザーからのフィードバックの結果を踏まえ,順次,DI社からの発注を受けて修正及び追加等をしながら開発されたものであり,その過程で,そのソースコードの一部については,DI社から元となるデータやそのサンプルが提供され,その作成方法を指示されるなどして作成されたものであること,その他,ソースコード中にNetAdvantageに含まれるファイル,VisualStudioで自動生成されるファイル,オープンソースからダウンロードしたファイルから作成された部分や,一般的な設定ファイル等である部分も相応に含まれていることにも照らせば,ソースコードの分量等をもって,本件プログラムに係る表現の選択の幅が広いと直ちにはいえない。
⑵ 原告が創作的表現であると主張している部分についての検討
以上を前提として,本件プログラムのうち,原告が創作的表現であると主張している部分について検討する。
ア ドロップダウンリストの生成に係る部分
前記認定のとおり,本件ソースコード1には,画面1の「ファイル形式」を選択するドロップダウンリストを生成する処理が記述されているところ,原告は,本件ソースコード1では,ドロップダウンリストを「asp:DropDownList」を利用して別の箇所で生成しているが,他の表現1のように,ドロップダウンリストを直接生成することもできるから,選択の幅があり,ここに原告の個性が表れている旨主張する。
しかしながら,前記認定のとおり,本件プログラムの開発はASP.NET環境下で行われているところ,証拠及び弁論の全趣旨によれば,「asp:DropDownList」は,ドロップダウンリストを生成するためのツールとしてASP.NET環境で用意されているものであり,これを利用する方法は一般的なことであると認められるから,他の表現1があるとしても,「asp:DropDownList」を利用することに作成者の個性が表れているということはできない。
また,本件ソースコード1の具体的な記述も,ASP.NET環境で利用可能な宣言構文のとおりのものであると認められるのであって,作成者の個性が表れていると認めるに足りず,創作的表現であるとはいえない。
イ サブルーチンに係る部分
原告は,本件ソースコード2ないし4について,サブルーチン化するか否か,サブルーチン化するとしてどのようにサブルーチン化するかについて選択の幅があると主張する。
しかしながら,前記認定のとおり,サブルーチンは,高等学校工業科用の文部科学省検定済教科書である(証拠)文献にも記載されているような基本的なプログラミング技術の一つであり,証拠及び弁論の全趣旨によれば,プログラム中で繰り返し表れる作業につきサブルーチンに設定することで可読性及び保守性を向上させることができ,そのような観点からサブルーチンを設定することは一般的な手法であると認められるから,本件ソースコード2ないし4にサブルーチンが設定されているというだけでは,作成者の個性が表れているとはいえない。
また,本件ソースコード3において,更にサブルーチンを設定しないことに何らかの目的,意図があるともいい難いから,サブルーチンを更に分割することができるというだけでは,作成者の個性が表れていると認めるに足りないというべきである。
以上に加えて,原告は,上記の各点以外に,本件ソースコード2ないし4の記述に選択の幅があることを具体的に主張立証しておらず,これらを創作的表現であると認めるに足りない。
ウ 条件分岐及びループに係る部分
() 本件ソースコード5
前記認定のとおり,本件ソースコード5には,画面1から画面2に遷移する際に呼び出されるサブルーチンのうち,アップロードしたファイルの種類を判別し,対応する画面を生成する処理が記述されているところ,原告は,本件ソースコード5では,switch文で条件分岐を行っているが,他の表現5のように,else-ifで条件分岐を行うこともできるから,選択の幅があり,ここに原告の個性が表れている旨主張する。
しかしながら,証拠及び弁論の全趣旨によれば,switch文は,複数の選択肢の中から式の値に合うものを選び,その処理を行うものであり,else‐ifは,複数の条件のどれに当てはまるかによって異なる処理を行うものであって,いずれも高等学校工業科用の文部科学省検定済教科書である(証拠)文献その他複数の文献に記載されている条件分岐の基本的な制御文であり,3種類以上の場合に分けて条件を指定するときに使用されるものであると認められるから,本件ソースコード5のように,アップロードしたファイルの種類によって場合を分けて条件を指定する必要がある場合に,switch文を使用すること自体は一般的なことであると認められ,そのことに作成者の個性が表れているということはできない。
() 本件ソースコード6
前記認定のとおり,本件ソースコード6には,ファイルの何列目からデータを取り込むかを取得し,取り込み開始が20列目を超えているか否かを判別し,超えている場合にはエラーを発生させる処理が記述されているところ,原告は,本件ソースコード6では,for文でループを行っているが,他の表現6のように,while文でループを行うこともできるから,選択の幅があり,ここに原告の個性が表れている旨主張する。
しかしながら,証拠及び弁論の全趣旨によれば,for文は,繰り返す回数を指定して反復処理を行うものであり,while文は,指定した条件を満たす限り反復処理を行うものであって,いずれも,高等学校工業科用の文部科学省検定済教科書である(証拠)文献その他複数の文献に記載されているループの基本的な制御文であり,for文で記述できるものはwhile文でも記述可能であると認められるから,本件ソースコード6のように,取り込み開始が20列目を超えているか否かをループ処理によって判別するに当たり,for文を使用すること自体は一般的なことであると認められ,そのことに作成者の個性が表れているということはできない。
() 本件ソースコード7
前記認定のとおり,本件ソースコード7には,ファイルの最大列数や項目名の開始列を取得する処理が記述されているところ,原告は,本件ソースコード7では,全てのデータに対してforeach文でループを行っているが,他の表現7⑴のように,あらかじめ決められた条件で抽出されたデータに対してのみループを行うことも可能であり,他の表現7⑵のように,for文でループを行うこともできるから,選択の幅があり,ここに原告の個性が表れている旨主張する。
しかしながら,証拠及び弁論の全趣旨によれば,C#において,foreach文は,複数のデータの集まりの各要素を最初から最後まで1回ずつ呼び出して処理するものであり,for文等と共に複数の文献に記載されているループの基本的な制御文であって,for文等で記述された処理を代替し得るものであると認められるから,本件ソースコード7のように,ファイルの最大列数や項目名の開始列を判別するに当たり,foreach文を使用すること自体は一般的なことであると認められ,そのことに作成者の個性が表れているということはできない。
また,他の表現7⑴及び⑵は,ループを行う範囲を限定するものであると認められるが,同等の処理を行うものと認められる本件ソースコード7と比べて記述が長く,可読性が低下していると認められるところ,あえてそのような記述をする必要があると認めるに足る証拠はないから,これを選択可能な他の表現であるとは認め難い。
() 本件ソースコード8
前記認定のとおり,本件ソースコード8には,金額の単位を選択するために画面3に表示されるドロップダウンリストを生成するための判別処理等が記述されているところ,原告は,本件ソースコード8では,foreach文によるループの中で,求める条件が正しい場合に次の条件に進むように記述しているが,他の表現8のように,求める条件が正しくない場合にループをやり直すように記述することもできるから,選択の幅があり,ここに原告の個性が表れている旨主張する。
しかしながら,前記()のとおり,foreach文は,ループの基本的な制御文であるから,本件ソースコード8のように,ドロップダウンリストを生成するための判別処理として,foreach文を使用すること自体は一般的なことであると認められ,そのことに作成者の個性が表れているということはできない。
また,証拠及び弁論の全趣旨によれば,他の表現8に用いられているcontinue文は,ループの中で使用され,その前のif文が真になった場合にcontinue以降の処理をスキップして,次のループ処理の最初に戻るものであると認められるものの,if文を用いた本件ソースコード8と比べてソースコードが長く,可読性が低下していると認められ,あえてそのような記述をする必要があると認めるに足る証拠はないから,これを選択可能な他の表現であるとは認め難い。
() 本件ソースコード9
前記認定のとおり,本件ソースコード9には,画面2で選択された列の種別を判別して対応する処理が記述されているところ,原告は,本件ソースコード9では,else-ifで条件分岐を行っているが,他の表現9⑴のように,switch文で条件分岐を行うこともでき,他の表現9⑵のように,switch文に加えて,foreach文によるループの対象として,条件分岐の判別に必要な変数を直接取得することもできるから,選択の幅があり,ここに原告の個性が表れている旨主張する。
しかしながら,前記()のとおり,else-if及びswitch文は,いずれも条件分岐の基本的な制御文であるから,本件ソースコード9のように,画面2で選択された列の種別を判別して対応する処理を行うに当たり,else-ifで条件分岐を行うこと自体は一般的なことであると認められ,そのことに作成者の個性が表れているということはできない。
また,証拠及び弁論の全趣旨によれば,他の表現9⑵は,他の表現9⑴と同様のswitch文の中に統合言語クエリ(LINQ)を実行する処理に係る記述を挿入したものであると認められるものの,ソースコードが長く,可読性が低下していると認められ,あえてそのような記述をする必要があると認めるに足る証拠はないから,これを選択可能な他の表現であるとは認め難い。
() 小括(本件ソースコード5ないし9)
原告は,上記()ないし()の各点以外に,本件ソースコード5ないし9の記述に選択の幅があることを具体的に主張立証しておらず,これらを創作的表現であると認めるに足りない。
エ 変数への設定に係る部分
前記認定のとおり,本件ソースコード10には,画面4に表示される会計科目のデータの判別及び設定を行う処理が記述されているところ,原告は,本件ソースコード10では,変数に対して判別結果を直接設定し,条件演算子「?」,「:」を使用しているが,他の表現10のように,if文によって変数に設定する値を変えることもできる,実際の表現の方が簡潔に表現されているが,他の表現10にも,デバッグやログの出力をしやすいといった利点があるのであって,選択の幅があり,ここに原告の個性が表れている旨主張する。
しかしながら,証拠及び弁論の全趣旨によれば,条件演算子は,条件に基づいて複数の処理を選択する演算子であると認められ,if文等の条件分岐の制御文と同様の処理を行い得るものであって,両者は代替され得るものとして認識されていると認められるから,本件ソースコード10のように,会計科目のデータの判別及び設定を行うに当たり,条件演算子を使用すること自体は一般的なことであると認められ,変数に対して判別結果が直接設定されることが特殊なことであると認めるに足る証拠もないから,それらに作成者の個性が表れているということはできない。
また,原告は,上記の点以外に,本件ソースコード10の記述に選択の幅があることを具体的に主張立証していないから,これを創作的表現であると認めるに足りない。
オ チェック処理に係る部分
前記認定のとおり,本件ソースコード11には,組替操作時に画面4でドロップされた行番号の取得及び変換を行う処理が記述されているところ,原告は,本件ソースコード11では,TryParseメソッドの戻り値でドロップされた行 番号のチェック結果を判別しているが,他の表現11のように,Parseメソッドを用いて,まず行番号の取得を試みて,エラーが発生するかどうかでチェック結果を判別することもできるから,選択の幅があり,ここに原告の個性が表れている旨主張する。
しかしながら,証拠によれば,TryParseメソッド及びParseメソッドは,いずれもC#ライブラリに標準機能として搭載された,文字列を数値に変換する手法であるところ,TryParseメソッドは,変換に失敗したときに,例外として情報を取得し,それを精査することにより失敗の原因を究明することができるとされるParseメソッドとは異なり,戻り値として,失敗したという情報だけを取得し,ソースコードはParseメソッドより短くなると認められ,本件ソースコード11のように,ドロップされた行番号の取得及び変換を行うに当たり,TryParseメソッドを用いること自体は一般的なことであると認められ,そのことに作成者の個性が表れているということはできない。
また,原告は,上記の点以外に,本件ソースコード11の記述に選択の幅があることを具体的に主張立証していないから,これを創作的表現であると認めるに足りない。
カ デバッグログを出力するコードに係る部分
() 本件ソースコード12
原告は,本件ソースコード12にデバッグログを出力するコードが挿入されていることにプログラム作成者の個性が表れると主張する。
しかしながら,弁論の全趣旨によれば,プログラムの開発過程において,プログラムの保守及び変更等の必要から,不具合があり得ると考えられるソースコード上にデバッグログを出力するコードを挿入することは一般的に行われていることであると認められるから,デバッグログを出力するコードが挿入されているというだけで,そのことに作成者の個性が表れているということはできない。
また,本件ソースコード12のデバッグログを出力するコードの記述に作成者の個性が表れていることについて原告は具体的に主張立証していないから,これを創作的表現であると認めるに足りない。
() 本件ソースコード13
原告は,デバッグログを出力するコードが挿入されていない本件ソースコード13に対し,他の表現12⑴及び⑵のように,デバッグログを出力するコードを挿入することも選択し得るとも主張するが,納品されるプログラムにデバッグログを出力するコードが挿入されていないこと自体は一般的なことであると考えられるから,そのことに作成者の個性が表れているということはできない。
キ コメントに係る部分
原告は,本件ソースコード14等におけるコメントの有無及びその内容にプログラム作成者の個性が表れる旨主張する。
しかしながら,前記⑴アのとおり,プログラムは,電子計算機を機能させて一の結果を得ることができるようにこれに対する指令を組み合わせたものとして表現したもの(著作権法2条1項10号の2)であるところ,コメントは,コンピューターの処理の結果に影響するものではなく,コンピューターに対する指令を構成するものであるとはいえないから,上記のプログラムに当たらない。
また,原告は,本件ソースコード14のコメントの内容に作成者の個性が表れていることを具体的に主張立証しておらず,これを創作的表現であると認めるに足りない。
ク 小括(本件ソースコード)
以上のとおり,原告が創作的表現であると主張している本件ソースコードについて,作成者の個性が表れているということはできず,著作権法で保護されるべき著作物であると認めることはできない。
⑶ 原告の主張について
原告は,本件プログラムはプログラムの著作物に当たるとし,その理由として,①本件プログラムは,原告が創作した部分に限っても,合計4万0381ステップという膨大な量のソースコードから成り,指令の組み合せ方,その順序,関数化の方法等には無限に近い選択肢があること,②本件プログラムにおけるエクセル取込機能及び簡易組替機能は,一般的な用途に使用されるものではないから,これらの機能を実現するためのプログラムがありふれたものであるとはいえないこと,③原告は,NetAdvantageVisualStudio等の開発ツールを用いながらも,ライブラリ群の中からどのライブラリを用いるべきか,どの順番でライブラリを呼び出させるべきか,どのように加工すべきか,どのようにパラメータを設定すべきかなどに工夫を凝らしており,それらに個性が表れていること,④本件各資料は,いずれも要求定義又は外部設計に関するものにすぎず,DI社が要求している機能を実現するための指令の組合せは記載されていないから,本件プログラムに係る選択の幅を狭めるものではないことを主張する。
しかしながら,上記①について,前記⑴アのとおり,プログラムに著作物性があるというためには,プログラムの全体に選択の幅があり,かつ,それがありふれた表現ではなく,作成者の個性,すなわち,表現上の創作性が表れていることを要すると解されるところ,本件プログラムに表現上の創作性があることについて具体的に主張立証されない以上,前記⑴イで認定,説示したとおり,多くのステップ数により記述されていることをもって,直ちに表現上の創作性を認めることはできない。
また,上記②について,原告の主張は,本件プログラムの機能の特殊性を指摘するにとどまっているところ,プログラムの機能そのものは著作権法によって保護されるものではなく,特定の機能を実現するためのプログラムであるというだけで,直ちに表現上の創作性を認めることはできない。
さらに,上記③について,原告は,ライブラリの使用等にどのような工夫をしたかについて具体的に主張立証しておらず,その点に選択の幅があり,作成者の個性が表れていると認めるに足りない。
また,上記④について,本件各資料にソースコードが具体的に記述されていないとしても,要求されている機能及び処理を実現するための表現に選択の幅があると当然にはいえないから,この点を考慮しても,本件プログラムに表現上の創作性を認めるに足りないというべきである。
⑷ まとめ
以上のとおり,原告が創作的表現であると主張している本件ソースコードについて,著作物性は認められない。
そして,原告は,本件ソースコード以外,本件プログラムのどの部分に作成者の個性が表れているかを具体的に主張立証しておらず,本件プログラムに著作物性を認めるに足りないというべきである。

一覧に戻る

https://willwaylegal.wixsite.com/copyright-jp