Marc van Leeuwen wrote: > Don Sanders <[EMAIL PROTECTED]> 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