IT・システム判例メモ

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

ソースコードと営業秘密の不正使用 東京地判平30.11.29(平27ワ16423)

元従業員が競合ソフトウェアの開発に関わったという事例におけるソースコードの「使用」が争点となった事例。

事案の概要

基本的な事実関係は,東京地判平27.6.25及びその控訴審・知財高判平28.3.23と同様だと思われる。いずれもXの元従業員A,Bらが所属するYが開発・販売する字幕制作用ソフトウェアの権利関係について争いになった事件だが,前訴は,プログラム及びデータベースの著作権侵害を理由に権利行使したのに対し(前訴にかかる請求はいずれも棄却。),本訴は,ソースコード等が営業秘密であるとして,不正競争防止法に基づく請求を行った事案である。

ここで取り上げる争点

(1)Yが本件ソースコードを使用したか
(2)上記の行為が不正競争行為に該当するか

裁判所の判断

本件の特徴として,XとYそれぞれのソースコードの類似点を分析するために鑑定が行われたことが挙げられる。その結果等は判決文に詳細に表れているが,本件ソースコード(Xのソースコード)とYのソースコードから300組のペアを選んで,一致点・類似点を検討するということが行われた。その中で,類似点・共通点の検出(判決文中には「コードクローン」という表現が用いられている。)方法として,次のような記載がある(記号や改行位置は適宜編集した。)。

8種類のコードクローン検出の方法の概要は,
[1]識別子とリテラルのオーバーラップ係数を用いて名前の包含度合いを確認する,
[2]識別子とリテラルのコサイン係数を用いて名前の一致度合いを確認する,
[3]識別子とリテラルの部分文字列のオーバーラップ係数を用いて名前の文字並びの包含度合いを確認する,
[4]識別子とリテラルの部分文字列のコサイン係数を用いて名前の文字並びの一致度合いを確認する,
[5]コメントの部分文字列のオーバーラップ係数を用いてコメントの文字並びの包含度合いを確認する,
[6]コメントの文字列のコサイン係数を用いてコメントの文字並びの一致度合いを確認する,[7]キーワードや記号の系列にSmith-Watermanアルゴリズムを適用してソースコードの文字並びの一致度合いを確認する,
[8]前記アルゴリズムソースコードの長さで正規化してソースコードの構造の一致度合いを確認するというものであった。

そのうえで,本件鑑定では,5つの類似箇所があると認めた上で,それぞれについて評価した(以下は一部分の抜粋。)。

Xソフトウェアのソースコードの一部がサンプルで公開されていたなどといった外部要因がないことを前提とすれば,XソフトウェアとYソフトウェアの開発者は必ず同一人物である。Yソフトウェアを開発する際にXソフトウェアを参照した可能性が高いが,参照せずに開発することが全く不可能であるとまでは言い切れない。
もっとも,XソフトウェアとYソフトウェアの開発者が同一人物であり,その人物の記憶を手掛かりとしても,Xソフトウェアのソースコードを参照せずに類似箇所1で見られるような細かい特徴まで一致させることは難しいと考えることが自然である。

そのほかでも,本件ソフトウェアとYのソフトウェアで共通するバグなどがあることなどが指摘されている。


これらを踏まえて,裁判所は争点(1)について次のように述べた。

ソースコードのペアにおいて,共通性や類似性が疑われる箇所は類似箇所1ないし5のみであったこと,本件鑑定の手法に不合理な部分は認められないことが認められ,また,本件ソースコードについてYらによる使用等の根拠としてXが主張する事実は,そもそもYらによる使用等を推認させるとはいえないとの意見を鑑定人が述べたものがあるほか(略),その内容から,いずれもYらによる本件ソースコードの使用等を直接裏付けるものとはいえない。(略)
これらを総合すれば,鑑定において類似箇所として指摘された部分である類似箇所1ないし5は別として,本件ソースコード全体やTemplate.mdbに関してXが主張する情報,前記類似箇所以外の本件ソースコードの一部について,Yらによる使用等はなかったと認めるのが相当である。

として全体についての使用は認めなかったが,

(2) 類似箇所1ないし3について
前記1(1)によれば,類似箇所1ないし3について,本件ソースコードのYらによる使用等があったと認められる。そして,Bが,Xソフトウェアの開発に携わった者の一人であり,Yソフトウェアについて実際の開発,制作を担当したこと(略)から,Bは,Yソフトウェアの開発の際,本件ソースコードの類似箇所1ないし3に対応する部分を使用してYソフトウェアを制作等し,もって,類似箇所1ないし3をYに対して開示し,また,Yにおいてそれを取得して使用したと認められる。

として,一部については使用・開示があったと認めた。


以上を踏まえて,争点(2)に関し,問題となった「類似箇所1ないし3」について営業秘密該当性が検討されたが,いずれもあっさりと認めた。

類似箇所1ないし3はいずれも本件ソースコードの一部を構成するものである。そして,Xが開発,制作して販売しているXソフトウェアに係る本件ソースコードの全体はXの営業秘密であると認められるところ,ソースコードはそれぞれの構成部分が相互に関連したり作用したりしながら一定の動作を実現するものであることに照らせば,特段の事情がない限り,本件ソースコードの構成部分である類似箇所1ないし3もXの営業秘密であると認めることが相当である。

そして,類似箇所1ないし3は本件ソースコードにおける変数名,型名,注釈等を宣言するものであるところ,それらが本件ソースコードの他の部分と異なって管理されていたとは認めるに足りない。また,それらは本件ソースコードにおいて様々な形で利用され,多岐にわたる機能に影響を及ぼす有用なものであるといえるし,Yらも将来的な機能の拡張に対応するという観点に照らして型名が選択される場合もあると主張しており,型名の選択も有用性を肯定し得る。さらに,類似箇所1とそれに対応するYソフトウェアのソースコードはそれらの字幕データの標準値(変数名)をパブリック・メンバ変数(公開変数)に格納している点も一致しており,ソースコードにおいて変数を公開とするか非公開とするかという情報もその開発に際して技術的に有用なものであることは当業者が知り得る技術常識であるといい得る。


そのうえで,本件ソースコードの開発に関わったBが,図利加害目的をもってYに開示した行為が不正競争行為(不競法2条1項7号)に該当し,Yも,Xと同種の製品を開発するにあたってBによる開発過程において違法行為が行われないよう特に注意を払うべき立場であったことから,少なくとも重過失が認められるから,やはり不正競争行為に該当するとした(不競法2条1項8号)。


以上を踏まえて,裁判所は,不競法3条1項及び2項に基づいて,類似箇所1ないし3が使用されたYソフトウェアの製造等の差止め及び廃棄を求めるとしたうえで,該当箇所のソースコードの使用等の禁止及び媒体の廃棄を認めた。


損害の額は,本件訴訟におけるもう一つの大きな争点であったが,判決文の該当箇所に閲覧制限がかかっている箇所がある。Yのソフトウェア販売数量などから,約3800万円の損害があったと推定されるとしつつも,類似箇所が全体のごく一部であったことなどから,その推定額は95%覆滅されるとして,約200万円についてのみ責任を認めた。

若干のコメント

前訴では,著作権侵害が認められなかったものの,別訴で不正競争防止法に基づく請求を立てて一部認容を勝ち取ったという事案でした。


本件では,ソースコードの詳細な対比が行われていますが,営業秘密の「使用」の有無を判断するにあたっては,著作権法における「類似性」「創作性」と同じように,共通部分を取り出すというプロセスはあるものの,判断基準が異なります。本件では,Xソースコードを参照せずとも独自に参照することができたかどうか,という観点で判断されていますが,このあたりの「使用」の判断基準は確立されたものとは言えないように思います。例えば,大阪地判平25.7.16では,同様にソースコードが営業秘密に該当するとしつつも,使用については,「そのまま複製した場合や,異なる環境に移植する場合に逐一翻訳したような場合などが「使用」に該当する」などと述べていて,著作物の類似性の判断に近いような規範を立てています。


本件のような判断枠組であれば,著作物の類似性を主張するよりはハードルが低いようと考えられます(ソースコードの秘密管理性があることが前提ですが)。