大家都知道,從ExtJS 2.0.2以后開始,ExtJS的許可協議,就從LGPL變成了GPL,只是一個字母的差別,對我們有什么影響呢?我看到在一些網站上的討論,竟有人說GPL比LGPL更加開放,因此,我想在這里把這個問題說清楚些。
GNU通用公共許可證(GNU General Public License),也就是GPL,它的主要思想可以歸納為以下幾點:
1、如果一個軟件使用GPL協議發行,那么這個軟件的使用者都可以免費使用它,還可以免費得到它的源碼,都有權對這個軟件進行修改、復制、再發行作品或作品的演繹版本。
舉個例子,linux 是基于GPL的,因此,我們每個人都可以得到它的源碼,可以對它進行修改,復制,再發行,或者在它的基礎上開發出自己的linux。因此,世界上才會有那么多的linux系統。
2、如果你對一個使用GPL協議發行的軟件進行了修改,或者在它基礎上開發出自己的軟件,那么,你的軟件也必須使用GPL協議進行發行。
還是這個例子,很多公司都在linux的基礎上開發出自己的linux操作系統,比如紅帽子,由于linux本身是GPL許可,因此,紅帽子版本的linux操作系統也必須采用GPL發行。這就是為什么我們能夠用到這么多的免費的linux系統的原因。
這里有個關鍵的問題,就是什么是演繹版本?如果我只是在我的產品里調用了EXT的函數,并沒有對ext進行修改,那我的產品也算是ext的演繹版本嗎?
這點,在很多地方都沒有明確的解釋,GPL的創建者,即自由軟件基金會,認為即使是調用了GPL軟件的函數庫,那么也算是演繹版本。但是另外一些人,卻認為不是。
正是如此,在美國,因為這個“演繹版本”的問題,經常打官司。
因此,如果你不想你的公司在以后的將來,可能會碰到官司,最好不要用ext 2.0.2以后的版本,除非你的公司產品也用GPL來發行。中國的公司,應該很少會開源吧,呵呵。
ext2.0.2,還是基于LGPL發行的,因此,可以用于商業用途。
由于ext協議的變化,在SF上出現了一個以ext2.0.2為基線,單獨發展的ext,叫openext。不過,extjs的作者,認為openext的做法是違法的。
那么,大家還準備繼續學習或使用extjs嗎?歡迎大家討論。


轉載請以連接方式注明來自
AJava.org