一直对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 发行的,因此,可以用于商业用途。
原帖:http://www.cnblogs.com/meiqunfeng/archive/2010/03/01/1676022.html