[cc-community] GNU-GPL, makefiles, and non-distributed executables
Kyle Williams
kylewilliams at openwarriors.org
Mon Dec 17 04:30:28 EST 2007
On Monday 17 December 2007 05:58:05 Terry Hancock wrote:
> > In section 2 b) "You must cause any work that you distribute or
> > publish, that in whole or in part contains or is derived from the
> > Program or any part thereof, to be licensed as a whole at no charge
> > to all third parties under the terms of this License."
>
> Note that this is from GPLv2 and uses the word "derived", which is a
> "term of art" in copyright law and is pretty limited as a result.
Eh, my mistake for looking at GPLv2 rather than GPLv3. It was the one I had
stored on my HDD.
> > So no, even though Eve distributes her code and Georges code the way
> > you suggest, her work still contains Georges work and thus must be
> > under the same license as Georges work.
>
> NO. It does NOT "contain" George's work. This is the whole point of
> Greg's example. Eve doesn't distribute any work of George's except as a
> verbatim copy of his original work, distributed on the same transmission
> medium.
In fact it does, and I'll quote Greg here, "Alice has an application. She
wants to use some of George's code in her application."
> Eve's code is merely "designed to work with" George's work. However,
> that is "use" and is not covered.
If that was the case then this wouldn't be an issue. I can write software
to "work with" Linux, keeping it separate from Linux. But if I want to write
software which uses, "some of the Linux code", then my software is subject to
the terms and conditions of the license Linux is available under.
>
> > On a more practical level. If Eve's wants to make use of Georges code
> > she'll need to reference it within her code. Her works then
> > immediately includes Georges work, and there's no escaping the
> > license.
>
> "Referencing" a work is NOT "including" it (imagine the consequences if
> it were!). Lists of bookmarks are a trivial example of why that would be
> bad as are scientific citations, bibliographies, etc.
See David's response to this :)
> GPLv3 attempts to remedy this by defining its own terms, closing the
> loophole that Greg is describing (I'm not sure whether it can really
> succeed at that, but it's obviously the intent of some of the changes).
>
> Note how the following definition from GPLv3 is specially-designed to
> "catch" such cases:
>
> """
> The "Corresponding Source" for a work in object code form means all
> the source code needed to generate, install, and (for an executable
> work) run the object code and to modify the work, including scripts to
> control those activities. However, it does not include the work's
> System Libraries, or general-purpose tools or generally available free
> programs which are used unmodified in performing those activities but
> which are not part of the work. For example, Corresponding Source
> includes interface definition files associated with source files for
> the work, and the source code for shared libraries and dynamically
> linked subprograms that the work is specifically designed to require,
> such as by intimate data communication or control flow between those
> subprograms and other parts of the work.
> """
Thanks for this. I must admit that I have been rather lazy in reading and
understanding GPLv3. Though I see how this combats the loophole Alice is
(perhaps) trying to exploit, by defining "Corresponding Source" to
include "subprograms that the work is specifically designed to require."
> Note however that the copyrightability of headers is somewhat
> questionable, since they can be regarded as a minimal encoding of the
> "facts" of the library (its interface).
Yes, in most cases I agree. Though occasionally you do find some
implementation taking place in headers for various reasons.
> Later, the "mere aggregation" clause is narrowed to exclude this case:
>
> """
> A compilation of a covered work with other separate and independent
> works, which are not by their nature extensions of the covered work,
> and which are not combined with it such as to form a larger program,
> in or on a volume of a storage or distribution medium, is called an
> "aggregate" if the compilation and its resulting copyright are not
> used to limit the access or legal rights of the compilation's users
> beyond what the individual works permit. Inclusion of a covered work
> in an aggregate does not cause this License to apply to the other
> parts of the aggregate.
> """
> (Because works which are "designed to work with" other works might not
> be "mere aggregates" under this definition -- but note how this might
> also include a lot of undesired limitations, such as including content
> datafiles designed to work with a specific engine or interpreter. The
> definition of "System Libraries" *might* resolve that).
>
> So, clearly GPLv3 is designed to remedy this, although it does raise
> some questions as to how much it can control. There's also some question
> as to whether such extension remain "free", since if they are
> enforceable at all, rely on restrictions of *use* of program
> functionality, rather than on activities which fall into the definitions
> of copying and derivation that are covered by copyright law.
Perhaps, though I'll leave the debate as to how free GPLv3 is to it's own
mailing lists :)
> However, my guess is that if you are concerned about this case, you
> should be using GPLv3 instead of GPLv2.
I guess that's where I'll be headed in the future. But for now (or at least
until Qt is ported to GPLv3) I'll stay with GPLv2.
Thanks for your insight
Regards
K
--
Kyle Williams
contact (at) kylewilliams (dot) co (dot) za
Registered Linux User #358078
Phone: +27 (0) 83 511 0643
Jabber: kylewilliams at jabber.obsidian.co.za
Blog: http://www.kylewilliams.co.za
In a world without walls who needs Windows?
More information about the cc-community
mailing list