競合他社が販売しているソフトウェアΑのオブジェクトコードからソースコードを解析し,ソフトウェアΑと相互接続できる製品を開発することは違法(著作権侵害)でしょうか。

平成30年の著作権法改正前は,プログラムのリバースエンジニアリングを行うと著作権侵害となってしまう可能性があると指摘されていました。しかし,平成30年の著作権法改正によりいわゆる「柔軟な権利制限規定」が追加され,上記のようなプログラムのリバースエンジニアリングについては著作権侵害とはならないことが明らかにされました。

1 リバースエンジニアリングとは?
プログラムにおけるリバースエンジニアリングとは,動作を解析したりするなどしてソフトウェアの構造を分析すること全般を指します。プログラムがどのようなロジックで動いているのかを分析するために,人間が解読不可能なオブジェクトコードを人間が解読可能なソースコードの形式などに戻すことがありますが,この行為はリバースエンジニアリングの一種です。

2 リバースエンジニアリングとプログラムの「複製」
リバースエンジニアリングの過程では,プログラムの「複製」(コピー)が行われることがありますが,権利者の許諾なしにプログラムを複製すると著作権侵害となってしまうのが原則です(著作権法21条)。著作権の効力を制限するいわゆる「権利制限規定」の中にリバースエンジニアリングを許容する規定があれば話は別ですが,平成30年の著作権法改正前にはこのような規定はありませんでした。

しかし,障害の発見や相互接続性があるプログラムを開発するためにはプログラムのリバースエンジニアリングが必要となる場合もあり,従来からこのような場合にはリバースエンジニアリングを適法になし得るようにすべきではないか,との指摘がなされていました。

3 平成30年の著作権法改正によりプログラムのリバースエンジニアリングが可能に
このような状況の中,平成30年の著作権法改正により著作権法の中に以下のような条文が新設されました。

第30条の4 著作物は、次に掲げる場合その他の当該著作物に表現された思想又は感情を自ら享受し又は他人に享受させることを目的としない場合には、その必要と認められる限度において、いずれの方法によるかを問わず、利用することができる。ただし、当該著作物の種類及び用途並びに当該利用の態様に照らし著作権者の利益を不当に害することとなる場合は、この限りでない。

一号ないし三号 省略

この著作権法30条の4には「リバースエンジニアリング」であるとか,これに類する直接的な文言はありません。しかし,既存プログラムのソースコードを解析することはプログラムの機能の享受を目的としない行為であることから,上記引用部分の「その他の当該著作物に表現された思想又は感情を自ら享受し又は他人に享受させることを目的としない場合」に該当すると考えられ,同条により適法になし得ると考えられています。文化庁著作権課による解説の中でもその旨説明されています(文化庁著作権課「著作権法の一部を改正する法律(平成30年改正)について」コピライト692号60頁注39)。

以上より,設例のように相互接続できるプログラムを開発するためにソフトウェアAのリバースエンジニアリングを行うことは適法と考えられます。

ところで,設例からは若干離れますが,ソフトウェアAのアルゴリズムを解析してソフトウェアAと競合する製品を開発しようとする場合,「著作権者の利益を不当に害する」ものとして同条ただし書が適用される(≒同条本文が適用されず違法になってしまう)可能性が残されています。もちろん,競合品については一律に同条ただし書が適用される,などということにはならないと思われますが,注意が必要でしょう(たとえば,ソフトウェアAと全く同じ機能を有するプログラムを別途開発し,ソフトウェアAよりも相当程度廉価で販売するような行為については同条ただし書が適用される可能性がありそうです。)。

2019年8月26日