1

我正在为 80 年代的山脉冒险游戏开发 javascript 中的游戏解释器。我移植了名为 Sarien 的现有逆向工程 C 解释器的一部分,它是 GPL 许可的。使我的工作也成为 GPL。到现在为止还挺好。

但是,我的目标是创建一个网站,让人们可以在线玩这些游戏,并增加多人游戏支持。多人游戏需要客户端+服务器代码,多人游戏部分是专有的封闭(商业)代码。那也必须是GPL吗?

我知道其他人在这里问过 GPL 问题,但它通常涉及嵌入、链接等,让我更容易理解。我的设置是基于 javascript 的。我可以将核心解释器代码分发为 GPL 并添加一个单独的 javascript 层,该层挂钩到 IO 部分(以使多人游戏成为可能)而不是 GPL 那部分?

我非常愿意以 GPL 的形式贡献我的所有工作,但多人游戏引擎的某些部分根本不是我可以决定的。如果 GPL 强迫我做一切 GPL 那么它禁止我添加多人游戏,因此阻碍了制作一些很酷的东西:-(

更新:

原始解释器代码 - GPL 许可 - 已合并到 ScummVM 中。解释器文件现在在标题中显示 GPL 版本 2 或更高版本适用于最终用户认为合适的情况。这有什么改变吗?作为旁注;是否允许以这种方式修改许可证?

4

4 回答 4

2

未修改的代码很好。比如:静态链接,因为它需要修改源代码,创建衍生作品,需要一些思考。另一方面,动态链接只是按预期使用 GPL 代码(在您的代码和 GPL 代码之间创建临时关系)——因为 GPL 代码不需要为此进行修改。

比我能解释得更好。问题是:您是修改原始 GPL 代码,还是仅按照设计使用的方式使用它?如果是后者,你可能没问题。但如果可以的话,请与原作者联系,这只是礼貌!

编辑:如果你所有的代码都是 Javascript,你基本上不是给每个人都提供源代码吗?:)

于 2009-02-10T13:47:42.003 回答
2

GPL 网络浏览器是否允许您浏览由 IIS 提供服务的站点?当然。SAMBA 客户端可以连接 Windows 文件服务器吗?再次是的。开源客户端可以与闭源服务器通信。

于 2009-02-12T10:29:24.020 回答
0

你可能需要和律师谈谈。我不是一个。

然而,GPL 归结为分发许可证。GPL v2 没有说明在您的服务器上运行的代码,所以如果您不“分发”代码,那么它不需要是 GPL。例如,最终用户可以将专有视频驱动程序和 Linux 内核组合在一起,但通常禁止人们分发组合的工作。

但是,传输到客户端的代码可以说是正在分发,因此所有这些代码都必须获得兼容许可,无论是全部专有的还是全部 GPL 或其他。

GPL 根据版权法为您提供额外的好处。如果你不制作副本,你可以做你想做的事。

注意:还有其他 GPL-ish 变体(除了 v2)认为托管公共应用程序是“分发”的。仔细阅读您的许可证。准确定义哪些部分属于哪些许可证,哪些部分将组合在一起,哪些部分将分发。如果您不确定,请咨询律师(哎呀,即使您确定)。

另外,作为一个挑剔的人,我会说说“GPL ......阻碍了使某些东西变得很酷”是错误的或具有误导性的。您可以很容易地说“专有许可证阻碍了制作很酷的东西”。多人代码具有不兼容的许可证不是 GPL 的错。

于 2009-02-10T14:43:30.340 回答
-1

恐怕 GPL 代码不能在没有 GPL 许可的应用程序/系统中使用。您对此无能为力。即使这两个部分之间有明显的分隔也是不允许的。

我建议您联系 GPL 代码的作者,说明情况并申请不同的许可证。问题是可能很难找到所有这些,这是重新许可所必需的。这是 GPL 许可的一个众所周知的问题。

于 2009-02-10T13:33:12.490 回答