- PR -

「リバースエンジニアリング禁止」の是非

投稿者投稿内容
加納正和
ぬし
会議室デビュー日: 2004/01/28
投稿数: 332
お住まい・勤務地: 首都圏
投稿日時: 2005-02-23 19:58
加納というものです。

LGPLの再配布とは意味合いが違うのでスレッド分けました。
この会議室でいいのかは疑問がありますが、とりあえずここで記述します。
適当に移動してください。

ちなみに長文ですので、適当に読み流してください。(苦笑)
一応言っておきますが、私は法律の専門家ではありませんので、そのつもりで。
自分が法律家ではないので、厳密な言い回しを求めたりはしません。

1.法的観点

(1)前提

プログラムは知的所有権中、著作権にて保護する。
今のところは、特許などは考えない。

(2)リバースエンジニアリング禁止と著作権の矛盾

リバースエンジニアリング(以下R.E.に略)禁止は著作権法の趣旨、及び、
著作権の各権利と矛盾します。

---
著作権法
第一節 通則
(目的)
第一条 この法律は、著作物並びに実演、レコード、放送及び有線放送に関し著作者の権利及びこれに隣接する権利を定め、これらの文化的所産の公正な利用に留意しつつ、著作者等の権利の保護を図り、もつて文化の発展に寄与することを目的とする。
---

ということで「文化の発展に寄与」するために著作権法はあります。
よって「R.E.禁止」つまり法的には「読めない」という権利を付与することは
著作権法の趣旨に反すると考えます。

また、著作権の中で「引用」という権利があります。が、この「引用」
はそもそも「読めない」限り引用ができません。

これだけでなく、「読めない」著作物が存在しない以上「読む」ことは
前提となっています。「読む」のが前提の著作権に「読まない」権利を
追加すれば矛盾は明らかです。

(3) R.E.の「法的」行為

法律では、ある「意図」による「行為」が罰せられます。つまり「考えた」
だけでは罰せられません(罰するというのは意味が違いますが)

例えば、「殺人」は「意図」だけでは法律違反にはなりません。「言った」
行為は暴行罪。「刺して殺した」「行為」は殺人罪。

その意味でのR.E.の「行為」は何を指すのか?というのが「法的に」不明確です。
不明確な「行為」は法律の及ぶところなのでしょうか。

(4) R.E.禁止の立証責任

残念ながら、R.E.禁止の法的根拠を挙げた方はいませんでした。「契約」としては
問題ありません。

が、「R.E.をしてはいけない」と刑法にでも書いていない限り、その契約に
違反した場合の損害を賠償させるのは、おそらくいわゆる民事裁判ということに
なるでしょう。

そして、例えば私がR.E.をしたとします。それで「損害」が発生したと
思う人が訴えます。もちろん、訴状は「損害」が発生したと思う人が
出すのであり、私が出すのではありません。

よって「契約」として掲げるのは構いませんが、どのみち「損害」の立証責任は
契約を掲げた側にあります。よくある勘違いは民事裁判で「現状」を維持してくれる
と思っている人が多いようですが、民事裁判はあくまで「損害」の補償に
過ぎません。「現状」自体は維持してくれません。なので契約が果たされなくても
特に損害がない場合は権利が消失します。

私が記憶している近年の例では、駐車場の違法駐車があげられます。
駐車場の違法駐車は判例が出るまでは「金十万円申し受けます」などと
書いてある駐車場がほとんどでした。

が、判例で「10万ほどの損害とはならない」として、約1万円位と
なりました。そのため、現状見ると、「1万円申し受けます」になっています。

2.技術的観点

(1)背景

R.E.が技術の発展によって、ますます簡単になってます。例えばJavaなどは、
そもそもバイトコードであるぐらいです。つまり逆コンパイルはまこと簡単です。

昔の汎用機と呼ばれたものや、機械にくっついてるタイプの、いわゆるROMに
付いているプログラムならR.E.が困難でした。

が、今は目の前のパソコンですぐできてしまうぐらい、簡単にR.E.ができます。
それは、裏を返せば、資本投資が簡単ともいえます。

よって、著作権法を越えるような、従来ほどの投資への保護の必要がない状態が
背景にあります。

(2)R.E.の技術的定義

主にプログラムを「システム」という観点から見ます。するとR.E.には3つの
分類があります。(分類名は適当です。どういうのが正しいのでしょう?)

1.マシン語バイトコード(CPUが解釈できる機械語の羅列)部分
一番小さい範囲のR.E.となる。逆コンパイルを行い、どのような
ソースコードを記述しているか、読み取る。
ex)exeプログラムへの逆アセンブル。
2.OS解釈ストアードプログラム(同一環境)
OSからみて、プロセスorライブラリ(システム)から入出力している
データによりR.E.を行う。入出力によりデータや動作からシステム
内容を読み取る。
ex) cat aaa | a.exe > ddd としてaaaとdddを変更して
a.exeを解析する。またはlibc.aを置き換えて、どのような
ライブラリをどのような入出力で使用しているかを見る。
3.エミュレータ(異環境)
環境が異なる条件に「システム」を置いてみて、どのような動作
をするか読み取る。
ex)VMWare

分類名はともかく、どれを「R.E.」と言うべきでしょう?私はどれも
今は「R.E.」ではないと考えています。(一応)

あとは補足です。(蛇足なのかもしれない)

>この条項を組み入れることは、

上記の通り組み入れることに問題はありません。が

>契約にかかわる当事者がそれに同意するならば、

同意したかどうかは、どうやって調べるんですかね。
契約書へのハンコウですか。

>これがもしも、LGPLに反しているのならば、Free Software Foundationなりにreportすればすむことだと思います。

LGPLに反しているかどうかは、私の判断を越えますし、あまり興味がないです。(のでスレッドを別にしました)

>これをいうなら、Linux 上で LGPL である GLIBC にリンクしておきながらリバースエンジニアリングを許可しないパッケージを非難すべきでしょう。;-p)

え?だからリバースエンジニアリングの禁止自体が単に無効なのでは。と主張しているのですが。私への同意ですか。
taro
ぬし
会議室デビュー日: 2003/10/20
投稿数: 316
投稿日時: 2005-02-23 20:25
リバースエンジニアリングの禁止を契約条項に含めることは一応法的に有効だと思います。
通常の使用において不必要な行為ですから。
駐車場の例で言うなら、「ここでバーベキューをしないでください」という契約条項が有効か?という位目的から外れた行為だと思いますので。

リバースエンジニアリングを禁止しておいて欲しい事情は開発者側にもあります。
SCOの起こした裁判のように、ソースコピーの疑いを持たれることを防ぐためです。
「このソースはうちのソースをコピーしただろう」と言われたとき、現状はソースが目に触れる機会があったかどうかで判断されるのではないかと思いますが、リバースエンジニアリングが禁止されていないと、バイナリを所有しているだけでソースを見たことになりかねないのでは?と思います。
Atsushi.Eno
ベテラン
会議室デビュー日: 2003/04/23
投稿数: 60
投稿日時: 2005-02-23 21:06
通説からかけ離れたことばかりが書かれているようですが。

公正取引委員会は独占禁止法に抵触する(しうる)という見解を提示しています。

以下は孫引きですが参考になることでしょう(背景的な説明も入っているのでIPAの方を引用します)。
http://www.ipa.go.jp/security/fy15/reports/vuln_handling/index.html

引用:

リバース・エンジニアリングに関しては、逆アセンブル、逆コンパイルといった解析の過程でプログラムの複製物が作成されることから、著作権侵害に該当するかという議論が従前よりなされている。通説は、技術の研究・解析は技術の進歩に資するものであること等を理由に、著作権侵害性を否定する。そのため、ライセンサーはライセンス契約中にリバース・エンジニアリング禁止条項を設け、特約をもって対処しようとしているが、当該条項の有効性に関しては、独占禁止法に抵触するとの問題提起がなされている。この点、平成14年3月20日に公正取引委員会より公表された「ソフトウエアライセンス契約等に関する独占禁止法上の考え方−ソフトウエア独占禁止法に関する研究会中間報告書−」においては、ソフトウエアの製品市場、技術市場におけるライセンシーの研究開発活動が阻害され、ハードウエアの製品市場等における公正な競争が阻害される場合には、不公正な取引方法(具体的には一般指定13項拘束条件付取引)に該当し、違法になるとの見解が示されている。以上の検討により、民間ガイドラインにおいて、リバース・エンジニアリングに係わる注意喚起を行うことは不適当と考え、記載を外した。

未記入
ぬし
会議室デビュー日: 2004/09/17
投稿数: 667
投稿日時: 2005-02-24 13:04
あいかわらず、加納さんの言っていることはトンチンカンですね。あまりにもツッコミどころ満載すぎるので放置しておきます。

引用:

通説は、技術の研究・解析は技術の進歩に資するものであること等を理由に、著作権侵害性を否定する。


もしご存知の方がいらっしゃいましたら、ここで言われている著作権侵害性を否定する通説について、一例を紹介していただけませんか?

公正取引委員会が公開した「ソフトウエアライセンス契約等に関する独占禁止法上の考え方」(PDF) では必ずしも著作権侵害性を否定していません。公正取引委員会の報告では、ソフトウェアの種類や市場影響力によってソフトウェアを分類し、それぞれについて独占禁止法に反するかどうか見解を述べています。それに対し、IPA の報告では、そういったソフトウェアの分類による違いについて一切記述されていません。これは一部のソフトウェアについて懸念される部分があるので、リバースエンジニアリングに関する記述を外した。つまり、ガイドラインの性質上、安全側に倒したと判断するべきではないでしょうか。

公正取引委員会の報告は、非常に分かりやすく書かれていました。(著作権法上の解釈と独占禁止法上の解釈を併記しているなど上手に工夫されていました。)私は門外漢の素人ですが、読み取った内容をとりあえず書いておきます。

・ライセンス契約には様々な制限を課すことが多い。

・これには、リバースエンジニアリングなど著作権法上の権利行使とみられる制限が含まれる場合もある。

・独占禁止法では、著作権法上の権利行使行為についてはこれを適用しない(不当な独占にあたらない)としている。つまり、原則として独占禁止法よりも著作権法が優先される。

・ただし、市場における競争秩序に与える影響の大きさも勘案し、著作権法上の権利行使行為に対して独占禁止法が適用されることもある。

・OSなどのプラットフォームソフトウェアは市場影響力が大きいので、そのようなソフトウェアがリバースエンジニアリングを禁止する行為は独占禁止法に違反する。

・リバースエンジニアリングについては、研究開発意欲と新たな技術開発を阻害しないようにすることが重要である。(著作権法だけを尊重すると、これらが阻害される。)

・そこで、特定の性質を持つソフトウェアがリバースエンジニアリングを禁止する行為に対しては、独占禁止法を適用できる。

そのリバースエンジニアリング禁止が独占禁止法にあたるとされるソフトウェアの条件とは…
プラットフォーム機能を持つソフトウェアのように、当該ソフトェアとインターオペラビリティを持つソフトウェアやハードウェアを開発するためには、リバースエンジニアリングを行ってインターフェース情報を入手するしかないようなソフトウェアの場合。

公正取引委員会では、リバースエンジニアリングを禁止する行為は、特定条件下において独占禁止法に抵触すると考えているようです。つまり、独占禁止法を持ち出して、ソフトウェア全般のリバースエンジニアリング禁止行為は無効であると主張するのは無理があるでしょう。

また、上記報告書において、(独占禁止法ではなく)著作権法においてもリバースエンジニアリングを禁止する行為は無効(リバースエンジニアリングは著作権法でも許容される)という見解があることを紹介していました。が、これは EU 1991年の判例で「インターフェース情報を得るためのリバースエンジニアリングは認める」というもののようです。

--
あまりにも誤字脱字が多いので直した。

[ メッセージ編集済み 編集者: 未記入 編集日時 2005-02-24 16:27 ]
Atsushi.Eno
ベテラン
会議室デビュー日: 2003/04/23
投稿数: 60
投稿日時: 2005-02-24 20:53
一例どころか、たくさん紹介できますよ。以下「…」は省略です。

「ソフトウェアの著作権・特許権」椙山敬士 P.50

引用:
我が国の著作権法には米国著作権法107条のような一般的なフェアユースの既定はない(判例も否定的である。本書124頁)。また、EUディレクティブのようなプログラムのREに特化した規定もない。
しかし、学説上はこれを合法とするのが通説といってよい(8)。プログラムを著作物とする以上伝達性を確保すべきであること、技術の発展は先行者の技術を研究することにより達成されるのであってこのことは大きな社会的利益につながること、等から合法だと解釈すべきである。…



[注(8)で、中山信弘「ソフトウェアの法的保護(新版)」127頁に言及(「但し山中前掲論文(山中伸一「コンピュータ・プログラムのリバース・エンジニアリングについて」)は文理から違法とする」との注記あり)。]

三山裕三「著作権法詳説」(全訂新版:やや古いです)P.81
引用:
著作権法には、特許法六九条一項に相応する明文の規定はないが、現在の多数説は、リバース・エンジニアリングは適法なものであり、その前提となるリバース・コンパイレーション…は複製に当たるとしても、それは公正使用の範囲に属するものであって、著作権侵害にはならないとしている。…



作花文雄「詳解・著作権法(第2版)」P.692
引用:
(3)リバース・エンジニアリングに対する基本的考え方
 互換性を確保するためのリバース・エンジニアリングについては、権利者の排他的権利が及ぶところでないということは、一般論としては、多くの諸国が採る結論であると思われる。…
 著作権法により、複製権が付与されているとしても、制限規定で明示的に除外されていない以上、文字通りいかなる「複製」にも権利が及ぶものと解すべきではない。先人の文化的所産を踏まえて新たなる創作活動を促進することは法制度の趣旨にも適うものであり、プログラム言語に限らず、言語の著作物や美術の著作物であっても、新たな創作活動の作業過程における複製は許容されるものと解すべきである。
 米国法におけるフェア・ユースの法理は存在しないものの、権利の濫用の法理や権利の本来的な内在的制約などの考え方により妥当な結論を導き出すべきものと考える。



ここまでで「REには著作権は及ばない」ことが通説であることは、かなり説得力があるということが確認できると思います(作花などプロコピーライトの学者ですら否定的)。ここまででとりあえず一区切り。

--
引用頁番号が抜けていたのを追加しました。

[ メッセージ編集済み 編集者: Atsushi.Eno 編集日時 2005-02-24 20:59 ]

--
げ、BBコードが消えた。戻しました…

[ メッセージ編集済み 編集者: Atsushi.Eno 編集日時 2005-02-24 21:00 ]
Atsushi.Eno
ベテラン
会議室デビュー日: 2003/04/23
投稿数: 60
投稿日時: 2005-02-24 20:58
ここでちょっと法律行為として、なぜ著作権が及ばないREに対して契約で禁止することができるのかを整理しておきましょう。この場合、禁止されているのはREのみではなく、REを含む複製行為(すなわちライセンス全体)と考えなければ、禁止される対象となる権利が存在しないので、議論の余地がありません。すなわち、RE禁止契約というのは、ライセンスの条件として本来なら許容されているREを禁止できるかどうか、という問題なのです。

で、誰も「ソフトウェア全般のリバースエンジニアリング禁止行為は無効であると主張」などしていないのですが(ああ、ちゃんと読んでませんが加納さんはしているかもしれません)、上記の通説を踏まえて考えれば、「あらゆる行為を射程に踏まえた普遍的なRE禁止条項」が有効であるとは考えにくいです(そのようなRE禁止条項を含めることによって、簡単に内在的制約の潜脱ができるというのは、実質的に内在的制約が存在していないことを意味します)。作花前掲より再度引用しますが

引用:
なお、プログラムの使用許諾契約においてリバース・エンジニアリングの禁止条項が含まれている場合においては、当該契約の締結態様や内容に応じて、契約法の一般法理に照らして、その成立・不成立あるいは有効・無効が判断されることになると考えられる。



としています。

引用:
そのリバースエンジニアリング禁止が独占禁止法にあたるとされるソフトウェアの条件とは…
プラットフォーム機能を持つソフトウェアのように、当該ソフトェアとインターオペラビリティを持つソフトウェアやハードウェアを開発するためには、リバースエンジニアリングを行ってインターフェース情報を入手するしかないようなソフトウェアの場合。



その直前に例えばと書かれているのですが? これは例示、すなわち必要条件ではなくて十分条件です。しかも、このような例示は、RE無効説(通説)に反対する立場の学者など、あらゆる立場の人が納得できるように書かれているものであることに留意すべきでしょう。

なお、公正取引委員会の文書はあくまで独占禁止法的観点での契約無効(しかも拘束条件付取引の話ですから違法ですらある)の話であって、著作権法の解釈論としての契約無効論とは、相関関係はあっても、独立した議論であると考えるべきです。
未記入
ぬし
会議室デビュー日: 2004/09/17
投稿数: 667
投稿日時: 2005-02-24 22:10
まず、はじめに。私は「著作権によってリバースエンジニアリングを禁止することができる」とは主張していませんよ。「リバースエンジニアリングの禁止を契約に盛り込んでも違法にはならないのではないか。」と言っているだけです。著作権にこだわっている人が多いようですが。

引用:

ここまでで「REには著作権は及ばない」ことが通説であることは、かなり説得力があるということが確認できると思います


そうなんですか? 私にはそれほど説得力があるようには感じられませんでしたが?


引用:

技術の発展は先行者の技術を研究することにより達成されるのであってこのことは大きな社会的利益につながること、等から合法だと解釈すべきである。


本当に、大きな社会的利益につがなるのか疑問。ハードウェアと異なり、複製や模倣の容易なソフトウェアにリバースエンジニアリングを認めることは、先行者の創作意欲を低下させ結果として発展の低迷につながる、という可能性もあるのではないかと思います。

引用:

現在の多数説は、リバース・エンジニアリングは適法なものであり、(中略)著作権侵害にはならないとしている。


なんの説明にもなっていない。リバースエンジニアリングは適法だというのが多数意見だ、と書いてあるだけ。「著作権法詳説」の権威による説得力があるとしても、このような記述では論理的説得力なし。

引用:

互換性を確保するためのリバース・エンジニアリングについては、権利者の排他的権利が及ぶところでないということは、一般論としては、多くの諸国が採る結論であると思われる。


「互換性を確保するための」と条件が前置されている。このような条件付きの見解から、
「リバースエンジニアリングには著作権は及ばない」という結論に結びつけるのは無理があると思います。

まあ、いろいろと紹介していただいて、リバースエンジニアリングを禁止する権利は著作権に含まれないと考える有識者が非常に多いらしい、ということは分かりました。

リバースエンジニアリングの禁止については、著作権に頼らずに、契約条件として明確に盛り込んだほうが安全ということですね… と書こうと思ったら、Atsushi.Eno さんがまたひとつ投稿していますね。ふむふむ。え。著作権などなんらかの法的権利がないと契約に条件って付けちゃいけないんですか。独占禁止法の拘束条件付取引にあたるとかでしょうか(純粋に疑問なので質問しています。嫌味とかではありません。)

なぜ「複製の禁止」を利用して結果としてリバースエンジニアリングを禁止しないといけないのかが分かりません。仮に著作権でリバースエンジニアリングを禁止できないとして、それを契約の条件に盛り込むことにはどのような問題があるのでしょうか。(純粋に疑問なので質問しています。嫌味とかではありません。)

また、リバースエンジニアリングを禁止するために「複製の禁止」が利用できるのは、なぜでしょうか。先ほどの引用に「新たな創作活動の作業過程における複製は許容されるものと解すべきである。」とありました。これからすると「複製の禁止」では、リバースエンジニアリングを抑制することはできないように思えます。

引用:

で、誰も「ソフトウェア全般のリバースエンジニアリング禁止行為は無効であると主張」などしていないのですが(ああ、ちゃんと読んでませんが加納さんはしているかもしれません)


それでは、ちゃんと読んだらどうですか? 事の発端は、元質問者の開発したソフトウェアでリバースエンジニアリングを禁止できるかどうか、です。このソフトウェアについては概要が一切説明されていません。内容不明のソフトウェアに対して「リバースエンジニアリングを禁止することは違法」と主張されれば「ソフトウェア全般」が対象になっていると判断するのが普通だと思います。

はじめから、特定の場合にリバースエンジニアリングを禁止する行為は違法になることがある、という主張であれば私も別に反発しませんでしたけど?

引用:

その直前に例えばと書かれているのですが?


作為的に 例えば という記述を取り除いたわけではありません。代わりに「ように」「ような」と補っておいたんですが誤解させたかもしれませんね。不注意です。すいません。

引用:

なお、公正取引委員会の文書はあくまで独占禁止法的観点での契約無効(しかも拘束条件付取引の話ですから違法ですらある)の話であって、著作権法の解釈論としての契約無効論とは、相関関係はあっても、独立した議論であると考えるべきです。


私は「著作権法」について論じたいわけでも「独占禁止法」について論じたいわけでもありません。いちエンジニアとして、契約にリバースエンジニアリングの禁止を盛り込んで法的に問題がないのかどうか知りたいだけです。どちらの法によるかということに執着しているつもりはありません。
Atsushi.Eno
ベテラン
会議室デビュー日: 2003/04/23
投稿数: 60
投稿日時: 2005-02-25 02:11
僕としては、通説であることを客観的に証明しただけだし、部分引用へのコメントにさらにコメントしてもしょうがないので(ポインタは示したので、その辺をとっかかりに調べようと思えばいくらでも調べられるはずです)、その辺は割愛します。もちろん、通説を疑うのは悪いことではありませんよ。

引用:

リバースエンジニアリングの禁止については、著作権に頼らずに、契約条件として明確に盛り込んだほうが安全ということですね… と書こうと思ったら、Atsushi.Eno さんがまたひとつ投稿していますね。ふむふむ。え。著作権などなんらかの法的権利がないと契約に条件って付けちゃいけないんですか。独占禁止法の拘束条件付取引にあたるとかでしょうか(純粋に疑問なので質問しています。嫌味とかではありません。)



そういう意味ではなく、本来の複製権が存在しなければ、別に利用者としてはその開発者(だかなんだか分かりませんが、少なくとも「著作権者」ではないと思われる誰か)に許諾を得る必要は無い、ということを書いています。

引用:

なぜ「複製の禁止」を利用して結果としてリバースエンジニアリングを禁止しないといけないのかが分かりません。仮に著作権でリバースエンジニアリングを禁止できないとして、それを契約の条件に盛り込むことにはどのような問題があるのでしょうか。(純粋に疑問なので質問しています。嫌味とかではありません。)



上記の通り、契約の存在がそもそも不要だからです。

引用:

また、リバースエンジニアリングを禁止するために「複製の禁止」が利用できるのは、なぜでしょうか。先ほどの引用に「新たな創作活動の作業過程における複製は許容されるものと解すべきである。」とありました。これからすると「複製の禁止」では、リバースエンジニアリングを抑制することはできないように思えます。



形式的にはそうですが、実質的には、使用許諾条件を拒否した場合は、リバース・エンジニアリング以外の一切の利用が許諾されないことになります。もともと使用許諾条件として適切な内容であるかどうかが問題なのです。(適切であるかどうかについては前のpostの2段落目に書きました。ええと、念のためですがこれは「考えにくい」と書いたように「私見」です)。

引用:

それでは、ちゃんと読んだらどうですか? 事の発端は、元質問者の開発したソフトウェアでリバースエンジニアリングを禁止できるかどうか、です。



読みました。ちなみに誤解しないでいただきたいのですが、通説とかけ離れていると書いたのは、RE禁止が許されるかどうかという理論的な考え方をほとんど踏襲していない、という指摘以上のものではありません。(ていうかあの議論状況で結論の妥当性だけフォローしてもしょうがないですし。)

追記:あれで誤解するなというのも僕の勝手ですね。すみません。

引用:

はじめから、特定の場合にリバースエンジニアリングを禁止する行為は違法になることがある、という主張であれば私も別に反発しませんでしたけど?



そうですか。

余談ですが、

引用:

大きな社会的利益につがなるのか疑問。ハードウェアと異なり、複製や模倣の容易なソフトウェアにリバースエンジニアリングを認めることは、先行者の創作意欲を低下させ結果として発展の低迷につながる、という可能性もあるのではないかと思います。



実際にこの種の問題を、単に「思う」だけでなく、研究している人は少なくないと思います。たとえば私の手元にある「知的財産とイノベーション(後藤晃・長岡貞男)」の第7章「技術知識の補完性とプロパテント政策の効果」には、「技術の補完性の程度が十分強い状況下では、プロパテント政策はさほど大きな効果をもたらさない可能性がある。」とまとめています(この本は数式がばんばん出てくるのですが、一応法律学者が書いているので、書き方は「と思われる」調の慎重な書き方になっています)。

[ メッセージ編集済み 編集者: Atsushi.Eno 編集日時 2005-02-25 02:12 ]

スキルアップ/キャリアアップ(JOB@IT)