我有一个java应用程序,它基本上由三件事组成:
使用web ui,用户启动java applet以访问应用程序核心提供的服务。 该应用程序托管在我的服务器上。
如果我获取另一个在GPLv2下许可并将其集成到我的applet中的Java applet的源代码,以提供其他功能。我还略微调整了源代码,以便更好地与我的applet和应用程序核心集成。
我是否必须在GPL许可下发布我的整个applet的源代码或仅修改已修改的文件? 我何时以及如何做到这一点? 我应该将修改后的源代码捆绑在applet jar中吗?
如果出现以下情况,会有什么不同吗?
修改1:
集成的applet可以被视为主applet的一个模块 - 我还需要提供整个applet的源代码还是仅提供模块的源代码?
另外,如果我使用gpl'ed applet作为库/ jar而不进行修改会怎么样?
答案 0 :(得分:5)
我不是律师,这不是法律建议。
如果我获取另一个在GPLv2下许可并将其集成到我的applet中的Java applet的源代码,以提供其他功能。我还略微调整了源代码,以便更好地与我的applet和应用程序核心集成。
在创建时,没有什么特别的事情发生,但是当你向用户分发时,即当他们下载它时,他们会根据GPL条款收到applet。因此,您必须为他们提供整个小程序的源代码。
我何时以及如何做到这一点?
您应该提供下载的源代码,并告诉用户他们可以从哪里获取它。 (通过我相信你可以在理论上为它提供类似的邮件订单,但是我猜想下载链接对双方来说都是最方便的。查看GPL文本了解详情。)
如果出现以下情况,会有什么不同吗?
没有。您可以向人们收取GPL软件的费用;你无法阻止他们免费向他人传播它。您当然可以在服务器上使用服务(数据,计算时间)来收取费用。
是的,那将是违法的。
关于修改1 :
集成的applet可以被视为主applet的一个模块 - 我还需要提供整个applet的源代码还是仅提供模块的源代码?
如果它是整个程序运行的必要模块,那么整个程序就是GPL了。如果它是可选的,你会冒险进入我不熟悉的版权法领域,尽管我怀疑GPL仍然适用于包含GPL模块的任何软件副本。请律师确定。
另外,如果我使用gpl'ed applet作为库/ jar而不进行修改会怎么样?
这没有任何区别。一旦你链接它,你就已经创建了派生作品。