[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Binary-only firmware covered by the GPL?

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)

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

void upload_firmware(void)


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

Reply to: