【IT168 技术新闻】Jack Slocum-时下流行的Javascript库ExtJS的开发领导者,本周宣布为使用ExtJS 2.1及后续版本开发的开源软件开辟两个例外,这是社区努力的结果。这个举动是对最近围绕在ExtJS协议上的转换(从LGPL到GPLv3)引起的疑惑所做的一个回应。
第一个例外将会覆盖社区开发的Ext JS扩展:对我们来说,第一步是针对扩展的开源协议例外。当前该例外还处于草案状态,在最终定稿前我们还将寻求来自社区的建议。
起草这个例外的目的在于为扩展、语言包、主题及在各种开源协议下为Ext库开发的开源工具集与框架提供更自由的协议。
Jack Slocum在Ext JS博客上撰文谈到了第二个例外的起草计划,该例外将覆盖使用Ext JS API的免费或开源软件(FLOSS)项目;在完成扩展例外之后,下一步,我们将会为Ext JS和Ext GWT起草一个FLOSS例外,方式与MySQL AB为 Ext JS和Ext GWT定义的例外类似:
http://www.mysql.com/about/legal/licensing/foss-exception.html
该例外将针对使用Ext JS的开源应用。它将覆盖一些扩展例外所不具备的内容(例如,可以“打包”),但它并不会适用于扩展或工具集,因为那将是扩展例外所支持的内容。
对ExtJS协议最初的争论始于Ext JS 2.1的发布,正是在该版本中,Ext JS的协议由Lesser Gnu Public License (LGPL)转变为Gnu Public License v3 (GPL v3):直到2.1版之前,Ext一直以其独有的协议“Ext License”进行发布,该协议是在LGPL协议的形式下增加了一些特定条件的检验来授权使用。随同Ext2.1之前的版本共同发布的CSS和图片(“资产”)都有它们各自独立的协议,而这些协议与开源协议完全不兼容。我们从开源社区一些重要成员那里收到很多关于我们的协议对开源项目不友好的负面反馈。一些人甚至说Ext根本不能算开源,他们认为这些协议没有提供标准的开源协议所提供的那种自由。由于从一开始,我们就是一个开源的公司,所以这些评论和关注刺痛了我们,我们认为有必要澄清一下。
尽管最初的协议转变说明了该项目是开源项目的事实,但却没有完全考虑到那些没有使用或无法使用基于GPL协议的项目。另外,对于在LGPL协议下免费使用该产品的非开源项目以及无法使用GPL协议的项目来说,它们的反馈无疑也是负面的。
这星期初,这个情况激发了一个叫做OpenExt的分支项目,并引发了很多关于Ext JS协议是否允许这类分支项目存在的疑问:根据该分支项目发起者对LGPL协议的应用方式,Ext就此声明对现存的2.0版创建分支项目是违法行为。他们的行为可能是错误的,但如果是正确的话,那么他们对LGPL这个名字的使用会引起极大的误导。
Ext JS协议的当前状态已列入到项目协议FAQ中。针对扩展的ExtJS开源协议例外的草案可以从这里得到。