許可證兼容性
許可證兼容性是指軟件許可證包含相互矛盾的必要條件,而無法將其源代碼合併成新的軟件包的問題。[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核准許可證列表。
參見
編輯參考
編輯- ^ How GPLv3 tackles license proliferation. [2011-01-11]. (原始內容存檔於2007-12-18).
- ^ Stallman explains license compatibility while discussing GPLv3. [2011-01-11]. (原始內容存檔於2010-10-27).
外部連結
編輯- FLOSS License Slide(頁面存檔備份,存於網際網路檔案館),可以查詢一些常用許可證之間是否兼容