プログラムのソースコードが著作権法上の保護対象に含まれる(著作権法第10条第1項第9号)ことはよく知られているが、ではこれをどこまで利用すると著作権侵害となり得るのか、実務的な面で整理したい。

プログラムの著作権が及ぶ範囲

プログラムの著作権は「表現」に及ぶ。

つまり、ソースコードの具体的な表現として、

  • 指令の表現自体
  • 指令の表現の組み合わせ
  • 表現の順序

などが保護されることとなる。

一方、アイデアやアルゴリズム自体は保護されない(著作権法第10条第3項第3号)。

例えば、「Aを入力したらBを計算して出力する」といった処理の仕組みや数式は著作権ではなく、場合によっては特許の対象になるだけである。

また、過去の判例(平成29年6月29日判決(東京地裁 平成28年(ワ)第36924号))では、次のように判示されている。

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

つまり、プログラムの表現に選択の幅が無い場合や、ありふれた表現である場合は著作権の保護対象とはならない。

なお、システム設計書等は著作権法上のプログラムには該当しないものの、言語の著作物(著作権法第10条第1項第1号)や図形の著作物(同法第10条第1項第6号)として保護され得る。

著作権侵害の判断基準

プログラムの著作権侵害を判断する場合、以下2つの基準が重要となる。

ソースコードが一致(類似)する箇所の量

比較対象と一致するソースコードの文字数や行数などの客観的な数値的の指標が高いほど、類似性も高くなり、著作権侵害が認められやすくなる。

一致(類似)する箇所を別の表現に創作できるか

ある機能を実装するのに色々な書き方ができるにも関わらず、他社のプログラムと一致・類似する記述であれば、著作権侵害の可能性が高くなる。

更に比較対象のプログラムと同じバグが生じる場合は、ソースコードをコピペしている可能性が高く、著作権侵害を裏付ける要因となり得る。

逆に、ある機能を実装しようとすると誰が作成してもほぼ同じような表現になる場合、そこに創作性は存在せず、著作権法上の保護対象から外れることとなるため、侵害可能性は下がる。

ただし、変数や定数、関数の名称等を変えただけでは、実質的にはプログラムの類似度を低減することにはならないと思われる。

プログラムの創作性は、単なる変数等の名前の付け方ではなく、ある機能を実現するための構成という観点が重要(著作権上の保護対象となる)だからである。

他社のソースコードを参考にしただけの場合は?

他社のソースコードを全てコピペすれば著作権侵害となる、一部を書き換えたに過ぎなければ侵害可能性が生じる、のは良いとして、場合によってはソースコードのアイデアやアルゴリズムは参考にしつつも、実際は一から自分でコーディングするような場合もあるかもしれない。

この場合はどう判断すべきだろうか?

ケースにもよるが、著作権侵害リスクはかなり低くなると思われる。

上述の通り、アイデアやアルゴリズム自体は著作権法の保護対象ではないため、これらをゼロベースで実装することでソースコードの構成が異なっていれば、もはや他社の著作物と類似するとは言えなくなるためである。

もうひとつの著作権侵害要件である「依拠性」は充足するとしても、ソースコード類似しなければ問題はない。

また、仮に元のソースコードとは異なる言語で記述すると、更に類似度は低下するだろう。

ただし、決してリスクがゼロになる訳ではなく、言語を変えたとしてもソースコードの具体的な構成・記述を忠実に模倣した場合は「翻案」とみなされ、著作権侵害と判断される可能性がはあると考えられる。

関連記事