Hi legnaleurc,
只要這個軟體從頭至尾都是由您
自行開發的,
那麼
隨時變更授權方式都是可以的!
所以假設您原來的軟體專案是A軟體,
授權的方式是以GPL3來釋出,
而且軟體專案的內容完全係屬自行編寫。
那麼以下數種變更授權方式都是可行的,
A (GPL3授權)→ A (LGPL3授權)。
這種方式是將整個軟體專案都改授權掉。
或者是,
A (GPL3授權)→ A (CDDL授權)。
甚至是,
A (GPL3授權)→ A (Unopen原始碼的商業授權)。
前提是這整個軟體專案都是由您
自行撰寫的,
且需注意的是,這個變更授權的效應只能
向後生效,
之前以GPL3授權釋出的版本並
不能被撤銷,
原來以GPL3的授權方式得到軟體者,永遠都能以GPL3的授權方式來運用該A軟體。
另外、您原文中所提到的變更授權方式比較近似下面這種,
A (GPL3授權)→ A-main componet (GPL3授權)+Libcore(Library改為LGPL3授權)。
這也是可以的,
只要前提符合:(1)整個軟體專案皆由您個人撰寫;(2)Libcore為函式庫軟體(LGPL3只適用在函式庫上)。
那麼這個改授權一樣是向後生效,
之前以GPL3授權釋出的版本並不能被撤銷,
原來以GPL3的授權方式得到A軟體專案者,也永遠都能以GPL3的授權方式來運用該A軟體。
約略是如此。
實際的案例可以看Nokia將Qt從4.5版開始,增加以LGPL 2.1授權發佈的選項:
www.qtsoftware.com/about/news/lgpl-license-option-added-to-qt
另外要提醒的是,因為
自由軟體授權不可事後撤銷,
尤其是GPL3、LGPL3這類強烈Copyleft性質的自由軟體授權條款,
所以嚴格來說您變更授權方式後,
其實是「
原授權與新授權雙軌平行並呈」的方式來讓使用者選用,
所以建議如果變更了原軟體的授權模式後,
可以
增設新的版本別來讓使用者清楚的知悉這個改變,
例如,
原GPL3授權A程式為「版本1.0」。
之後A-main componet (GPL3授權)+Libcore(Library改為LGPL3授權)的版本,可以改稱為「版本2.0」或是「版本1.1」。
這樣使用者取用上比較不會產生誤會。
有後續問題歡迎接續討論。
敬祝 順心
20090518 1145 自由軟體鑄造場 林誠夏