On Thu, 2004-03-25 at 17:31 -0500, Jeff Garzik wrote:> Firmware is a program that executes on another processor, so no linking > is taking place at all. It is analagous to shipping a binary-only > program in your initrd, IMO.

You seem to be thinking of this:

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...

But you seem to ignore the fact that the sentence ends thus:

...WHEN YOU DISTRIBUTE THEM AS SEPARATE WORKS.

And indeed that the subsequent sentence reads as follows:

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.

You also seem to be ignoring the next paragraph where it mentionsCOLLECTIVE works:

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.

------The firmware blob in question can be reasonably considered to be anindependent and separate work in itself. The GPL doesn't apply to itwhen it is distributed as a SEPARATE work. But when you distribute it aspart of a whole which is a work based on other parts of the kernel, byincluding it in the kernel source in such a manner, the distribution ofthe whole must be on the terms of the GPL, whose permissions for otherlicensees extend to the entire whole, and thus to each and every part.

It's not the intent of the GPL to claim rights to firmware writtenindependently for such hardware; rather, the intent is to exercise theright to control the distribution of _COLLECTIVE_ works based on theindisputably GPL'd parts of the kernel.