question about RedHat/Fedora and the GPL

Arjan van de Ven arjanv at redhat.com
Mon Jun 6 08:08:48 UTC 2005


On Mon, 2005-06-06 at 19:48 +1200, condition terminal wrote:
> On 6/6/05, Arjan van de Ven <arjanv at redhat.com> wrote:
> > On Mon, 2005-06-06 at 16:26 +1200, condition terminal wrote:
> > > OK, firstly, I am sorry if I am miss understanding the text of the GPL.
> > >
> > > The part I am questioning is this:
> > >
> > > ---QUOTE---
> > > complete source code means all the source code for all modules it
> > > contains, plus any associated interface definition files, plus the
> > > scripts used to control compilation and installation of the
> > > executable.
> > > --END--QUOTE---
> > >
> > > should this not mean that the likes of "beehive" be distributed?
> > 
> > > Am I barking up the wrong tree and completely missing the point?
> > 
> > yes. All the scripts needed to control the compilation and installation
> > of the executable is in the src.rpm perfectly fine.
> 
> OK then.. so how are the files and scripts used to control the
> building of the rpms outside the specs excluded from the conditions of
> the GPL?

I guess it comes down to with what you mean with "control". I'm not a
lawyer, but control means to me "have impact on the result". The goal is
that the binary building process is fully reproducable (see earlier
parts of the license about the rationale). All the parts that impact the
results are included in the src.rpm (with some global settings from
redhat-rpm-config which is also shipped). The RH buildsystem actually
calls rpmbuild to build the binary, all it does on top of that is some
queueing. Queueing does not impact the outcome of the build in any way. 

The intent of the GPL is clearly that you have to provide the Makefiles
and any other scripts you use to build the source code. A src.rpm is
clearly that, it has everything used to build the source code (if it
didn't the RH buildsystem couldn't even build it in the first place). 

Or in other words "scripts to control compilation of the executable"
means "makefiles and related". I'd argue that a buildsystem doesn't
contain scripts to control the binary, what it does is invoke those
scripts at certain moments in time. That's a pretty important
difference. There is a gray area, and that gray area is if a spec file
belongs into this. When the sourcecode is autoconf'd, is a spec file
that just calls configure, make and make install something that controls
the compilation of the executable? Borderline. I guess you can argue it
does since the outcome changes depending on the the configure flags
passed, and if the spec does pass any, it's controls the creation of the
binary.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://listman.redhat.com/archives/fedora-devel-list/attachments/20050606/4a71bfdd/attachment.sig>


More information about the fedora-devel-list mailing list