吳先生您好,
其實,如果將雙重授權(dual license)的自由開源軟體元件,改聲明為單一授權,作法有輕簡、亦有繁重的方式,若從簡來說,原來您所使用的library在著作權宣告方面,僅有“Dual licensed under the MIT and GPL licenses”,確實您將其改為“Licensed under MIT License”之後,就算是聲明其後僅依MIT的方式來使用這個元件。不過,由於多數的自由開源軟體授權元件,在散布時都會夾附一份授權條款的電子全文在程式碼根目錄下,通常這個授權文字檔會被稱為COPYING、COPYING.txt、LICENSE、LICENSE.txt、LEGAL、或是LEGAL.txt,而為了避免讓人誤會您所取用的元件還是與GPL有關,提醒您仍是瀏覽一下根目錄裡的這些文件,若裡面內含GPL授權條款全文,那就建議由您手動刪除掉,這樣將較沒有產生後續爭議或誤會的風險。
而至於B部份的宣言要不要加,較慎重的作法還是建議要加,因為,倘若不做這些聲明的變動,那就表示您所取用的library,在您釋出之時仍然是以MIT License來授權釋出,那麼,以MIT License釋出的元件,但在後手要求之後拒絕提供程式源碼,這一般來說是會讓軟體社群感到奇怪且不解的,舉例來說,如您現在登錄Google Code、GitHub、SourceForeg,或本單位設立的OpenFoundry等開源程式碼託管平台,某一專案聲稱其程式碼是以MIT License或是BSD License釋出,但當您向專案的開發團隊索取程式源碼時,其回覆您以MIT License/BSD License授權的程式,並沒有必要一定要提供程式源碼給索取者,那大概會讓索取者感到丈二金鋼摸不著頭緒,因為雖然MIT License或BSD License,並沒有如同GPL那般要求衍生程式碼必須提供程式源碼,但其條款內容裡皆述明「授權使用者對軟體進行不受限的各種利用(dealing the Software without restriction)」,此一授權範圍包括修改(modify),而若不提供後手程式源碼,實際將導致後手無法修改該程式,也就是說,一般概念上,若願意提供程式源碼,散布者才會以MIT License或BSD License來將程式釋出,而倘若不願提供程式源碼,則就可以指定另一個非MIT License/BSD License的其他授權方式,來讓使用者了解該程式雖衍生自MIT License/BSD License授權的元件,然而此時已經是他種授權模式,故而不會有進一步的程式源碼可以索取。
實際的範例可參閱此信附圖,這是Windows-7作業系統在安裝時,如果安裝者點入「安裝之前所需知道的事項」,其所導引出來的軟體著作權利聲明。此張圖是說明,Microsoft在Windows-7裡,也使用了部份MIT License與BSD License授權的自由開源軟體元件,其後並沒有釋出相關的程式源碼,而實際的作法,就是Microsoft將這些程式碼改以自己的方式授權,但在著作權聲明中,述明原生的程式碼是引自HP或其他研究機構的開源專案。所以一般來說,這樣的方式會較為允當,但當然,實際狀況下有許多改自MIT License授權的元件,在散布時並沒有去改授權聲明,但亦沒有提供程式源碼,不過這個狀況沒有引發爭議的原因是,多數MIT授權元件的釋出者並不會特別去爭執此事,但如果真的依授權條款的要求與運作規則,將這類的元件改為非MIT License授權的狀態,還是一個較穩當而正式的作法。
希望上述這些補充說明對您有所幫助。
敬祝 順心健康、事事如意
:)
20131025 16:25 中研院 資創中心 自由軟體鑄造場 林誠夏
不好意思 想再詢問一下
就第一個問題
A 是只要把原本有GPL的聲明拿掉就可以了嗎? 因為我想使用的library 版權宣告的部分僅僅只有
“Dual licensed under the MIT and GPL licenses” 所以我可以直接把它改成 “Licensed under MIT”
就可以了嗎?
B 的部分是一定要加嗎? 因為原本的library只有“Dual licensed under the MIT and GPL licenses”
不太清楚要怎麼做才是正確的
感謝 總覺得沒有一套標準流程可以照著做 所以就有很多疑問 , 想使用又怕觸犯到版權