4

我们考虑在我们的应用程序中使用统计库包,并想知道是否可以使用 R 而无需发布我们的应用程序的源代码。

谢谢你。托拜厄斯

4

1 回答 1

5

您应该明确地询问律师(或者也许是知识产权部门的人)。

然而,这是我的 2 ct:

  • 应该可以采用同样的方式为 Linux 编写闭源程序。
  • 一个非常强调您正在谈论 R 和您的两个程序这一事实的解决方案将使用 R 服务器

  • 维基百科总结了关于链接是否意味着结果是衍生作品的讨论。
    毫不奇怪,FSF 的观点是,链接是动态的还是静态的都无关紧要。毕竟,他们说如果应该允许将具有非自由(不兼容)许可证的程序链接到自由库,那么库的许可证应该是 LGPL 而不是 GPL。但是,Wiki 文章也提供了其他观点。

以下是 GPL 常见问题解答中的 2 个相关片段:

  • “聚合”和其他类型的“修改版本”有什么区别?

    “聚合”由多个单独的程序组成,它们一起分布在同一张 CD-ROM 或其他介质上。GPL 允许您创建和分发聚合,即使其他软件的许可证是非自由或 GPL 不兼容的。唯一的条件是,您不能在禁止用户行使每个程序的单独许可授予他们的权利的许可下发布聚合。

    两个独立的程序和一个包含两个部分的程序之间的界限在哪里?这是一个法律问题,最终由法官决定。[...]

    如果模块包含在同一个可执行文件中,它们肯定会组合在一个程序中。如果模块被设计为在共享地址空间中链接在一起运行,那几乎肯定意味着将它们组合到一个程序中。

    相比之下,管道、套接字和命令行参数是通常在两个独立程序之间使用的通信机制。因此,当它们用于通信时,模块通常是单独的程序。但是,如果通信的语义足够亲密,交换复杂的内部数据结构,那也可以作为将这两个部分组合成一个更大程序的基础。

  • 我想将 GPL 涵盖的软件合并到我的专有系统中。我可以这样做吗?

    您不能将 GPL 涵盖的软件合并到专有系统中。[...]

    但是,在许多情况下,您可以将 GPL 涵盖的软件与您的专有系统一起分发。要有效地做到这一点,您必须确保自由程序和非自由程序在一定距离内进行通信,确保它们没有以一种可以使它们有效地成为单个程序的方式组合在一起。

    这与“合并”受 GPL 覆盖的软件之间的区别部分是实质问题,部分是形式问题。实质部分是这样的:如果将两个程序组合在一起,从而使它们有效地成为一个程序的两个部分,那么您不能将它们视为两个单独的程序。所以 GPL 必须涵盖整个事情。

    如果这两个程序保持良好的分离,就像编译器和内核,或者像编辑器和 shell,那么你可以把它们当作两个独立的程序——但你必须正确地做。[...]

于 2013-05-15T14:26:29.980 回答