与专有库链接的GPL代码是否取决于首先创建的代码?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (116)

如果是这种情况,那么NVidia或RealNetworks公司可以执行以下操作吗?我们假设他们喜欢将专有的HDDecoding媒体解码引擎库保留为私有,但他们还想“利用”开源GPLed代码来展示他们的硬件:

  1. 他们创建一个专有库来进行媒体解码并发布一些示例代码。
  2. 有人创建“插件”,该插件链接到专用库中,用于GPL代码,如XBMC,Mplayer或VLC。
  3. 他们可以争辩说,因为他们首先创建了专有库,与其专有代码链接的GPL程序不会将它们转换为GPL代码。

这是否意味着在Windows中运行的所有GPL程序(例如VLC,git,cygwin等)均违反GPL许可证,因为它们肯定需要与专有的Microsoft Windows Libraries链接才能运行。

案例2:这有什么问题:

NVidia可以创建一个隐藏最新图形功能的新硬件抽象库。他们还用这.个库创建一个FreeBSD驱动程序,并发布BSD驱动程序的源代码,但不是库源代码。

有人可以实现与该库链接的Linux驱动程序,以便为Linux创建一个NVidia图形驱动程序。但是由于NVidia没有这样做,他们可以在启用“Linux支持”的情况下让库资源“隐藏”。

这是否意味着在Windows / Mac / Iphone / PSP3中运行使用GPLed源创建的任何exe文件也违反了GPL的精神?

提问于
用户回答回答于

从GNU GPL FAQ:

我可以在为非免费程序编写插件时申请GPL吗? 如果程序使用fork和exec来调用插件,那么插件是单独的程序,所以主程序的许可证对它们没有要求。因此,您可以将GPL用于插件,并且没有特殊要求。 如果程序动态链接插件,并且它们互相调用函数并共享数据结构,我们认为它们形成了一个单一的程序,它必须被视为主程序和插件的扩展。这意味着将GPL覆盖的插件与非免费主程序相结合将违反GPL。但是,您可以通过向插件许可添加例外来解决该法律问题,并允许将其与非免费主程序链接。 另请参阅我正在编写使用非免费库的免费软件的问题。

和:

如果我使用GPL软件与GPL不兼容的库,会出现哪些法律问题? 两种版本的GPL都有一个copyleft的例外,通常称为系统库例外。如果你想使用的GPL不兼容库符合系统库的标准,那么你不必做任何特殊的使用它们; 即使分发包含它们的链接可执行文件,为整个程序分发源代码的要求也不包括这些库。 什么是“系统库”的标准在不同版本的GPL之间有所不同。GPLv3在第1节中明确定义了“系统库”,将其排除在“对应源”的定义之外。GPLv2在第3节结尾附近说道: 然而,作为一个特殊的例外,分发的源代码不需要包含正常分发的任何东西(以源代码或二进制的形式)与可执行程序运行的操作系统的主要组件(编译器,内核等)除非该组件本身附带可执行文件。 ...

用户回答回答于

如果你分发GPL计划或其衍生产品,你还必须根据GPL等效条款向程序或衍生产品提供源代码。

这意味着,如果我发布与某些微软代码相关的GPL程序,我必须将源代码提供给整个论坛,否则有可能被您起诉以破坏你的版权。请注意,只要Microsoft是第三方。如果我无法访问微软的代码,那么我不能分发这些作品而不违反你的许可。

所属标签

可能回答问题的人

  • 华讯云

    0 粉丝0 提问11 回答
  • gulu丶咕噜

    0 粉丝1 提问7 回答
  • 卓脑域名

    0 粉丝0 提问6 回答
  • EatRice

    16 粉丝0 提问5 回答

扫码关注云+社区

领取腾讯云代金券