kernel-libre (hopefully 100% Free) for Fedora 8 and rawhide

David Woodhouse dwmw2 at infradead.org
Mon Mar 24 10:31:48 UTC 2008


On Sun, 2008-03-23 at 18:08 -0500, Les Mikesell wrote:
> David Woodhouse wrote:
> 
> >> Not everyone agrees with your interpretation of the GPL, and plenty of
> >> people are happy to distribute binary blobs. 
> > 
> > Just for the record -- this is the licence you speak of 'interpreting':
> > 
> > 	These requirements apply to the modified work as a whole.  If
> > 	identifiable sections of that work are NOT DERIVED from the
> >  	Program, and can be reasonably considered INDEPENDENT AND
> > 	SEPARATE WORKS in themselves, then this License, and its terms,
> > 	do not apply to those sections WHEN YOU DISTRIBUTE THEM AS
> > 	SEPARATE WORKS.
> > 
> > 	But when you distribute the SAME SECTIONS AS PART OF A WHOLE
> > 	which is a work based on the Program, the DISTRIBUTION OF THE
> > 	WHOLE MUST BE ON THE TERMS OF THIS LICENSE, whose permissions
> > 	for other licensees extend to the ENTIRE WHOLE, and thus to
> > 	EACH AND EVERY PART REGARDLESS OF WHO WROTE IT. 
> > 
> > 	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. 
> > 
> > Personally, I can't find even a _wilful_ misinterpretation which permits
> > non-GPL'd firmware blobs to be included in the kernel itself, without
> > being completely crazy about it. But maybe that's just me.
> 
> Do you think the firmware provided by some other vendor is somehow 
> derived from or based on portion of the GPL'd kernel?

Absolutely not; what a strange question! To clarify:

It is NOT DERIVED from the kernel. It is an INDEPENDENT AND SEPARATE
WORK IN ITSELF. And thus the GPL obviously does not apply to it WHEN YOU
DISTRIBUTE IT AS A SEPARATE WORK.

> Do you think it is part of the kernel-as-a-whole when it loads/runs 
> completely separately on some other component? 

Another strange question. Interestingly, the GPL says nothing about
running the code. In fact, it doesn't even mandate that you should be
permitted to run the code. It explicitly limits its scope to copying,
modification, and distribution.

So it doesn't matter very much where the code runs, if you can run it at
all -- the important part is whether we _distribute_ the parts together
as part of a coherent whole; comprised of both the firmware and the
GPL'd Linux-side driver (and, of course, the rest of the kernel).

When we do _that_, the distribution of the whole must be on the terms of
the GPL, whose permissions extend to the ENTIRE WHOLE -- to EACH AND
EVERY PART REGARDLESS OF WHO WROTE IT.

> I don't see how you can have any interpretation other than it being an
> unrelated chunk that is conveniently aggregated with a loader to make
> a piece of hardware behave better. 

The GPL clarifies that it doesn't mean to cover "mere aggregation on a
volume of a storage medium" -- that is; you don't infect other code with
the GPL merely by storing it on the same hard drive or CD as GPL'd code.

It's very hard to argue that including it directly in the kernel, where
it forms a coherent and necessary part of the overall result and is
simultaneously not usable for any _other_ purpose, is 'mere aggregation
on a storage medium'. Perhaps I was overstating the case slightly when I
said it was "completely crazy", but it's certainly quite far-fetched.

Of course, there is no 'right' answer until/unless a court has ruled on
it -- but it doesn't seem particularly ambiguous to me. And as a rule we
prefer to err on the side of caution -- it seems to make a lot of sense
for us to put some effort moving the firmware blobs out of the kernel
and in to separate packages.¹

>  If you really believe firmware is a derivative of the kernel you
> wouldn't be able to run linux on anything with firmware in ROM either.

Now you seem to have missed the point quite badly. Nobody ever claimed
that the firmware is derived from the kernel, did they? And we wouldn't
be distributing that ROM as part of our kernel anyway.

>   Loading it as the kernel loads doesn't make it any more or less a
> part of the kernel work-as-a-whole.

Again, loading is irrelevant. Distributing it as part of the kernel
makes it... well, distributed as part of a whole which is a work based
on the Program. With all that that implies; even for sections of that
whole which are clearly not derived from the Program.

-- 
dwmw2

¹ Of course, there's then the question of whether the Fedora
distribution itself is a coherent whole, or whether it's "mere
aggregation on a storage medium". Which is especially interesting since
we explicitly copyright the distribution as a collective work, which
might seem to place it _firmly_ in the former category. But I think we
all prefer not to think about that one too hard. And at least it is a
bit less far-fetched to call it 'mere aggregation' than it is in the
case of stuff we include directly in the kernel. 




More information about the fedora-devel-list mailing list