登入  |  English
感謝您對「自由軟體鑄造場」的支持與愛護,十多年來「自由軟體鑄造場」受中央研究院支持,並在資訊科學研究所以及資訊科技創新研究中心執行,現已完成階段性的任務。 原網站預計持續維運至 2021年底,網站內容基本上不會再更動。本網站由 Denny Huang 備份封存。
也紀念我們永遠的朋友 李士傑先生(Shih-Chieh Ilya Li)。
新聞

自由軟體專案授權方式的轉換(上):不得撤銷原授權條款

筆者在工作上,接觸過不少國內的軟體開發者有這樣的疑問:自己的程式 A(以下簡稱 A)採用甲款自由軟體授權條款釋出,但是之後想要採用另外一份不同的乙款條款來授權的話,是否可以將專案原來的甲款授權方式撤銷 (revoke),然後改為新的乙款授權條款來授權?雖然部份授權條款並沒有明文說明這方面的規定,目前也沒有司法判決明確禁止這樣的行為,不過因為自由軟體授權條款具有授權給公眾利用後不間斷散布的特性,因此從條款的授權架構與軟體社群的運作習慣分析之,筆者並不認為自由軟體授權專案具有嗣後撤銷性。

本文將以目前最廣為應用的自由軟體授權條款 GPL 第 2 版(以下簡稱 GPL-2.0)為例,說明公眾授權條款的特性以及嗣後撤銷授權所可能產生的問題,以解釋為何自由軟體著作權人不宜逕行撤銷原授權,而必須採取其他的方式轉換專案的授權方式。

【依照目的性解釋 GPL-2.0 並不允許撤銷授權】

詳細翻閱 GPL-2.0 的條款內容,可以發現,這份條款裡面並沒有任何明示允許或明示禁止權利人撤銷授權的文字敘述(但 GPL-3.0 已有明文禁止撤銷授權的規定,註一),但是從目的性解釋的觀點來看,GPL-2.0 規劃的是一種「權利散布嗣後不會被撤銷的狀態」,我們可以從 GPL-2.0 第 4 條的授權規定了解這個觀點(註二),在 GPL-2.0 專案的散布過程中,若是中間散布者因不遵守 GPL-2.0 授權條款的規定而罹於「失權 (right termination) 」,那麼經由失權者得到此一 GPL-2.0 專案的後續使用者,依 GPL-2.0 第 4 條的規定,並不會因為上游散布者的失權,而導致自己的授權也受到影響。從這點可以看出,GPL-2.0 授權條款預設的是一種「不會向後失效的授權態樣」,所鼓勵的是「程式碼被不斷傳散利用」的立場,從這樣的目的性解釋來看,GPL-2.0 這樣的自由軟體授權條款,自然不當允許權利人在將程式碼向公眾進行廣泛授權後,又復自行撤銷授權。

【撤銷 GPL2 在實際運作上將引發的問題】

而一般法律上所謂的撤銷授權表示,是指將 A 的狀態恢復到跟沒有採用 GPL-2.0 授權之前一樣,也就是說,若同意公眾授權條款的權利人能夠嗣後撤銷其授權,則此 A 專案在法律狀態上自始都沒有以甲授權條款散布過,這樣的事後撤銷行為,將會涉及非常多的使用者與開發專案,範圍之廣可能會引發相當大的問題。這是因為 GPL-2.0 允許得到 A 專案的使用者可以自由地使用與散布程式,因此在權利人意圖撤銷 A 專案原先的甲授權狀態時,該專案可能已經被廣泛地散布到全球各地,所以當 A 的授權狀態改變時,所影響到的使用者範圍將是全球性的,此外許多使用者與開發者現實上根本無由得知 A 專案的甲條款授權條件已被撤銷,所以若是此 A 專案的權利人能嗣後任意撤銷原專案的授權,亦將連帶造成許多善意使用者在不知情的狀況下侵權利用該專案。

而任意撤銷自由軟體專案授權會帶來的另一個問題,則是影響其他自由軟體專案的開發穩定性。因為 GPL-2.0 允許自由修改,所以 A 極有可能已經被其他的社群開發者加以修改後,跟其他的程式結合成為一個更大的自由軟體專案。一旦 A 專案的權利人嗣後自行更改授權,這些利用到 A 的自由軟體專案,可能因為更改後的授權條款與專案中其他程式的授權內容不相容,進而需要費時耗工調整軟體架構、改寫授權狀態不再穩定的程式碼。因此撤銷原自由軟體專案的授權方式,將會影響到原合法利用 A 專案的自由軟體專案與這些專案的使用者。此外,由於自由軟體具有站在巨人肩膀上進行接力開發的特性,所以因事後撤銷授權所可能引發的授權紊亂將是多不勝數,此為第二個需要慎重考量的重大弊病。

【使用者的信賴共識應該受到保護】

GPL-2.0 自 1991 年發佈以來,至今已經過了 19 個年頭,在這期間全球自由軟體的使用者已經發展出一種對於 GPL-2.0 授權態度的信賴感:只要利用到 GPL-2.0 的程式碼,就表示不需要支付著作權的授權金費用,可以自由使用、修改與散布程式原始碼,並且不需要擔心著作權人是否會改變心意、撤銷授權。這樣的信賴感並非僅存在一年、兩年,或者是僅在少數人身上,而是經年累月地被絕大多數的軟體社群參與者所深信不疑著。因此雖然 GPL-2.0 的授權文字並沒有明文禁止著作權人撤銷其授權的意思表示,但是筆者認為自由軟體透過全球性的長年實際運作,所產生跨國性的信賴共識必須要加以肯定,並受到保護,否則對於長年利用 GPL-2.0 程式的使用者與其他自由軟體專案的開發者來說,將會遭受不合理的突襲,而對於那些無法得知授權狀態已經改變的使用者來說,這也是不公平的對待。

此外,在我國民法關於贈與契約的規定中,也可以看到信賴利益保護的類似規定。GPL-2.0 並不是民法定式的有名契約,但若將其與附負擔的贈與契約相比較,此兩種型態的法律行為裡,都有著當事人一方擔負一定責任後即可無償受惠的關係,因此我們可以參考贈與契約的相關規定來類推 GPL-2.0 的嗣後撤銷性:依據我國民法規定,若丙表示要將某一幅名畫送給丁,只要丁已經拿到這幅畫,原則上,丙就不能因為後悔或需要賣畫償還卡債等等理由,來要求丁歸還已經因贈與而收受的名畫,而若丙還沒有將畫拿給丁,則原則上丙可以在交付前撤銷這個贈與契約。但是,交付前的撤銷亦有其例外規定:若是丙丁之間的贈與契約經過公證,也就是經過一個公開確認的程序,那麼甲是不能因反悔而嗣後撤銷這個贈與契約的,即使此時畫作並未交付,也一樣不能撤銷(註三)。所以由此論述,既然法律可以保護丁對於公證過贈與契約的信賴,讓丁不用擔心丙會隨時反悔、撤銷契約,那麼透過近二十年全球自由軟體社群實際運作而產生「著作權人不會嗣後撤銷 GPL-2.0 授權方式的信賴共識」,也就更應該要被跨國性的尊重與保護。

【自由軟體專案的授權方式原則上應禁止被嗣後撤銷】

前述關於 GPL-2.0 授權禁止嗣後撤銷的論理,原則上也可以套用到其他的自由軟體授權條款上,例如:LGPL、BSD、MIT 與 Apache-2.0 等。但以上的立論並不表示,自由軟體專案的權利人嗣後完全無法異動該專案的授權模式,實務上若是著作權人對於原本的程式想要採用另外一種授權方式時,通常會將程式碼適度修改、更改該專案的版本號後,再透過其他的授權條款來釋出這個新版本的程式碼,例如原本的 A 是 1.0 版,經修改之後成為第 1.1 版,此時權利人能夠使用其他的自由軟體授權條款或收取授權金的商業授權方式來授權 1.1 版,但原 1.0 舊版則延續以甲條款來進行公眾授權,這樣的話,就可以在顧及使用者對於自由軟體授權信賴共識的前提下,也達到權利人嗣後轉換專案授權方式的目的。

本文下篇的文章連接頁面如右:https://www.openfoundry.org/tw/legal-article-/8219-2010-12-24-16-47-06


註一:GPL3 第 2 條第 1 項第 1 句:"All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met."

註二:You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

註三:請參閱我國民法第 408 條第 1 項:「贈與物之權利未移轉前,贈與人得撤銷其贈與。其一部已移轉者,得就其未移轉之部分撤銷之。」,同條第 2 項規定:「前項規定,於經公證之贈與,或為履行道德上義務而為贈與者,不適用之。」

您也許有興趣閱讀以下文章:




自由軟體鑄造場電子報 : 第 162 期 自由軟體專案授權方式的轉換(上):不得撤銷原授權條款

分類: 法律專欄



評論 

 
0 #1 王春生 2010-11-23 17:19
您好,我想請問一個問題。比如我 的軟件1.2版本是通過GPL發布的。那么 最新開發的1.3版本是否可以收回其GPL的授權 ,改為其他的協議發布?多謝。
 
 
0 #2 Florence T.M. Ko 葛冬梅 2010-11-23 17:54
只要您是這個軟體的著作權人,在 改版釋出1.3版時,當然可以改用GPL以外的 授權條款來授權發布1.3版。不過在此同時,您應該維持1.2版還是採用GPL來授權,不應 更動。

此外,若這個軟體不只有您一位著 作權人的話,您必須取得其他著作 權人的同意,才可以在釋出1.3版的時候採用與1.2版不同的條款來授權。

看您的用詞,您應該是大陸的朋友 ,我平時並沒有接觸大陸相關法規 ,若大陸有不一樣的規定,也希望 您不吝批評指教。
 
 
0 #3 WTFPL 2010-11-25 05:31
您好 我也想請問一個問題
假如有個軟體是用GPL發布的( Tonberry for Chrome)

但是作者卻認為網友散佈他的軟體 很缺德
所以關閉了該軟體跟原始碼的下載
(作者認為他有著作權 但是該軟體採用GPL授權 不是應該可以自由散佈的嗎)

這作者讓網友們十分困擾與不解
作者還甚至跟網友們筆戰
(作者提出的論點是該軟體0.8版本以前不是採用GPL授權)

所以 我的問題來了
那我可以去信要求原作者提供0.8版本以後的原始碼跟下載嗎
或是有什麼方法強制作者提供或釋 放出來
(有網友則是建議去gpl-violations.org舉報)

我認為這問題跟此篇
有許多不謀而合之處
所以特地留言請教 謝謝!!
 
 
0 #4 Florence T.M. Ko 葛冬梅 2010-11-25 19:31
Hi WTFPL,

一個GPL軟體的著作權人是可以 停止這個GPL軟體的散布,不再 提供任何的下載,不過針對之前已 經透過GPL散布出去的軟體,著 作權人還是要負責的。

若Tonberry for Chrome在0.8版之後都是採用GPL授權,那 麼拿到0.8之後版本的人,的確是可以向散 布Tonberry for Chrome的前一手索取原始碼 。例如路人甲從Google code上自己下載了Tonbe rry for Chrome 0.9來用,然後將這個0.9版也轉給程式開發者路人乙使用 ,乙用了之後想要修改其中某個功 能,因此跟甲索取原始碼,這時候 甲附有給予乙0.9版原始碼的義務,否則就是違反 GPL的規定。若甲之前也沒有下 載原始碼,所以之後再次造訪當時 下載0.9版的網站,為了下載原始碼給乙 ,卻發現著作權人停止散布0.9版的原始碼,這時候甲可以寫信 給Tonberry for Chrome的著作權人,依據G PL的規定來索取採用GPL授權 的0.9版原始碼,若著作權人不提供的 話,那這是著作權人沒有遵守自己 所採用的授權條款,有可能會引發 法律糾紛、並因此負擔法律責任。

因此若你當初是從著作權人的To nberry for Chrome專案網站上面下載來 用GPL版本的話,您是可以寫信 跟著作權索取GPL版本的Ton berry for Chrome原始碼。

此外,我稍微鼓歌了一下這個軟體 ,發現Tonberry for Chrome在Google code上面的專案已經不再散布 原始碼,授權狀態是"Other Open Source",所以我目前手邊並沒有任何第1手資料可以參考、查證事實。所以 我建議:從使用者的角度來說,要 弄清楚哪些版本是採用GPL授權 的?有那些取得GPL版本的使用 者想要原始碼、卻無法獲得?而從 著作權人的角度來說,著作權人( 也就是作者)將所有的散布點都拿 掉的原因是為了什麼?作者的哪些 權利受到侵害?有哪些人違反了G PL的規定、侵害作者的權利?這 些事實釐清之後,再來討論著作權 人是否、以及應該釋出哪個版本的 原始碼,才會比較聚焦。
 
 
0 #5 S. Peter 2010-11-26 09:56
這位作者在FIREFOX的To nberry附加元件時期就引起 過類似爭議:
forum.moztw.org/.../

www.openfoundry.org/.../941
本人在其他BLOG留言提供搜尋 得到的附加元件下載點,和如何修 改FIREFOX 3.5設定以便關閉相容性檢驗,為此 得到該作者在專案首頁指名道姓出 言不遜的殊榮……

一個爭議主要是他提供的套件多半 是接手他人釋出的GPL軟體,當 上游為GPL時,是否他釋出的版 本也必須維持GPL授權?
 
 
0 #6 王春生 2010-12-02 02:03
我是大陸的。大陸這邊對開源的法 律法規甚少,法律界也鮮有人關注 。我從咱們這邊學到了很多的東西 。真是個學習的好地方。非常感謝