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

Re: Binary-only firmware covered by the GPL?

This problem affects the mwavem package too.  This package contains
firmware for the 3780i DSP chip which implements a modem.  (The
chip can be found in some older IBM ThinkPad laptops.)  IBM published
both the 3780i driver (named "mwave"), a userspace firmware loader
and the firmware itself all under the GPL.

Let's consider these three bits of code.

The driver alone is published under the GPL, so the combination of
the kernel plus the driver is also distributable under the terms
of the GPL.

The firmware loader is published under the GPL and so can be linked
to GPL code and distributed under the terms of the GPL.

The firmware is published by IBM under the GPL.  No DSP assembler
source code is provided -- just the binaries.  Assuming IBM is the
original licensor, we are left to infer that the preferred form of
the firmware for making modifications is the binary as it is shipped.
If that is the whole story then the whole kit and kaboodle is GPL
and there is no problem.

Now, suppose it is the case that IBM has assembler source code for
the firmware.  Is IBM allowed to refrain from publishing that along
with the binary?  Well, of course.  IBM can't be compelled by the
terms of its own license.  But what about others' licenses?  Well,
none are relevant because IBM doesn't distribute any code other than
its own.

But what about Debian?  Debian _does_ distribute code other than
IBM's and so does have to abide by those other licenses.  OK, which
licenses are relevant here?  First, the licenses of works that
gets linked to IBM's code.  Well, there aren't any -- we are talking
about self-sufficient DSP code here.  Nothing in Debian could be
construed as a work "derived from" the DSP binary through linking.
Second, there are the licenses of works that get distributed along
with IBM's code.  But the GPL specifically permits distribution
of non-free code along with GPL code:

      In addition, mere aggregation of another work not based
      on the Program with the Program (or with a work based
      on the Program) on a volume of a storage or distribution
      medium does not bring the other work under the scope
      of this License.  [GPL section 2]

Thus Debian does not violate any GPLs if it distributes the 3780i

Distributing such firmware does violate DFSG2, though, so the
firmware really should be kept in non-free.  That's where the
mwavem package is now.  (I am glad, therefore, that Debian has
voted not to eliminate non-free.)

Now, suppose it is the case that IBM acquired the firmware source
code from a third party and the third party has granted IBM a
license to distribute only binaries compiled from that source code.
What then?  Well, the only problem I can think of is that the third
party might have some rights over the firmware binary which would
make it illegal for IBM to distribute the binary under the GPL.
If that is the case then IBM has violated its contract with the
third party.  The consequences of that I leave to the members of
the list to think through.  I'll just say that if the third party
happens to be SCO then ThinkPad owners shouldn't be surprised to
hear from SCO someday.  :)

Thomas Hood

Yahoo! Messenger - Communicate instantly..."Ping" 
your friends today! Download Messenger Now 

Reply to: