-
GNU 較寬鬆公共許可證
聲明!
這是一份 GNU 較寬鬆公共許可證非正式的中文翻譯。它不是自由軟體基金會所發佈,並且不能適用於使用 GNU LGPL 的軟體 —— 只有 GNU LGPL 英文原文的版本 才行。然而,我們希望這份翻譯能幫助中文的使用者更瞭解 GNU LGPL。
1999.2, 第 2.1 版 版權所有 © 1991, 1999 Free Software Foundation, Inc.59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 允許每個人複製和發佈本授權檔的完整副本,但不允許對它進行任何修改。
【這是第一次發表的較寬鬆公共許可證(Lesser GPL)版本。它同時也可視為 GNU 函式程式庫公共許可證(GNU Library Public License)第 2 版的後繼者,故稱為 2.1 版】
本版本由 Leo-Hong(leohca@yahoo.com)翻譯整理,Chao-Hong Liu 校正。
導言
大多數軟體許可證決意剝奪您共用和修改軟體的自由。相反的,GNU 通用公共許可證力圖保證您共用和修改自由軟體的自由 —— 保證自由軟體對所有使用者都是自由的。
這個許可證,較寬鬆公共許可證,適用于一些由自由軟體基金會與其他決定使用此許可證的軟體作者,所特殊設計的軟體套件 —— 像是函式程式庫。您也可以使用它,但我們建議您事先仔細考慮,基於以下的說明是否此許可證或原來的通用公共許可證在任何特殊情況下均為較好的方案。
當我們談到自由軟體時,我們所指的是自由,而不是價格。我們的 GNU 通用公共許可證是設計用以確保使您有發佈自由軟體備份的自由(如果您願意,您可以對此項服務收取一定的費用);確保您能收到程式原始碼或者在您需要時能得到它;確保您能修改軟體或將它的一部分用於新的自由軟體;而且還確保您知道您可以做上述的這些事情。
為了保護您的權利,我們需要作出限制:禁止任何人否認您上述的權利,或者要求您放棄這些權利。如果您發佈軟體的副本,或者對之加以修改,這些規定就轉化為您的責任。
例如,如果您發佈此函式程式庫的副本,不管是免費還是收取費用,您必須將您享有的一切權利給予接受者;您必須確保他們也能收到或得到原始程式碼;如果您將此函式程式庫與其他的程式碼連結,您必須提供完整的目的目的檔和程式(object file)給接受者,則當他們修改此函式程式庫並重新編譯過後,可以重新與目的檔連結。您並且要將這些條款給他們看,使他們知道他們有這樣的權利。
我們採取兩項措施來保護您的權利: (1) 用版權來保護函式程式庫。並且,(2) 我們提供您這份許可證,賦予您複製,發佈和(或)修改這些函式程式庫的法律許可。
為了保護每個發佈者,我們需要非常清楚地讓每個人明白,自由函式程式庫是沒有擔保責任的。如果由於某人修改了函式程式庫,並繼續加以傳播,我們需要它的接受者明白:他們所得到的並不是原始的版本。故由其他人引入的任何問題,對原作者的聲譽將不會有任何的影響。
最後,由於軟體專利不斷地威脅自由軟體的存在,我們希望商業公司無法藉由自專利持有者取得一個受限的許可證,而有效地限制自由軟體的使用者。因此,我們堅持一個函式程式庫所能取得的任何專利,必須與本許可證所聲明的“完全自由使用”一致。
大部分的 GNU 軟體,包括一些函式程式庫,是受到原來的 GNU 通用公共許可證的保護。本許可證, GNU 較寬鬆通用公共許可證,適用於特殊設計的函式程式庫,且與原來的通用公共許可證有很大的不同。我們在特定的函式程式庫中使用它,以准許非自由的程式可以與這些函式程式庫連結。 當一個程式與一個函式程式庫連結,不論是靜態連結或使用共用函式程式庫,二者的結合可以合理地說是結合的作品,一個原來的函式程式庫的衍生品。因此,原來的通用公共許可證只有在整個結合品滿足其自由的標準時,才予許連結。較寬鬆通用公共許可證則以更寬鬆的標準允許其他程式碼與本函式程式庫連結。
我們稱此許可證“較寬鬆”通用公共許可證,是因為它比起原來的通用公共許可證對使用者的自由做到較少的保護。在與非自由軟體競爭時,它也提供其他自由軟體的寫作者較少的優勢。這些不利之處正是我們使用原來的通用公共許可證於許多函式程式庫的理由。然而,較寬鬆的許可證可在某些特殊場合下帶來好處。 例如,在少數情況下,可能會有特殊的需要而鼓勵大家盡可能廣泛地使用特定的函式程式庫,因而使它成為實際上的標準。為了達到此目標,必須允許非自由的程式使用此函式程式庫。一個較常發生的情況是一個自由的函式程式庫與一個被廣泛使用的非自由函式程式庫做相同的工作,在此情況下,限制只有自由軟體可以使用此自由函式程式庫不會有多少好處,故我們如用了較寬鬆通用公共許可證。
在其他情況下,允許非自由程式使用特定的函式程式庫,可以讓更多的人們使用自由軟體的大部分。例如,允許非自由程式使用 GNU C 函式程式庫可以讓更多的人們使用整個 GNU 作業系統,以及它的變形,GNU/Linux 作業系統。
儘管較寬鬆通用共公許可證對使用者的自由是較少的保護的,它卻能確保與此函式程式庫連結的程式的使用者擁有自由,而且具有使用修改過的函式程式庫版本來執行該程式的必要方法。
以下是複製、發佈、以及修改的精確條款與條件。請注意“基於函式程式庫的作品”以及“使用函式程式庫的作品”之間的差異:前者包含來自函式程式庫修改過的原始碼;而後者則必須與函式程式庫結合才能執行。
GNU 較寬鬆公共許可證 有關複製,發佈和修改的條款和條件 0. 本許可證適用於任何軟體函式程式庫,或其他包含了由版權所有者加入的注意事項的程式,或其他有公信力的團體宣稱其程式可以在較寬鬆通用公共許可證(也稱之為“本許可證")的條款下發佈。每一位許可證接受者以“您”來稱呼。
一個“函式程式庫”意指一些軟體函數的集合,以及或準備好的資料以方便與應用程式(其使用了其中某些函數與資料)連結形成可執行的程式。
以下,"函式程式庫”一詞指的是任何在本條款下發佈的這一類軟體函式程式庫或作品,一個“基於本函式程式庫的作品”意指函式程式庫或任何在版權法下的衍生作品:也就是說,一個包含了本函式程式庫或其一部分的作品,可以是原封不動的,或經過修改的,和/或直接翻譯成其他語言的。(在下文中,翻譯是不受限地包含在 “修改”的條款中。)
作品的“原始碼”意指對作品進行修改最優先擇取的形式。對函式程式庫而言,完整的原始碼意指所有模組的所有原始程式,加上有關的介面的定義,加上控制函式程式庫的安裝和編譯的 script。
本許可證條款不適用於複製,發佈和修改以外的活動。這些活動超出這些條款的範圍。使用本函式程式庫來執行本程式的動作不受條款的限制,而程式的輸出只有在其內容所構成的作品是基於本函式程式庫時(與在什麼樣的工具中使用本函式程式庫來輸出無關),這一條款才適用。以上是否為真則取決於本函式程式庫具體用來做什麼。
1. 只要您在每一程式副本上明顯和恰當地宣告版權聲明和不承擔擔保的聲明,並保持此許可證的聲明和沒有擔保的聲明完整無損,並和程式一起給其他每位元程式接受者一份許可證的副本,您就可以用任何媒體複製和發佈您收到的函式程式庫的完整原始碼。
您可以為轉讓副本的實際行動收取一定費用。您也可以選擇提供擔保以換取一定的費用。
2. 只要您同時滿足下面的所有條件,您就可以按前面第一款的要求修改函式程式庫的一個或幾個副本或它的任何部分,以此形成基於此函式程式庫的作品,並且複製和發佈這一經過修改的程式或作品:
(a) 被修改的作品本身必須是一個軟體函式程式庫。
(b) 您必須在修改過的檔案中附有明確的說明:您修改了此一檔案及任何修改的日期。
(c) 您必須讓整個作品允許協力廠商在此許可證條款下可以免費使用。
(d) 如果修改過的函式程式庫其某個設備使用到了「使用本函式程式庫的應用程式」所提供的函數或資料表格,卻不是當此設備被呼叫時以參數列傳入時,則您必須確實做到,當應用程式不提供這樣的函數或表格時,則此設備依舊能工作,且其執行的任何目的仍然有意義。
(例如,一個函式程式庫的函數用來計算平方根,其目的是有完整的定義且與應用程式是無關的。因此,2.(d) 小節要求任何本函數會使用的,由應用程式所提供的函數或表格必須是選擇性的:如果應用程式不提供的話,則計算平方根的函數必須依舊能計算平方根)
這些要求適用於整個修改過的作品。如果能夠確定作品的一部分並非本函式程式庫的衍生產品,且可以合理地單獨考慮並將它與原作品分開的話,則當您將它作為獨立的作品發佈時,它不受此許可證和其條款的約束。但是當您將這部分與基於本函式程式庫的作品一同發佈時,則整個套件將受到本許可證條款約束,其對於其他許可證持有人的使用範圍擴大到整個產品,也就是套件的每個部分,不管它是誰寫的。
因此,本條款的意圖不在於索取權利,或剝奪完全由您完成的作品的權利,而是履行權利來控制基於本函式程式庫的集體作品或衍生作品的發佈。 此外,將與本函式程式庫無關的作品和本函式程式庫(或基於本函式程式庫的作品)一起放在貯存媒體或發佈媒體的同一卷上,並不導致將其他作品置於此許可證的約束範圍之內。
3. 對於一個函式程式庫的副本,您可以選擇性地使用原來的 GNU 通用公共許可證上的條款來取代本許可證上的條款。如果您要這麼做,您必須修改所有的參考到本許可證的注意事項,使它們指向原來的 GNU 通用公共許可證,第二版,以取代本許可證(如果有比第二版的原來的 GNU 通用公共許可證更新的版本出現的話,則如果您願意的話可以特別指明使用新版)。請不要對這些注意事項做出其他的改變。
一旦在一個副本上做了這樣的改變,則該副本就無法撤回這樣的改變,故原來的 GNU 通用公共許可證將適用於所有後續的副本以及由此副本衍生出來的作品。
此一選擇性適用於當您想要將一部分的函式程式庫原始碼複製到一個非函式程式庫的程式使用時。
4. 您可以以目的碼或可執行形式複製或發佈本函式程式庫(或符合第 2 款,基於本函式程式庫的作品),只要您遵守前面的第 1、2 款,並同時提供完整的相關機器可讀的原始碼,而這些原始碼必須在前面的第 1 與第 2 款條件下,在一般習慣上用來做軟體交換的媒體上發佈。
如果所發佈的目的碼是由指定的地點提供拷貝索取,那麼由同一地點所提供等價的原始碼拷貝索取可以算作原始碼的發佈,即使協力廠商不強求與目的碼一起複製原始碼。
5. 一個程式若包含不經任何部分修改的函式程式庫,但卻是設計經由編譯或連結的方式與本函式程式庫一同工作者,稱之為“使用函式程式庫的作品”。這樣的一個作品,嚴格地說,並非本函式程式庫的衍生作品,因而不在本許可證的範圍之內。
然而,將“使用函式程式庫的作品”與本函式程式庫連結而產生可執行程式,則是本函式程式庫的衍生品(因為它包函了本函式程式庫的一部分),而不是“使用函式程式庫的作品”,因此其可執行套裝程式含在本許可證的範圍內。第 6 款說明了發佈此可執行程式的條款。
當“使用函式程式庫的作品”使用了函式程式庫部分的標頭檔內容時,則此作品即使其原始碼不屬於本函式程式庫的衍生品,但其目的碼仍然是。這一點是否為真特別在是否本作品可以在不需要本函式程式庫即可連結,或者是否該作品本身也是一個函式程式庫時特別明顯。
如果這樣的目標檔只使用數位參數、資料結構層級與附屬品、以及小宏和內聯函數(小於或等於十行),則此目標檔的使用是不受限的,不論是否它是合法的衍生作品。(但可執行程式若包函此目標檔以及一部分的函式程式庫,仍然將在第 6 款的規定下)
否則的話,如果本作品是本函式程式庫的衍生品,您必須在第 6 款的規定下發佈該作品的目的碼。任何包含該作品的可執行程式也在第 6 款的範圍內,不論它們是否直接與本函式程式庫連結。
6. 做為上述條款的例外情況,您也可以將“使用函式程式庫的作品”與本函式程式庫結合或連結,以產生包含部分本函式程式庫的作品,並在允許使用者自身使用時可以修改該作品,以及在對修改進行反組譯除錯的情況下,您可以依照您的選擇發佈該作品。
(a) 您必須在每個作品的副本突顯出如下的注意事項:本函式程式庫在作品中被使用,以及本函式程式庫以及它的使用是在本許可證的規定下。您必須提供本許可證的副本。如果該作品在執行時顯示版權聲明,您必須在其中包含本函式程式庫的版權聲明,以及指引使用者取得本許可證的副本。同時,您必須做到以下其中一件事:
(b) 必須將完整的機器可讀的函式程式庫原始碼包含在該作品中,包括任何該作品使用到的改變(這些改變必須在前述第 1 與第 2 款的要求下發佈);而且,如果該作品是一個與函式程式庫連結的「完整的、機器可□的“使用函式程式庫的作品”」,則要有目的碼和/或原始碼,如此使用者可以修改本函式程式庫且可以重新連結,以產生包函修改過的函式程式庫的修改過的可執行程式。(理所當然的若使用者修改了函式程式庫的檔案定義內容時,則該作品不必然可以重新編譯以使用修改過的定義。)
(c) 在與函式程式庫連結時使用適當的分享函式程式庫連結機制。一個適當的機制是:(1) 在執行時使用已存在於使用者的電腦中的函式程式庫副本,而不是將函式程式庫的函數複製到可執行程式裡,以及 (2) 如果使用者安裝了一份修改過的函式程式庫,只要修改過的版本在介面上與該作品在編譯連結時所用的版本是相容的,則該執行程式可以與修改過的函式程式庫運作良好。
(d) 在該作品內提供書面報價,有效期不少於三年,以提供同樣的使用者上述第 6.(a) 款中的內容,費用不得超過該程式發佈的實際成本。 如果所發佈的作品是由指定的地點提供拷貝索取,則由同一地點提供上述內容的等價拷貝索取。
(e) 確定使用者已經收到該作品的一份複製,或是您已經寄給該使用者一份複製品。
對於一個可執行程式,其所需的“使用函式程式庫的作品”的形式必須包括任何要從中再產生可執行程式時所需的資料與工具程式。然而,有一個特殊例外,其所發佈的內容不需要包括任何一般與「可執行本程式的作業系統」的主要部分(如編譯器、核心等)一起發佈的部分(不論是原始碼或可執行碼),除非這些組成部分和可執行作品結合在一起。
有一個可能情況是,這些要求與其他通常不與作業系統在一起的私有函式程式庫的版權限制相抵觸,這樣的抵觸表示您不能將它們與本函式程式庫一起用於您發佈的可執行程式中。
7. 您可以將使用本函式程式庫的函式程式庫設備,以及其他不在本許可證範圍內的函式程式庫,對等地放入一個單獨的函式程式庫中,並在基於本函式程式庫的作品以及其他函式程式庫在其他狀態下同意可以個別發佈,以及您做到以下兩點的情況下,您可以發佈此結合的函式程式庫:
將基於本函式程式庫的作品單獨不與其他函式程式庫設備結合地,與此結合的函式程式庫一同發佈。該作品必須在上述條款的規定下發佈。
在此結合的函式程式庫中明顯地指出其中一部分的作品是基於本函式程式庫,並且說明那裡可以找到同樣不具結合形式的作品。
8. 除非您明確按許可證提出的要求去做,否則您不能複製、修改、轉發許可證、與本函式程式庫連結、和發佈本函式程式庫。任何試圖用其他方式複製、修改、轉發許可證、與本函式程式庫連結、和發佈本函式程式庫是無效的,而且將自動結束許可證賦予您的權利。然而,對那些從您那裡按許可證條款得到副本和權利的人們,只要他們繼續全面履行條款,許可證賦予他們的權利仍然有效。
9. 您沒有在許可證上簽字,因而您沒有必要一定接受此一許可證。然而,沒有任何其他東西賦予您修改和發佈本函式程式庫及其衍生作品的權利。如果您不接受許可證,這些行為是法律禁止的。因此,如果您修改或發佈函式程式庫(或任何基於函式程式庫的作品),您就表明您接受這一許可證以及它的所有有關複製、發佈和修改本函式程式庫或基於它的作品的條款和條件。
10. 每當您重新發佈函式程式庫(或任何基於函式程式庫的作品)時,接受者自動從原始許可證頒發者那裡接到受這些條款和條件支配的複製、發佈、連結或修改本函式程式庫的許可。您不可以強迫接受者履行除了這裡賦予他們的權利之外的其他限制。您也沒有強求協力廠商履行許可證條款的義務。
11. 如果由於法院判決或違反專利的指控或任何其他原因(不限於專利問題)的結果,使得強加於您的條件(不管是法院判決,協議書或其他)和許可證的條件有衝突時,他們也不能令您背離許可證的條款。在您不能同時滿足本許可證規定的義務及其他相關的義務來發佈函式程式庫時,則結果您只能夠根本不發佈函式程式庫。例如,如果某一專利許可證不允許所有直接或間接從您那裡接受副本的人們,在不付專利費的情況下重新發佈函式程式庫,唯一能同時滿足兩方面要求的辦法是停止發佈函式程式庫。
如果本條款的任何部分在特定的環境下無效或無法實施,就使用條款的其餘部分,並將這部分條款作為整體用於其他環境。 本條款的目的不在於引誘您侵犯專利或其他財產權的要求,或爭論這種要求的有效性。本條款的主要目的在於保護自由軟體發佈系統的完整性。它是通過公共許可證的應用來實現的。許多人已依賴同是出自此系統的應用程式,經由此系統發佈大量自由軟體而做出慷慨的供獻。作者/捐獻者有權決定他/她是否通過任何其他系統發佈軟體,許可證持有人不能強加這種選擇。
本節的目的在於明確說明許可證其餘部分可能產生的結果。
12. 如果由於專利或者由於有版權的介面問題使函式程式庫在某些國家的發佈和使用受到限制,則在許可證約束下的原始版權擁有者可以增加發佈地區的限制條款,將這些國家明確排除在外,並在這些國家以外的地區發佈函式程式庫。在這種情況下,許可證套件含的限制條款和許可證正文一樣有效。
13. 自由軟體基金會可能隨時出版較寬鬆通用公共許可證的修改版或新版。新版和當前的版本在原則上保持一致,但在提到新問題時或有關事項時,在細節上可能出現差別。
每一版本都有不同的版本號。如果函式程式庫指定可適用的許可證版本號以及“任何更新的版本”,您有權選擇遵循指定的版本或自由軟體基金會以後出版的新版本。如果函式程式庫未指定許可證版本,您可選擇自由軟體基金會已經出版的任何版本。
14. 如果您願意將函式程式庫的一部分結合到其他自由程式中,而它們的發佈條件不同,請寫信給作者,要求准予使用。如果是自由軟體基金會加以版權保護的軟體,寫信給自由軟體基金會,我們有時會作為例外的情況處理。我們的決定受兩個主要目標的指導,這兩個主要目標是:我們的自由軟體的衍生作品繼續保持自由狀態,以及從整體上促進軟體的共用和重複利用。
沒有擔保
15. 由於函式程式庫准予免費使用,在適用法准許的範圍內,對函式程式庫沒有擔保。除非另有書面說明,版權所有者和/或其他提供函式程式庫的人們“一樣”不提供任何類型的擔保,不論是明確的,還是隱含的,包括但不限於可銷售和適合特定用途的隱含保證。全部的風險,如函式程式庫的品質和性能問題都由您來承擔。如果函式程式庫出現缺陷,您應當承擔所有必要的服務、修復和改正的費用。
16. 除非適用法或書面協議的要求,在任何情況下,任何版權所有者或任何按許可證條款修改和發佈函式程式庫的人們都不對您的損失負有任何責任。包括由於使用或不能使用函式程式庫引起的任何一般的、特殊的、偶然發生的或重大的損失(包括但不限於資料的損失,或者資料變得不精確,或者您或協力廠商的持續的損失,或者函式程式庫不能和其他軟體協調運行等)。即使版權所有者和其他人提到這種損失的可能性也不例外。
-條文結束- 如何將這些條款用到您新的函式程式庫 如果您開發了新函式程式庫,而且您需要它得到公眾最大限度的利用,要做到這一點的最好辦法是將它變為自由軟體,使得每個人都能在遵守本條款(或者是在原來的通用公共許可證的條款)的基礎上對它進行修改和重新發佈。
為了做到這一點,請將函式程式庫附上下列聲明。最安全的方式是將它放在每個原始碼檔案的開頭,以便最有效地傳遞拒絕擔保的資訊。每個檔至少應有“版權所有”行以及在什麼地方能看到聲明全文的說明。
<用一行空間描述函式程式庫的名稱和它的用途簡單說明>
版權所有 © 19XX 作者姓名
這一函式程式庫是自由軟體,您可以遵照自由軟體基金會出版的 GNU 較寬鬆通用公共許可證條款來修改和重新發佈這一程式,或者用許可證的第二版,或者(根據您的選擇)用任何更新的版本。
發佈這一函式程式庫的目的是希望它有用,但沒有任何擔保。甚至沒有適合特定目的而隱含的擔保。更詳細的情況請參閱 GNU 較寬鬆通用公共許可證。
您應該已經和函式程式庫一起收到一份 GNU 較寬鬆通用公共許可證的副本。如果還沒有,寫信給:
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
此外還應加上如何藉由電子郵件或一般信件與您保持聯繫的資訊。
如果需要,您應該取得您的上司(如果您是程式師)或您的學校簽署放棄函式程式庫版權的聲明。下面只是一個例子,您應該改變相應的名稱:
Yoyodyne 公司以此方式放棄 James Random Hacker 所寫的“Frob”函式程式庫(用以扭轉 knobs 的函式程式庫)的全部版權利益。
<Ty coon 簽名>,1990.4.1
Ty coon 副總裁
全部就只有這樣了!