Microsoft创建了他们的Windows和MFC DLL库等.开源开发编写新的MFC应用程序并将源代码作为GPL发布.该应用程序必须链接MS DLL /库才能在Windows中运行,但我认为没有人可以争辩说我们现在有权强迫微软的GPL使用他们的DLL.
这是否意味着GPL许可证实际上取决于首先"创建"哪一个? 如果首先创建专有库(例如Windows DLL),这是在没有链接和任何GPL代码的情况下发布的,后来GPL程序与之链接,那么GPL程序无法将专有库转换为GPL,尽管专有代码是" "与GPL代码相关联.
如果是这种情况,公司如此NVidia或RealNetworks可以做以下事情吗?让我们假设他们喜欢将专有的HDDecoding媒体解码引擎库保密,但他们也希望"利用"开源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源创建的任何exe也违反了GPL的精神?