我即将编写一个iPhone / Android应用程序,在我的移动设备上为一个开源项目提供了一个很好的GUI,这个项目主要是一个带有html前端的网络软件。服务器根据GPL 2的条款获得许可。
我将在服务器代码中实现一个JSON API。我也将在GPL 2下的服务器端发布API。
但是有关移动应用的最新消息?我认为这是一个新产品。它使用开源项目的API。但它是一个独立的应用程序不是吗?所以我可以为这个应用程序选择一个合法的许可证,并让用户付费,对吗?
谢谢!
答案 0 :(得分:3)
简答:不。
更长的答案:简单使用应用程序并不能使该应用程序的产品GPL.GPL说:
只有在输出内容构成涵盖作品的情况下,本许可才涵盖运行涵盖作品的输出。
这意味着只有当网站因其他原因而成为GPL时,在GPL服务器上运行的网站(运行覆盖工作的输出)才是GPL。
所以即使你的网站/网络服务和JSON API也不一定是GPL。但是..因为您的网站使用的是GPL覆盖的JSON API,所以它必须在GPL下发布。除非..您可以联系JSON API的作者(您自己),以授予您在非GPL许可下使用库的权限(在这种情况下,JSON API是双许可的)。在这种情况下......你甚至可以让你的网站/网络服务合适。
这甚至不考虑移动应用程序。网站本身不一定是GPL。移动应用程序当然没有必要成为GPL。除非..您碰巧在开发移动应用程序时使用GPL覆盖的库。或者..您的移动应用程序下载并执行GPL许可的javascript文件。
GPL不包括GPL涵盖材料的简单处理。例如,您可以自由地使用非GPL编译器来编译GPL代码,GPL允许这样做。这与从GPL涵盖的Web服务下载GPL覆盖数据的移动应用程序相同。
再次注意,即使您声明该网站是GPL,即使此处GPL也不会涵盖您的网站生成的任何JSON数据。为了使JSON数据成为GPL,您需要明确地向您的网站/ Web服务的用户指定它,或者让JSON数据本身包含版权声明:
{
"copyright" : "this data is copyright of krymel and is licensed under the GNU General Public License as specified at http://www.gnu.org/licenses/gpl.html",
"data" : "real data here"
}
因此,很可能您的移动应用甚至不使用GPL数据。即使它确实如此,也不会强迫该应用获得GPL许可。
如果您的应用下载并执行GPL涵盖的脚本。 GPL仅涵盖您在与GPL脚本相同的环境中运行的任何其他脚本。脚本解释器本身不需要是GPL。当然,除非通过解释脚本要求解释器将脚本加载到与解释器相同的内存空间中。在javascript的情况下,这不是真的。
所有这些的摘要是:使用GPL涵盖的产品不要求您采用GPL。在您自己的代码中包含GPL代码需要您使用GPL。
然后,我不是律师。