InfoQ

新闻

从LGPL到GPLv3——ExtJS的协议转换在争论中继续

作者 Nick Laiacona译者 张龙 发布于 2008年5月4日 下午12时4分

社区
Java
主题
Web框架,
许可证
标签
AJAX

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开源协议例外的草案可以从这里得到。

查看英文原文:ExtJS Licensing Continues to Evolve as a Result of Controversal Switch from LGPL to GPLv3

没有回复

回复

独家内容

OpenSocial规范、实现现状与展望

OpenSocial为构建跨多个网站的社交应用程序提供了一组通用 API。开发人员可以使用标准 JavaScript 和 HTML 创建应用程序,用以访问社交网络里的朋友并更新对应的Feeds。本文是对本次QClub活动内容的一个简短总结,希望对没有到现场参会的读者了解OpenSocial有所帮助,也希望能引起大家更多的讨论。

运用Ruby纤程进行异步I/O:NeverBlock和Revactor

Ruby 1.9的纤程(Fibers)和非阻塞I/O越来越收到关注了。我们对来自NeverBlock项目的Mohammad A. Ali和来自Revactor项目的Tone Arcieri进行了访谈。

与杨巍一起探讨OpenSocial

InfoQ中文站有幸与Google中国的产品经理杨巍先生在一起探讨了OpenSocial的相关话题,包括OpenSocial的初衷、构成要素、实现方式、以及要实现它的技术储备等等。

书评:敏捷模式──指向成功的路标

Ryan Cooper对Amr Elssamadisy的新书发表了评价,并认为书中提供了一种为实施敏捷量身定做的框架。本书并没有给出一种人人可用的敏捷方法,而是为读者提供一些模式和工具,用以找出哪些敏捷实践可以最有效地达到该组织机构的特定目标。

构建的可伸缩性和达到的性能:一个虚拟座谈会

这个由业界主要专家们参加的座谈会探究了在使应用程序具备尽可能好的伸缩性及性能的过程中所面临的挑战和思考过程。

OpenSocial的分析与实现

本视频主要对OpenSocial进行了分析,并对实现的方式进行了介绍。其中包括:OpenSocial的开发经验、Container Provider的技术准备、平台的构成要素、具体的规范、以及对未来的展望。

缓存系统MemCached的Java客户端优化历程

Memcached在大型网站被应用得越来越广泛,但是Java客户端并不多,本文作者基于现有的开源客户端进行了封装优化,并翔实记录了这一过程。

超越SOA:动态业务应用的新企业应用框架(2)

在他们文章的第二部分,作者探讨了动态业务应用的架构并介绍了资源容器的概念。他们示范了如何在JEE之上构建这个架构,以及它如何影响实现生产力。