[...] The whole story becomes a bit more complicated when GPL is applied to a javascript library. When users are using the library, they will download HTML, CSS images and the javascript library. The first thing to realize is that you are distributing the code. It was on your server and now it on the computer of the user. This gives any user the right to look at the javascript code and reuse it for another project. This means that you can’t obfuscate the javascript code and people can copy/paste it for there own use. This probably how you currently look at javascript anyway. But how about the HTML, CSS and images, can that be publicly used? No it can’t. Those items aren’t code as defined in the GPL license, it should be considered data. Therefor GPL doesn’t ally to that part of the application.
A web application will probably not only have client side code, it will also have a part on the server in the form as PHP (or JSP, or Ruby, or ..) scripts. The big question is, do we need to release that part as well (under GPL license). Although we as developers think of the client and server part being 2 parts of the same application, GPL does not. When using AJAX, the client code is interacting with the server. However you can compare it to any other client/server application. This may be interpreted as 2 applications between which data is transfered, therefor both may have different license. This is called the ‘ASP loophole’ and is as an error by some. When GPLv3 was drawn up, a clear decision was made to not close this loophole.
As with regards to whether or not internal usage constitutes distribution, this is from the GPL FAQ:
Is making and using multiple copies within one organization or company "distribution"? No, in that case the organization is just making the copies for itself. As a consequence, a company or other organization can develop a modified version and install that version through its own facilities, without giving the staff permission to release that modified version to outsiders. However, when the organization transfers copies to other organizations or individuals, that is distribution. In particular, providing copies to contractors for use off-site is distribution.
So IANAL, but I'd say you'd be pretty safe to use a GPL'd javascript library for internal systems, and even if you start exposing it to the rest of the world, the only restriction that applies is that if you use GPL'ed javascript libraries in your front end code, you'd have to make unobfuscated versions of your javascript files available. If you only use ExtJS for the admin area (and the admin area is only accessed by your employees) you'd still be clear of the distribution clause of GPL, the way I understand it.
Interestingly, there's another version of GPL called AGPL, which tries to close this "loophole".
The GPLv3 will apply unless you buy a commercial license. That is to say, unless you buy a commercial license, your company needs to agree to distribute the software to anyone to whom you distribute a copy of any part (ie. by sending it over to their browser) and otherwise comply with the terms of the GNU GPLv3.
Now, if this is only going to be used by employees of your company, and you don't mind giving your employees copies of your internal-only software (and, potentially, permission to personally redistribute the same), you may not mind being bound by the GPLv3. Ask your lawyer for their opinion as to whether letting employees use the software when acting as agents of the company requires licensing them a copy which they can redistribute when not acting as agents of the company -- my personal interpretation is that it doesn't, but I'm not a lawyer, cannot give legal advice, am not giving legal advice, and may well be wrong anyhow.
Bottom line: if you license your software under the GPLv3 and comply with that license, you're fine deriving from Ext; the GPL doesn't require you to distribute your source to anyone you haven't distributed any portion of the derived work to, so if it's truly in-house and never leaked (even via third-party folks downloading copies of the javascript files into their web browser), you may well be OK -- but find out what your management and legal council are comfortable with!
Now, if you (or your corporate lawyer) isn't comfortable with that (and not being comfortable with that would not be particularly surprising!), you can buy a commercial license. They're pretty reasonably priced, especially if you're buying them on a per-developer basis for only a small number of people.
According to the official license information, if you are going to derive a commercial advantage from your CMS, you are required to purchase the appropriate number of commercial licenses, unless you distribute your source code with a GPL license. In other words, you are not required to purchase commercial licenses for Ext even if you make a profit on your CMS, as long as you make your source code available under a GPL license.
发布评论
评论(3)
看看Planet MySQL - GPL 和 Javascript 中的这段引用:
至于内部使用是否构成分发,这来自 GPL FAQ :
所以 IANAL,但我想说你在内部系统中使用 GPL 的 javascript 库是非常安全的,即使你开始将它暴露给世界其他地方,唯一适用的限制是如果你使用如果您的前端代码中包含 GPL 的 javascript 库,则您必须提供 javascript 文件的未混淆版本。 如果您仅将 ExtJS 用于管理区域(并且管理区域仅由您的员工访问),您仍然会清楚 GPL 的分发条款,按照我的理解。
有趣的是,还有另一个版本的 GPL,名为 AGPL,它试图堵住这个“漏洞”。
Take a look at this quote from Planet MySQL - GPL and Javascript:
As with regards to whether or not internal usage constitutes distribution, this is from the GPL FAQ:
So IANAL, but I'd say you'd be pretty safe to use a GPL'd javascript library for internal systems, and even if you start exposing it to the rest of the world, the only restriction that applies is that if you use GPL'ed javascript libraries in your front end code, you'd have to make unobfuscated versions of your javascript files available. If you only use ExtJS for the admin area (and the admin area is only accessed by your employees) you'd still be clear of the distribution clause of GPL, the way I understand it.
Interestingly, there's another version of GPL called AGPL, which tries to close this "loophole".
除非您购买商业许可证,否则 GPLv3 将适用。 也就是说,除非您购买商业许可证,否则您的公司需要同意将软件分发给您向其分发任何部分副本(即通过将其发送到他们的浏览器)的任何人,并遵守以下条款: GNU GPLv3。
现在,如果这仅供您公司的员工使用,并且您不介意向您的员工提供仅供内部使用的软件的副本(并且可能允许个人重新分发该软件),那么您可能不介意受 GPLv3 约束。 询问你的律师关于让员工在充当公司代理人时使用该软件是否需要向他们授予一份副本的意见,以便他们在不充当公司代理人时可以重新分发该副本 - 我个人的解释是不需要,但我不是律师,不能提供法律建议,我也不会提供法律建议,而且很可能是错误的。
底线:如果您根据 GPLv3 许可您的软件并遵守该许可,那么您可以从 Ext 派生; GPL 不要求您将源代码分发给您未分发任何派生作品的任何部分的任何人,因此,如果它确实是内部的并且从未泄露(即使通过第三方人员将 javascript 文件的副本下载到他们的网络浏览器),您可能没问题——但要了解您的管理层和法律委员会对什么感到满意!
现在,如果您(或您的公司律师)对此不满意(对此感到不满意也不会特别令人惊讶!),您可以购买商业许可证。 它们价格相当合理,特别是如果您按每个开发者的价格购买它们的话只有少数人。
The GPLv3 will apply unless you buy a commercial license. That is to say, unless you buy a commercial license, your company needs to agree to distribute the software to anyone to whom you distribute a copy of any part (ie. by sending it over to their browser) and otherwise comply with the terms of the GNU GPLv3.
Now, if this is only going to be used by employees of your company, and you don't mind giving your employees copies of your internal-only software (and, potentially, permission to personally redistribute the same), you may not mind being bound by the GPLv3. Ask your lawyer for their opinion as to whether letting employees use the software when acting as agents of the company requires licensing them a copy which they can redistribute when not acting as agents of the company -- my personal interpretation is that it doesn't, but I'm not a lawyer, cannot give legal advice, am not giving legal advice, and may well be wrong anyhow.
Bottom line: if you license your software under the GPLv3 and comply with that license, you're fine deriving from Ext; the GPL doesn't require you to distribute your source to anyone you haven't distributed any portion of the derived work to, so if it's truly in-house and never leaked (even via third-party folks downloading copies of the javascript files into their web browser), you may well be OK -- but find out what your management and legal council are comfortable with!
Now, if you (or your corporate lawyer) isn't comfortable with that (and not being comfortable with that would not be particularly surprising!), you can buy a commercial license. They're pretty reasonably priced, especially if you're buying them on a per-developer basis for only a small number of people.
根据官方许可信息,如果您要从CMS中获得商业优势,则需要购买适当数量的商业许可,除非您使用GPL许可分发源代码。 换句话说,即使您在 CMS 上获利,只要您在 GPL 许可证下提供源代码,您就不需要购买 Ext 的商业许可证。
http://extjs.com/products/license.php
http://extjs.com/company/dual.php
According to the official license information, if you are going to derive a commercial advantage from your CMS, you are required to purchase the appropriate number of commercial licenses, unless you distribute your source code with a GPL license. In other words, you are not required to purchase commercial licenses for Ext even if you make a profit on your CMS, as long as you make your source code available under a GPL license.
http://extjs.com/products/license.php
http://extjs.com/company/dual.php