這是本文件的舊版!
自由開源軟體授權條款的三分法
葛冬梅/文 2007-01-11
既有的自由開源軟體授權條款為數眾多,光是經過開放源碼促進會 (Open Source Initiative, OSI) 核可通過的開源軟體授權條款就超過 50 份,而在自由軟體基金會 (Free Software Foundation, FSF) 網站上,被認定符合四大自由的自由軟體授權條款也超過 60 份,因此對於需要辨識這些授權條款的開發者來說,如果能有一個可以快速檢示授權條款差異的方式或是工具是會很有幫助的。
不過到目前為止,在這個領域還沒有一個所謂「可以快速辨識授權條款差異的方法」,所以自由軟體鑄造場 (Open Source Software Foundry, OSSF) 在這樣的狀況下,為使用者開發出了「授權指引」與「授權精靈」(註一)這樣的授權指引工具,如果使用者開發的為原生軟體專案,則可以透過此一網頁程式的操作,在回答幾個問題之後,簡便地挑選到適合使用的自由開源軟體授權條款。不過,如果對於使用者來說,授權精靈所詢問的相關問題若仍還是過於複雜、難以理解,這時候筆者就會用更簡潔的自由開源軟體授權三分法,來解釋不同類型授權條款之間的差異,那就是:「GPL 類別、BSD 類別與其他類別」的分類方式。
◎ GPL 類別強調軟體專案無論後續如何散布,使用者都會擁有不受限制的改作與重製散布等自由,不過相對而言、程式的改作者與散布者必須保障後手的改作與散布自由,就是 GPL 類別程式使用者所會受到的最大限制。
屬於 GPL 類別的授權條款,常見者除了自由軟體基金會所發布的 GPL-2.0、LGPL-2.1、GPL-3.0、LGPL-3.0,與 AGPL-3.0 之外,較著名的還包括了 OSL (Open Software License version 3.0) 與 CPL (Common Public License version 2.1)。
GPL 類別可以用 GPL-2.0 (GNU General Public License version 2) 來做基礎解說。GPL-2.0 授權條款的最大特色就是承襲嚴格 Strong Copyleft 的精神(註二),當軟體程式是適用這一類的授權條款時,無論使用者所散布的 GPL-2.0 軟體元件是否經過修改,後續均必須繼續使用 GPL-2.0 來對外授權,並且對於授權規定的內容,程式的改作者與散布者也沒有太大的調整地位。這樣的遊戲規則從法律層面來說,影響較大的會是修改程式之人,因為依照著作權法的預設,當一個軟體程式是改作者依據原作品進行衍生開發時(前提是改作者必須預先取得原著作權利人允許改作的授權),當修改到達一定顯著程度之後,新的衍生作品會被視為一個獨立的新著作來保護,也就是程式的改作人成為新作品獨立的著作權利人,依一般傳統的商業授權模式下,改作者原則上多半會擁有決定新作品日後授權方式的地位,然而 GPL-2.0 的授權機制,是以免授權金便得以取得程式並改作為條件,去「交換」掉 GPL-2.0 程式改作者的此一地位,也就是說、程式可以在不需負擔授權金的前提下得到,然而改作之後的作品,仍然必須以 GPL-2.0 授權條款的方式來對外釋出。GPL-2.0 授權條款如此規定的目的,是希望 GPL 授權程式後續的使用者,可以一直保有取得程式原始碼 (Source Code) 的地位,進而達到世上多數軟體的使用者都有軟體改作權利的目的,這就是推動者所謂「軟體自由 (Software Freedom)」的理念。可以說,這類 GPL 類別的條款,為了實現軟體自由的理念,而以契約訂立的方式,限制了程式改作者後續選擇授權條款的自由。
而因為此類的授權方式只允許改作後的程式,採用原本程式的授權條款,所以在運用上有個很大的特色:那就是與其他帶有 Copyleft 性質的自由開源授權條款彼此互斥。所以說,並不是同樣歸於 GPL 類的自由開源授權方式就是彼此相容的,除了 LGPL-2.1 與 GPL-2.0、LGPL-3.0 與 GPL-3.0、AGPL-3.0 與 GPL-3.0 之間,在條款內容裡預設有彼此相容的除外條款(註三),其餘 GPL 類別的自由開源軟體,彼此之間的程式碼是無法直接結合來運作,甚至可以說是水火不容地互相排斥。
◎ BSD 類別著重的是原始專案著作權利人的創作名譽,使用者對於此類授權元件,具有不受任何拘束的改作與重製、散布自由,甚至改作之後的程式原始碼,也不限定一定得依自由開源授權的方式接續散布,但一旦散布的話,必須要保留、彰明原專案權利人的著作權聲明與免責聲明,以及其他條款進一步規範的顯名聲明。
與 GPL 類相反的是 BSD 類:無論一個程式是否修改過,使用者再次散布時可以自由決定授權內容,甚至採用不提供原始碼、收取授權金的授權內容也沒關係。這一類授權條款以 BSD (BSD License) 為著名代表,而 BSD 之所以會有這樣自由開放的授權內容,肇因於 BSD最出草擬者加州柏克萊大學所採取的顯名主義態度:草擬出來的 BSD 肩負著將柏克萊大學研發出來程式廣為散布的責任,廣為散布的目的是為了彰顯柏克萊大學的聲譽,因此即使被業界用來營利也可以,因為此舉無損、甚至有益於顯 明目的。所以採用這一類條款授權的程式具有無限的運用空間,使用起來相當自由。
AFL (Academic Free License v. 3.0)、MIT (MIT License)、Apache 1.1 (Apache Software License v. 1.1)、Apache 2.0 (Apache License v. 2.0) 以及 zlib/libpng (zlib/libpng License) 等皆屬於 BSD 類的授權條款。
無法歸類到以上兩類的授權條款,我就通通都說是屬於其他類。其他類的授權條款數量最多、最龐雜,也因此這類授權條款無法有一個統一的特色 來加以描述。其中有採取「部份 copyleft」的MPL (Mozilla Public License v. 1.1),有重在紀錄修改過程的 Artistic (Artistic License),每份授權條款均有其個別特色。
這樣的三分法看上去很簡單,提供想要迅速了解授權條款差異的人一個便捷的方法,是一個快捷了解自由/開放源碼授權條款種類的好途徑。在這 個基礎之上,可以協助需要者解決選擇授權條款之問題,例如:若是認同保持原始碼開放共享理念之人,就可以選擇 GPL 類的授權條款;或者是在抓取程式碼開發新程式時,為了避免授權條款不相容情況產生,必須注意是否使用到了 GPL 類的條款。在接下來的法律園地文章中,預計將會有關於授權條款選擇的介紹內容,也將以此三分法為基礎來討論。
不過若是對授權條款有進一步了解之必要時,三分法就有所不足,而是必須詢問對於授權條款細部內容有所了解之專家了。
註一:授權指引 2.3 版 ;授權精靈 3.3 版 。
註二:Copyleft 授權機制指的是某些授權規則,會隨著公眾授權的作品不斷傳散下去,而持續性的向後拘束,其細節相關內容請參見:葛冬梅,讓人既愛又頭痛的 GNU GPL:http://www.openfoundry.org/index.php?option=com_content&Itemid=56&id=525&task=view/,自由軟體鑄造場電子報,第 33 期;而所謂的 Strong Copyleft,指的是授權規則不但會被持續傳散,甚至可能強烈到嗣後不能被他人進行任何程度的修改與調整。
註三:LGPL-2.1 授權的程式碼融入 GPL-2.0 專案後,可以改為以 GPL-2.0 來授權,LGPL-3.0 授權的程式碼融入 GPL-3.0 專案後,亦可以改為以 GPL-3.0 來授權,此為單向式的授權轉換關係,限定由 LGPL 轉為 GPL,不可逆向由 GPL 轉為 LGPL;而 AGPL-3.0 與 GPL-3.0 授權條款之間,則是彼此在條款文字裡皆預先標註了相容機制,讓 AGPL-3.0 與 GPL-3.0 授權的元件,能夠統合在一個專案下彼此運作,而個自保有原來的授權方式而不會互相干擾與影響。