Re: inclusion of header files lead to derived works
On Tue, Mar 23, 1999 at 01:09:13AM +0100, Henning Makholm wrote:
> Oh, but that is a completely different question. GPL defines here the
> type of data you are not allowed to keep secret if you distribute
> binaries under the terms of the GPL.
> The intention here is not to regulate who has rights pertaining to the
> executable but to make sure that the "source" really is enough to enable
> the receiver of it to modify the source code and build a binary for
I see your point, but this is not the whole story.
> That does not have any immediate connections to whether or not the author
> of, say, a makefile has any legal right to constrain distribution of the
> finished binary. He hasn't.
> (Unless he is also author of other parts of the source code that *do* get
> included in the binary, of course).
I beg to differ. Here is why I think you are wrong:
Mr. Foo is the author of a Makefile, covered by the GPL. Mr. Bar wants to
use it in his work. He is allowed to do so, as he can read in section 2:
2. 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:
The relevant part is "any portion of it, thus forming a work based on the
Program". Especially, there is no difference between makefiles, header
files, source code, algorithms, whatever. Mr. Bar uses the Makefile, thus he
is forming a work based on Mr. Foos work, and has to meet the conditions laid
out in the GPL.
The GPL does spell it out explicitely:
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
Note the "the intent is to exercise the right to control the distribution of
derivative ot collective works based on the Program." Nowhere you can find a
discrimination of Makefiles or source code. There are no technical features.
It is irrelevant HOW you use the header file, if you use it at all, you are
forming a work based on it.
Now Mr. Bar wants to distribute a binary, too. Is he allowed to do so? Yes:
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
Note that he is bound to the GPL. He must not distribute the binary and
claim he didn't use the Makefile if he did, this would be lying. He is only
allowed to use it because of point 2, and now he has already agreed that his
work is a derivative or collective work based on Mr.Foos program. It is too
late to change the opinion after compilation,there is no way out of the GPL
Luckily, he is allowed to distribute the binary. But he has to disclosure
the FULL source code now, including his own work.
You are arguing with technical differences between dynamically linking and
statically linking. But the binary is built using sources, and you are only
allowed to use GPL'ed header files in the way it is laid out in the GPL (if
you want to distribute the result).
It works the same way for any GPL'ed work. Regardless of the type of work
and the way you incorporate it. If you choose to use it, it is already to
late. The only way to avoid the GPL is to avoid the GPL'ed source code in
the first place.
`Rhubarb is no Egyptian god.' Debian http://www.debian.org finger brinkmd@
Marcus Brinkmann GNU http://www.gnu.org master.debian.org
Marcus.Brinkmann@ruhr-uni-bochum.de for public PGP Key
http://homepage.ruhr-uni-bochum.de/Marcus.Brinkmann/ PGP Key ID 36E7CD09