几个优秀的js框架的license问题,付费,版权,侵权
我的理解
1、 extjs:可以免费调用使用,以及商用,自己开发的软件有调用它也可以销售,不涉及侵权。如果你把extjs改为一个一个同性质的js框架软件,如果销售则是侵权,你的修改必须是开源,否则也侵权。
2、 coolite:社区版的可以给个人或者个人所在的公司免费使用。专业版的必须付费(如果你用它开发了软件并进行销售,那么也是需要付费的)
3、jQuery:轻量级,好用,前景好,vs2008sp1集成,开源的
4 、YUI,不好说,中性,规则,有专业团队维护,开源的。
(以下文章,有的是转载,版权归属作者)
什么是 GPL、LGPL 和 GFDL?它们和源代码以及商业销售之间的关系是什么?
GPL 是 GNU General Public License (GNU 通用公共许可证)的缩写形式;LGPL 是 GNU Lesser General Public License (GNU 宽通用公共许可证)的缩写形式,旧称 GNU Library General Public License (GNU 库通用公共许可证);GFDL 是 GNU Free Documentation License (GNU 自由文档许可证)的缩写形式。它们是自由软件(Free Software)的通用版权认证协议,由自由软件基金会(FSF)制定和发布。
基于 GPL 的软件允许商业化销售,但不允许封闭源代码。
如果您对遵循 GPL 的软件进行任何改动和/或再次开发并予以发布,则您的产品必须继承 GPL 协议,不允许封闭源代码。
基于 LGPL 的软件也允许商业化销售,但不允许封闭源代码。
如果您对遵循 LGPL 的软件进行任何改动和/或再次开发并予以发布,则您的产品必须继承 LGPL 协议,不允许封闭源代码。但是如果您的程序对遵循 LGPL 的软件进行任何连接、调用而不是包含,则允许封闭源代码。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/twj1710/archive/2006/04/27/679848.aspx
当Adobe、Microsoft、Sun等一系列巨头开始表现出对”开源”的青睐时,”开源”的时代即将到来!
最初来自:sinoprise.com/read.php?tid-662-page-e-fpage-1.html(遗憾的是这个链接已经打不开了),我基本未改动,只是进行了一些排版和整理。
参考文献:http://www.fsf.org/licensing/licenses/
现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有58种(http://www.opensource.org/licenses/alphabetical)。我们在常见的开源协议如BSD, GPL, LGPL,MIT等都是OSI批准的协议。如果要开源自己的代码,最好也是选择这些被批准的开源协议。
这里我们来看四种最常用的开源协议及它们的适用范围,供那些准备开源或者使用开源产品的开发人员/厂家参考。
BSD开源协议(original BSD license、FreeBSD license、Original BSD license)
BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。
但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:
1. 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
2. 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
3. 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。
BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。
Apache Licence 2.0(Apache License, Version 2.0、Apache License, Version 1.1、Apache License, Version 1.0)
Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和BSD类似:
1. 需要给代码的用户一份Apache Licence
2. 如果你修改了代码,需要再被修改的文件中说明。
3. 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
4. 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。
Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。
GPL(GNU General Public License)
我们很熟悉的Linux就是采用了GPL。GPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了。
GPL协议的主要内容是只要在一个软件中使用(”使用”指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。这就是所谓的”传染性”。GPL协议的产品作为一个单独的产品使用没有任何问题,还可以享受免费的优势。
由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。
其它细节如再发布的时候需要伴随GPL协议等和BSD/Apache等类似。
LGPL(GNU Lesser General Public License)
LGPL是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。
但是如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。
GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品
MIT(MIT)
MIT是和BSD一样宽范的许可协议,作者只想保留版权,而无任何其他了限制.也就是说,你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的
Extjs 官方 授权原文(翻译见下)
Licensing Overview - Ext JS and Ext GWT
Each Ext software product has several licensing options available. For more information about why these licenses were chosen, please visit the Dual Licensing Model page.
Commercial License
This is the appropriate option if you are creating proprietary applications and you are not prepared to distribute and share the source code of your application under the GPL.
Based on the "Quid Pro Quo" principle, if you wish to derive a commercial advantage by not releasing your application under an open source license, you must purchase an appropriate number of commercial licenses from Ext. By purchasing commercial licenses, you are no longer obligated to publish your source code.
Commercial licenses:
Are on a per developer basis. Each person who directly or indirectly creates an application or user interface containing Ext components is considered a developer.
Are perpetual and include upgrades to all minor revisions. For example: a 3.0 license includes all publicly 3.x releases including 3.0, 3.1, 3.3, etc.
Are royalty-free.
Remove any obligations to release any source code under GPL.
› View the license terms
› Purchase a commercial license
Open Source License
Ext JS is an avid supporter of open source software. This is the appropriate option if you are creating an open source application with a license compatible with the GNU GPL license v3.
Please visit the Dual Licensing Model page for more details.
For open source projects that are not distributed under the GPL v3 license, the following FLOSS exceptions are available:
Open Source License Exception for Applications
Open Source License Exception for Development
OEM / Reseller License
This is the appropriate option if you are creating a product that is a software development library, toolkit or framework. There are many benefits to partnering with us:
With an OEM license, your customers (developers) would not be required to meet the terms of the GPL license and can use Ext functionality under your license terms
You could offer the only official Ext-based product in your market
Many opportunities for co-branding and co-marketing
Get authorized support directly from the Ext team
› If you think this might apply to you, please contact us directly for details.
——翻译
近段时间不少朋友对EXT究竟是否免费没有答案,于是偶朋友James了翻译extjs.com关于EXT使用条款,他没有JAVAEYE ID,所以我来贴了:
EXT 授权释疑
EXT已提供几个可取的授权方式适合多种需要。
商业授权
很多顾客出于多方的原因需要一个传统的商业执照。这也许是对你的机构适当的授权,如果你:
1.不想在一个开源授权里有任何潜在的限制
2.必须拥有一个商业授权为了满足你的内部软件认证的需求
3.希望给与"EXT计划"财务上的支持,以确保其成功延续 (PS:想大家都有得玩,这才是重点)
开放原代码授权
Ext的授权是根据开源协议"LGPL"证书所制定的.你或许应该使用我方的开源认证,如果你:
1.在不含非开源软件的开源项目中使用Ext
2.计划用于私人,教育或非盈利用途
3.应用Ext于商业用途,但你却不想支付"EXT计划",没关系!"LGPL"协议会为你服务
浏览证书条款http://extjs.com/ext-oss-software-license
OEM / 转售认证
如果你能策划把Ext直接捆为一件产品,并作为方程式工具或插件工具框架来包装或出售,我方希望你能与我方合作,立一个适当专门认证.与我方合作你将可获取:
1.市场上独家供应正版Ext-based产品
2.大量合作品牌和合作市场的机会
3.Ext中直接获得授权的支助
如果你认为以上符合你的要求,请即与我方联系详谈
完。
投入项目前先做好功课
EXT无疑是最近前端开发最受关注的话题。在近一年的YUI-Ext 0.30/ExtJS 1.X开发之后,上周五ExtJS又推出它的升级版本2.0,而更多的开发者也参与到前端开发这一领域来。 在Web2.0/Enterprise2.0声势、日益强调用户体验的情况下,选择EXT是否明智?这些都需要开发者慎重决策。
项目参与EXT切忌盲目
据资深IT分析人士表示,目前界业内的Ajax热浪,一方面是由于2005年以来的Google一线产品使人带来极大的用户体验,另一方面来自对旧事物新改造的关注。
第一只“出海”的YUI-Ext只是作者Jack打算对基于BSD协议的Yahoo!UI库进行自定义的扩展,但后来一度风头盖过其父辈YUI,足以说明大家对它的热情,很多人把它投入项目人并不十分了解它。分析人士打了一比喻:就好比尚未谋面, 并不了解一个人的家庭、教育、品行等背景,只因为他有一副精致漂亮的外观,就对其陷入了疯狂的倾慕之中。因此分析人士建议,在投入项目前,要认真仔细地了解EXT的内在原理和与其他Ajax库不同地方。
Ext的UI组件模型和开发理念脱胎、成型于Yahoo组件库YUI和Java平台上Swing两者,并为开发者屏蔽了大量跨浏览器方面的处理。相对来说,EXT要比开发者直接针对DOM、W3C对象模型开发UI组件轻松。
Ajax库各有不同
目前业界中Ajax库的主要是服务端系(服务端生产JS代码)和原生系(直接浏览器的JS代码控制),有消息说今后各JavaScript库团队也准备推出UI产品。不同的“家族”背景,决定了它们开发的Ajax库应用与风格的不同。
从数目上来看,目前服务端系的Ajax库如(DWR、GWT、MS Ajax.Net)占据相当的市场份额,是较多用户的选择。
原生系的Ajax库近期也迅猛发展,在ExtJS顺利试水之后,jQuery的UI库也已经发行,Mootools则在年底之前推出,其它元老如Dojo也在积极筹备新版1.0。
原生系的Ajax开发在我国还是个新生事物,目前推出的Ajax库IDE支持方面普遍不足,需要大量的手工编码,各种浏览器之间的调试工具也不尽相同,属于较小开发者所掌握的技能,风险和人力成本都会相对比较高。
今后如果各JavaScript库团队推出自己的UI组件库,--由于大多数是开源的项目,因此其文档是否完善,案例、范例是否足够多,是否易于使用,都属于选型的相关指标。相对来说其社区越旺盛,其风险也就越小。
研究不同类别的Ajax库,开发者可以知道它的投入项目价值和怎么迎合自身开发需求,而各测试报告、DEMO演示则比较可以帮助开发者分析风险收益,进而根据客户需求目的、预期和风险承受能力,来选择心仪的一个库。比如为快速将数据生成到前端,适合选择服务端系的产品; 而追求较佳的用户体验,对界面设计,用户交互操作有一定要求者,则可以EXT、Dojo专业UI库来实现。而希望学习成本低的开发者,可以使用微软的Ajax.Net库,允许方便地“可视化编程”。
决定实施之前多作比较
实际上,目前关于是否应该封装EXT“控件”存在着两种完全不同的意见。已有实践开发EXT经验的朋友甚至原作者Jack都表示,手工JS编码更适合EXT开发,这样各组件的耦合颗粒度更细,项目整体的灵活度机会高。而另一派的观点则认为,在Java/.Net的大背景下,多数开发者希望利用IDE或类似VB的GUI“画出”控件这样强大的支持来解决表示层的方案,以提供工作效率;另一方面,大量JavaScript投入项目产生,开发者会因JavaScript另外一本质---基于函数式编程(LISP但是C语法系)的困惑而对项目设计而大打折扣,我们没有道理离开熟悉的领域到陌生的地方去冒险。
由于绝大多数EXT产品的都在实践和测试之中,因此,国内的开发者确实需要慎重思考,认真研读相关JS库的文档和资料,并将其与自己熟悉的JS库比较,确实了解其风险与客户需求再作决定。
另外对于打算购买商业许可的用户,开发者还需要注意不同的商业的价格是不一样的。每种许可一般分为仅源码、源码+技术支持和1.x的升级。而企业级的EXT许可证的门槛更高,大多在两万元人民币以上。
许可解读
EXT使用双重协议,其中之一是基于LGPL 3.0协议进行许可,另外是针对技术支持的商业许可。
而很多用户对EXT协议的理解目前暂时还是“雾里看花”。
按照官方网站的有关解析,如果商业使用不付费也是可以的,只要项目遵守LGPL 3.0的开源协议。
“Are using Ext in a commercial application that is not a software development library or toolkit, you will meet LGPL requirements and you do not wish to support the project”
“如果您应用Ext在一个商业应用中(即商业应用不是作为软件开发库或工具箱,一般可以认为是第三方组件),您可以参见LGPL要求(如果你不想支持Ext项目)”。
关于侵权,可以看看前面有网友说的。
@KF.咖啡
Ext商业行为是收费?难道我用他做了一个OA系统,卖给了别人,还得给Ext付一笔费用?这也太夸张了吧。先把Ext的授权协议搞清楚了才好啊,原文:http://www.extjs.com/license
其中第二条是免费授权,当然免费协议是有限制的,要求符合下面条件之一:
1、开源项目里面可以免费使用ext;
2、自己研究、教学等可以免费用ext;
3、可以把ext免费用于商业项目,但不能用来做软件开发库,也不能用ext做开发工具。(我的理解是:如果你开发一个开发工具,并且作为商业软件销售,里面有到了ext,这是会被追究责任的,当然如果你的开发工具是开源的,符合第一条,那就没问题了。)
当然还有其它一些协议,不过仅仅上面几条就能说明使用Ext用于商业用途没问题了,只要不是开发工具,你拿来做OA、ERP、网站什么的,不用担心什么,随便用吧。楼主的网站就算顶多算是一个用Ext做的商业网站,就跟我们公司用ext开发的OA系统一样,是不存在任何受权问题的。
当然有版权意识是好的,要是我们大家都尊重版权,这样我们程序员才有可能生活上富余起来,否则辛辛苦苦开的东西,别人几分钟就被起走了,然后简单改头换面就变成他自己的东西,所有人都这样做,大家就没法活了。
Coolite的license
Coolite Licensing
Coolite Inc. uses a Dual License model for the Coolite Toolkit and offers licenses to cover both Professional (closed-source) and Community (open-source) projects.
The Coolite Professional Edition is appropriate if you wish to develop, sell and/or otherwise distribute closed-source proprietary applications using the Coolite Toolkit and Ext JavaScript Library.
The Professional Edition is licensed on a per developer basis. Each individual who uses the Coolite Toolkit for development purposes must obtain a Coolite Professional License to do so. The Coolite Professional License also grants a royalty free runtime license, which means you can include the Coolite Toolkit in your product and sell an unlimited number of copies of your product without a royalty fee. The only requirement is that one Coolite Professional License is aquired for each developer working directly with the Coolite Toolkit in an IDE, such as Visual Studio, Visual Web Developer, or similar.
An officially licensed ExtJS Commercial License is included with the purchase of each Coolite Professional License. You DO NOT require a separate Ext Commercial License, as one is granted to you with each Coolite Professional License.
View Coolite Professional License
View Coolite Toolkit Licensing Forum
The Coolite Toolkit and Ext JavaScript Library are also both available with a GNU GPL 3.0 License.
The Coolite Community Edition may be appropriate for your project if you:
- develop and distribute open-source GPL 3.0 compatible software.
- use the software for personal testing, training or demonstration purposes.
- develop software for personal use.
- develop software for use only within your organization or company, under the following (GPL applied) terms:
1. The software must not be accessible by any persons outside your organization or company, and
2. The software must be developed exclusively by your organization "on-site". Transferring a copy of your software to another organization or individual "off-site", including contractors, is considered distribution. More info
The Coolite Community Edition may not be appropriate for your project if you:
- develop closed-source software which might be used, accessed, installed or obtained by persons from outside your organization or company.
- destribute your software and do not want to provide the full source code.
- do not wish to use an open-source GPL 3.0 License.
View Coolite Toolkit Licensing Forum
----翻译—
Coolite牌照
Coolite Inc. uses a Dual License model for the Coolite Toolkit and offers licenses to cover both Professional (closed-source) and Community (open-source) projects. Coolite公司采用了双许可模式Coolite工具包,并提供执照,既包括专业(非开源)和社区(开放源代码)的项目。
The Coolite Professional Edition is appropriate if you wish to develop, sell and/or otherwise distribute closed-source proprietary applications using the Coolite Toolkit and Ext JavaScript Library.专业版的Coolite是适当的,如果你想开发,销售和/或散布封闭源代码的专利申请使用Coolite工具和分机JavaScript库。
The Professional Edition is licensed on a per developer basis.专业版的授权以每开发基础。 Each individual who uses the Coolite Toolkit for development purposes must obtain a Coolite Professional License to do so.每一个人谁需要使用Coolite工具为发展目的必须获得Coolite专业许可这样做。 The Coolite Professional License also grants a royalty free runtime license, which means you can include the Coolite Toolkit in your product and sell an unlimited number of copies of your product without a royalty fee.专业执照的Coolite还赠款版税免费运行许可证,这意味着您可以包括Coolite工具在您的产品和销售无限数量的副本,您的产品没有专利费。 The only requirement is that one Coolite Professional License is aquired for each developer working directly with the Coolite Toolkit in an IDE, such as Visual Studio, Visual Web Developer, or similar.唯一的要求是,一Coolite专业许可证已获得每个开发工作直接与Coolite工具包在一个集成开发环境,如Visual Studio和Visual Web开发,或类似的。
An officially licensed ExtJS Commercial License is included with the purchase of each Coolite Professional License. ExtJS正式授权的商业执照附带购买每个Coolite专业许可证。 You require a separate Ext Commercial License, as one is granted to you with each Coolite Professional License. 您不需要一个单独的分机的商业执照,作为一个被授予给您每个Coolite职业许可证。
View Coolite Professional License 查看Coolite专业执照
View Coolite Toolkit Licensing Forum 查看Coolite工具包牌照论坛
The Coolite Toolkit and Ext JavaScript Library are also both available with a GNU GPL 3.0 License.该Coolite Toolkit和分机JavaScript库,也都提供了使用GNU GPL 3.0许可。
The Coolite Community Edition be appropriate for your project if you:该Coolite社区版可能是适合您的项目如果您:
- develop and distribute open-source GPL 3.0 compatible software.制定和分发开源的GPL 3.0兼容的软件。
- use the software for personal testing, training or demonstration purposes.使用该软件的个人测试,培训或演示目的。
- develop software for personal use.开发软件为个人使用。
- develop software for use only within your organization or company, under the following (GPL applied) terms:开发软件只用于在您的组织或公司,在以下( GPL的适用)条款:
1. The software must not be accessible by any persons outside your organization or company, and该软件不能访问任何人以外的组织或公司,并
2. The software must be developed exclusively by your organization "on-site". Transferring a copy of your software to another organization or individual "off-site", including contractors, is considered distribution. More info该软件必须制定完全由您的组织“现场” 。转移的副本软件给另一组织或个人“不在现场” ,包括承包商,被认为是分配。 更多信息
The Coolite Community Edition be appropriate for your project if you:该Coolite社区版可能并不适合你的项目如果您:
- develop closed-source software which might be used, accessed, installed or obtained by persons from outside your organization or company.开发封闭源代码软件,该软件可以使用,访问,安装或获得的人以外的组织或公司。
- destribute your software and do not want to provide the full source code. destribute您的软件和不想提供完整的源代码。
- do not wish to use an open-source GPL 3.0 License.不想使用的开放源代码的GPL 3.0许可。
Official GNU GPL FAQ 官方GNU GPL的常见问题