Microsoft creates their windows and MFC DLL library, etc. An open source develop write a new MFC application and release the source code as GPL. The app has to link with the MS DLL/libraries to run in Windows, but I don't think anyone can argue that we now have the right to force the Microsoft's GPL their DLL.
Does this mean the GPL license is really depends on which one is "created" first? If proprietary library is created first (such as Windows DLLs) that is published without linking and any GPL code and later a GPL program is linked with it, then the GPL program can't convert the proprietary library into GPL although the proprietary code is "linked" with the GPL code.
If this is the case, can company such NVidia or RealNetworks do the following? Let's assume they like to keep the proprietary HDDecoding media decoding engine library private, but they also want to "leverage" the opensource GPLed code to showcase their hardware.
- They create a proprietary library to do media decoding and release some sample code.
- Someone (opensource development) creates "plugin" that is linked into this proprietary library for GPLed code such as XBMC, Mplayer or VLC.
- Can they argue that since they created the proprietary library first (just like MS create all the DLLs first), GPL programs that link with their proprietary code do not covert them into GPL code.
One can in theory argue that the opensource developer who creates the GPL vlc.exe file that link with the NVidia proprietary media decoder library is violating the GPL license.
Does that mean all the GPL programs running in Windows such as VLC, git, cygwin, etc are all violating the GPL license because they definitely need to link with the proprietary Microsoft Windows Libraries to run.
Case 2: What's wrong with this:
NVidia can create a new Hardware abstraction library that hides the latest graphics functions. They also create a FreeBSD driver with this library and release the source code of the BSD driver but not the library source code.
Someone (Linux developer) can implement the linux driver that links with this library to create a NVidia graphics driver for Linux. But since NVidia didn't do this, they can keep the library source "hidden" while enable the "Linux support".
It certainly violates the spirit of GPL.
Does it mean that running any exe created with GPLed source in Windows/Mac/Iphone/PSP3 also violates the spirit of GPL?