从下个版本起,FineUI 将不再内置 ExtJS ,不过我会提供说明如何使用 ExtJS(并单独提供精简版的 ExtJS 包供论坛用户下载),现有的程序升级到新版本将不受影响(只需要将精简版的 extjs 文件夹拷贝到程序根目录即可!)
这样的决定也是出于对 ExtJS 的尊重,来看 ExtJS 的授权协议:
Sencha is an avid supporter of open source software. Our open source license is the appropriate option if you are creating an open source application under a license compatible with the GNU GPL license v3. Although the GPLv3 has many terms, the most important is that you must provide the source code of your application to your users so they can be free to modify your application for their own needs.
If you would like to use the GPLv3 version of Ext JS with your non-GPLv3 open source project, the following FLOSS (Free, Libre and Open Source) exceptions are available:
Open Source License Exception for Development
之前对 ExtJS 授权协议的理解不深,只看到前半段内容,以为只要完全公开源代码就能采用 GPL v3 兼用的授权协议,而 Apache License 2.0 正是 ExtJS 官方列出的兼容协议之一。
没想到 ExtJS 对于采用非 GPL v3 授权下的开源软件还有如下更多的要求:
Additional Grants
As a special exception to the terms and conditions of version 3.0 of the GPL:
You are free to distribute an Extension licensed under one or more of the licenses listed below in section 5, as long as:
-
Your Extension does not contain any Code or modified Code from the Library.
-
You do not distribute the Library, as a whole or in part, with your Extension. Optionally, you should include instructions for developers using your Extension explaining how to obtain the Library.
-
You include PROMINENT notice in EVERY location you display the license information for your Extension that it uses the Library, that the Library is distributed under the terms of the GPL v3 and you must include a link to http://www.sencha.com/license.
-
Your Extension is distributed subject to one of the FLOSS licenses listed below, and is accompanied by the complete corresponding machine-readable source code on the same medium and under the same FLOSS license as the Extension
-
Your Extension can reasonably be considered to be adding to or modifying standard functionality of the Library for software development purposes and does not constitute an independent and separate application in itself.
我一一对照了一下现有的 FineUI,大部分都是满足要求的,但是目前 FineUI 是将 ExtJS 内置到 FineUI.dll ,这一点是和上述要求违背的。
出于对 ExtJS 的尊重,FineUI 将积极做出改变,但不会对目前使用 FineUI 的项目造成影响。
FineUI 采用商业友好的 Apache License v2.0,所以会从如下几个方面严格要求自己,遵守 ExtJS 对采用非 GPL v3 开源软件的要求:
- FineUI 的 Apache License v2.0 授权协议 与 ExtJS 的 GPL v3 兼容;
- FineUI 公开全部源代码,没有任何保留;
- FineUI 不包含 ExtJS 的任何源代码;
- FineUI 不将 ExtJS 作为整体发布,而是提供获取 ExtJS 的方法;
- FineUI 公开说明使用了 ExtJS 库,并指出 ExtJS 库是采用 GPL v3 授权协议的;
- FineUI 是为了将 ExtJS 引入 ASP.NET 领域,而非独立存在的库。
对于这样的改变,您有什么看法?