微软创建了自己的windows和MFC DLL库,等等。一个开源开发人员编写了一个新的MFC应用程序,并以GPL的形式发布了源代码。该应用程序必须链接到MS DLL /库才能在Windows中运行,但我认为任何人都不能争辩说,我们现在有权强迫微软的GPL使用他们的DLL。
这是否意味着GPL许可证真的取决于哪一个是首先“创建”的?如果首先创建了专有库(例如Windows DLL),并且发布时没有链接任何GPL代码,然后再链接一个GPL程序,那么GPL程序不能将专有库转换为GPL,尽管该专有代码与GPL代码是“链接”的。
如果是这样的话,这样的NVidia或RealNetworks公司可以做以下事情吗?让我们假设他们喜欢保留私有的HDDecoding媒体解码引擎库,但他们也想“利用”开源GPLed代码来展示他们的硬件。
从理论上讲,可以认为创建与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的精神?
https://stackoverflow.com/questions/1854843
复制相似问题