首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >与专有库链接的GPL代码依赖于先创建的代码吗?

与专有库链接的GPL代码依赖于先创建的代码吗?
EN

Stack Overflow用户
提问于 2009-12-06 17:13:48
回答 5查看 5.9K关注 0票数 17

微软创建了自己的windows和MFC DLL库,等等。一个开源开发人员编写了一个新的MFC应用程序,并以GPL的形式发布了源代码。该应用程序必须链接到MS DLL /库才能在Windows中运行,但我认为任何人都不能争辩说,我们现在有权强迫微软的GPL使用他们的DLL。

这是否意味着GPL许可证真的取决于哪一个是首先“创建”的?如果首先创建了专有库(例如Windows DLL),并且发布时没有链接任何GPL代码,然后再链接一个GPL程序,那么GPL程序不能将专有库转换为GPL,尽管该专有代码与GPL代码是“链接”的。

如果是这样的话,这样的NVidia或RealNetworks公司可以做以下事情吗?让我们假设他们喜欢保留私有的HDDecoding媒体解码引擎库,但他们也想“利用”开源GPLed代码来展示他们的硬件。

  1. 他们创建了一个专有的库来做媒体解码,并发布了一些示例代码。
  2. 某人(开源开发)创建了一个“插件”,它链接到这个专有的GPLed代码库中,比如XBMC、Mplayer或VLC。
  3. 他们可以争辩说,由于他们首先创建了专有库(就像MS首先创建所有all一样),与其专有代码链接的GPL程序不会将它们转换为GPL代码。

从理论上讲,可以认为创建与NVidia专有媒体解码器库链接的GPL vlc.exe文件的开源开发人员违反了GPL许可证。

这是否意味着在Windows中运行的所有GPL程序,如VLC、git、cygwin等都违反了GPL许可证,因为它们肯定需要链接到专有的Microsoft Windows库才能运行。

案例2:这有什么问题:

NVidia可以创建一个新的硬件抽象库,其中隐藏了最新的图形函数。他们还使用这个库创建了一个FreeBSD驱动程序,并发布了BSD驱动程序的源代码,但没有发布库源代码。

某些人(Linux开发人员)可以实现链接到这个库的Linux驱动程序,从而为linux创建一个NVidia图形驱动程序。但由于NVidia没有这样做,他们可以在启用"Linux支持“的同时保持库源的”隐藏“。

这肯定违反了GPL的精神。

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

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1854843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档