使用者工具

網站工具


essays_and_articles:openfoundry_legal_column_selected_collections_2011:稍稍鬆綁的堅持_lgpl

這是本文件的舊版!


稍稍鬆綁的堅持-LGPL

林誠夏/文 2006-01-19

LGPL 的英文全文是「GNU Lesser General Public License(註一)」,那麼顧名思義,LGPL 在內容上是較為寬鬆的「GPL (GNU General Public License)」,所以說、LGPL 的基本架構與義務性要求都與 GPL 如出一轍,例如 Copyleft 的授權循環拘束機制,不得向收受程式者收取軟體授權金等特色皆幾近相同,不過、既然名為「寬鬆」,那必然也會有若干獨立於 GPL 授權條款的不同之處。例如:1、在適用上 LGPL 授權條款只能適用於具有函式庫 (library) 性質的軟體程式;2、單純使用 LGPL 授權的函式庫並不必然開啟其授權條款的拘束性,也就是說、其他元件只是透過定式介面呼叫 LGPL 授權函式庫的功能,則這些元件並不必然會被視為 LGPL 函式庫的衍生程式,從而其個別的授權方式,也不會受到 LGPL 授權條款的拘束。此二點可說是 LGPLGPL 之間最大的特色差異,以下便就此二點進行補充論述。

LGPL 授權條款僅能適用於具有函式庫性質的軟體程式

LGPL 是自由軟體基金會 (Free Software Foundation, FSF) 針對函式庫(註二)所特別設計的授權條款,它稍微弱化了 GPL 追求絕對的軟體自由的實踐,GPL 向來有一項被戲稱「感染性」的特點,那就是取用了 GPL 程式的部分原始碼後再編寫出來的衍生作品,無可避免的受到 GPL 的拘束而一定得以 GPL 作為這個衍生作品的授權條款。在這方面,LGPL 取而代之是一種更為切合現實的推廣態度,在某些特殊的使用環境下,它提供了較之 GPL 更有利的分享方式。

如果照 GPL 原本的預設,程式的編寫者在設立與此使用 GPL 授權條款函式庫的連結時,就可能被定義為取用,因而被迫受到 GPL 的拘束,程式的編寫者反而可能因此怯步。但考慮到函式庫使用上的壯大在於各方的連結交互作用,一旦因為此等感染性的疑慮而削減了自由軟體類型的函式庫的被 使用率,則亦不為研議 GPL 的自由軟體基金會所樂見。所以,LGPL 就在這個思考立基點上脫穎而出,LGPL 定位在於提升自由軟體函式庫的市場佔有率,擴大其使用對象、引介更多使用者接觸了解自由軟體,藉此達到推廣自由軟體的目標,像 GNU C 函式庫及 GNU/LINUX 都是成功的例子。

是以,LGPL 條文的重點其實就在於訂立規則界定「基於函式庫」與「使用函式庫」行為的分野。所謂「基於函式庫」指稱與 LGPL 函式庫連結的他函式庫基礎乃衍生自 LGPL 函式庫的一部分,因而承襲 GPL 的感染性特點,會拘束此一連結函式庫也須以 LGPL 做它的授權條款;而「使用函式庫」則意指對於 LGPL 函式庫的單純利用關係,或者是微量取用(註三)亦可不受拘束。以上僅是原則性的解釋,詳細的分辨標準仍得進一步視個案而定。

LGPL 當然還有其他的特色,像是修改 LGPL 函式庫所產生的衍生作品,衍生作品本身仍然得是函式庫才能續用 LGPL 授權條款,若其為獨立的軟體程式,則只能轉而受到 GPL 授權條款的拘束;此外、使用 LGPL 授權條款的函式庫被允許在任何時候轉而使用 GPL 為其授權條款,但此轉換行為並不可逆轉。由此可看出來 LGPLGPL 之間既合作又競爭的共生關係,而 LGPL 就前段所說其為一種與現實折衝妥協的過渡帶,論到自由軟體基金會的原意還是希望更多人使用 GPL 授權條款來保障軟體的自由性持續散布。從 LGPL 的生成可以看到自由軟體授權模式由理想到與現實切合的調合觀點,從遠一點的角度來觀察,這種稍微折衷的調和模式有擴大其規模的可能性與未來性,值得日後持 續的追蹤與觀察。

註一:LGPL 在 2.0 版本之前的全稱為「GNU Library General Public License」,因為其可適用的對象限定在具有函式庫性質的軟體程式,然而、自由軟體基金會後來發現,由於名稱直接顯示為 Library,故許多使用者誤以為只要是函式庫性質的程式,使用 GNU 相關條款釋出時就必然要選擇 LGPL,其實就自由軟體基金會推動軟體自由 (Software Freedom) 理念的立場,其仍然希望部份的函式庫程式能以 GPL 釋出,而不是授權拘束性弱化後的 LGPL,故於 LGPL-2.1 版本之後,自由軟體基金會改以「GNU Lesser General Public License」來全稱 LGPL,而不再將 library 一詞直接顯示於條款名稱內。

註二:函式庫 (Library) 在資訊科學裡的定義,是某些元件的集合,這個元件負責不同的流程和功能,而可以利用這些元件間的相互運作,運用在研發軟體程式上。

註三:所謂的微量取用像是目的碼僅用了數字參數、資料結構層級、小巨集及一些內嵌功能(十行以內),雖然定義上符合衍生作品的範疇,但被認為微乎其微,所以不至於非得受到 LGPL 授權條款的選用拘束。

essays_and_articles/openfoundry_legal_column_selected_collections_2011/稍稍鬆綁的堅持_lgpl.1328841608.txt.gz · 上一次變更: 2019/01/16 03:35 (外部編輯)