Hi secret715,
新春愉快!
首先、以我對GPL授權條款的認知和法律邏輯的解讀,GPL授權的程式是不允許次級授權(sublicense)的。我近期剛好也會撰寫這個題目的法律文章,預定在下週二之後發布,文章的內容,主要就是要說明不同的開源授權,修改程式碼之後能不能以自己個人的名義再散布出去,其實也有細部的不同。
一般文獻常將sublicense翻譯成「再授權」,但就我個人的觀點,這並不是一個很好的譯法,因為很多人就文義會以為sublicense就是relicense,但實際上,「再授權(sublicense)」與「重新授權(relicense)」不是同一個概念。前者、sublicense是一個法律詞彙,代表「被授權人轉以授權人的地位,將某個他從別人身上取得的權利,轉授權給其他的被授權人。」後者、relicense是一個口語詞彙,代表某個東西之前被授權過,但可能以改變對象的方式授權給其他人,或是以改變內容的方式,重新授權給同一個人。
(1)sublicense的內涵有兩個重點:
A、轉授原作者的權利給其他人
sublicensor轉授來自original licensor的權利給其他的licensee,例如A程式本來是作者甲以Apache-2.0授權釋出的,甲將這個A程式以Apache-2.0的方式散布給乙,而由於Apache-2.0允許sublicense,所以乙「可以用自己的名義」將這個A程式,或是修改A程式之後衍生的B程式,以GPL-3.0的方式「轉授權」給丙。
B、轉授權的範圍不超過原作者本來的授權範圍
「sub-」這個字首在英文的字義裡有「附屬、次級」的意思,從這邊我們可以了解到,sublicensor轉授權給其他人的權力範圍,不會比他直接從original licensor那邊得到的權利還大。
而以GPL-2.0授權條款的內容為解說:
1、GPL-2.0說明非依GPL-2.0,不得對GPL-2.0授權的程式為任何重製、修改、轉授權,或散布的動作。(You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License.)
然而,這句話並不能被直接反推,認為按照GPL-2.0就必然可以對程式進行「轉授權(sublicense)」方式的利用。GPL-2.0的條款內容,就是沒有明白像MIT授權條款一樣,容許修改者就修改後的程式直接以修改者自己的名義授權出去。
2、GPL-2.0清楚規定,修改別人的GPL程式,必須對修改資訊作清楚的交待。
You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.這段文字清楚的指出,如果修改了他人以GPL-2.0授權散布的檔案,那麼必須在之後的散布,清楚交待哪一個檔案被修改了,它的修改日期,以及必要的相關資訊。
所以說,「如果有人用您的程式參加比賽,但聲稱完全是由他自己開發,且完全刪去您原來的授權聲明,那麼這種行為確實是觸犯 GPL 授權條款的相關規定的。」
一般我們在GPL授權專案,被改作後常見的授權聲明,大多會標示為:
2013 (c) BBB Project, developed by Mr.B and Mr.A, the previous version of BBB Project is AAA Project on SourceForge under GPL-2.0 (
sourceforge.net/AAA/).
以上面這個授權聲明來作解說,Mr. A是專案的原始創作人,他將其創作的A專案以GPL-2.0的方式釋出,Mr. B是專案A衍生專案B的創作人,而依據GPL-2.0的規定,Mr.B在散布B專案時,應該要在授權聲明上將Mr.A與其A專案一併標示出來,才會符合GPL-2.0對授權標示方面的要求。
所以,如果您以GPL-2.0授權的專案被人改作後,卻刪去應該歸於您的標示,那是可以聯絡這個專案的改作人,請他就這部份進行檢討與改善的。
----
另外的問題是:使用GPL釋出軟體之後是否可以反悔?如不想繼續使用GPL這樣的授權方式的話,改用MPL或轉為一般私有授權軟體(Proprietary Software)的方式是否可行?或是直接在新的版本進行這樣的授權轉換?
嗯…前者、是沒有辦法的,自由開源授權在解釋上,以及後續條款的明文規定下,是禁止將授權嗣後撤回的(irrevocable)。新的授權條款例如GPL-3.0與Apache-2.0都有這樣的說明,但是、沒錯,您其實可以透過新版本的釋出,改變新的授權方式。例如AAA-1.0版時用MIT授權、AAA-2.0版時用GPL-2.0授權,AAA-3.0版時用MPL-1.1授權,然後AAA-4.0版時用商業專屬授權。重點是、之前以MIT取得1.0版的使用者,將可以繼續依照MIT的方式來使用1.0版本的程式,之前以GPL-2.0取得2.0版的使用者,將可以繼續依照GPL-2.0的方式來使用2.0版本的程式,然而,如果他們要使用新版本的程式碼,就必須依照新版本的授權方式,而不能依MIT或是GPL-2.0的授權方式,來使用新版程式新加的功能與程式碼。
這方面的資訊我與鑄造場的同仁葛冬梅小姐曾合著過一篇專文,自由軟體專案授權方式的轉換:
https://www.openfoundry.org/en/legal-column-list/8195-2010-11-22-18-38-45,如果您有興趣,不妨可以參考之前整理的內容。
希望上述的資訊對您有所幫助,如後續再有相關或衍生問題,歡迎隨時接續討論!
敬祝 順心健康、新年快樂
20130218 14:15 LUCIEN C.H. LIN