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

[Fwd: Aggregation and firmware]

Sorry, I should have Cc:ed this here when I sent it.
Matthew Garrett | mjg59@srcf.ucam.org
--- Begin Message ---
This question is related to an issue that applies to the Linux kernel,
and which is currently being considered within Debian. I couldn't find
anything in the FAQ that really answered this, so I'd be interested to
know what the FSF thinks.

Case 1
If I have a driver that will only work on hardware that contains some
firmware in ROM, it seems clear that the driver is not a derived work of
the firmware (or vice-versa), and so there is a clear boundary - the GPL
only covers the driver and not the firmware.

Case 2
Now we change the hardware. To save costs and increase flexibility, the
ROM is removed and a small amount of RAM added. When the driver loads,
it reads a file containing firmware off disk and copies the firmware
into the device's RAM. Is it still the case that the GPL only covers the
driver and not the firmware?

Case 3
For practical considerations, we may wish to attach the firmware to the
driver module. In this case, rather than being a separate file on disk,
the firmware is in a .h file that is linked into the driver. On startup,
rather than reading the file off disk, the driver copies the firmware
out of itself. 

Is this different to case 2? If so, would the answer be different if the
firmware and driver were separate files contained within a single tar
file? How about if the firmware was compiled to a .o and linked into an
ar archive with the driver?


The Linux kernel contains several GPLed drivers that contain "blobs" of
hexadecimal data. This is downloaded into the device when the driver is
loaded. Debian doesn't consider the firmware "blobs" to be adequately
free (there's no practical difference between the hexadecimal form and a
binary), and so wishes to move these to the non-free archive. However,
it's not entirely clear whether it's legal for us to distribute GPLed
drivers with these firmware images attached. It seems that putting the
driver and the firmware in a tar archive would be fine under the GPL,
and it's not entirely clear that putting them into a single ar archive
(which is what effectively happens when the dynamic linker produces the
final object) would be significantly different to that. However, there's
obviously a grey area here.

Thanks in advance,
Matthew Garrett | mjg59@srcf.ucam.org

--- End Message ---

Reply to: