[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Heart of the debate



Marc van Leeuwen wrote:

> Don Sanders <dsanders@cch.com.au> wrote
>
> > Raul I think your interpretation of the GPL is wrong. It contradicts the
> > meaning of "distributed under the terms of Sections 1 and 2" as defined by a
> > copyright lawyer, it requires believing that the author of the GPL used
> > inconsistent language in Section 2b and 3, and it requires believing the
> > definition of the Program be redefined part way through the license, which
> > is horribly convoluted.
>
> I think I have to agree with Raul here. I'm not sure I understand the
> subtleties of the meaning defined by your copyright lawyer friend, nor do I
> profess to understand the reason for the subtle difference in wording between
> GPL 2b and 3 (maybe the idea is that somebody having modified the program is
> more in a position to "cause [the new] work... to be licensed" than somebody
> who is merely distributing the Program in executable form; in any case I don't
> like the formulation).
>
> However, the main point seems to be that you want to apply the requirement of
> GPL 3a that "the complete source code must be distributed under the terms of
> GPL 1 and 2" without having, in the scope of that distribution of source code,
> the "Program" signifying "the complete source code". I can understand the
> feeling that this local change of meaning can be confusing, but suppose one
> does keep the meaning of "Program" unchanged. GPL 1 reads "You may copy...
> verbatim copies of the Program's source... " while GPL 2 reads "You may modify
> your copy... of the Program or any portion of it...". Now if "Program" is not
> allowed to (in this context) designate "the complete source", then where is
> anything being required about the complete source?

In Section 3(a), which requires you to distribute the complete source code, and
in Section 2(b), which (at least in the case of static linking) requires
permitting redistribution of the code at no charge to third parties. Moreover,
without that provision, one could make binary-only distributions; at a minimum it
creates the obligation to include the GPL-part of the binary in source form.  So,
in fact, there is a lot of meat to Section 3(a) without perverting the
definitions provided in the GPL.

> It would seem awfully silly
> if GPL 3 would go to some lengths to define the exact extent of "the complete
> source", only to apply it in a requirement in which that extent is immaterial.

It is true that a court will try to give meaning to every part of a legal
document.  But if such meaning can be provided, the fact that you or even the
court thinks the document is silly is no grounds to rewrite it.  If I were to
make sense of Section 3(a), the most logical thing IMHO is to read it to require
the distribution of all source code, with the GPL'd part only having to comply
with Section 2.  This makes sense b/c there it would be "silly" to apply GPL
provisions to non-GPL code.

What would be even more "silly", IMHO, is to introduce the rather ambitious
requirement to license all derived works completely under the GPL in such an
obscure manner.  I would think if the licensor wanted me to do that there would
be an explicit paragraph 2(b) saying something like,

    You may modify your copy or copies of the Program or any
    portion of it, thus forming a work based on the Program, and
    copy and distribute such modifications or work under the
    terms of Section 1 above, provided that you also meet all
    of these conditions:

     . . .

        (b)  you must license all of your modifications to third parties
    under this License, place appropriate notices on the complete
    work based on the Program, and cause this complete work to itself
    constitute a "Program" for purposes of this License;

> It is like you are saying something vaguely in the line of this:
>
> int GPL(int Program)
> { if (Program<=1) then return Program;
>   else
>   { int t=GPL(Program-1); /* But the meaning of `Program' does not change!! */
>     return Program+t;
>   }
> }
>
> Do you see my point?

Your point appears to be that words can change their meaning inside a document.
Sure that's the case.  However, I note that you include in your example code an
express statement that does this redefinition (actually, re-assignment).  Where
is this provision in the GPL?  My example Section 2(a) above might accomplish
this; the GPL as written does not.  In fact, the GPL is careful to distinguish
between a Program and a "work based on the Program".

In any event, even if "Program" were read to include the "complete source code",
Qt is "licensed as a whole at no charge to all third parties".  Then you are back
to the question what the phrase "at no charge to all third parties under the
terms of this License" means, on which subject I will not repeat myself.

Ciao,

Andreas
who never should be misconstrued as giving legal advice


Reply to: