On Sun, 2008-06-15 at 17:13 -0500, Les Mikesell wrote:
Do do have an exact definition of what is not permitted?
I pasted a precise definition of 'collective work' already, didn't I?
It is a work in which a number of separate and independent works are
assembled into one work.
The very definition of 'collective work' is that it is an aggregation of
other independent and separate works.
In order to create a collective work, you need the permission of the
copyright-holders of each of the constituent parts. If any _one_ of them
denies you that permission, then you may not distribute that collective
(I know some people like to make silly noises about 'power over
unrelated other works', but those really are just silly noises. The GPL
only needs to deny you permission to use the GPL'd work in that
situation, and that's perfectly sufficient to stop you. It doesn't need
extra magic powers over the other works that you wanted to include.)
Now, the GPL explicitly says that collective works including the GPL'd
Program are only permitted if the other independent and separate
constituent parts of that whole are also available under the terms of
the GPL. If they're not, then you're not granted permission to
distribute GPL'd Program in that form.
As you know, the GPL makes an exception for 'mere aggregation on a
volume of a storage or distribution medium'. There is some scope for
debate on precisely what is covered by that exception, but not a huge
It is fairly obvious that that exception doesn't excuse _all_ forms of
aggregation, unconditionally. That's because _all_ collective works are
an aggregation of sorts, by definition -- and it would be ridiculous to
believe that the GPL contains those two paragraphs which explicitly
state its intent to cover collective works, only to say "oh, actually I
didn't really mean any of it" in the next paragraph.
I've been talking generically so far. Getting back to the particular
case of firmware and kernel drivers... these are claimed by the network
driver maintainer to be "intimately tied" "pieces of a coherent
I really cannot see how that claim by an expert in the field can be
reconciled with a claim that the presence of the firmware is 'mere
aggregation on a volume of a storage medium'.
But it's not particularly well-phrased, so there is a grey area, and no
definitive 'right' answer until/unless it's been heard in court. There
are only 'likely' answers.
But any interpretation which includes _all_ collective works in that
exception for 'mere aggregation on a volume of a storage or distribution
medium' is not at all credible; it is clearly inconsistent with the
explicitly stated intent of the GPL.
Chunks of data
carried along for the ride and dropped into separate devices strike me
as "sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves". Before getting carried away, can you show how firmware
would not fit this description?
Of _course_ the firmware fits that description. That's what I've been
saying all along -- and that's why I think you're missing the point.
When you distribute the firmware blobs as separate works, of _course_
the GPL doesn't apply to them.
But when you distribute those same blobs as part of a whole which is a
work based on the GPL'd Program, the distribution of the whole must be
on the terms of the GPL, whose permissions for other licensees extend to
the entire whole, and thus to each and every part, regardless of who
Thus, it is not the intent of the GPL 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.