RE: Binary-only firmware covered by the GPL?

From: David Schwartz
Date: Thu Mar 25 2004 - 19:50:12 EST

> On Thu, Mar 25, 2004 at 11:08:03PM +0100, Adrian Bunk wrote:
> > There's another issue with these files:
> >
> <-- snip -->
> >
> > The GPL says that you must give someone receiving a binary the source
> > code, and it says:
> > The source code for a work means the preferred form of the work for
> > making modifications to it.
> >
> >
> > This is perhaps a bit besides the main firmware discussion and IANAL,
> > but is this file really covered by the GPL?

> IMHO code that can be compiled would probably be the preferred form
> of the work.

You are seriously arguing that the obfuscated binary of the firmware is the
preferred form of the firmware for the purpose of making modifications to

> The source to the firmware in many cases and probably even
> this one is very unlikely to be able to be compiled under Linux at all.

What does it matter what it compiles under? The GPL is not Linux-specific.

> Also, unless the driver is written by the company producing the hardware
> itself even the author will likely not have the source code to the
> firmware and will only have a binary form (think reverse engineering).

If you don't have the preferred form of something for the purpose of making
modifications to it, then you can't give that to people, so you *CAN'T* GPL
it. If you making an executable that derives from a GPL'd product and, for
example, lose the source code, you MAY NOT distribute the executable. You
must have the preferred form for the purpose of making modifications or you
are not able to GPL.

> IMHO a driver for a piece of hardware does not include the software that
> the hardware itself is running, just the software that the primary CPU
> itself is running. YMMV.

But it does. This file contains the software that the hardware itself is
running. That's its sole purpose. Please tell me how you make modifications
to this file.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at