2011-11-04 75 views
1

如果您发布GPL的JavaScript(v3)以及您自己的与后端服务交互的JavaScript,您需要在GPL下发布后端服务的源代码吗?Javascript和GPL

+4

我投票结束这个问题作为题外话题,因为它是关于许可或法律问题,而不是编程或软件开发。 [见这里](http://meta.stackoverflow.com/questions/274963/questions-about-licensing/274964#274964)了解详情,以及[帮助]了解更多。 – JasonMArcher

回答

3

假设你没有分发你的后端,那么你不需要提供源代码。即使您修改GPL代码也不行。

某公司正在网站 网站上运行GPL的程序的修改版本。 GPL是否表示他们必须发布其修改后的来源?

GPL允许任何人制作修改后的版本,并在不使用 的情况下将其分发给其他人。这家公司正在做的是 的特例。因此,该公司不必发布 的修改来源。

人们有必要自由地修改 并私自使用它们,而不必发布这些修改。 然而,将该程序放到公共服务器上的程序 几乎不是“私人”使用,所以在这种特殊情况下需要发布源代码 是合法的。希望 解决此问题的开发人员可能希望将GNU Affero GPL用于为网络服务器使用而设计的程序 。

免责声明:IANAL

source

如果不是AGPLv3,那么它可能会下降,甚至在ASP漏洞下。没有关于产品的更多细节,就不可能确定客户是否是单独的软件(是否有更多客户?)或其集成部分。然而,即使在客户端下的AGPLv3下降,那么你仍然可以不公布后端组件的源:

如果一些网络客户端软件AGPLv3下发布的,它有 到能够向与之交互的服务器提供源代码?

这在任何典型的服务器 - 客户端关系中都不需要。 AGPLv3需要一个程序来向“通过计算机网络远程与其进行交互的所有用户 ”提供源代码。在大多数 服务器 - 客户端体系结构中,将 说成服务器运营商是“用户”是不合理的“与 与客户交互有任何意义。

以HTTP为例。所有HTTP客户端期望服务器提供某些功能:他们应该发送指定的响应到 格式良好的请求。反之则不然:服务器不能假设客户端将会发送 发送的数据,特别是 。客户端可能是网络浏览器,RSS阅读器,蜘蛛,网络监视工具或某些特殊用途程序。服务器 可以绝对不会假定客户端会做什么 - 因此 没有有意义的方法让服务器运营商被认为是该软件的用户 。

它似乎有点灰色地带。常见问题解答似乎提出了一些引人注目的观点,即您不必公开源代码。

+2

我不认为这项规定适用,因为我们正在分发源代码和目标代码(javascript是GPL)。我关心的是javascript +我们的后端代码可能被认为是整个程序而不是独立的部分,我们将不得不GPL整个聚合。 – benmmurphy