Users Guide

及變更該軟體的自由。相較之下,GNU 通用公共授權意於確保您分享及變更自由軟體的自由,確保軟體免費供其所有使用者使用。
本授權「程式庫通用公共授權」適用於某些特別指定的「自由軟體基金會」軟體,以及作者決定使用本授權的任何其他程式庫。您也
可以將其用於您的程式庫。我們提及自由軟體時,意指使用上的自由,而非價格。我們的通用公共授權旨在確保以下事項:您有散佈
自由軟體複本的自由 (若您希望,可針對此服務收費);您能接收原始碼,或在您需要原始碼時能夠取得;您能變更軟體,或在新的自
由程式中使用部分軟體;以及您確知可從事上述事務。為保護您的權利,我們需要設下限制,禁止任何人否認您擁有這些權利或要求
您拋棄這些權利。若您散佈程式庫的複本或修改程式庫,這些限制會轉化為您必須承擔的特定責任。例如,若您散佈程式庫的複本,
無論是免費或收費,都必須將我們賦予您的權利全數交付收受者。您必須確定他們也能收到或取得原始碼。如果您將程式連結至程式
庫,您必須提供完整的物件檔案給收受者,使其能在變更程式庫並重新編譯後,將檔案重新連結至程式庫。此外,您必須向其展示這
些條款,使其知悉自己的權利。我們保護您權利的方法有兩個步驟:(1) 為程式庫取得版權,以及 (2) 提供您本授權,賦予您複製、
散佈及/或修改程式庫的法律許可。此外,為保護各個散佈者,我們必須確定所有人皆瞭解此自由程式庫沒有擔保。若某人修改並傳
遞程式庫,我們需要其收受者知悉所取得的項目並非原始版本,因此由他人造成的問題將不會影響原始作者的聲譽。最後,任何自由
程式都會不斷地受到軟體專利的威脅。我們希望避免散佈自由軟體的公司個別取得專利授權,並因此實際上將程式轉化為專屬軟體的
威脅。為避免此情況發生,我們在此明確聲明任何專利都必須為了每個人的自由使用而核准,否則就不應核准專利。大多數的
GNU
軟體,包括部分程式庫,皆涵蓋在針對公用程式所設計的一般 GNU 通用公共授權中。本授權「GNU 程式庫通用公共授權」適用於某
些特定的程式庫。本授權與一般授權有相當的差異;請務必閱讀全文,且不要假設其中任何內容與一般授權相同。我們針對部分程式
庫有個別公共授權的原因是,這些程式庫模糊了我們通常對於修改程式或新增內容至程式與單純使用程式間的差異。在不變更程式庫
的情況下連結程式與程式庫,在某種意義上而言,為單純使用程式庫,類似於執行公用程式或應用程式。然而,在字面及法律意義而
言,連結的可執行檔為結合作品、原始程式庫的衍生品,而且一般通用公共授權也如此論述。由於此模糊差異,針對程式庫使用一般
通用公共授權無法有效推廣軟體分享,因為大多數開發人員不使用程式庫。我們的結論是較寬鬆的條件或許能更有效地推廣分享。然
而,若無限制地連結非自由程式,會使那些程式的使用者無法受益於程式庫本身的自由狀態。此程式庫通用公共授權意在允許非自由
程式的開發人員使用自由程式庫,同時保留您作為此等程式之使用者在變更其中納入之自由程式庫的自由。(在變更標題檔案方,我
們尚未看到實現此目標,但在變更程式庫的實際功能方面,我們已實現此目標。) 我們期望這將使自由程式庫更快速地發展。適用於
複製、散佈及修改的確切條款與條件如下。請特別注意「以程式庫為基礎的作品」和「使用程式庫的作品」之間的差異。前者包含衍
生自程式庫的程式碼,而後者則是僅與程式庫搭配運作。請注意,程式庫可能受一般通用公共授權所約束,而非此特殊授權。適用於
複製、散佈及修改的 GNU 程式庫通用公共授權條款與條件 0.凡著作權人或其他獲授權方在任何軟體程式庫中放入聲明,指出該軟體
程式庫得依此程式庫通用公共授權 (又稱為「本授權」) 條款散佈,本授權即適用於該軟體程式庫。每個被授權人皆稱為「您」。
「程式庫」係指軟體功能及
/或資料的集合,其目的在於方便連結應用程式 (此等程式使用部分前述功能及資料),以形成可執行檔。
以下提及的「程式庫」係指已依這些條款散佈的任何此等軟體程式庫或作品。「以程式庫為基礎的作品」係指依著作權法律規定的程
式庫或任何衍生作品,亦即包含全部或部分程式庫的作品,可能為原樣照抄或經過修改及/或直接翻譯為另一語言。(在以下內容中,
術語「修改」包含但不限於翻譯。) 作品中的「原始碼」係指修改作品的偏好形式。若為程式庫,完整的原始碼係指其中所含之全部
模組的所有原始碼,加上任何相關聯的介面定義檔,以及用於控制程式庫編譯與安裝的指令碼。複製、散佈及修改以外的活動不在本
授權的涵蓋範圍中;此等活動超出授權範圍。使用程式庫執行程式的行為不受限制,而此等程式的輸出僅在其內容構成以程式庫為基
礎的作品時 (並非在編寫程式庫的工具中使用程式庫),始受本授權約束。程式的輸出是否構成以程式庫為基礎的作品,則取決於程式
庫及使用該程式庫之程式的功能。1. 針對您收受的程式庫完整原始碼,您可以使用任何媒體複製及散佈原文照刊複本,惟您必須:在
各複本上以顯著且適當的方式發佈適當的著作權聲明與保固免責聲明;完整保留提及本授權及無擔保的所有聲明;以及連同程式庫散
佈本授權的複本。您可以針對傳輸複本的實際行為收取費用,亦可自行選擇是否收費提供擔保。
2. 您可以修改程式庫或其任何部分的
一或多個複本,形成以程式庫為基礎的作品,並依上述第 1 節條款的規定複製及散佈此等修改品或作品,惟您必須滿足以下所有條
件:a) 修改後的作品本身必須是軟體程式庫。b) 您必須在修改的檔案上置入顯示的聲明,指出您已變更檔案及變更日期。c) 您必須
依本授權條款的規定,使整個作品免費授權予所有第三方。d) 若已修改程式庫中的功能參考使用該功能之應用程式提供的功能或資
料表格,而非叫用該功能時傳遞的引數,您即須善盡良善努力確保若應用程式未提供此等功能或表格,該功能仍可運作,且執行其部
分目的持續有意義的任何作業。(例如,程式庫中有用於計算平方根的功能,該功能有其完整定義且獨立於應用程式的目的。因此,
2d 小節要求此功能所使用由任何應用程式提供的功能或表格必須為選擇性:如果應用程式未提供功能,平方根功能仍必須計算平
方根。
) 這些要求適用於整體已修改作品。若該作品中可辨識的部分並非衍生自程式庫,且可以合理視為獨立且個別的作品,則在您
將其以個別作品的方式散佈時,本授權及其條款不適用於該部分。但是,若您將相同部分作為以程式庫為基礎之作品的一部分散佈,
則整體作品的散佈必須遵循本授權的條款,不論各部分的作者是誰,其他被授權人的權限將延伸至整體作品。因此,本節之目的並非
主張權利,或是質疑您對於完全由您撰寫之作品的權利,而是要行使權利,控制以程式庫為基礎之衍生或集合作品的散佈。此外,在
儲存裝置的磁碟區或散佈媒體上,單純將其他並非以程式庫為基礎的作品彙總至程式庫 (或以程式庫為基礎的作品),不會使其他作品
納入本授權的涵蓋範圍內。3. 您可以選擇特定的程式庫複本適用一般 GNU 通用公共授權,而非本授權的條款。若要這麼做,您必須
修改所有提及本授權的聲明,使其提及一般 GNU 通用公共授權第 2 版,而非本授權。(若有比一般 GNU 通用公共授權第 2 版更新的
版本出現,您可以依需求指定該版本。) 請勿在這些聲明中進行任何其他變更。在特定複本中執行此變更後,對於該複本即為不可逆
的,因此一般 GNU 通用公共授權適用於所有後續複本及從該複本製作的衍生作品。若您要將程式庫的部分程式碼複製到非程式庫的
程式中時,此選項很實用。
4. 您可以依上述第 1 節及第 2 節條款規定,以物件碼或可執行檔來複製及散佈程式庫 (或依第 2 節的條款
複製及散佈程式庫的一部分或其衍生作品),惟其中必須隨附完整對應的電腦可讀取原始碼,而此等原始碼必須依上述第 1 節及第 2
節條款規定,以通常用於軟體交換的媒體上散佈。如果物件碼的散佈是提供從指定位置複製的存取權,則提供同等存取權以從相同位
26
第三方授權