Hi takeshi_miao,
首先、非常感謝您在論壇中詢問這個問題,這才讓我發現之前回覆子標題的筆誤!
在原討論串「
https://www.openfoundry.org/tw/forum?func=view&catid=8&id=700#705」之中,回文的子標題寫「三、Apache-2.0的授權方式為何不相容於
GPL-3.0的授權方式?」,但實際上這句話因為筆誤將GPL-2.0,錯打成GPL-3.0(標題後的討論內容是正確的),應該改為「三、Apache-2.0的授權方式為何不相容於
GPL-2.0的授權方式?」
所以我將修改內容加到原討論串裡:
更正!原文為筆誤typo,Apache-2.0的授權方式是不相容於GPL-2.0,但只要能適用GPL-3.0第7條的額外添附條款-Additional Terms,則Apache2.0與GPL-3.0是相容的!
希望不會造成其他讀者的誤解。
----
那麼、以下接續回覆您提出的三個問題:
問題一、就此討論中得知,GPL和Apache授權並不相容,所以除了要將它們全部重寫之外,唯一的方法是不是只剩下跟此兩個軟體元件的copyright owner要求重新授權?
Apache-2.0與GPL-3.0的授權方式是相容的!所以在您的這個案例上,可以逕使用GPL-3.0、或是LGPL-3.0的授權方式,來釋出貴公司所撰寫的Java Library即可。
問題二、還是說除了GPL類型之相關授權之外,您還有其它建議可以提供的呢?
如果是讓使用者可以持續回饋(feedback),又打算用Open Source併合商業授權的雙重模式,那麼「GPL+商業授權(例如MySQL)」或是「LGPL+商業授權(例如QT)」確實是一般最常見到的雙重授權模式,我個人的看法是、如果貴公司所撰寫出來的這個Java Library已經成為一定程度的規模經濟了,那麼可以採行「GPL-3.0+商業授權」的方式(例如Sencha這個專案的Framework與Library),而如果貴公司的Java Library還在推廣階段,則可以採行「LGPL3.0+商業授權的方式」,後者的方式因為採用LGPL-3.0,故單純呼叫此Library來存取數據,並不一定會開啟LGPL-3.0函式庫的授權拘束性,從而也可以達到愈多人使用的推廣效果。(前例的Sencha Project,在推廣初期也是使用LGPL的方式來釋出其函式庫,待成就一定商業規模後,才在新版本改採GPL的方式來釋出其程式碼。)
問題三、假如最終我們授權的部分確定了,之後需要跑什麼流程嗎(both opensource and commercial)?
有幾個重點的流程建議:
(1) 在這個Java Library每個重要檔案的檔頭,都加上其簡要的授權聲明資訊,商業版本的就加上商業版本的授權資訊,Open Source的版本就加上Open Source版本的授權資訊,例如:
A、商業授權版本:
XXX Java Library, 2012 © YYY Corp. All rights reserved.
B、Open Source授權版本1:
XXX Java Library, 2012 © YYY Corp. Distributed under GNU Lesser General Public License v3.0 at www.YYY.com/xxx-project
C、Open Source授權版本2:
XXX Java Library, 2012 © YYY Corp. Distributed under GNU General Public License v3.0 at www.YYY.com/xxx-project
(2) 如果是Open Source的版本,並用GPL-3.0或是LGPL-3.0來對外釋出時,必須將GPL-3.0或LGPL-3.0授權條款的全文檔案,放在該專案程式的根目錄下,建議將此檔案命名為legal或是license,以純文字的格式來儲存即可。
(3) 設立專案網頁「
https://www.YYY.com/xxx-project」,並建立雙重授權的說明頁面「
https://www.YYY.com/xxx-project/license」,右列Sencha專案的連結便就是一個參考範例:
https://www.sencha.com/products/extjs/license/
約略是這樣,若是後續有衍生的相關疑問及問題,再請您隨時提出來討論!
敬祝 順心健康、事事如意
20111212 1630 LUCIEN C.H. LIN