下一節:,上一節:,上一層:法律事務   [目錄][索引]


6.7 外部函式庫

作為 FSF 版權 GNU 套件的維護者,您如何使用獨立發布的通用自由模組?(我們也稱它們為「函式庫」,因為我們將它們用作函式庫;它們是否被打包為函式庫並不重要。)

要求這些模組的作者將版權轉讓給 FSF 是不合理的。他們撰寫這些模組並非為了貢獻給 GNU。我們只是剛好想使用它們,就像任何開發者可能會做的那樣。貿然要求開發者將他們的版權給予 FSF 是無禮的。在這種情況下,請不要提出這種要求。

使用這些模組的正確方法是將您的套件與它們連結,並聲明它們*不是*您套件的一部分。 請參閱下文了解其機制。

為了避免現在或將來的法律問題,您必須確保模組的授權條款與目前*及未來*的 GPL 版本相容。「GNU GPL 第 3 版或之後版本」是好的,任何包含在這些 GPL 版本下使用許可的授權條款也是好的(包括「GNU GPL 第 2 版或之後版本」、「LGPL 第 n 版或之後版本」、「LGPL 第 2.1 版」、「GNU Affero GPL 第 3 版或之後版本」)。寬鬆的許可授權條款也可以,因為它們與所有 GPL 版本相容。

「僅限 GPL 第 2 版」顯然是不可接受的,因為它與 GPL 第 3 版不相容。「僅限 GPL 第 3 版」和「僅限 GPL 第 2 或 3 版」有一個更細微的問題:如果我們推出 GPL 第 4 版,它們將與 GPL 第 4 版不相容,因此該模組將成為將您的套件授權升級到「GPL 第 4 版或之後版本」的障礙。請勿使用此類模組。

您需要避免使用的一個函式庫是 goffice,因為它僅允許 GPL 第 2 版和第 3 版。

因此,以下是如何安排您的套件以使用無關聯的自由模組的機制。

  1. 假設該模組已安裝在系統上,並在連結您的程式時與其連結。 只有當該模組確實具有函式庫的形式時,這才是合理的。
  2. 將模組包含在您的套件發行版中,將原始碼放在一個單獨的子目錄中,其 `README` 檔案註明「這不是 GNU FOO 程式的一部分,而是與 GNU FOO 一起使用。」 然後設定您的 makefiles 以建置此模組並將其連結到可執行檔中。

    使用這種方法,沒有必要將模組視為函式庫並從中建立 ‘`.a`’ 檔案。 您可以使用通常的方式直接與 ‘`.o`’ 檔案連結。

這兩種方法都會產生不規則性,我們的律師已告知我們盡量減少此類不規則性的數量。 因此,僅對*非*為您的套件編寫的通用模組使用這些方法。 對於任何作為對您套件的貢獻而編寫的內容,請簽署文件。


下一節:,上一節:,上一層:法律事務   [目錄][索引]