クリーンルーム設計とは
クリーンルーム設計(Clean room design)は、ある製品を
リバースエンジニアリングする際に、
著作権や企業秘密の侵害を避けるための手法です。この手法は「チャイニーズウォールテクニック」とも呼ばれます。具体的には、製品の分析を行うチームと、その分析結果を基に再実装(再設計)を行うチームを完全に分離します。これにより、再実装チームはオリジナルの製品の具体的な実装に関する知識に触れることなく、独立して製品を開発することができます。
クリーンルーム設計の目的
クリーンルーム設計の主な目的は、独立した開発を通じて、
著作権や企業秘密の侵害を防ぐことです。この手法によって開発された製品は、独立した発明とみなされ、法的リスクを大幅に低減できます。しかし、注意すべき点として、クリーンルーム設計は
特許権に対しては無力です。つまり、たとえ独立して開発された製品であっても、既存の
特許を侵害する可能性は残ります。
クリーンルーム設計のプロセス
クリーンルーム設計は、通常以下のプロセスで実施されます。
1.
製品の分析: まず、模倣対象となる製品を詳細に分析し、その仕様を文書化します。
2.
仕様書の作成: 分析結果に基づき、製品の仕様を詳細に記述した仕様書を作成します。この仕様書は、
著作権侵害の可能性がないか、法務担当者によって厳密にチェックされます。
3.
再実装: 仕様書のみを基に、全く別のチームが製品を再実装します。この際、再実装チームは、オリジナルの製品の具体的な実装に関する情報を一切参照しません。
クリーンルーム設計の実例
クリーンルーム設計の成功例として、以下のものが挙げられます。
IBM PC互換機のBIOS: コロンビア・データ・プロダクツは、クリーンルーム設計によってIBM PCのBIOSを再実装し、多くの互換機を生み出しました。
Apple II互換機: VTechのLaser 128は、
Apple IIのROMをクリーンルーム設計によって模倣したことで知られています。この機種は、
Appleからの
訴訟を生き残った唯一の
Apple II互換機となりました。
クリーンルーム設計に関する判例
クリーンルーム設計に関連する重要な判例として、
1999年のSCEI対
コネクティクス訴訟があります。ソニーは、
コネクティクスのプレイステーション
エミュレータ「Virtual Game Station」が、BIOSを不正にコピーして使用していると主張しました。
訴訟の経緯: 第一審ではソニーが勝訴しましたが、上訴審で判決が覆りました。最終的に、ソニーはコネクティクスのVirtual Game Stationの開発と販売を中止させるために、金銭を支払うことで和解しました。この判例は、商業目的のリバースエンジニアリングに対する法的影響を示唆する重要な事例となりました。
裁判の論点:
コネクティクスは、開発過程でBIOSを
リバースエンジニアリングしようとしましたが、クリーンルーム設計を完全に実施できませんでした。そのため、エンジニアはオブジェクトコードを直接逆アセンブルすることになりました。裁判では、
コネクティクスは、
リバースエンジニアリングが製品の挙動を理解するために不可欠であり、他に方法がなかったと主張しました。
判決の要点: 裁判所は、ソニーの創作物の一部は著作権で保護されるべきだが、BIOSは保護されるべき重要な部分とはみなせないと判断しました。裁判所は、BIOSは、複製せずに動作を理解する手段がないため、著作物と同等の保護を与えるべきではないと判断しました。
クリーンルーム設計の法的限界
クリーンルーム設計は、著作権侵害のリスクを低減する有効な手段ですが、特許権侵害のリスクを完全に排除することはできません。また、リバースエンジニアリングの過程で、クリーンルーム設計が不十分だった場合、訴訟に発展する可能性もあります。
まとめ
クリーンルーム設計は、リバースエンジニアリングを行う際に、著作権侵害のリスクを減らすための重要な手法です。しかし、特許権侵害のリスクや、設計の不備による訴訟リスクも考慮する必要があります。この手法を適切に利用することで、法的リスクを最小限に抑えつつ、独自の製品開発を進めることが可能です。
参考文献
United States Court of Appeals for the Ninth Circuit (2000). Sony Computer Entertainment, Inc.; Sony Computer Entertainment America, Inc. v. Connectix Corporation, 203 F.3d 596 (9th Cir. 2000).
Computerworld article on clean room design
関連項目
en:Chinese wall
*
en:Code morphing