Re: LCC and blobs
On Sat, Dec 11, 2004 at 02:23:16PM -0800, Brian Nelson wrote:
> While you have your pen and paper out, go ahead and write some hardware
> that a contrib device driver can use without needing firmware loadable
> by the kernel. Put the firmware on the device itself. That contrib
> driver is now completely suitable for main by your definition.
> There is no direct relationship between a device driver and a binary
> firmware blob. The driver simply drives a device. It does not and
> should not care how a device gets the firmware loaded.
If the driver has to be able to open the file and read the blob so it
can send it to the device, there's a clear relationship and dependency
between the driver and the blob: if you don't have a copy of the blob,
the driver doesn't work. (Spewing out "hardware error, firmware not
loaded" doesn't count to me as "working".)
The difference is simple: if running a device requires that a driver
have access to a piece of data, the user must have access to that
data (and so its copyright restrictions kick in; I might not be allowed
to give it to you, even if the company that made the device no longer
exists). If the device merely stores that software on the device itself,
that isn't the case.
If the user must be subjected to non-free restrictions to use a piece
of software (such as a driver), it belongs in contrib; that's what
contrib was created for.
(The fact that this is a result of hardware implementation decisions