5. 相互性の例外
CPLの相互性義務については、非常に重要な明示的な例外がある。
本プログラムへの以下の追加部分は[貢献部分]に含まれない。(i)独自のライセンス契約に従って本プログラムと併せて頒布されている、分離されたソフトウェアのモジュール、および(ii)本プログラムの派生的著作物ではないもの(CPL1条)
これにはGPLと同じ効果があるだろうか?リンクに関してとても多くの不確実性を引き起こすGPLおよびLGPLのあいまいな文言の代わりに、CPLは相互性からの除外のために2つの単純なテストを提供する。以下の両者を満たさなければならない。
1. [貢献部分]は分離されたソフトウェアのモジュールでなければならない。分離されたソフトウェアのモジュールはCPLで定義されていない。(あなたはMPLでファイルという文言が定義されていなかったことを思い出すかもしれない。)他のすべての技術分野における重要な概念と同様に、分離されたソフトウェアのモジュールは、訴訟において裁判官または陪審が定義する必要があるときに専門家によって定義される、コンピュータ技術の専門用語だ。分離されたソフトウェアのモジュールの概念はかなり自明なものであり、相互性が適用される[貢献部分]を作成するのを技術者が確実に避ける方法を本書のほとんどの読者が理解するものと、筆者は確信している。
2. [貢献部分]は派生的著作物であってはならない。この明確なCPLの説明はもちろん、筆者がGPLとLGPLにおけるリンクについて議論したときに出したのと同じ結論だ。相互性を避けるには必ず派生的著作物の作成を避けるべき、ということになるのだろうか?
(1)分離されたソフトウェアのモジュールを作成し、(2)その分離されたソフトウェアのモジュールが派生的著作物でないことを確認することの両方によって、CPLの相互性義務を逃れることができる。第9章で説明するが、OSLおよびAFLライセンスは、相互性の要件から、この除外のための上記の第1の要素を含めていない。MPLライセンスのファイルの概念とCPLの分離されたソフトウェアのモジュールの概念は、OSLとAFLには含まれていない。相互性を避けるためには、派生的著作物を作成することを避けさえすればよい。
もちろん、それは筆者がいうほど決して簡単な変更ではない。派生的著作物が作成されたかどうかを裁判所がどのように決定するかという技術的な議論は、第12章で述べる。