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

Reply via email to