On Wed, 23 Mar 2005, Alfred M. Szmidt wrote:
Depends on what you mean by using; linking is using, running the program in question is also using. The term "using" is to vauge here.
Please excuse my vagueness. I call Bison and pass it an input file which I've written. Bison generates a file of C++ code which I compile and link with the object files generated from my own code.
Since the non-free program will become part of (derived work) the library and vice versa!
A program that includes a library does not become part of the library, but the text at http://www.gnu.org/licenses/gpl-faq.html#MereAggregation seems to indicate that the library becomes part of the program. I don't entirely agree with this interpretation, and would check with the FSF if it ever became relevant for me.
You lost me here, which part of my sentence do you not agree with, and which part do you not agree with the interpretation of the FSF?
I don't believe that a library becomes a "derived work" of a program that includes it (it was the "and vice versa" part). I meant that I don't entirely agree with what's said at `http://www.gnu.org/licenses/gpl-faq.html#MereAggregation'. Since it probably won't become relevant for me, I don't see any reason to bring up the subject at the FSF.
The end result will contain GPL code + non-free code since cpp includes both in the end result, and since the GPL mandates that the whole work must be licensed under the GPL. If this was legal, then you could jump around the GPL just by doing #include "gpled-code.c".
Thanks for the explanation. Under the circumstances, I think it would be safest to not distribute preprocessed code or object code if there's any question about license conditions. This would not, of course, be complete protection against license infringement. However, I'm not concerned with the question of non-free programs including free libraries. Generally speaking, I think libraries should be considered as separate entities from packages that include them. They are, after all, written with this intention. I can see that this is a tricky question and it might be difficult to translate into legal terms. However, since my package is free and the licenses of the packages it uses are also free, I don't feel impelled to do anything about this.
As for cpp being magical, that wasn't what I said... "does its magic" means "does whatever it usually does with all the directives etc etc etc".
No offense meant.
I fail to see how those URLs supports your view. You are using the code from the library, it is the same as using someone else code, so the copyright holder can infact tell you what you can or cannot do with the code you use. Ditto for linking.
You claimed that certain actions would be illegal. I interpret the passages in the GNU GPL FAQ as indicating that they would not be, assuming the license of the library permits the intended use.
If anyone has any further questions, please ask at `licensing@fsf.org'. I've answered to the best of my ability, but I've reached the limits of my knowledge on this subject.
Laurence