Bart Schaefer wrote: BS> On Sat, 20 Apr 2002, Craig R Hughes wrote: BS> BS> > Bart Schaefer wrote: BS> > BS> > But some config files are more programmatic than others. Is BS> > EvalTests.pm code, or config file? BS> BS> You're missing the point. It doesn't matter whether it's code or config BS> file unless you're copying and distributing the whole original "work" plus BS> the new/modified code-or-config file in question. BS> BS> The GPL cuts both ways: If I take my local.cf file and declare it to be BS> GPL'd, then I'm not allowed to add it to SA and distribute the whole thing BS> as a new "work", because SA is not GPL'd and I do not own the copyright to BS> SA. I can distribute my local.cf file separately, but I can't claim it to BS> part of the same "work" as SA unless I lift the GPL restrictions.
Actually, you can do exactly that -- the Artistic license specifically allows you to use the GPL if you want to. However it also leaves you free to use a BSD-type license if you prefer. BS> Tangential opinion: BS> It's code if the compiler or interpreter (perl in this case) is unable to BS> process some other part of the code without it; e.g., in the case of Perl BS> programs, if it's read with a "use" or "require" statement, it's code, if BS> it's read with a 'do' statement or by an explicit 'open' it's a config BS> file. What about if it's read into a string and then eval'd? What if the string that's eval'd contains "use" or "require" statements, but the string is read in from a file using open()? That is what's happening in SA. Take a look in PerMsgStatus at the way it's dynamically building the _body_tests() function then executing it. Tell me then that the config files aren't code. The whole concept of a von Neumann machine is that data and code are the same thing. Perl makes that very clear if you abuse it in just the right ways. BS> > Can I build any extension I want to on a GPL base and just all those BS> > extra bits config files? BS> BS> As long as nothing that you do modifies the original GPL base prior to the BS> program beginning to "run," yes, you can. You can't claim that your BS> extension is part of the original program, though, and IF you distribute BS> the original program along with your extension, you have to make available BS> the source of the original program even if you don't provide the source BS> for your extension. IANAL, etc. So I could take the emacs source, link it into some non-GPL code, and release the whole thing, but only make the emacs sources themselves available, but not my own extensions? I don't think that's correct. I certainly expect the FSF would also disagree. BS> > Or just call the parts I don't want the GPL to apply to config files? BS> > If that's true then the GPL strikes me as providing no value. BS> BS> "If you distribute the original program along with your extension, you BS> have to make available the source of the original program" is the value BS> that the GPL is intended to provide, in this instance. I think that's somewhat short of what the GPL requires. The intention as I understand it is to ensure that modifications and extensions must also be released. There seem to be frequent instances on Slashdot and other forums of people who resent extensions to GPLd code *not* being released. BS> > BS> A GPL'd plugin does not BS> > BS> (in fact, specifically cannot -- "This General Public License does not BS> > BS> permit incorporating your program into proprietary programs") cause the BS> > BS> program into which it plugs to become GPL'd. BS> > BS> > The clause you quote sound to me like it does not cause the plugged-into BS> > program to become GPLed, because you are not granted a license to use BS> > GPLed code in that way in the first place. BS> BS> Yes, that's exactly it. The author of the plugin can't do it because he BS> is not the copyright owner of the plugged-into program, and if the author BS> of the plugged-into program chooses to do it then he's got to put his BS> program under the GPL. But this only applies to either of them in the BS> event the result is to be copied or distributed. So we cannot include the languages analysis library as a plugin to SA without placing under the GPL. This sounds like you agree with the basic problem I think I have with such an inclusion. BS> > [...] If I copy/paste one line of GPL code into SpamAssassin, then I BS> > *must* release the entire thing under the GPL BS> BS> Or not release it at all. The GPL can't force you to release it, it can BS> only force you to use the GPL *if* you do release it. Well, I do want to release SA. I understand there's no issue if you don't want to release, but I'm talking about the non-hypothetical situation where I do in fact want to release. C _______________________________________________ Spamassassin-talk mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/spamassassin-talk