GNU LESSER GENERAL PUBLIC LICENSE
GNU LESSER GENERAL PUBLIC LICENSE
2.1 版,1999 年 2 月
Copyright (C) 1999, 1999 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
所有人皆可複製並散發此授權文件的動詞複本,但不允許加以變更。
[ 這是較少 GPL 的第一個發行版本。它也計算為 GNU Library Public License (版本 2) 的後續作業,因此版本號碼 2.1。]
序言
大多數軟體的授權皆是設計來移除您的自由,以分享與修改。相較之下,「GNU 一般公共授權」的目的在於保證您的自由共用與變更自由軟體,以確保軟體可免費提供給其所有使用者使用。
本授權 (Lesser General Public License,簡稱 "Lesser General Public License") 適用於某些特別指定的軟體套件 (通常是程式庫),亦適用於 Free Software Foundation 及其他決定使用該軟體的作者。您也可以使用此授權,但我們建議您先仔細考慮此授權或普通公共授權是否為在任何特定情況下使用的較佳策略,以下列說明為依據。
當我們說自由軟體時,我們指的是自由使用,而不是價格。我們的「一般公共授權」(General Public Licenses) 旨在確保您有自由散發自由軟體 (如有需要,可向此服務收費);您會收到原始碼或者,如果需要,可以取得軟體;您可以變更軟體並在新的免費程式中使用軟體;並且您會收到通知,您可以執行這些動作。
為了保護您的權利,我們需要限制禁止經銷商拒絕這些權利,或要求您放棄這些權利。如果您分發內容庫的副本或進行修改,則這些限制會轉譯為您特定的職責。
例如,若您分發圖書館的副本 (不論是文法或費用),您必須給予收件人我們給予您的所有權利。您必須確定它們也能夠接收或取得原始碼。如果您將其他程式碼與內容庫連結,則必須提供完整的物件檔案給收件者,讓收件者能夠在變更內容庫並重新編譯之後,將它們與內容庫重新連結。你必須向他們展示這些條款,以便他們瞭解他們的權利。
-
我們為圖書館版權。
-
我們提供您此授權,以授予您複製、散發及 / 或修改程式庫的合法權限。
為了保護每位經銷商,我們要非常清楚免費磁帶櫃沒有保固。此外,如果程式庫由其他人修改並通過,收件者應該知道它們不是原始版本,因此原始作者的信譽將不會受到其他使用者引進的問題影響。
最後,軟體專利會對任何免費程式的存在造成持續的威脅。我們希望確保公司不能有效地限制免費計劃的使用者,方法是向專利持有人取得限制性授權。因此,我們堅稱,為一個圖書館版本所獲得的任何專利授權,必須與本授權中規定的完整使用自由一致。
大多數 GNU 軟體 (包括某些程式庫) 均由一般 GNU 通用公共授權 (General Public License) 所涵蓋。此授權 (GNU Lesser General Public License) 適用於特定程式庫,且與一般公共授權相當不同。我們對某些程式庫使用此授權,以允許將這些程式庫連結至非免費程式。
當程式與資源庫連結時,無論是靜態或是使用共用資源庫,這兩個程式的組合會合法地說出合併的工作,即原始資源庫的衍生物。因此,一般公共授權僅允許在整個組合符合其自由準則時進行此類連結。「一般公共授權較少」允許將其他代碼與資源庫連結的同軸準則更為寬鬆。
我們將此授權稱為 "Lesser" 一般公共授權 ,因為其保護使用者的自由比一般公共授權更少。它還提供其他免費軟體開發人員比競爭對手的非免費程式更少的優勢。這些缺點是我們在許多圖書館使用普通的公共授權的原因。不過,Lesser 授權在某些特殊情況下提供了優勢。
舉例來說,在極少數的情況下,可能需要特別鼓勵特定磁帶櫃儘可能廣泛使用,以使其成為 de-facto 標準。為達到此目的,非免費程式必須允許使用資源庫。更常見的情況是,自由磁帶櫃的工作與廣泛使用的非自由磁帶櫃相同。在這種情況下,只要將免費程式庫限制為免費軟體,我們就只能使用 Lesser General Public License。
在其他情況下,在非可用程式中使用特定資源庫的權限,可以讓更多人使用大量的免費軟體。例如,在非免費程式中使用 GNU C 函式庫的權限,可讓更多人使用整個 GNU 作業系統以及其變體 GNU/Linux 作業系統。
雖然「較少一般公共許可證」對於使用者的自由較不具保護性,但它確實確保與「元件庫」連結之程式的使用者具有自由性,以及使用修改版本的「元件庫」執行該程式的權限。
遵循複製、分發及修改的精確條款與條件。請密切注意「基於資源庫的工作」與「使用資源庫的工作」之間的差異。先前包含從磁帶櫃衍生的程式碼,而後者必須與磁帶櫃結合才能執行。
複製、分發與修改的條款與條件
0 本「授權合約」適用於包含版權持有人或其他授權方所發出通知的任何軟體程式庫或其他程式,並表示其可能依據本「較少一般公共授權」(亦稱為「本授權」) 的條款進行散佈。每個被授權人都會以「您」身分處理。
「程式庫」是指軟體功能和 (或) 資料的集合,以便與應用程式 (使用某些功能和資料) 輕鬆連結以形成可執行檔。
下方的「程式庫」是指根據這些條款發佈的任何此類軟體程式庫或工作。「基於圖書館的作品」是指圖書館或著作權法下的任何衍生作品:也就是說,包含圖書館或其中一部分的作品,無論是動詞或修改,或直接翻譯成另一種語言。(此後,翻譯不限於「修改」一詞。)
工作的「來源代碼」表示對其進行修改的偏好工作形式。對於程式庫,完整的原始程式碼是指它所包含之所有模組的所有原始程式碼,加上任何關聯的介面定義檔案,再加上用來控制程式庫編譯和安裝的命令檔。
除了複製、分發與修改以外,本 「授權」並未涵蓋其範圍。使用「元件庫」執行程式的行為不受限制,且只有在其內容構成以「元件庫」為基礎的工作時,才會涵蓋該程式的輸出 (與使用「元件庫」撰寫程式的工具無關)。是否為真,取決於內容庫的功能,以及使用內容庫的程式功能。
1 您可在任何媒體中,複製並散佈圖書館完整原始碼的動詞副本,前提是您在每個副本上以適當著作權的方式發佈。通知與免責聲明;請保留所有提及本「授權」的注意事項,若無任何保固,請將本「授權」的副本與「程式庫」一起散佈。
閣下可就轉讓副本的實體行為收取費用,而閣下可選擇提供保修保障以換取費用。
-
a) 修改過的工作本身必須是軟體程式庫。
-
b) 您必須讓修改過的檔案包含明顯的通知,說明您已變更檔案和任何變更的日期。
-
c) 貴方必須根據本授權條款,對所有第三方不收取任何費用來授權全部工作。
-
d) 如果修改的「程式庫」中的某個設備參照使用該設備的應用程式程式所要提供的函數或資料表格,而非當設備時所傳遞的引數被叫用後,您必須付出一個誠信的努力,以確保在應用程式不提供此類功能或表格的情況下,設施仍然運作,並執行其目的的任何部分保持有意義。
(例如,函式庫中用來計算平方根的函式具有完全獨立於應用程式的目的。因此,「子區段 2d」要求此函數所使用的任何應用程式提供的函數或表格必須為選擇性:如果應用程式未提供,則平方根函數仍必須計算平方根。)
因此,本節並不意圖索取權利或爭取您完全由您撰寫的工作權利;而意圖是行使根據圖書館控制衍生或集體作品的分發權利。
此外,唯有在儲存或配銷媒體的磁碟區上,其他不是以程式庫為基礎的工作 (或以程式庫為基礎的工作) 聚總,並不會在本授權範圍內帶出其他工作。
3. 您可以選擇將一般 GNU 通用公共授權 (而非本授權) 的條款套用到特定的圖書館副本。若要這麼做,您必須修改所有提及本 「授權」的注意事項,這樣它們才能指 「一般 GNU 通用公共授權」(第 2 版),而非本 「授權」。(如果出現比一般 GNU General Public License 版本 2 更新的版本,您可以視需要指定該版本。) 請勿在這些注意事項中做任何其他變更。
在特定副本中進行此變更後,該副本便無法回復,因此一般 GNU 通用公共授權適用於所有後續副本和衍生作品。
當您要將元件庫的程式碼複製到非元件庫的程式中時,此選項非常有用。
4. 您可以根據上文第 1 和第 2 節的條款,以物件代碼或可執行形式複製和分發物件庫 (或其部分或衍生部分) 假設您伴隨完整的對應機器可讀取原始程式碼,而這些原始程式碼必須依上述第 1 節和第 2 節的規定,透過經常用於軟體交換的媒體發佈。
如果透過提供從指定地點複製的存取權來分配物件代碼,則提供從相同地點複製原始代碼的同等存取權,以滿足分配原始代碼的需求,即使第三方不被迫複製來源與物件代碼。
5. 不包含「程式庫」任何部份的衍生程式,但設計用來透過編譯或與其連結來使用「程式庫」的程式稱為「使用程式庫的工作」。此類獨立性工作並非資料庫的衍生性工作,因此落在本授權範圍之外。
不過,將「使用程式庫的工作」與「程式庫」連結會建立一個衍生「程式庫」的執行檔 (因為它包含「程式庫」的部分),而不是「使用程式庫的工作」。因此,此授權涵蓋執行檔。第 6 節說明此類執行檔的發行條款。
當「使用資源庫的工作」使用屬於資源庫的標頭檔案中的材料時,即使原始程式碼不然,該工作的物件程式碼可能為資源庫的衍生作品。如果可以在沒有資源庫的情況下連結工作,或者工作本身是資源庫,則此為真特別重要。此為真的臨界值並非由法律精確定義。
如果此類物件檔案僅使用數值參數、資料結構配置和存取子,以及小型巨集和小內嵌函式 (長度為 10 行或更少),則無論該物件檔案是否合法具有衍生性工作,均不受限制。(包含此物件代碼加上程式庫部份的執行檔仍會落在第 6 節之下。)
否則,如果工作是元件庫的衍生物,您可以根據第 6 條的條款為工作分配物件代碼。任何包含該工作的可執行檔也屬於第 6 節,無論它們是否直接與資源庫本身連結。
6. 除了上述區段之外,您也可以將「使用程式庫的工作」與「程式庫」結合或連結,以產生包含部分的工作依據您選擇的條款進行程式庫和分配,前提是該條款允許修改客戶本身的工作,並對此類修改進行反向工程。
-
a) 隨程式配合程式庫的完整對應機器可讀取原始程式碼,包括工作中使用的任何變更 (必須依照上述第 1 和第 2 節發佈);以及如果工作是與程式庫連結的可執行檔,具有完整的機器可讀「使用程式庫的工作」作為物件代碼和 (或) 原始程式碼,讓使用者可以修改程式庫,然後重新連結以產生包含已修改程式庫的已修改可執行檔。(瞭解變更內容庫中定義檔案內容的使用者不一定能夠重新編譯應用程式,以使用修改過的定義。)
-
b) 使用適當的共用程式庫機制與程式庫連結。適當的機制為 (1) 在執行時期使用已存在於使用者電腦系統上的元件庫副本,而非將元件庫函式複製到可執行檔;以及 (2) 只要修改過的版本與工作所使用的版本介面相容,使用者就能夠與修改過的程式庫版本 (如果使用者安裝的版本) 正確運作。
-
c) 隨同書面提議的合作,至少有效期三年,將上述第 6a 節規定的材料提供給同一使用者,費用不得超過履行本配銷的成本。
-
d) 如果透過提供從指定地點複製的存取權來配銷工作,則提供同等存取權,從同一地點複製上述指定材料。
-
e) 確認使用者已收到這些資料的副本,或已將副本傳送給此使用者。
對於執行檔而言,「使用程式庫的工作」的必要形式必須包括從執行檔重新產生所需的任何資料和公用程式。不過,要分送的材料不一定要包含任何通常與可執行檔案所在作業系統之主要元件 (編譯器、核心等) 分配 (不論是來源或二進位格式) 的項目,除非該元件本身隨附於可執行檔。
可能發生此需求與一般不隨附於作業系統的其他專有程式庫的授權限制相衝突。這樣的矛盾表示您無法在您分送的執行檔中同時使用它們和「程式庫」。
7. 您可以將基於元件庫並排放置在單一元件庫中的元件庫設備,以及本授權未涵蓋的其他元件庫設備,然後進行散佈此類合併的磁帶櫃,前提是基於磁帶櫃和其他磁帶櫃設備的個別工作分配是被允許的,且前提是您需採取下列兩種動作:
-
a) 隨程式結合的程式庫以及以程式庫為基礎的相同工作複本,不與其他程式庫設備相結合。這必須根據上述章節的條款進行發佈。
-
b) 將部分事實的合併資料庫以程式庫為基礎提供顯著的通知,並說明在何處尋找相同工作隨附的未結合形式。
8 除本授權明文規定者外,您不得複製、修改、再授權、連結或散佈圖書館。除此之外,任何複製、修改、再授權、連結或散佈「元件庫」的嘗試都無效,並且將自動終止您在此「授權」下的權利。然而,根據本 「授權」收到您副本或權利的當事人,只要該等當事人仍然完全遵守規定,其授權便不會終止。
9. 您不需要接受本授權,因為您尚未簽署本授權。然而,其他任何內容均不授予您修改或散佈資源庫或其衍生作品的權限。若您不接受本 「授權」,則依法禁止這些行為。因此,透過修改或分發「元件庫」(或基於「元件庫」的任何工作) 來表示您接受此「授權」的動作,以及其複製、分發或修改「元件庫」或根據其運作的所有條款與條件。
10. 每次您重新配送資源庫 (或基於資源庫的任何工作),收件人都會自動收到原始授權人的授權,以複製、配送、連結或修改受這些條款與條件約束的資源庫。您不得對收件人行使本文所授予的權利施加任何進一步的限制。您對於使用本 「授權」的協力廠商執行規範不負任何責任。
11 若因法院判定或指控專利侵權或任何其他原因 (不限於專利權問題) 而導致的情況,則對違反本 「授權」條件的您 (無論是法院命令、合約或其他) 施加的條件,則這些條件不會使您不受本 「授權」的條件影響。如果您無法同時履行本「授權」下的義務以及任何其他相關義務,那麼您可能完全無法發佈「程式庫」。例如,如果專利授權不允許由直接或間接透過您接收副本的所有人重新散佈圖書館,則您唯一能滿足該圖書館和本「授權」的辦法,將完全免於發行圖書館。
倘本節任何部分在任何特定情況下均屬無效或無法執行,則該部分之結餘擬適用,而該部分整體擬於其他情況下適用。
本節並非為了使您侵犯任何專利或其他財產權的索賠,或爭取任何這類索賠的有效性;本節具有保護自由軟體配銷系統的唯一目的,由公共授權慣例實施。許多人已根據該系統的一致性應用,對透過該系統所發行的廣泛軟體做出了巨大的貢獻;作者 / 捐贈者必須決定他 / 她是否願意透過任何其他系統散佈軟體,而且被授權人無法做出該選擇。
本節旨在徹底瞭解本 「授權」其餘部分所相信的結果。
12 如果圖書館的發佈和 / 或使用受到專利或版權介面限制的某些國家,則根據本授權放置圖書館的原始版權持有人可以加入明確的地理分佈限制,但不包括這些國家,因此僅允許在不被排除的國家或地區進行發佈。在此情況下,本 「授權」會併入該限制,如同以書面形式寫在本 「授權」之內。
13 自由軟體基金會得不時發佈修訂版及 / 或新版的 Lesser General Public License。此類新版本與目前版本類似,但可能因解決新問題或疑慮而有不同細節。
每個版本都會有辨別版本號碼。如果 「元件庫」指定了本 「授權」的版本號碼以及 「任何更新的版本」,您可以選擇遵循該版本或由 「自由軟體基金會」發佈之任何更新版本的條款和條件。如果程式庫未指定授權版本號碼,您可以選擇任何由 Free Software Foundation 發佈的版本。
14 如果您想要將部分 Library 包含到其配銷條件與這些不相容的其他免費程式中,請寫信給作者詢問權限。對於由自由軟體基金會有版權的軟體,請寫至自由軟體基金會;我們有時會對此產生例外。我們的決策將根據兩個目標來引導,以保留我們所有自由軟體衍生工具的自由狀態,並促進軟體的共用和重複使用。
無保固
15 因為圖書館是免費授權的,圖書館沒有保固,所以適用法律允許的範圍。除另有註明外,版權持有人及 / 或其他各方均提供圖書館「現況」而不作任何形式之擔保,無論是明示或暗示,包括但不限於特定目的之可推銷性及適能性之隱含擔保。相對於程式庫的品質和效能,整個風險都是您自己的。如果程式庫有瑕疵,您應承擔所有必要服務、維修或更正的成本。
16 在任何情況下,除非適用法律要求或同意書寫,否則任何著作權持有人,或任何可修改和 / 或重新發佈上述圖書庫的其他人,對您的損害負責,包括使用或因使用而造成的任何一般、特殊、意外或後續損害無法使用資源庫 (包括但不限於遺失資料或資料呈現不準確或遺失由您或第三方保存,或與任何其他軟體一起運作的資源庫失敗),即使該持有人或其他方已獲認可這類損害的可能性。
條款與條件結束
如何在新程式庫套用這些條款
如果您開發新的程式庫,而且想要讓它成為公眾最大的可能用途,我們建議讓它自由使用軟體,讓每個人都能重新分配和變更。您可以依據這些條款 (或者,依據一般公共授權的條款) 允許重新配銷。
若要套用這些條款,請將下列通知附加至資料庫。最安全地將它們附加到每個來源檔案的開頭,以最有效地傳達保固的排除;每個檔案至少應有 「版權」行,以及找到完整通知的指標。
一行提供資源庫的名稱及其作用概念。
著作權所有 (C) 作者的年度名稱
本文件庫為自由軟體,您可以依據自由軟體基金會所發佈的 GNU Lesser General Public License 條款,重新發佈及 / 或修改其內容;自由軟體基金會的版本為 2.1,或 (您選擇) 任何較新版本。傳佈此檔案庫的目的在於希望它能成為一個有力的工具,但不給予任何保證,亦不提供產品適售性,以及對某特定用途適用性的默示保證。請參閱 GNU Lesser General Public License 以取得更進一步的詳細資訊。本資料庫應隨附 GNU Lesser General Public License 複本;若未授權,請寫信至 Free Software Foundation,Inc.,59 Temple Place,Suite 330,Boston,MA 02111-1307 USA
此外,也新增如何透過電子郵件和書面郵件與您聯絡的資訊。
如有必要,您亦應向您的僱主 (若您以程式設計師身份工作) 或學校 (如有) 簽署圖書館的「版權免責聲明」。以下是範例;更改名稱:
Yoyodyne,Inc.,她不聲明對由 James Random Hacker 所撰寫的 "Frob" 程式庫 (用於調整旋鈕的程式庫) 中的所有著作權權益。
Ty Coon 的簽名,1990 年 4 月 1 日
Ty Coon,副總裁