GNU 寬鬆通用公共授權條款,版本 2.1
- LGPL 的最新版本,版本 3
- 為何您不應該為您的下一個函式庫使用寬鬆 GPL
- 如果您發現可能的 LGPL 違規行為該怎麼辦
- LGPLv2.1 的翻譯版本
- GNU 寬鬆通用公共授權條款版本 2.1 (LGPLv2.1) 的其他格式:純文字、Texinfo、獨立 HTML、Docbook、Markdown、ODF、RTF 和 LaTeX
- LGPL 的舊版本
此 GNU 寬鬆通用公共授權條款被視為 GNU 函式庫通用公共授權條款的後繼者。如需解釋為何此變更為必要,請閱讀為何您不應該為您的下一個函式庫使用寬鬆 GPL 文章。
目錄
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 節的條款複製和散布此類修改或作品,前提是您也滿足所有這些條件
- a) 修改後的作品本身必須是一個軟體函式庫。
- b) 您必須使修改後的檔案帶有顯著聲明,聲明您已變更檔案以及任何變更的日期。
- c) 您必須使整個作品根據本授權條款免費授權給所有第三方。
- d) 如果修改後的函式庫中的設施引用應用程式提供的函數或資料表(使用該設施),而不是在調用該設施時傳遞的參數,則您必須真誠地努力確保,如果應用程式未提供此類函數或資料表,則該設施仍可運作,並執行其目的的任何有意義的部分。
(例如,函式庫中計算平方根的函數具有完全明確的目的,獨立於應用程式。因此,第 2d 小節要求此函數使用的任何應用程式提供的函數或資料表都必須是可選的:如果應用程式未提供,則平方根函數仍必須計算平方根。)
這些要求適用於整個修改後的作品。如果該作品的可識別部分並非衍生自函式庫,並且可以合理地被視為獨立且獨立的作品,則當您將它們作為獨立作品散布時,本授權條款及其條款不適用於這些部分。但是,當您將相同的部分作為整體的一部分散布時,該整體是基於函式庫的作品,則整個作品的散布必須符合本授權條款的條款,其對其他被授權者的許可權延伸至整個作品,因此延伸至每個部分,無論是誰編寫的。
因此,本節的目的不是聲稱權利或爭奪您對完全由您編寫的作品的權利;相反,目的是行使控制基於函式庫的衍生作品或集體作品的散布的權利。
此外,僅僅將另一個非基於函式庫的作品與函式庫(或基於函式庫的作品)在儲存或散布媒介的卷冊上聚合,並不會使另一個作品受本授權條款的範圍約束。
3. 您可以選擇將普通的 GNU 通用公共授權條款的條款應用於函式庫的給定副本,而不是本授權條款。為此,您必須變更所有提及本授權條款的聲明,使其提及普通的 GNU 通用公共授權條款,版本 2,而不是本授權條款。(如果出現了比版本 2 更新版本的普通 GNU 通用公共授權條款,那麼如果您願意,您可以指定該版本代替。)不要對這些聲明進行任何其他變更。
一旦在給定副本中進行此變更,對於該副本而言是不可逆轉的,因此普通的 GNU 通用公共授權條款適用於從該副本製作的所有後續副本和衍生作品。
當您希望將函式庫的部分程式碼複製到非函式庫的程式中時,此選項非常有用。
4. 您可以根據以上第 1 節和第 2 節的條款,以目標碼或可執行形式複製和散布函式庫(或其一部分或衍生作品,根據第 2 節),前提是您隨附完整的相應機器可讀原始碼,該原始碼必須根據以上第 1 節和第 2 節的條款在通常用於軟體交換的媒介上散布。
如果目標碼的散布是透過提供從指定地點複製的存取權限來完成的,那麼提供從同一地點複製原始碼的同等存取權限即可滿足散布原始碼的要求,即使第三方沒有義務隨目標碼一起複製原始碼。
5. 一個程式,如果它不包含函式庫任何部分的衍生作品,但設計用於透過與函式庫編譯或連結來與函式庫協同工作,則稱為「使用函式庫的作品」。此類作品,單獨而言,不是函式庫的衍生作品,因此不屬於本授權條款的範圍。
然而,將「使用函式庫的作品」與函式庫連結會建立一個可執行檔,該可執行檔是函式庫的衍生作品(因為它包含函式庫的部分),而不是「使用函式庫的作品」。因此,該可執行檔受本授權條款約束。第 6 節規定了散布此類可執行檔的條款。
當「使用函式庫的作品」使用來自作為函式庫一部分的標頭檔的材料時,該作品的目標碼可能是函式庫的衍生作品,即使原始碼不是。如果該作品可以在沒有函式庫的情況下連結,或者如果該作品本身是一個函式庫,則這是否屬實尤其重要。法律並未精確定義此為真的門檻。
如果此類目標檔案僅使用數值參數、資料結構佈局和存取器,以及小型巨集和小型的內聯函數(長度為十行或更少),則目標檔案的使用不受限制,無論其在法律上是否為衍生作品。(包含此目標碼加上函式庫部分的執行檔仍將屬於第 6 節的範圍。)
否則,如果該作品是函式庫的衍生作品,您可以根據第 6 節的條款散布該作品的目標碼。任何包含該作品的執行檔也屬於第 6 節的範圍,無論它們是否直接與函式庫本身連結。
6. 作為對以上各節的例外,您也可以將「使用函式庫的作品」與函式庫組合或連結,以產生包含函式庫部分的作品,並根據您選擇的條款散布該作品,前提是這些條款允許修改該作品以供客戶自己使用,以及進行逆向工程以除錯此類修改。
您必須在作品的每個副本上顯著聲明其中使用了函式庫,並且函式庫及其使用受本授權條款約束。您必須提供本授權條款的副本。如果作品在執行期間顯示版權聲明,您必須在其中包含函式庫的版權聲明,以及引導使用者查閱本授權條款副本的參考。
- a) 隨附作品提供函式庫的完整相應機器可讀原始碼,包括作品中使用的任何變更(必須根據以上第 1 節和第 2 節散布);並且,如果作品是與函式庫連結的可執行檔,則隨附完整的機器可讀「使用函式庫的作品」,以目標碼和/或原始碼的形式,以便使用者可以修改函式庫,然後重新連結以產生包含修改後函式庫的修改後可執行檔。(據了解,變更函式庫中定義檔案內容的使用者不一定能夠重新編譯應用程式以使用修改後的定義。)
- b) 使用合適的共享函式庫機制與函式庫連結。合適的機制是指 (1) 在執行時使用使用者電腦系統上已存在的函式庫副本,而不是將函式庫函數複製到可執行檔中,以及 (2) 如果使用者安裝了修改後的函式庫版本,只要修改後的版本與製作作品時的版本介面相容,就可以正常運作。
- c) 隨附作品提供書面報價,有效期至少三年,以不超過執行此散布成本的費用向同一使用者提供以上第 6a 小節中指定的材料。
- d) 如果作品的散布是透過提供從指定地點複製的存取權限來完成的,則提供從同一地點複製以上指定材料的同等存取權限。
- e) 確認使用者已收到這些材料的副本,或者您已向該使用者發送了副本。
對於可執行檔,「使用函式庫的作品」的所需形式必須包括從中重製可執行檔所需的任何資料和公用程式。但是,作為一個特殊例外,要散布的材料不需要包括通常與執行可執行檔的作業系統的主要組件(編譯器、核心等)一起散布的任何內容(以原始碼或二進位形式),除非該組件本身隨附可執行檔。
可能發生這種情況,即此要求與通常不隨作業系統一起提供的其他專有函式庫的授權限制相矛盾。此類矛盾意味著您不能在您散布的可執行檔中同時使用它們和函式庫。
7. 您可以將基於函式庫的作品的函式庫設施與未受本授權條款約束的其他函式庫設施並排放置在單個函式庫中,並散布此類組合函式庫,前提是基於函式庫的作品和其他函式庫設施的單獨散布在其他方面是允許的,並且前提是您執行以下兩項操作
- a) 隨附組合函式庫提供基於函式庫的相同作品的副本,未與任何其他函式庫設施組合。這必須根據以上各節的條款散布。
- b) 在組合函式庫中顯著聲明,其中一部分是基於函式庫的作品,並說明在哪裡可以找到相同作品的隨附未組合形式。
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
就這樣!