ライセンスの互換性
異なる二つのライセンスのコードを一つのプログラムに合法的に組み合わせられるか。そして、どちらの向きなら可能か。
二つのライセンスが両立するとは、両方の条件を同時に満たせるということだ。寛容型は簡単で、MITのコードはGPLのプログラムに取り込める。GPLの条件はMITの条件に反しないからだ。逆は成り立たない。互換性が性質ではなく「向き」で語られるのはそのためである。
有名な衝突は、細部の違いが大きな結果を招いた例だ。Apache 2.0の特許条項はGPLv2から見ると追加の制限にあたるため、両者は混ぜられない。一方GPLv3は、Apacheを受け入れるよう意図して起草された。SunはZFSにCDDLを選び、そのせいでこのファイルシステムは今もLinuxカーネルに入っていない。SPDX識別子を読むツールで衝突を検出できるが、その解釈はあくまで弁護士の仕事である。