登入  |  English
授權條款相容性

法律源地

本網站法律源地提供相當多自由軟體授權與法律的資訊,歡迎您閱讀這些資訊。

 

相容性

自由軟體授權條款相容性這裡所謂授權條款相容性主要是指下面兩種情況:

  1. 程式開發者採用一個以上不同程式的模組,結合開發成為另外一個程式,這些被採用模組的授權條款內容間並不相互衝突,這些授權條款就具有相容性。
  2. 程式開發者修改程式,被修改的部分有採用其他程式的模組,這個被採用模組原本所適用的授權條款與被修改程式的授權條款間並不相互衝突,這些授權條款就具有相容性。

 

以下將就自由軟體鑄造場在授權指引中所提供的十一個自由軟體授權條款為對象,說明這些授權條款間的相容性:


(一)BSD、MIT與zlib/libpng:

此三個授權條款給與被授權人相當大的使用空間,幾乎可以和其他任何一個軟體授權條款相容,被授權人甚至可以不提供原始碼,如同專屬軟體一般,僅提供可執行形式來散布程式。適用這三個授權條款的程式,可以與授權指引當中其他任何一個授權條款的程式相結合來開發另一個程式,而無須擔心授權條款之間不相容。而因為這三個授權條款較為寬鬆,所以若與其他授權條款同在一個程式裡的時候,大多採取其他較為嚴格授權條款,來作為整體程式之授權條款。必須注意的是,MIT 允許被授權人可以基於授權人的地位向他人再授權,與 BSD、zlib/libpng 不同。

至於所開發出來的程式究竟可以採用哪一種授權條款,還可以分為兩種情況:

  1. 所開發出來的程式沒有一個統一適用全部程式碼的授權條款,各部分程式碼保留原來各自的授權條款。
  2. 所開發出來的程式統一採用較為嚴格之授權條款,BSD、MIT 或 zlib/libpng 因為授權內容較為寬鬆,所以即使隨著所適用的程式碼繼續保留,但被授權人在使用程式時必須依照較嚴格授權條款之內容。

(二)MPL:

依照 MPL 的規定,適用 MPL 的程式可以多重授權:

1、程式的最初開發者可以特定部分程式碼(特定程式碼)與授權條款(特定授權條款),被授權人可以自這些特定授權條款中選擇一個做為特定程式碼的授權條款。目前適用 MPL 做為授權條款的代表程式為 Mozilla,Mozilla 是採用 MPL/GPL/LGPL 三重授權模式 (triple license)。至於哪些授權條款被特定,開發者可以在附隨於程式的說明文件中查知;哪些部分程式碼被特定,也可以在該特定程式碼的文件中查知,或者自行聯絡最初開發者詢問。

根據這樣一個多重授權模式,任何一位程式貢獻者若是修改 MPL 程式,這時候:

  1. 若所做的修改並沒有受到其他授權條款拘束時,所做的修改仍必須適用 MPL 或者是最初開發者所特定的授權條款。
  2. 若所做的修改已經受到其他授權條款拘束時,只要經最初開發者的同意,所做的修改就可以適用其原有授權條款。

2、此外,被授權人可以在散布程式執行形式時,選擇不同於 MPL 的授權條款,只要所選擇的授權條款與 MPL 不相衝突,並且必須讓收到程式執行形式的人可以清楚地知道,程式原始碼與執行形式是適用不同的授權條款,而執行形式的授權條款是由被授權人自己提供的,與最初開發者並沒有關係。


(三)GPL:

GPL 是一個相當嚴格的自由軟體授權條款,為了保障適用 GPL 的程式可以一直維持原始碼開放的狀態,一旦採用 GPL 程式碼開發程式,所開發出來的程式幾乎仍然必須採用GPL來授權。因為這樣的特性,GPL 被稱為是一個「具有如病毒般感染性 (viral)」的授權條款。在開發過程中若有採用到 GPL 程式碼時,所開發出來的程式幾乎都必須適用 GPL 做為授權條款,因此 GPL 與其他授權條款的相容性相當的低。

開發者在考慮授權條款相容性時需注意下列幾點:

  • GPL 與 BSD、MIT 以及 zlib/libpng 均相容,不過所開發出來的程式當然必須採用 GPL 做為授權條款。
  • GPL 與 LGPL 相容。
  • 此外 LGPL 與 GPL 間有一個特殊的轉換關係。LGPL 程式被授權人可以將 LGPL 程式重製物 (copy) 轉換成適用 GPL 來授權,被授權人必須將程式中與此相關的聲明做修改,讓收受者可以知道這份程式重製物是適用 GPL 做為授權條款的。此種轉換為單向,也就是 LGPL 程式重製物轉換為 GPL 授權之後,不可以再轉換為 LGPL 授權。




分類: 授權條款