許可證兼容性

許可證兼容性是指軟件許可證包含相互矛盾的必要條件,而無法將其源代碼合併成新的軟件包的問題。[1]

例如,假設一個許可證規定「修改後的版本必須在所有廣告中提及開發者」,而另一個許可證則規定「修改後的版本不能包含額外的署名要求」。如果將分別使用了上述兩款許可證的兩個軟件合併成一個軟件,傳播整合後的軟件是不合法的,因為許可證的兩個要求無法同時滿足。因此,我們會說這兩個軟件包的許可證互相不兼容。[2]

即使是開放源代碼促進會(OSI)或自由軟件基金會(FSF)核准的許可證,相互間也並不全部兼容,因而不是所有OSI或FSF核准的許可證都可以混合使用。比如,將在Mozilla公共許可證1.1版(或更舊版本,如1.0版)下發布的代碼與GNU通用公共許可協議下發布的代碼混合成一個新軟件後,不可能在不違反GPL或MPL 1.1許可證條款的情況下傳播它,即使這兩個許可證都經過OSI和FSF核准。

GPL兼容性

許多最常用的自由軟件許可證,如原創的MIT/X許可證BSD許可證(當前2個條款的形式)和GNU寬通用公共許可證(LGPL)之間都是「GPL兼容」的。也就是說,它們的代碼可以在GPL協議下組合而不相互衝突(GPL將適用於整個新的組合代碼)。但是,某些自由/開放源碼軟件的許可證則不是GPL兼容的。

參見FSF核准許可證列表

參見

參考

  1. ^ How GPLv3 tackles license proliferation. [2011-01-11]. (原始內容存檔於2007-12-18). 
  2. ^ Stallman explains license compatibility while discussing GPLv3. [2011-01-11]. (原始內容存檔於2010-10-27). 

外部連結