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

Re: non-free firmware



On Sun, Jan 08, 2006 at 09:50:47PM +0100, Frederik Schueler wrote:
> Hallo,
> 
> On Sun, Jan 08, 2006 at 11:10:46AM +0100, Sven Luther wrote:
> > On Sun, Jan 08, 2006 at 10:04:45AM +0100, Andreas Barth wrote:
> > > Now, my question is: Is there still work open? If so, what? Or is the
> > > current removal of firmware enough, and we can relax on this topic? 
> 
> From my point of view, the situation currently looks like this:
> 
> 1. tg3 and qla2xxx driver status has been solved: upstream has
> relicensed the drivers - the sourcecode is licensed under the GPL, the 
> firmware data is freely distributable as an aggregate work. 

The firmware is still source-less, and it is not data, as it represents
microcode destined to be run on the controller it is uploaded to.

They are now distributable at least though, which means we can stick them in
non-free.

> I think the firmware is a data part of the driver, and the driver _as a
> whole_ is - in the social contract terms - the component we have to look 
> at. If the driver source is available and the license is DFSG-free, it 
> can be distributed in main. 

Even though i would like it if you were right, and it would make our task
easier, this is clearly contrary to what was voted in the last GR, which
considered all manner of things as software, and thus needing source,
documentation, fonts and naturally firmware.

> What we call firmware is a hexdump of data not executed on the host CPU
> but uploaded to the hardware during initialization, thus plain simple
> data from the CPU point of view, and a hexdump is the preferred format
> of redistribution of this part of the source.

You are trying to ignore the real point though, what we consider code or
source or whatever is fully independent of if it runs on the main CPU or on a
secondary controller like it is here. It remains code, and it remains
binary-only, and thus non-DFSG-free. There is no amount of playing with words
which will allow us to ignore that fact, and i am sure that deep inside
yourself you also understand this.

And no, the hexdump is not the prefered way of modifying this one, at least
they run it through a bin2c kind of program, and they have at least some kind
of assembler transforming some keywords and such into this binary.

> In the end, trying to solve this issue, we might find an agreement on
> the following question:
> 
> Is the firmware the component which source has to be available in a
> different format, or is the driver as a whole - including the FW - the 
> component, which we already have the sources from?

Each part has to be free on its own, naturally. Imagine if i distributed a
non-free binary, which i bin2c'ed into a hexdump, and then i wrote a free
program to load it, or even better, which loaded it onto a remote system and
executed it there. Would then providing the source code for the loader program
mean my binary-only executable becomes free all of a sudden ? 

Friendly,

Sven Luther



Reply to: