Re: Binary-only firmware covered by the GPL?

Stefan Smietanowski
2004-03-26T08:53:15Z

Hi David.

> The firmware blob in question can be reasonably considered to be an
> independent and separate work in itself. The GPL doesn't apply to it
> when it is distributed as a SEPARATE work. But when you distribute it as
> part of a whole which is a work based on other parts of the kernel, by
> including it in the kernel source in such a manner, 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.
>
> It's not the intent of the GPL to claim rights to firmware written
> independently for such hardware; rather, the intent is to exercise the
> right to control the distribution of _COLLECTIVE_ works based on the
> indisputably GPL'd parts of the kernel.
>

But the firmware comes after a GPL statement thereby leading to the
conclusion that it is their INTENTION to GPL the firmware.

If we have a source:

--

/*
This file is under the GPL, yada yada
*/
#include "things.h"

void some_func(void)
{
does_something();
}

char firmware[]={0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07};

void upload_firmware(void)
{
do_upload(firmware);
}

--

Then it seems clear to me that the firmware is under the GPL because it
is PART of the GPL'd file. If not, then I don't see how any statement
can ever be true to similar effect, even for some_func().

// Stefan