一直对ExtJS的收费问题存有疑问,今天网上去细查了下,看了下关于ExtJS的许可协议。ExtJS从2.0.2版本以后,其许可协议就从LGPL变成了GPL。
GPL:General Public License 的缩写。GNU通用公共许可证,是由自由软件基金会发行的用于计算机软件的协议证书,使用该证书的软件被称为自由软件。它的主要思想可以归纳以下几点:
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来发行。
LGPL是GPL的变种,也是GNU为了得到更多的甚至是商用软件开发商的支持而提出的。与GPL的最大不同是:可以私有使用LGPL授权的自由软件,开发出来的新软件可以是私有的而不需要是自由软件。所以任何公司在使用自由软件之前应该保证在LGPL或其它GPL变种的授权下。
ext2.0.2,还是基于LGPL发行的,因此,可以用于商业用途。