我注意到ExtJS决定将他们的许可从LGPL更改为GPLv3导致了很多controversy。我的问题不是关于ExtJS,而是关于GPL许可证如何影响Web应用程序。
为什么人们如此关注保持客户端源代码的关闭?并非所有客户端Web应用程序都是开源的吗?我的意思是,如果您使用HTML / CSS / JS,那么您将发布客户端的源代码。 这不是ExtJS的GPL要求你做的吗?最后我检查过,无论如何都无法关闭HTML / CSS / JS。
看看像GWT这样的代码生成技术,我假设您必须开源GWT生成的HTML / CSS / JS,而不是用于生成它的原始Java代码。这是对的吗?
答案 0 :(得分:6)
您正在混合源可用性和开源。是的,每个网站都必须提供HTML和JavaScript下载。但是,开源远不止于此。它需要授予自由的特定许可证,包括:
GPL就是这样一种许可。重要的是,它也是一个强大的copyleft。并非所有开源许可证都是copyleft。通常,如果您的代码源自强大的copyleft代码,并且您将其分发,则必须在相同的许可证下分发您自己的源代码。
LGPL许可证是一种弱的Copyleft。这通常意味着您只需要将更改分发到库,而不是应用程序代码。
特别是对于ExtJS,他们做出改变的原因是他们正在追求dual licensing商业模式。请注意,对于开源项目,它们也有certain exceptions(这是因为并非所有开源许可证都与GPL兼容)。基本上,开源应用程序可以免费使用它,没有太多问题。
但是,专有应用程序必须购买ExtJS专有许可证之一。
顺便说一句,Ext JS在此之前显然有一个凌乱的licensing history(例如LGPL与自定义车手)。
IANAL。 TINLA。