Open source 开源GPL Sencha Ext JS 4.0与商业版

Open source 开源GPL Sencha Ext JS 4.0与商业版,open-source,gpl,extjs,Open Source,Gpl,Extjs,我有一个商业SaaS应用程序的想法,我想使用Sencha的ExtJS框架构建这个应用程序。我理解在我使用ExtJS构建应用程序之前需要支付商业许可证的费用,但我很好奇为什么在开发过程中需要支付许可证的费用。我认为构建和测试应用程序是可以的,看看它是否可行,是否有市场,然后在实际销售之前支付许可证的费用 除此之外,我并不打算这么做,但如果我在没有许可证的情况下使用Ext JS开发我的应用程序,然后在实际销售之前购买了一个,Sencha有没有办法知道呢?这更正式一些。。。您在GPL下编写的所有代码

我有一个商业SaaS应用程序的想法,我想使用Sencha的ExtJS框架构建这个应用程序。我理解在我使用ExtJS构建应用程序之前需要支付商业许可证的费用,但我很好奇为什么在开发过程中需要支付许可证的费用。我认为构建和测试应用程序是可以的,看看它是否可行,是否有市场,然后在实际销售之前支付许可证的费用


除此之外,我并不打算这么做,但如果我在没有许可证的情况下使用Ext JS开发我的应用程序,然后在实际销售之前购买了一个,Sencha有没有办法知道呢?

这更正式一些。。。您在GPL下编写的所有代码(如果您没有安排其他许可证,您仍然拥有所有GPL权限)都受GPL条款的约束。您有权重新发布代码,无论是单独发布还是作为您自己产品的一部分发布,前提是您也可以使用相同的GPL条款将源代码提供给相同的人

但是,如果我在没有许可证的情况下使用ExtJS开发我的应用程序,然后在实际销售之前购买了一个,Sencha会知道吗


不!它只是受到GPL许可证的限制。在购买专有许可证之前,我还开始使用GPL进行开发。只要你在私下里做这些事,以后就不会有人知道了。

回答你的问题有三件事:

  • 如果您使用GPL软件并且不修改它,您可以按照您喜欢的方式在商业上使用它
  • 如果您确实修改了GPL许可软件并将其分发,则必须提供修改的源代码
  • 如果您不分发您的软件,而是使用GPL许可的软件提供服务(SaaS),那么您不需要做任何事情
总之:因为您在SaaS产品中使用ExtJS,所以可以使用开源版本,无需使用商业计划

看,最重要的一点是:

换句话说,作为服务交付的软件现在正式不包含在GPL中


免责声明:IANAL

带有通常的IANAL警告

在开发过程中,您不应该需要商业许可证,直到与您不同的法人实体使用该应用程序为止。根据Sencha的说法,在这一点上,您必须获得商业许可证,或者必须将完整的源代码、客户端和服务器发布给相关的最终用户

来自Sencha的许可常见问题:

我可以先用GPLv3版本开始开发,然后在发布应用程序之前购买商业许可证吗

不,我们的商业许可证条款不允许这样做。您必须在开发生命周期开始时选择要使用的许可证(商业许可证、GPLv3许可证或OEM许可证)

关于它的总结没有如果,但是是或者可能是

对于仅在客户端使用Sencha工具包的SaaS产品,您是否需要商业许可证很难回答

从Sencha的网站():

软件程序的定义

因为边界定义了一个 在现代应用程序体系结构中,单个软件程序可能模糊不清, 我们在确定软件的构成时遵循“什么”规则 程序,遵循GPLv3的主要原则,即 用户应该可以自由修改所需的整个软件程序 将GPL'd代码用于其自身目的”。用于软件程序 使用当今基于远程网络的web体系结构构建 用于内部通信而不是传统通信的服务接口 静态或动态链接,相关软件程序为 应用程序代码的总和,包括在 服务器和在客户机上执行的代码,前提是服务器代码 是应用程序不可或缺的一部分。我们将其从定义中排除 “软件程序”,包含在软件程序中的软件 通过服务接口提供辅助于 程序的主要目的、与应用程序无关的功能 由多个单独的应用程序使用的逻辑或功能 所述应用程序以外的其他应用程序。有了这个警告, 请记住,在和中使用任何特定的技术方法 其本身并不保证“派生”不会被保留 已经发生了

范例

例如:让我们看一个抵押贷款处理软件 节目。假设应用程序有一个前端(即 生成链接到Ext JS(JavaScript)的网页,用于通信 通过JSON/HTTP和后端服务。此后端服务包含 仅此应用程序的批准和验证逻辑即使只是 前端使用EXT JS代码,你应该考虑 前端和后端的组合构成应用程序,以及 需要提供后端和前端的源代码 如果使用应用程序,则发送给GPLv3下的应用程序最终用户 由不属于持有本协议的同一法律实体的最终用户提供 Ext JS代码的GPLv3许可证。

接下来,假设抵押贷款应用程序网页也提供 允许用户搜索当前利率的功能,以及 提交客户支持通知单(与此目的相关的辅助功能 这些功能由单独的 服务器端服务。我们不认为这些程序是编撰的。 用于GPLv3的软件程序的一部分。对于 例如,在所有情况下,我们不考虑提供的数据库。 应用程序的数据接口超过标准接口 应用程序的名称

在我看来,给出的例子非常清楚

然而,这假设他们已经正确地解释了
    When to use the commercial version
If you’re going to build a commercial application with Sencha Products, you must write your application code under the commercial license from the beginning of the application development process.