GNU 寬鬆通用公共許可證

版本 2.1,1999 年 2 月

Copyright (C) 1991, 1999 Free Software Foundation, Inc.
<https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

[This is the first released version of the Lesser GPL.  It also counts
 as the successor of the GNU Library Public License, version 2, hence
 the version number 2.1.]

序言

大多數軟體的許可證旨在剝奪您分享和修改它的自由。 相反地,GNU 通用公共許可證旨在保證您分享和修改自由軟體的自由——確保軟體對其所有使用者都是自由的。

此許可證,即寬鬆通用公共許可證,適用於某些特別指定的軟體套件——通常是函式庫——由自由軟體基金會和其他決定使用它的作者所發布。 您也可以使用它,但我們建議您先仔細思考,在任何特定情況下,根據以下解釋,此許可證或普通的通用公共許可證是否是更好的策略。

當我們談論自由軟體時,我們指的是使用上的自由,而不是價格。 我們的通用公共許可證旨在確保您有自由散布自由軟體的副本(並且如果您願意,可以為此服務收費); 您收到原始碼或可以在您想要時取得它; 您可以修改軟體並在新自由程式中使用它的片段; 並且您被告知您可以做這些事情。

為了保護您的權利,我們需要制定限制,禁止發行者拒絕您這些權利或要求您放棄這些權利。 如果您散布函式庫的副本或修改它,這些限制會轉化為您的一些責任。

例如,如果您散布函式庫的副本,無論是免費還是收費,您都必須將我們給予您的所有權利給予接收者。 您必須確保他們也收到或可以取得原始碼。 如果您將其他程式碼與函式庫連結,您必須向接收者提供完整的目標檔案,以便他們可以在更改函式庫並重新編譯後,將它們與函式庫重新連結。 而且您必須向他們展示這些條款,以便他們了解自己的權利。

我們用兩個步驟的方法來保護您的權利:(1) 我們為函式庫授予著作權,以及 (2) 我們向您提供此許可證,讓您擁有複製、散布和/或修改函式庫的法律許可。

為了保護每位發行者,我們希望非常清楚地表明,對於此自由函式庫不提供任何擔保。 此外,如果函式庫被其他人修改並傳遞下去,接收者應該知道他們擁有的不是原始版本,這樣原始作者的聲譽就不會受到其他人可能引入的問題的影響。

最後,軟體專利對任何自由程式的存在構成持續的威脅。 我們希望確保公司不能透過從專利持有人那裡獲得限制性許可證來有效地限制自由程式的使用者。 因此,我們堅持為函式庫版本獲得的任何專利許可證都必須與本許可證中規定的完整使用自由相一致。

大多數 GNU 軟體,包括一些函式庫,都受普通的 GNU 通用公共許可證的約束。 此許可證,即 GNU 寬鬆通用公共許可證,適用於某些指定的函式庫,並且與普通的通用公共許可證有很大不同。 我們對某些函式庫使用此許可證,以允許將這些函式庫連結到非自由程式中。

當程式與函式庫連結時,無論是靜態連結還是使用共享函式庫,這兩者的組合在法律上來說都是一個組合作品,是原始函式庫的衍生作品。 因此,只有當整個組合符合其自由標準時,普通的通用公共許可證才允許這種連結。 寬鬆通用公共許可證允許更寬鬆的標準,以便將其他程式碼與函式庫連結。

我們稱此許可證為「寬鬆」通用公共許可證,因為它比普通的通用公共許可證更少地保護使用者的自由。 它也為其他自由軟體開發者提供了比競爭的非自由程式更少的優勢。 這些缺點是我們對許多函式庫使用普通的通用公共許可證的原因。 然而,寬鬆許可證在某些特殊情況下提供了優勢。

例如,在極少數情況下,可能需要鼓勵盡可能廣泛地使用某個函式庫,使其成為事實上的標準。 為了實現這一點,必須允許非自由程式使用該函式庫。 更常見的情況是,自由函式庫與廣泛使用的非自由函式庫執行相同的工作。 在這種情況下,將自由函式庫限制為僅限自由軟體幾乎沒有任何好處,因此我們使用寬鬆通用公共許可證。

在其他情況下,允許在非自由程式中使用特定函式庫,使更多人能夠使用大量的自由軟體。 例如,允許在非自由程式中使用 GNU C 函式庫,使更多人能夠使用整個 GNU 作業系統,以及其變體 GNU/Linux 作業系統。

雖然寬鬆通用公共許可證對使用者自由的保護較少,但它確實確保了與函式庫連結的程式的使用者擁有使用函式庫修改版本的自由和資源來執行該程式。

以下是關於複製、散布和修改的精確條款和條件。 請密切注意「基於函式庫的作品」和「使用函式庫的作品」之間的區別。 前者包含從函式庫衍生的程式碼,而後者必須與函式庫結合才能執行。

複製、散布和修改的條款與條件

0. 本許可協議適用於任何軟體函式庫或其他程式,其中包含著作權持有人或其他授權方放置的聲明,表明它可以根據本寬鬆通用公共許可證(也稱為「本許可證」)的條款進行散布。 每個被許可人都被稱為「您」。

「函式庫」是指軟體函式和/或資料的集合,經過準備以便與應用程式(使用其中一些函式和資料)方便地連結,以形成可執行檔。

下面的「函式庫」是指根據這些條款散布的任何此類軟體函式庫或作品。「基於函式庫的作品」是指函式庫或著作權法下的任何衍生作品:也就是說,包含函式庫或其一部分的作品,無論是逐字逐句還是經過修改和/或直接翻譯成另一種語言。(此後,「翻譯」一詞無限制地包含在「修改」一詞中。)

作品的「原始碼」是指用於對其進行修改的首選形式。 對於函式庫,完整的原始碼是指其包含的所有模組的所有原始碼,加上任何相關的介面定義檔案,加上用於控制函式庫編譯和安裝的腳本。

複製、散布和修改以外的活動不在本許可證的範圍之內; 它們在其範圍之外。 執行使用函式庫的程式的行為不受限制,並且來自此類程式的輸出僅在其內容構成基於函式庫的作品時才受保護(獨立於在用於編寫它的工具中使用函式庫)。 這是否屬實取決於函式庫的作用以及使用函式庫的程式的作用。

1. 您可以以您收到的任何媒介複製和散布函式庫完整原始碼的逐字副本,前提是您在每個副本上顯著且適當地發布適當的著作權聲明和免責聲明; 保留所有提及本許可證和任何擔保缺失的聲明完整無缺; 並將本許可證的副本與函式庫一起散布。

您可以對傳輸副本的實體行為收取費用,並且您可以選擇提供擔保保護以換取費用。

2. 您可以修改您的函式庫副本或其任何部分,從而形成基於函式庫的作品,並根據以上第 1 節的條款複製和散布此類修改或作品,前提是您也滿足所有這些條件

這些要求適用於整個修改後的作品。 如果該作品的可識別部分不是從函式庫衍生而來,並且可以合理地被認為是獨立且分開的作品,那麼當您將它們作為獨立作品散布時,本許可證及其條款不適用於這些部分。 但是,當您將相同的部分作為整體的一部分散布時,而該整體是基於函式庫的作品,則整個作品的散布必須符合本許可證的條款,本許可證對其他被許可人的許可延伸到整個作品,因此也延伸到每個部分,無論是誰編寫的。

因此,本節的目的不是聲稱權利或質疑您對完全由您編寫的作品的權利; 相反,目的是行使控制基於函式庫的衍生作品或集合作品的散布的權利。

此外,僅僅將另一個非基於函式庫的作品與函式庫(或基於函式庫的作品)在儲存或散布媒體的卷冊上聚合,並不會使另一個作品受本許可證的約束。

3. 您可以選擇對函式庫的給定副本應用普通的 GNU 通用公共許可證的條款,而不是本許可證。 為此,您必須更改所有提及本許可證的聲明,使其提及普通的 GNU 通用公共許可證版本 2,而不是本許可證。(如果出現了比版本 2 更新版本的普通 GNU 通用公共許可證,那麼如果您願意,您可以指定該版本。)不要對這些聲明進行任何其他更改。

一旦在給定的副本中進行了此更改,對於該副本而言,它是不可逆轉的,因此普通的 GNU 通用公共許可證適用於從該副本製作的所有後續副本和衍生作品。

當您希望將函式庫的部分程式碼複製到非函式庫的程式中時,此選項很有用。

4. 您可以根據以上第 1 節和第 2 節的條款,以目標程式碼或可執行形式複製和散布函式庫(或其一部分或衍生作品,根據第 2 節),前提是您隨附完整的相應機器可讀原始碼,該原始碼必須根據以上第 1 節和第 2 節的條款在通常用於軟體交換的媒介上散布。

如果目標程式碼的散布是透過提供從指定位置複製的存取權限來完成的,那麼提供從同一位置複製原始碼的等效存取權限即可滿足散布原始碼的要求,即使第三方沒有被強制與目標程式碼一起複製原始碼。

5. 不包含函式庫任何部分衍生作品,但設計為透過與函式庫編譯或連結來與函式庫協同工作的程式,稱為「使用函式庫的作品」。 這種作品,單獨而言,不是函式庫的衍生作品,因此不屬於本許可證的範圍。

然而,將「使用函式庫的作品」與函式庫連結會建立一個可執行檔,該可執行檔是函式庫的衍生作品(因為它包含函式庫的部分),而不是「使用函式庫的作品」。 因此,可執行檔受本許可證約束。 第 6 節規定了此類可執行檔的散布條款。

當「使用函式庫的作品」使用來自函式庫一部分的標頭檔的資料時,即使原始碼不是,該作品的目標程式碼也可能是函式庫的衍生作品。 如果該作品可以在沒有函式庫的情況下連結,或者如果該作品本身是一個函式庫,則這尤其重要。 法律並未精確定義實現這一點的門檻。

如果此類目標檔案僅使用數值參數、資料結構佈局和存取器,以及小型巨集和小型內聯函式(長度為十行或更少),則目標檔案的使用不受限制,無論它在法律上是否是衍生作品。(包含此目標程式碼加上函式庫部分的執行檔仍將屬於第 6 節的範圍。)

否則,如果該作品是函式庫的衍生作品,您可以根據第 6 節的條款散布該作品的目標程式碼。 任何包含該作品的可執行檔也屬於第 6 節的範圍,無論它們是否直接與函式庫本身連結。

6. 作為上述各節的例外,您也可以將「使用函式庫的作品」與函式庫組合或連結,以產生包含函式庫部分的作品,並根據您選擇的條款散布該作品,前提是這些條款允許為了客戶自己的使用而修改作品,以及為了除錯此類修改而進行逆向工程。

您必須在作品的每個副本上顯著聲明,其中使用了函式庫,並且函式庫及其使用受本許可證約束。 您必須提供本許可證的副本。 如果作品在執行期間顯示著作權聲明,您必須將函式庫的著作權聲明包含在其中,以及將使用者引導至本許可證副本的參考。 此外,您必須執行以下操作之一

對於可執行檔,所需的「使用函式庫的作品」形式必須包含從中重製可執行檔所需的任何資料和公用程式。 然而,作為一個特殊例外,要散布的材料不需要包含通常與執行檔執行的作業系統的主要組件(編譯器、核心等等)一起散布的任何內容(以原始碼或二進位形式),除非該組件本身隨附執行檔。

這種要求可能會與通常不隨附作業系統的其他專有函式庫的許可限制相矛盾。 這種矛盾意味著您不能在您散布的可執行檔中同時使用它們和函式庫。

7. 您可以將基於函式庫的作品的函式庫設施與未受本許可證約束的其他函式庫設施並排放置在單個函式庫中,並散布此類組合函式庫,前提是基於函式庫的作品和其他函式庫設施的單獨散布在其他方面是允許的,並且前提是您執行以下兩項操作

8. 除非本許可證明確規定,否則您不得複製、修改、再授權、連結或散布函式庫。 任何以其他方式複製、修改、再授權、連結或散布函式庫的企圖均屬無效,並將自動終止您在本許可證下的權利。 但是,根據本許可證從您那裡收到副本或權利的當事方,只要這些當事方保持完全遵守,其許可證將不會終止。

9. 您不需要接受本許可證,因為您沒有簽署它。 但是,如果沒有其他任何東西授予您修改或散布函式庫或其衍生作品的許可。 如果您不接受本許可證,法律禁止這些行為。 因此,透過修改或散布函式庫(或任何基於函式庫的作品),您表示您接受本許可證來執行此操作,以及其關於複製、散布或修改函式庫或基於函式庫的作品的所有條款和條件。

10. 每次您重新散布函式庫(或任何基於函式庫的作品)時,接收者都會自動從原始授權人那裡獲得許可證,以根據這些條款和條件複製、散布、連結或修改函式庫。 您不得對接收者行使此處授予的權利施加任何進一步的限制。 您不負責強制第三方遵守本許可證。

11. 如果由於法院判決或專利侵權指控或任何其他原因(不限於專利問題),對您施加了與本許可證的條件相矛盾的條件(無論是透過法院命令、協議或其他方式),它們都不能免除您遵守本許可證的條件。 如果您無法同時履行您在本許可證下的義務和任何其他相關義務,那麼作為結果,您可能根本無法散布函式庫。 例如,如果專利許可證不允許所有直接或間接透過您收到副本的人免版稅地重新散布函式庫,那麼您滿足專利許可證和本許可證的唯一方法就是完全避免散布函式庫。

如果本節的任何部分在任何特定情況下被認定為無效或不可執行,則本節的其餘部分旨在適用,並且本節整體旨在在其他情況下適用。

本節的目的不是誘導您侵犯任何專利或其他財產權主張,或質疑任何此類主張的有效性; 本節的唯一目的是保護自由軟體散布系統的完整性,該系統透過公共許可證慣例實施。 許多人依賴該系統的一致應用,為透過該系統散布的廣泛軟體做出了慷慨的貢獻; 作者/捐贈者可以決定他或她是否願意透過任何其他系統散布軟體,而被許可人不能強加這種選擇。

本節旨在徹底闡明人們認為是本許可證其餘部分的後果。

12. 如果函式庫的散布和/或使用在某些國家受到專利或受著作權保護的介面的限制,則將函式庫置於本許可證下的原始著作權持有人可以新增明確的地理散布限制,排除這些國家,以便僅在或在未被如此排除的國家之間允許散布。 在這種情況下,本許可證將該限制納入其中,如同寫入本許可證正文中一樣。

13. 自由軟體基金會可能會不時發布修訂版和/或新版本的寬鬆通用公共許可證。 此類新版本在精神上將與目前版本相似,但在細節上可能有所不同,以解決新問題或疑慮。

每個版本都給定一個可區分的版本號。 如果函式庫指定適用於它的本許可證的版本號以及「任何後續版本」,您可以選擇遵循該版本或自由軟體基金會發布的任何後續版本的條款和條件。 如果函式庫未指定許可證版本號,您可以選擇自由軟體基金會發布的任何版本。

14. 如果您希望將函式庫的部分內容納入到其他自由程式中,而這些自由程式的散布條件與這些條件不相容,請寫信給作者請求許可。 對於自由軟體基金會享有著作權的軟體,請寫信給自由軟體基金會; 我們有時會為此破例。 我們的決定將以維護我們自由軟體所有衍生作品的自由狀態以及促進軟體的共享和重用這兩個目標為指導。

無擔保

15. 由於函式庫是免費授權的,因此在適用法律允許的範圍內,函式庫不提供任何擔保。 除非著作權持有人和/或其他方另有書面聲明,否則他們「按原樣」提供函式庫,不提供任何形式的擔保,無論是明示還是暗示,包括但不限於對適銷性和適用於特定用途的暗示擔保。 關於函式庫的品質和效能的全部風險由您承擔。 如果函式庫證明有缺陷,您將承擔所有必要的維修、修理或更正的費用。

16. 在任何情況下,除非適用法律要求或書面同意,否則任何著作權持有人或任何其他可能根據上述許可修改和/或重新散布函式庫的當事方,均不對您承擔任何損害賠償責任,包括因使用或無法使用函式庫而引起的任何一般、特殊、附帶或後果性損害(包括但不限於資料遺失或資料被呈現為不準確,或您或第三方遭受的損失,或函式庫未能與任何其他軟體一起運作),即使此類持有人或其他當事方已被告知可能發生此類損害賠償。

條款與條件結束

如何將這些條款應用於您的新函式庫

如果您開發一個新的函式庫,並且您希望它對公眾發揮最大的作用,我們建議將其製作為自由軟體,以便所有人都可以重新散布和更改。 您可以透過允許根據這些條款(或替代地,根據普通的通用公共許可證的條款)重新散布來做到這一點。

要應用這些條款,請將以下聲明附加到函式庫。 最安全的做法是將它們附加到每個原始檔的開頭,以最有效地傳達排除擔保; 並且每個檔案都應至少具有「著作權」行和指向完整聲明所在位置的指標。

one line to give the library's name and an idea of what it does.
Copyright (C) year  name of author

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, see
<https://gnu.dev.org.tw/licenses/>.

另請新增有關如何透過電子郵件和紙本郵件與您聯絡的資訊。

如果需要,您還應該讓您的雇主(如果您是程式設計師)或您的學校(如果有的話)簽署函式庫的「著作權免責聲明」。 這是一個範例; 更改名稱

Yoyodyne, Inc., hereby disclaims all copyright interest in
the library `Frob' (a library for tweaking knobs) written
by James Random Hacker.

signature of Moe Ghoul, 1 April 1990
Moe Ghoul, President of Vice

這就是全部!