Re: GPL & code concatenation
"Ben Finney" <email@example.com> wrote in message
Robert Millan <firstname.lastname@example.org> writes:
Suppose you have a chunk of code that implements initialisation of
an MSDOS executable. If you concatenate a payload (raw code) after
it, you obtain a .exe that runs your code (at a specific, agreed
upon, address I think).
My question is, would such combination qualify as a derivative
program as per GPL requirements?
Wrong question: the GPL, like any copyright license, doesn't have any
say over what is a derivative work.
Whether a work W is a derivative work of another work X is a function
of your local copyright law. Thus, the answer depends on a judge's
interpretation of your local copyright law; please consult a lawyer
who knows your jurisdiction.
True enough. However, I think the poster wanted to know
if such a program met the FSF's thoughts on derivitive works.
In general the FSF's position may be a bit more inclusive than copyright
definition, but it seem like it would be quite rare to ever have a work meet
definition of derivitive work, but not also meet the FSF's definiton.
Thus using the FSF's defintion causes us to err on the side of caution,
which is good.
Now, as for the poster's question, that is difficult, and depends on several
First of all, which work is GPL'ed?
Thoughts on the case were the loader is GPL'ed. I think this case *might* be
especially if the result is easy to seperate back into two components. Of
course, ideally the LGPL would
have been used, since that would make it perfectly clear that the
combination is fine as long as source for the loader
was distributed, and it is reasonable easy to seperate and recombine the
Thoughts on the other case (code appended that is GPL'ed): If the loader
code is the code the linker normally appends, things are fine.
The FSF definately intended the major components exception to cover things
like that. If the loader is code that did not come with one of the major
components, then things are much less clear. More information about the
loader would help much in analysing it in that case.