On Wed, 23 Mar 2005, Alfred M. Szmidt wrote:
Not sure if I understand you correctly, but if "the Program" uses the library, then the library is part of "the Program", and as such the whole thing must fall under the GNU GPL[0], since "You must cause any work that you distribute or publish, [...], to be licensed as a whole at no charge to all third aprties under the terms of this License".
I don't think so. For example, my package uses GNU Bison and I include a Bison input file in my sources. If I choose, I can distribute Bison with my package, since its license permits me to do so. It doesn't matter that both my package and Bison are licensed under the GPL; I could do the same with a package with a different license, if the license permitted me to redistribute the package. This doesn't make Bison part of my package or my package part of Bison.
Another example would be if I were to use the libplot library supplied as part of the GNU plotutils package. Here, I would include its header files in my sources and link to the library when compiling. In this case, the packages are mixed more intimately, but the comments above still apply.
[0]: I'm ignoring the case when the non-free library has a similar clause that states that the programs linking to the library must be under the terms of the non-free license.
I am pretty certain that merely linking to a library does not give the owners of that library any rights over my code. I am also pretty certain that linking two packages, in the literal sense of using a linker to generate a file of object code, does not unite the packages in a legal sense. Even so, I will certainly not make any free software I write dependent on a library with a license that makes similar claims, whether they are ultimately enforceable or not.
If anyone wants an official answer to this or similar difficult questions, I suggest he or she contact `licensing@fsf.org'.
Laurence Finston