Two quick, related, questions; totally unrelated to anything I'm doing or considering doing. I'm talking about C/C++ programs specifically, since I'm talking about header files, but, I guess the questions are development-platform independant.
It's a violation of the GPL to release closed-source software that dynamically links to a GPL licensed library ( talking GPL not LGPL here ); how? A dynamic link is established when a program is run, right? If so, distributing a program closed-source that relies on a library with the name of a GPLed library, couldn't be considered distributing a derived work, since any other library of the same name with the same interface could satisfy the dynamic linker.. I guess; that would be a derived work anyway though, since the header and interface would likely be covered by the GPL; and the closed-source program would have, in part, been derived from the GPL'ed headers.
However, what if the closed source program ISN'T compiled with headers from the library, but dynamically loads the GPL'ed library or program, implicitly, after dynamic linking, using something like dlopen ( on Linux ) or the Windows equivelent? Surely, the GPL cannot stop a closed source program from attempting to open something with the name of a GPL'ed library, and attempting to call any of the functions within that library.. That would be name squatting.
Ah.. I'm glad they have the LGPL and most decent libraries are under that.
Any thoughts, though? Is that ( second ) option a totally unstoppable way to circumvent the GPL?