【问题标题】:How does the GPL affect macros stored in user data? [closed]GPL 如何影响存储在用户数据中的宏? [关闭]
【发布时间】:2011-10-19 20:21:17
【问题描述】:

我正在考虑用 C++ 编写一个程序,该程序将嵌入一个 Python 解释器来执行用户创建的宏。假设我打算在 GPLv3 下发布我的程序。我不清楚这对我的程序用户创建的宏和数据有什么影响。

GPL 的任何要求是否会从我的程序延续到我的程序用户编写的宏?与宏一起存储的其他用户数据(例如图像)呢?

像 GIMP 和 Gnumeric 这样的程序有宏语言,但在 GPL 下发布。我从未见过关于用户创建的 GIMP Script-Fu 或 Gnumeric 电子表格是否也必须在 GPL 下分发的讨论。我怀疑情况并非如此,但我无法找到任何证据。特别是在 Gnumeric 的情况下,宏看起来更像是数据而不是插件。 (我知道有关于 GPL 和插件的广泛讨论,但我发现没有关于什么是插件的讨论。)

一个令人困惑的问题是,一些核心功能也可能被实现为复制到用户数据中的宏。在这种情况下,用户在分发他的数据时可能完全不知道他甚至在分发这些宏。

我不想让我的用户处于鼓励他们在不知不觉中或以其他方式违反 GPL 的情况。

【问题讨论】:

  • IANAL 等等,但您还必须考虑,与更传统的编程语言相关的东西不同,gimp 脚本和电子表格之类的东西不太可能以受 GPL 影响的方式分发。

标签: c++ python macros licensing gpl


【解决方案1】:

不,宏不再成为 GPL 派生作品,就像在 GPL linux 系统上编写的“C”程序或使用 GPL gcc 编译器成为 GPL 一样。

包含库函数有点复杂。如果您编写了这些库函数,那么您可以让用户对它们做他们想做的事。如果它们是 GIMP/Gnumeric 运行时的一部分,那么这大概也不是问题。

但是,如果您从 GPL(而不是 LGPL)应用程序中提取库/插件的源代码并将其包装在库中,以便从用户宏中独立调用,那么该宏很可能是派生作品。

【讨论】:

  • GPL 的哪一部分支持宏不被视为派生作品的解读?
  • 如果宏使用 GPL 库的部分,那么它们可能会使用。但是在 GPL 运行时中实现的程序的源代码肯定不会——否则就不可能使用 bash、gcc、python、perl、ruby 等编写非 GPL 代码
【解决方案2】:

出于这个原因,您可能需要考虑使用 LGPL。不过,我很好奇 FSF 对这些事情有什么看法。

【讨论】:

    猜你喜欢
    • 2010-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-17
    • 2010-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多