Hi mdlu,
Ext JS 是以 GPL3 來進行授權的,所以關鍵點在於「您利用這個軟體的方式包不包括散布它」(如果您的客戶能夠透過後台操作來取得 Ext JS 的程式碼的話,也會被當成散布行為的一種模式)。
參考資料整理:
1、Ext JS 的授權說明:
https://www.sencha.com/products/license.php
2、Ext JS 使用的自由軟體授權條款 GPL3 全文連結:
https://www.gnu.org/copyleft/gpl.html
3、Ext JS 雙重授權模式(GPL3/商業授權)的說明:
https://www.sencha.com/company/dual.php
4、Ext JS 的應用程式除外條款:
https://www.sencha.com/products/floss-exception.php
5、Ext JS 其他開發行為的除外條款:
https://www.sencha.com/products/ux-exception.php
重點說明條列:
1、Ext JS 是以 GPL3 和商業授權方式同時併行釋出的,若是能以 GPL3 的授權方式使用它,就可以不用支付其著作權利人商業授權費用。
2、GPL3 授權的 Ext JS 可用來做商業利用,但這個商業利用的方式也必須符合 GPL3 的各項義務性規定。
3、這類義務性規定最重要者,就是散布 GPL3 授權的 Ext JS 程式時,要一併承擔同時或嗣後散布該程式原始碼(Source code)給收受程式目的碼(Binary code)的後手。
4、除了 GPL3 授權的 Ext JS 程式本體外,其他依賴 Ext JS 的程式若被視為其「衍生著作(Derivative works)」的話,也要一併受到 GPL3 授權方式的拘束,一併要同時或是嗣後散布此「衍生著作」的程式原始碼給收受程式目的碼的後手。
5、但是 Ext JS 為了鼓勵改作,同時以著作權利人的身份放寬了其對「衍生著作」的認定範圍,除外的範圍規定在「應用程式除外條款:
https://www.sencha.com/products/floss-exception.php」,以及「其他開發行為的除外條款:
https://www.sencha.com/products/ux-exception.php」這兩份文件裡。如果您對 Ext JS 的開發使用方式符合除外條件,自行編寫改作的部份也可以不受到 GPL3 授權方式的限制。
6、透過網路元件來進行遠距商業服務(Application provide service)原則上不算是散布該元件的程式目的碼,但是、若是使用者能登錄後台,並下載使用者網站程式進行備份,以供將來移轉(Transfer)之用,則這些下載程式本體的行為,可能就該當了 GPL3 散布程式碼的行為。
所以結論是:
1、使用 GPL3 版授權的 Ext JS 架設網站並收取使用費用是合於授權條款的規定的;但是若將該程式的程式碼散布給使用者,則必須同時或嗣後提供該程式的程式原始碼予使用者。
2、對於 Ext JS 程式的改作行為,若不符合「應用程式除外條款:
https://www.sencha.com/products/floss-exception.php」,以及「其他開發行為的除外條款:
https://www.sencha.com/products/ux-exception.php」這兩份文件所描述的除外範圍,則散布 Ext JS 程式及您自行編寫的「衍生作品」時,亦須同時或嗣後提供 Ext JS 及其衍生著作的程式原始碼給使用者。
希望以上的回覆對您有所幫助,有後續疑問歡迎接續討論。
敬祝 順心健康
20100625 1045 自由軟體鑄造場 林誠夏