Debian Bug report logs - #239952
kernel-source-2.6.4: qla2xxx contains non-free firmware

Package: kernel; Maintainer for kernel is (unknown);

Reported by: Adrian Bunk <bunk@fs.tum.de>

Date: Thu, 25 Mar 2004 01:03:01 UTC

Severity: serious

Tags: sarge, sid

Done: Herbert Xu <herbert@gondor.apana.org.au>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Adrian Bunk <bunk@fs.tum.de>:
New Bug report received and forwarded. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Adrian Bunk <bunk@fs.tum.de>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Thu, 25 Mar 2004 01:45:22 +0100
Package: kernel-source-2.6.4
Severity: grave

It seems the following files of the qla2xxx driver contain non-free
firmware:
./drivers/scsi/qla2xxx/ql2100_fw.c
./drivers/scsi/qla2xxx/ql6322_fw.c
./drivers/scsi/qla2xxx/ql2300_fw.c
./drivers/scsi/qla2xxx/ql2200_fw.c
./drivers/scsi/qla2xxx/ql6312_fw.c
./drivers/scsi/qla2xxx/ql2322_fw.c





Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Herbert Xu <herbert@gondor.apana.org.au>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #10 received at 239952@bugs.debian.org (full text, mbox):

From: Herbert Xu <herbert@gondor.apana.org.au>
To: Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org
Cc: debian-devel@lists.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Thu, 25 Mar 2004 19:29:49 +1100
On Thu, Mar 25, 2004 at 01:45:22AM +0100, Adrian Bunk wrote:
> Package: kernel-source-2.6.4
> Severity: grave
> 
> It seems the following files of the qla2xxx driver contain non-free
> firmware:
> ./drivers/scsi/qla2xxx/ql2100_fw.c
> ./drivers/scsi/qla2xxx/ql6322_fw.c
> ./drivers/scsi/qla2xxx/ql2300_fw.c
> ./drivers/scsi/qla2xxx/ql2200_fw.c
> ./drivers/scsi/qla2xxx/ql6312_fw.c
> ./drivers/scsi/qla2xxx/ql2322_fw.c

I presume you're objecting to these firmware on the basis that they
are being distributed as machine code.

I personally find this attitude to be extreme.  However, I have in
the past removed a number of drivers for exactly this reason at the
request of other developers.

I would like the opinion of all Debian developers on the general issue
of firmware in the kernel-source package.

If we do decide to remove them, then we can remove quite a number of
other drivers for the same reason, I can think of qlogicisp and tg3
off the top of my head.

I recall that when this issue was first raised with the keyspan drivers,
some of the people advocating their removal promised to modify the
drivers so that the firmware could be loaded from userspace (just like how
the anti-non-free camp promised to host non-free packages), it appears
that after three years this support still has not materialised.

Perhaps the easiest solution is to move all kernel packages into non-free.

PS I'm deliberately avoiding debian-legal as the inhabitants there tend
to have views that are not necessarily representative of the project
as a whole.
-- 
Debian GNU/Linux 3.0 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Don Armstrong <don@donarmstrong.com>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #15 received at 239952@bugs.debian.org (full text, mbox):

From: Don Armstrong <don@donarmstrong.com>
To: 239952@bugs.debian.org
Cc: debian-devel@lists.debian.org, debian-legal@lists.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Thu, 25 Mar 2004 02:21:17 -0800
[Message part 1 (text/plain, inline)]
On Thu, 25 Mar 2004, Herbert Xu wrote:
> On Thu, Mar 25, 2004 at 01:45:22AM +0100, Adrian Bunk wrote:
> > It seems the following files of the qla2xxx driver contain non-free
> > firmware:
>
> I presume you're objecting to these firmware on the basis that they
> are being distributed as machine code.
>
> I personally find this attitude to be extreme. 

It seems rather clear that those "source" files are just machine code
for the device firmware, and as such, are not the prefered form for
modification.

That pretty much precludes the linking of that code with the rest of
the kernel and/or forming a derivative work of the kernel and our
distribution of such a resultant work, well before we even get into
the DFSG §2 discussion.[1]

> I would like the opinion of all Debian developers on the general
> issue of firmware in the kernel-source package.

What is upstream's opinion on this issue?

Are they even aware of the conflict that they are brewing by
distributing the code in this manner?

[I know the FSF's interpretation of the GPL on this issue is fairly
clear, but I'm not aware of a cogent set of analysis on this issue by
Linus or any of the other major kernel developers.]

> I recall that when this issue was first raised with the keyspan
> drivers, some of the people advocating their removal promised to
> modify the drivers so that the firmware could be loaded from
> userspace

I don't know if that's really a reasonable solution. Perhaps just
removing these drivers from the upstream kernel source and migrating
them to a separate package in non-free would be a workable solution?
[Obviously, the optimal solution would be to have the upstream
developers get qlogic to release the assembler or whatever it is
required to build the firmware.[2]]

> I'm deliberately avoiding debian-legal as the inhabitants there tend
> to have views that are not necessarily representative of the project
> as a whole.

That may be, but they often tend to have a bit more experience in
struggling with the licensing issues encompassed by distributing
material that is not available in the prefered form for modification
in a GPLed work. As such, I've added -legal to the Cc: list.


Don Armstrong

1: Which, again, is seemingly pretty straight forward, seeing as it's
quite definetly not source.
2: I really hope these devices aren't quite so braindead as to not
work at all if they don't have the firmware loaded by the
driver... but then again, hardware designers never cease to depress
me.
-- 
"The question of whether computers can think is like the question of
whether submarines can swim."
 -- Edsgar Dijkstra

http://www.donarmstrong.com
http://www.anylevel.com
http://rzlab.ucr.edu
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Herbert Xu <herbert@gondor.apana.org.au>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #20 received at 239952@bugs.debian.org (full text, mbox):

From: Herbert Xu <herbert@gondor.apana.org.au>
To: 239952@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Thu, 25 Mar 2004 21:52:38 +1100
On Thu, Mar 25, 2004 at 02:21:17AM -0800, Don Armstrong wrote:
>
> 2: I really hope these devices aren't quite so braindead as to not
> work at all if they don't have the firmware loaded by the
> driver... but then again, hardware designers never cease to depress
> me.

In most of these cases the driver cannot communicate with the device
in any meaningful way until the firmware is loaded.  The reason is
that they do not contain copies of the firmware in their ROM (if they
have any ROM at all).

However even when the device does contain copies of the firmware in
their ROM, it is probably out-of-date and/or buggy.  Therefore in
either case removal of the firmware will render the driver useless.
At best they'll have to go into contrib.
-- 
Debian GNU/Linux 3.0 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt



Information stored:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Herbert Xu <herbert@gondor.apana.org.au>:
Extra info received and filed, but not forwarded. Full text and rfc822 format available.

Message #25 received at 239952-quiet@bugs.debian.org (full text, mbox):

From: Herbert Xu <herbert@gondor.apana.org.au>
To: 239952-quiet@bugs.debian.org
Cc: debian-devel@lists.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Thu, 25 Mar 2004 22:11:27 +1100
On Thu, Mar 25, 2004 at 02:21:17AM -0800, Don Armstrong wrote:
> 
> [I know the FSF's interpretation of the GPL on this issue is fairly
> clear, but I'm not aware of a cogent set of analysis on this issue by
> Linus or any of the other major kernel developers.]

Linus's view is presented in http://lkml.org/lkml/2003/12/10/131:

: And I think this argument is _especially_ strong for things like firmware
: etc, and I've been on record as saying that I think it's ok to upload
: standard firmware for a driver as long as you don't call it directly
: (ie it really lives on the hardware itself).

Of course this is not a legal opinion and he is only one of the copyright
holders.

On the other hand, none of the major commercial distributions have
identified distributing binary firmware with GPLed drivers as a legal
issue that is important enough for them to stop doing so.  If there
were to be a court case, they would be much more vulnerable than the SPI.
-- 
Debian GNU/Linux 3.0 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Matthew Garrett <mgarrett@chiark.greenend.org.uk>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #30 received at 239952@bugs.debian.org (full text, mbox):

From: Matthew Garrett <mgarrett@chiark.greenend.org.uk>
To: 239952@bugs.debian.org
Cc: debian-devel@lists.debian.org, debian-boot@lists.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Thu, 25 Mar 2004 11:59:39 +0000
Herbert Xu wrote:

(Debian-boot - context becomes clearer further down)

>I would like the opinion of all Debian developers on the general issue
>of firmware in the kernel-source package.

I'd certainly think that it's dubious. Alan Cox has expressed much the
same opinion and holds enough of the copyright that it probably ought to
matter.

>I recall that when this issue was first raised with the keyspan drivers,
>some of the people advocating their removal promised to modify the
>drivers so that the firmware could be loaded from userspace (just like how
>the anti-non-free camp promised to host non-free packages), it appears
>that after three years this support still has not materialised.

The request_firmware interface allows drivers to generate hotplug events
when they need to load firmware. Patching individual drivers shouldn't
be an excessive quantity of pain and would probably be welcomed
upstream.

>Perhaps the easiest solution is to move all kernel packages into non-free.

There are two issues. One is that the firmware doesn't meet the DFSG,
and that would support it being placed in non-Free (personally, I'm
rather less down on firmware than I am on any other sort of non-free
data. We only need to ship it because the vendor hasn't put it in ROM,
and if they had done we wouldn't be worrying about it at all), and the
other is that it's probably against the terms of the GPL to distribute
it linked into the kernel at all. If the firmware remains inside the
kernel, there's a fairly strong argument that we can't distribute the
kernel at all.

Which leaves us with the problem of the installer. Personally, I'd
rather firmware wasn't in main. On the other hand, we're talking about
SCSI cards and network adapters being affected here, which is massively
less than ideal. I think I'd have no objection to firmware being
included in the installer, but this would possibly require the existence
of another section. From an implementation point of view, I guess all
that would be required would be the presence of hotplug during the
install and a few firmware udebs.

At this point of the release cycle, it's certainly not practical to try
to punt firmware out to non-free. Since we've failed to make any sort of
real stand against stuff like the GFDL for Sarge, I guess allowing a
small quantity of stuff that doesn't come with source isn't massively
worse. Along with the GFDL, it's something that should really be sorted
for Sarge+1.

-- 
Matthew Garrett | mjg59-chiark.mail.debian.devel@srcf.ucam.org



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Marco d'Itri <md@Linux.IT>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #35 received at 239952@bugs.debian.org (full text, mbox):

From: Marco d'Itri <md@Linux.IT>
To: debian-devel@lists.debian.org
Cc: 239952@bugs.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Thu, 25 Mar 2004 17:21:44 +0100
On Mar 25, Herbert Xu <herbert@gondor.apana.org.au> wrote:

> However even when the device does contain copies of the firmware in
> their ROM, it is probably out-of-date and/or buggy.  Therefore in
> either case removal of the firmware will render the driver useless.
> At best they'll have to go into contrib.
I disagree. The driver is fully functional and should stay in main,
it's the hardware which may not work without until the firmware has been
loaded.

Refusing to distribute firmware files is just hypocrisy, because
everyone of us has some non-free firmware in his own computer.

I also oppose this on practical grounds, more and more essential
hardware wants its firmware to be loaded by the host CPU (because it's
the right thing to do when designing hardware, if it's not needed for
boot the the flash RAM on the device is wasted).

qla2xxx is not the only driver in debian which contains a firmware, BTW.

-- 
ciao, |
Mneedsarco | [5341 l'm9tNBMIc6Yg]



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to "Giacomo A. Catenazzi" <cate@pixelized.ch>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #40 received at 239952@bugs.debian.org (full text, mbox):

From: "Giacomo A. Catenazzi" <cate@pixelized.ch>
Cc: 239952@bugs.debian.org, debian-devel@lists.debian.org, debian-boot@lists.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Thu, 25 Mar 2004 17:49:41 +0100

Matthew Garrett wrote:

>>Perhaps the easiest solution is to move all kernel packages into non-free.
> 
> 
> There are two issues. One is that the firmware doesn't meet the DFSG,

(...)

Upstreams expressed intention to remove all firmware from kernel.
The infrastructure IMHO is not yet completly ready (the two stabe boot),
but if you talk to LKML, probably we will have a better opinion and
an incentive to people to continue the work on the new kernel
initialitation part.

Second solution:
kernel maintainer download the original kernel sources and
remove the conflicting files. Than it publish the debian
modified sources with the packages, until the kernels don't
contain offending files.

ciao
	cate



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Adrian Bunk <bunk@fs.tum.de>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #45 received at 239952@bugs.debian.org (full text, mbox):

From: Adrian Bunk <bunk@fs.tum.de>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: 239952@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Thu, 25 Mar 2004 22:54:02 +0100
On Thu, Mar 25, 2004 at 07:29:49PM +1100, Herbert Xu wrote:
> On Thu, Mar 25, 2004 at 01:45:22AM +0100, Adrian Bunk wrote:
> > Package: kernel-source-2.6.4
> > Severity: grave
> > 
> > It seems the following files of the qla2xxx driver contain non-free
> > firmware:
> > ./drivers/scsi/qla2xxx/ql2100_fw.c
> > ./drivers/scsi/qla2xxx/ql6322_fw.c
> > ./drivers/scsi/qla2xxx/ql2300_fw.c
> > ./drivers/scsi/qla2xxx/ql2200_fw.c
> > ./drivers/scsi/qla2xxx/ql6312_fw.c
> > ./drivers/scsi/qla2xxx/ql2322_fw.c
> 
> I presume you're objecting to these firmware on the basis that they
> are being distributed as machine code.
> 
> I personally find this attitude to be extreme.  However, I have in
> the past removed a number of drivers for exactly this reason at the
> request of other developers.
>...

First of all:
I'm not the big "remove this software because it doesn't fit into an 
ideal free software picture" evangelist.

I sent this bug since (as you mention) there were other drivers disabled 
for the same reason, and even the GFDL (which is at most very slighly 
outside of the DFSG) is considered to be a reason to move stuff to 
non-free.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed




Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Adrian Bunk <bunk@fs.tum.de>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #50 received at 239952@bugs.debian.org (full text, mbox):

From: Adrian Bunk <bunk@fs.tum.de>
To: 239952@bugs.debian.org, debian-devel@lists.debian.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Binary-only firmware covered by the GPL?
Date: Thu, 25 Mar 2004 23:08:03 +0100
There's another issue with these files:

From drivers/scsi/qla2xxx/ql2100_fw.c in kernel 2.6:

<--  snip  -->

/******************************************************************************
 *                  QLOGIC LINUX SOFTWARE
 *
 * QLogic ISP2x00 device driver for Linux 2.6.x
 * Copyright (C) 2003-2004 QLogic Corporation
 * (www.qlogic.com)
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the
 * Free Software Foundation; either version 2, or (at your option) any
 * later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 
*************************************************************************/

/*
 *      Firmware Version 1.19.24 (14:02 Jul 16, 2002)
 */

...

#ifdef UNIQUE_FW_NAME
unsigned short fw2100tp_code01[] = { 
#else
unsigned short risc_code01[] = { 
#endif
        0x0078, 0x102d, 0x0000, 0x95f1, 0x0000, 0x0001, 0x0013, 0x0018,
        0x0017, 0x2043, 0x4f50, 0x5952, 0x4947, 0x4854, 0x2032, 0x3030,
        0x3120, 0x514c, 0x4f47, 0x4943, 0x2043, 0x4f52, 0x504f, 0x5241,
        0x5449, 0x4f4e, 0x2049, 0x5350, 0x3231, 0x3030, 0x2046, 0x6972,
...

<--  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?


cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed





Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Jeff Garzik <jgarzik@pobox.com>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #55 received at 239952@bugs.debian.org (full text, mbox):

From: Jeff Garzik <jgarzik@pobox.com>
To: Adrian Bunk <bunk@fs.tum.de>
Cc: 239952@bugs.debian.org, debian-devel@lists.debian.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: Binary-only firmware covered by the GPL?
Date: Thu, 25 Mar 2004 17:31:53 -0500
Well IANAL, but it seems not so cut-n-dried, at least.

Firmware is a program that executes on another processor, so no linking 
is taking place at all.  It is analagous to shipping a binary-only 
program in your initrd, IMO.






Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Adrian Bunk <bunk@fs.tum.de>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #60 received at 239952@bugs.debian.org (full text, mbox):

From: Adrian Bunk <bunk@fs.tum.de>
To: Jeff Garzik <jgarzik@pobox.com>
Cc: 239952@bugs.debian.org, debian-devel@lists.debian.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: Binary-only firmware covered by the GPL?
Date: Thu, 25 Mar 2004 23:47:07 +0100
On Thu, Mar 25, 2004 at 05:31:53PM -0500, Jeff Garzik wrote:
> 
> Well IANAL, but it seems not so cut-n-dried, at least.
> 
> Firmware is a program that executes on another processor, so no linking 
> is taking place at all.  It is analagous to shipping a binary-only 
> program in your initrd, IMO.

My point in this mail was a bit "besides the main firmware discussion":

I was not asking whether it's OK to ship this file in the kernel 
sources, I was asking whether the contents of the file is really under 
the GPL as stated in the header of this file if it contains this binary 
code.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed




Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Stefan Smietanowski <stesmi@stesmi.com>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #65 received at 239952@bugs.debian.org (full text, mbox):

From: Stefan Smietanowski <stesmi@stesmi.com>
To: Jeff Garzik <jgarzik@pobox.com>
Cc: Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org, debian-devel@lists.debian.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: Binary-only firmware covered by the GPL?
Date: Thu, 25 Mar 2004 23:53:54 +0100
Jeff Garzik wrote:

> 
> Well IANAL, but it seems not so cut-n-dried, at least.
> 
> Firmware is a program that executes on another processor, so no linking 
> is taking place at all.  It is analagous to shipping a binary-only 
> program in your initrd, IMO.

Except the firmware itself is GPL in this case.

// Stefan



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Chris Cheney <ccheney@cheney.cx>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #70 received at 239952@bugs.debian.org (full text, mbox):

From: Chris Cheney <ccheney@cheney.cx>
To: debian-devel@lists.debian.org
Cc: Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: Binary-only firmware covered by the GPL?
Date: Thu, 25 Mar 2004 16:54:23 -0600
[Message part 1 (text/plain, inline)]
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. 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.
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).
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.

Chris
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Chris Cheney <ccheney@cheney.cx>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #75 received at 239952@bugs.debian.org (full text, mbox):

From: Chris Cheney <ccheney@cheney.cx>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Thu, 25 Mar 2004 17:05:45 -0600
[Message part 1 (text/plain, inline)]
On Thu, Mar 25, 2004 at 07:29:49PM +1100, Herbert Xu wrote:
> On Thu, Mar 25, 2004 at 01:45:22AM +0100, Adrian Bunk wrote:
> > Package: kernel-source-2.6.4
> > Severity: grave
> > 
> > It seems the following files of the qla2xxx driver contain non-free
> > firmware:
> > ./drivers/scsi/qla2xxx/ql2100_fw.c
> > ./drivers/scsi/qla2xxx/ql6322_fw.c
> > ./drivers/scsi/qla2xxx/ql2300_fw.c
> > ./drivers/scsi/qla2xxx/ql2200_fw.c
> > ./drivers/scsi/qla2xxx/ql6312_fw.c
> > ./drivers/scsi/qla2xxx/ql2322_fw.c
> 
> I presume you're objecting to these firmware on the basis that they
> are being distributed as machine code.
> 
> I personally find this attitude to be extreme.  However, I have in
> the past removed a number of drivers for exactly this reason at the
> request of other developers.
> 
> I would like the opinion of all Debian developers on the general issue
> of firmware in the kernel-source package.
> 
> If we do decide to remove them, then we can remove quite a number of
> other drivers for the same reason, I can think of qlogicisp and tg3
> off the top of my head.
> 
> I recall that when this issue was first raised with the keyspan drivers,
> some of the people advocating their removal promised to modify the
> drivers so that the firmware could be loaded from userspace (just like how
> the anti-non-free camp promised to host non-free packages), it appears
> that after three years this support still has not materialised.
> 
> Perhaps the easiest solution is to move all kernel packages into non-free.
> 
> PS I'm deliberately avoiding debian-legal as the inhabitants there tend
> to have views that are not necessarily representative of the project
> as a whole.

For this "binary firmware is not preferred form of source" issue to be
resolved coherently all sources that include binary firmware and all
drivers that include undocumented magic numbers and strings must be
removed since of course undocumented magic numbers and strings are not
preferred form of source either! Hence all or at a least a large amount
of reverse engineered drivers would need to be removed at minimum,
besides the drivers vendors provide with binary firmware. I know the
driver I wrote for the linux kernel uses magic strings which might be
firmware, I don't know, and so its certainly not the preferred form of
source. The company making the product never provided documentation on
the device at all nevermind the source for the supposed firmware.

Chris
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Andrew Suffield <asuffield@debian.org>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #80 received at 239952@bugs.debian.org (full text, mbox):

From: Andrew Suffield <asuffield@debian.org>
To: debian-devel@lists.debian.org
Cc: Herbert Xu <herbert@gondor.apana.org.au>, Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Fri, 26 Mar 2004 00:01:14 +0000
[Message part 1 (text/plain, inline)]
On Thu, Mar 25, 2004 at 05:05:45PM -0600, Chris Cheney wrote:
> On Thu, Mar 25, 2004 at 07:29:49PM +1100, Herbert Xu wrote:
> > On Thu, Mar 25, 2004 at 01:45:22AM +0100, Adrian Bunk wrote:
> > > Package: kernel-source-2.6.4
> > > Severity: grave
> > > 
> > > It seems the following files of the qla2xxx driver contain non-free
> > > firmware:
> > > ./drivers/scsi/qla2xxx/ql2100_fw.c
> > > ./drivers/scsi/qla2xxx/ql6322_fw.c
> > > ./drivers/scsi/qla2xxx/ql2300_fw.c
> > > ./drivers/scsi/qla2xxx/ql2200_fw.c
> > > ./drivers/scsi/qla2xxx/ql6312_fw.c
> > > ./drivers/scsi/qla2xxx/ql2322_fw.c
> > 
> > I presume you're objecting to these firmware on the basis that they
> > are being distributed as machine code.
> > 
> > I personally find this attitude to be extreme.  However, I have in
> > the past removed a number of drivers for exactly this reason at the
> > request of other developers.
> > 
> > I would like the opinion of all Debian developers on the general issue
> > of firmware in the kernel-source package.
> > 
> > If we do decide to remove them, then we can remove quite a number of
> > other drivers for the same reason, I can think of qlogicisp and tg3
> > off the top of my head.
> > 
> > I recall that when this issue was first raised with the keyspan drivers,
> > some of the people advocating their removal promised to modify the
> > drivers so that the firmware could be loaded from userspace (just like how
> > the anti-non-free camp promised to host non-free packages), it appears
> > that after three years this support still has not materialised.
> > 
> > Perhaps the easiest solution is to move all kernel packages into non-free.
> > 
> > PS I'm deliberately avoiding debian-legal as the inhabitants there tend
> > to have views that are not necessarily representative of the project
> > as a whole.
> 
> For this "binary firmware is not preferred form of source" issue to be
> resolved coherently all sources that include binary firmware and all
> drivers that include undocumented magic numbers and strings must be
> removed since of course undocumented magic numbers and strings are not
> preferred form of source either! Hence all or at a least a large amount
> of reverse engineered drivers would need to be removed at minimum,
> besides the drivers vendors provide with binary firmware. I know the
> driver I wrote for the linux kernel uses magic strings which might be
> firmware, I don't know, and so its certainly not the preferred form of
> source.

Sophistry. It's clearly the form you "preferred" when you were writing
it. The GPL does not require that programs be well-written, it merely
requires a level playing field.

-- 
  .''`.  ** Debian GNU/Linux ** | Andrew Suffield
 : :' :  http://www.debian.org/ |
 `. `'                          |
   `-             -><-          |
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to David Woodhouse <dwmw2@infradead.org>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #85 received at 239952@bugs.debian.org (full text, mbox):

From: David Woodhouse <dwmw2@infradead.org>
To: Jeff Garzik <jgarzik@pobox.com>
Cc: Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org, debian-devel@lists.debian.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: Binary-only firmware covered by the GPL?
Date: Fri, 26 Mar 2004 00:17:15 +0000
On Thu, 2004-03-25 at 17:31 -0500, Jeff Garzik wrote:
> Firmware is a program that executes on another processor, so no linking 
> is taking place at all.  It is analagous to shipping a binary-only 
> program in your initrd, IMO.

You seem to be thinking of this:

  These requirements apply to the modified work as a whole.  If
  identifiable sections of that work are not derived from the Program,
  and can be reasonably considered independent and separate works in
  themselves, then this License, and its terms, do not apply to those
  sections... 

But you seem to ignore the fact that the sentence ends thus:

        ...WHEN YOU DISTRIBUTE THEM AS SEPARATE WORKS.

And indeed that the subsequent sentence reads as follows:

                                                        But when you
  distribute the same sections as part of a whole which is a work based
  on the Program, the distribution of the whole must be on the terms of
  this License, whose permissions for other licensees extend to the
  entire whole, and thus to each and every part regardless of who wrote
  it.

You also seem to be ignoring the next paragraph where it mentions
COLLECTIVE works:

  Thus, it is not the intent of this section to claim rights or contest
  your rights to work written entirely by you; rather, the intent is to
  exercise the right to control the distribution of derivative OR
  COLLECTIVE WORKS based on the Program.

------

The firmware blob in question can be reasonably considered to be an
independent and separate work in itself. The GPL doesn't apply to it
when it is distributed as a SEPARATE work. But when you distribute it as
part of a whole which is a work based on other parts of the kernel, by
including it in the kernel source in such a manner, the distribution of
the whole must be on the terms of the GPL, whose permissions for other
licensees extend to the entire whole, and thus to each and every part.

It's not the intent of the GPL to claim rights to firmware written
independently for such hardware; rather, the intent is to exercise the
right to control the distribution of _COLLECTIVE_ works based on the
indisputably GPL'd parts of the kernel.

-- 
dwmw2





Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to John Hasler <john@dhh.gt.org>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #90 received at 239952@bugs.debian.org (full text, mbox):

From: John Hasler <john@dhh.gt.org>
To: 239952@bugs.debian.org, debian-devel@lists.debian.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: Binary-only firmware covered by the GPL?
Date: Thu, 25 Mar 2004 18:33:50 -0600
Stefan writes:
> Except the firmware itself is GPL in this case.

So the problem is not GPL compatibility: it's GPL code being distributed
without source.  Can we get written permission from the manufacturer?
Without either source or written permission to do without we cannot
redistribute.

Note that the GPL does not require that the firmware build from source on
Linux.  We are not obligated (by the GPL) to supply a compiler.
-- 
John Hasler               You may treat this work as if it 
john@dhh.gt.org           were in the public domain.
Dancing Horse Hill        I waive all rights.
Elmwood, Wisconsin



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Matthew Wilcox <willy@debian.org>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #95 received at 239952@bugs.debian.org (full text, mbox):

From: Matthew Wilcox <willy@debian.org>
To: Jeff Garzik <jgarzik@pobox.com>
Cc: Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org, debian-devel@lists.debian.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: Binary-only firmware covered by the GPL?
Date: Fri, 26 Mar 2004 00:33:39 +0000
On Thu, Mar 25, 2004 at 05:31:53PM -0500, Jeff Garzik wrote:
> 
> Well IANAL, but it seems not so cut-n-dried, at least.
> 
> Firmware is a program that executes on another processor, so no linking 
> is taking place at all.  It is analagous to shipping a binary-only 
> program in your initrd, IMO.

Linking isn't the issue.  I went and read the original bug on this a
while back.  The issue is that it's a program that's distributed in
binary form without source code.  That's forbidden from being in main
by the terms of the Debian Social Contract.

I realise there's a grey area between "magic data you write to a device"
and "a program that is executed on a different processor".  For example,
palette data for a frame buffer.  But nobody's arguing for that grey
area here -- it's clearly a program without source code that Debian
can't distribute.

I think this is a terribly unfortunate state of affairs and I'm not happy
about how it's been handled or communicated.  I'd really appreciate it
if someone managed to think of a good solution to this.

-- 
"Next the statesmen will invent cheap lies, putting the blame upon 
the nation that is attacked, and every man will be glad of those
conscience-soothing falsities, and will diligently study them, and refuse
to examine any refutations of them; and thus he will by and by convince 
himself that the war is just, and will thank God for the better sleep 
he enjoys after this process of grotesque self-deception." -- Mark Twain



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to GOTO Masanori <gotom@debian.or.jp>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #100 received at 239952@bugs.debian.org (full text, mbox):

From: GOTO Masanori <gotom@debian.or.jp>
To: Matthew Wilcox <willy@debian.org>
Cc: Jeff Garzik <jgarzik@pobox.com>, Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org, debian-devel@lists.debian.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: Binary-only firmware covered by the GPL?
Date: Fri, 26 Mar 2004 10:07:38 +0900
At Fri, 26 Mar 2004 00:33:39 +0000,
Matthew Wilcox wrote:
> I realise there's a grey area between "magic data you write to a device"
> and "a program that is executed on a different processor".  For example,
> palette data for a frame buffer.  But nobody's arguing for that grey
> area here -- it's clearly a program without source code that Debian
> can't distribute.

Well, I also think this is grey area.

But think about: why can we distribute assembler only code in linux
kernel?  It's near to binary form (objdump -d is your friend).

If they insist this source code is GPL, then I think this code is
covered under GPL at least for this case.  If it's GPL, then we can
derive the newer firmware code from this original ql2100_fw.c freely.

Regards,
-- gotom



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to John Hasler <john@dhh.gt.org>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #105 received at 239952@bugs.debian.org (full text, mbox):

From: John Hasler <john@dhh.gt.org>
To: 239952@bugs.debian.org, debian-devel@lists.debian.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: Binary-only firmware covered by the GPL?
Date: Thu, 25 Mar 2004 19:30:12 -0600
David Woodhouse writes:
> The firmware blob in question can be reasonably considered to be an
> independent and separate work in itself. The GPL doesn't apply to it when
> it is distributed as a SEPARATE work. But when you distribute it as part
> of a whole which is a work based on other parts of the kernel, by
> including it in the kernel source...

So don't.  Put it in a seperate file and load it at boot time.
-- 
John Hasler               You may treat this work as if it 
john@dhh.gt.org           were in the public domain.
Dancing Horse Hill        I waive all rights.
Elmwood, Wisconsin



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to John Hasler <john@dhh.gt.org>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #110 received at 239952@bugs.debian.org (full text, mbox):

From: John Hasler <john@dhh.gt.org>
To: 239952@bugs.debian.org, debian-devel@lists.debian.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: Binary-only firmware covered by the GPL?
Date: Thu, 25 Mar 2004 19:39:33 -0600
GOTO Masanori writes:
> But think about: why can we distribute assembler only code in linux
> kernel?

Was it not written in assembler?  If so, there is no problem.

> If they insist this source code is GPL, then I think this code is covered
> under GPL at least for this case.  If it's GPL, then we can derive the
> newer firmware code from this original ql2100_fw.c freely.

I don't follow you.  What source code?
-- 
John Hasler
john@dhh.gt.org (John Hasler)
Dancing Horse Hill
Elmwood, WI



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Chris Cheney <ccheney@cheney.cx>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #115 received at 239952@bugs.debian.org (full text, mbox):

From: Chris Cheney <ccheney@cheney.cx>
To: debian-devel@lists.debian.org, Herbert Xu <herbert@gondor.apana.org.au>, Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Thu, 25 Mar 2004 19:41:07 -0600
[Message part 1 (text/plain, inline)]
On Fri, Mar 26, 2004 at 12:01:14AM +0000, Andrew Suffield wrote:
-snip-
> Sophistry. It's clearly the form you "preferred" when you were writing
> it. The GPL does not require that programs be well-written, it merely
> requires a level playing field.

So binary firmware is ok as long as it was not the vendor that wrote
the driver? Wow isn't that ingenious. :P

Chris
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Chris Cheney <ccheney@cheney.cx>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #120 received at 239952@bugs.debian.org (full text, mbox):

From: Chris Cheney <ccheney@cheney.cx>
To: debian-devel@lists.debian.org, Herbert Xu <herbert@gondor.apana.org.au>, Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Thu, 25 Mar 2004 20:03:13 -0600
[Message part 1 (text/plain, inline)]
On Thu, Mar 25, 2004 at 07:41:07PM -0600, Chris Cheney wrote:
> On Fri, Mar 26, 2004 at 12:01:14AM +0000, Andrew Suffield wrote:
> -snip-
> > Sophistry. It's clearly the form you "preferred" when you were writing
> > it. The GPL does not require that programs be well-written, it merely
> > requires a level playing field.
> 
> So binary firmware is ok as long as it was not the vendor that wrote
> the driver? Wow isn't that ingenious. :P

Actually a reverse engineered driver with blobs in it is probably
illegal since it is reproducing copyrighted code, I forgot to mention
that earlier. :)

BTW - I know of at least one other driver in the linux kernels like
that, the one I wrote: kernel/drivers/usb/media/vicam.ko

Chris
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to davids@webmaster.com:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #125 received at 239952@bugs.debian.org (full text, mbox):

From: "David Schwartz" <davids@webmaster.com>
To: "Matthew Wilcox" <willy@debian.org>
Cc: "Jeff Garzik" <jgarzik@pobox.com>, "Adrian Bunk" <bunk@fs.tum.de>, <239952@bugs.debian.org>, <debian-devel@lists.debian.org>, <linux-kernel@vger.kernel.org>, <linux-scsi@vger.kernel.org>
Subject: RE: Binary-only firmware covered by the GPL?
Date: Thu, 25 Mar 2004 18:06:37 -0800

> At Fri, 26 Mar 2004 00:33:39 +0000,

> Matthew Wilcox wrote:

> > I realise there's a grey area between "magic data you write to a device"
> > and "a program that is executed on a different processor".  For example,
> > palette data for a frame buffer.  But nobody's arguing for that grey
> > area here -- it's clearly a program without source code that Debian
> > can't distribute.

> Well, I also think this is grey area.

	On what basis? How is this file different from an executable?

	The gray area cases are where the code, as orginally written, is obscure.
Perhaps because it uses 'magic numbers' from data sheets rather than
symbolic constants. However, the GPL doesn't require you to add comments or
to write clear code. It simply prohibits deliberate obfuscation by one
particular means, namely having two forms of the code, one that you
distribute and one that you use to make modifications. (Other forms of
obfuscation are the gray areas.)

	But this case is squarely where the GPL says "no". In this case, there is
one form of the firmware for the purposes of making modifications to it and
there is another form that's distributed, ostensibly under the GPL.

> But think about: why can we distribute assembler only code in linux
> kernel?  It's near to binary form (objdump -d is your friend).

	We can distribute binaries if we want. The issue is that we cannot
distribute in any form and withhold the preferred form of the code for the
purpose of making modifications to it. How easy or hard it is to modify is
not the issue, one just can't take active steps to make it harder by
withholding the 'real source'.

> If they insist this source code is GPL, then I think this code is
> covered under GPL at least for this case.  If it's GPL, then we can
> derive the newer firmware code from this original ql2100_fw.c freely.

	I can't figure out what you're trying to say here. The file claims it is
GPL'd. If it is, then whoever receives it has a right to a copy of the
preferred form of that file for the purpose of making modifications to it.
Anyone who cannot distribute that preferred form cannot, according to the
GPL, distribute the other form.

	Bluntly, that file is the preferred form of the firmware for the purpose of
using or executing it. The GPL requires the preferred form for the purpose
of making modifications.

	IMO, the 'whole work' and 'linking' arguments are not important. The issue
is clear just from looking at this one file and what is required to
distribute it itself.

	DS




Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Chris Cheney <ccheney@cheney.cx>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #130 received at 239952@bugs.debian.org (full text, mbox):

From: Chris Cheney <ccheney@cheney.cx>
To: David Schwartz <davids@webmaster.com>
Cc: Matthew Wilcox <willy@debian.org>, Jeff Garzik <jgarzik@pobox.com>, Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org, debian-devel@lists.debian.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: Binary-only firmware covered by the GPL?
Date: Thu, 25 Mar 2004 20:59:09 -0600
[Message part 1 (text/plain, inline)]
On Thu, Mar 25, 2004 at 06:06:37PM -0800, David Schwartz wrote:
> 
> 
> > At Fri, 26 Mar 2004 00:33:39 +0000,
> 
> > Matthew Wilcox wrote:
> 
> > > I realise there's a grey area between "magic data you write to a device"
> > > and "a program that is executed on a different processor".  For example,
> > > palette data for a frame buffer.  But nobody's arguing for that grey
> > > area here -- it's clearly a program without source code that Debian
> > > can't distribute.
> 
> > Well, I also think this is grey area.
> 
> 	On what basis? How is this file different from an executable?
> 
> 	The gray area cases are where the code, as orginally written, is obscure.
> Perhaps because it uses 'magic numbers' from data sheets rather than
> symbolic constants. However, the GPL doesn't require you to add comments or
> to write clear code. It simply prohibits deliberate obfuscation by one
> particular means, namely having two forms of the code, one that you
> distribute and one that you use to make modifications. (Other forms of
> obfuscation are the gray areas.)
> 
> 	But this case is squarely where the GPL says "no". In this case, there is
> one form of the firmware for the purposes of making modifications to it and
> there is another form that's distributed, ostensibly under the GPL.

So is a reverse engineered driver where there is a binary blob the
preferred form of source? Otherwise the case isn't that binary blobs are
against the GPL, just that if the author knows what generates the binary
blob and doesn't disclose it then it is against the GPL. Of course
reverse engineered drivers with binary blobs in them are probably
copyright infringements anyway...

Chris
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to John Hasler <john@dhh.gt.org>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #135 received at 239952@bugs.debian.org (full text, mbox):

From: John Hasler <john@dhh.gt.org>
To: 239952@bugs.debian.org, debian-devel@lists.debian.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: Binary-only firmware covered by the GPL?
Date: Thu, 25 Mar 2004 21:23:33 -0600
Chris writes:
> So is a reverse engineered driver where there is a binary blob the
> preferred form of source?

Where did the blob come from?  If the author wrote it in binary (unlikely),
then it's ok.  If he wrote it in hex (I've done that) he should supply a
hex file from which the blob can be generated.

> Of course reverse engineered drivers with binary blobs in them are
> probably copyright infringements anyway...

If the author ripped the blob out of someone else's closed-source binary
driver it certainly is.  It also is a GPL violation.
-- 
John Hasler               You may treat this work as if it 
john@dhh.gt.org           were in the public domain.
Dancing Horse Hill        I waive all rights.
Elmwood, Wisconsin



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Stefan Smietanowski <stesmi@stesmi.com>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #140 received at 239952@bugs.debian.org (full text, mbox):

From: Stefan Smietanowski <stesmi@stesmi.com>
To: David Woodhouse <dwmw2@infradead.org>
Cc: Jeff Garzik <jgarzik@pobox.com>, Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org, debian-devel@lists.debian.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: Binary-only firmware covered by the GPL?
Date: Fri, 26 Mar 2004 09:50:09 +0100
Hi David.

> The firmware blob in question can be reasonably considered to be an
> independent and separate work in itself. The GPL doesn't apply to it
> when it is distributed as a SEPARATE work. But when you distribute it as
> part of a whole which is a work based on other parts of the kernel, by
> including it in the kernel source in such a manner, the distribution of
> the whole must be on the terms of the GPL, whose permissions for other
> licensees extend to the entire whole, and thus to each and every part.
> 
> It's not the intent of the GPL to claim rights to firmware written
> independently for such hardware; rather, the intent is to exercise the
> right to control the distribution of _COLLECTIVE_ works based on the
> indisputably GPL'd parts of the kernel.
> 

But the firmware comes after a GPL statement thereby leading to the
conclusion that it is their INTENTION to GPL the firmware.

If we have a source:

--

/*
    This file is under the GPL, yada yada
*/
#include "things.h"

void some_func(void)
{
  does_something();
}

char firmware[]={0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07};

void upload_firmware(void)
{
  do_upload(firmware);
}

--

Then it seems clear to me that the firmware is under the GPL because it
is PART of the GPL'd file. If not, then I don't see how any statement
can ever be true to similar effect, even for some_func().

// Stefan



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Stefan Smietanowski <stesmi@stesmi.com>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #145 received at 239952@bugs.debian.org (full text, mbox):

From: Stefan Smietanowski <stesmi@stesmi.com>
To: GOTO Masanori <gotom@debian.or.jp>
Cc: Matthew Wilcox <willy@debian.org>, Jeff Garzik <jgarzik@pobox.com>, Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org, debian-devel@lists.debian.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: Binary-only firmware covered by the GPL?
Date: Fri, 26 Mar 2004 09:53:57 +0100
Hi GOTO.

> But think about: why can we distribute assembler only code in linux
> kernel?  It's near to binary form (objdump -d is your friend).

It's not. The difference is that we can always insert another asm
statement anywhere (of course changing the way the function works)
and still have it assemble and unless we goofed up it'll still run.
mov ax,ax for instance won't do a thing. We can insert that
anywhere we wish without changing anything. The assembler will take
care of any relative jumps and pointers but with a binary firmware,
try to insert a byte into it (not CHANGE one, INSERT one), even
if you know just insert a NOP somewhere - and see what happens.

// Stefan



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to John Bradford <john@grabjohn.com>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #150 received at 239952@bugs.debian.org (full text, mbox):

From: John Bradford <john@grabjohn.com>
To: Stefan Smietanowski <stesmi@stesmi.com>, GOTO Masanori <gotom@debian.or.jp>
Cc: Matthew Wilcox <willy@debian.org>, Jeff Garzik <jgarzik@pobox.com>, Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org, debian-devel@lists.debian.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: Binary-only firmware covered by the GPL?
Date: Fri, 26 Mar 2004 09:12:39 GMT
> > But think about: why can we distribute assembler only code in linux
> > kernel?  It's near to binary form (objdump -d is your friend).
> 
> It's not. The difference is that we can always insert another asm
> statement anywhere (of course changing the way the function works)
> and still have it assemble and unless we goofed up it'll still run.
> mov ax,ax for instance won't do a thing. We can insert that
> anywhere we wish without changing anything. The assembler will take
> care of any relative jumps and pointers but with a binary firmware,
> try to insert a byte into it (not CHANGE one, INSERT one), even
> if you know just insert a NOP somewhere - and see what happens.

Then why didn't the original programmer leave a patch space to allow
for such modifications?  Surely that could be considered part of the
'preferred form'.

John.



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #155 received at 239952@bugs.debian.org (full text, mbox):

From: Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
To: Stefan Smietanowski <stesmi@stesmi.com>
Cc: David Woodhouse <dwmw2@infradead.org>, Jeff Garzik <jgarzik@pobox.com>, Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org, debian-devel@lists.debian.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: Binary-only firmware covered by the GPL?
Date: Fri, 26 Mar 2004 11:43:28 +0200
[Message part 1 (text/plain, inline)]
On Fri, 2004-03-26 at 09:50 +0100, Stefan Smietanowski wrote:
> /*
>      This file is under the GPL, yada yada
> */
> #include "things.h"
> 
> void some_func(void)
> {
>    does_something();
> }
> 
> char firmware[]={0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07};
> 
> void upload_firmware(void)
> {
>    do_upload(firmware);
> }
> 
> --
> 
> Then it seems clear to me that the firmware is under the GPL because it
> is PART of the GPL'd file.


If you're right, then the "binary" of the firmware it's GPL, not the
source of the firmware, because that's what you have in this case :)

You can have that ? GPL the binary but not the source ? :)

-- 
Cioby
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Dumitru Ciobarcianu <Dumitru.Ciobarcianu@ines.ro>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Stefan Smietanowski <stesmi@stesmi.com>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #165 received at 239952@bugs.debian.org (full text, mbox):

From: Stefan Smietanowski <stesmi@stesmi.com>
To: Dumitru Ciobarcianu <Dumitru.Ciobarcianu@ines.ro>
Cc: David Woodhouse <dwmw2@infradead.org>, Jeff Garzik <jgarzik@pobox.com>, Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org, debian-devel@lists.debian.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: Binary-only firmware covered by the GPL?
Date: Fri, 26 Mar 2004 11:14:21 +0100
Hi Dumitru.

>>/*
>>     This file is under the GPL, yada yada
>>*/
>>#include "things.h"
>>
>>void some_func(void)
>>{
>>   does_something();
>>}
>>
>>char firmware[]={0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07};
>>
>>void upload_firmware(void)
>>{
>>   do_upload(firmware);
>>}
>>
>>--
>>
>>Then it seems clear to me that the firmware is under the GPL because it
>>is PART of the GPL'd file.
> 
> 
> 
> If you're right, then the "binary" of the firmware it's GPL, not the
> source of the firmware, because that's what you have in this case :)
> 
> You can have that ? GPL the binary but not the source ? :)

Not as far as I know, you can't put the resulting binary under a
different license than the source, but hey, IANAL :)

That would make all sorts of nasty implications if it was possible.

// Stefan



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Eduard Bloch <edi@gmx.de>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #170 received at 239952@bugs.debian.org (full text, mbox):

From: Eduard Bloch <edi@gmx.de>
To: Adrian Bunk <bunk@fs.tum.de>, Herbert Xu <herbert@gondor.apana.org.au>, 239952@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Fri, 26 Mar 2004 13:05:42 +0100
Moin Adrian!
Adrian Bunk schrieb am Donnerstag, den 25. März 2004:

> First of all:
> I'm not the big "remove this software because it doesn't fit into an 
> ideal free software picture" evangelist.
> 
> I sent this bug since (as you mention) there were other drivers disabled 
> for the same reason, and even the GFDL (which is at most very slighly 

NO. NOT the same reason, please understand the issue before filing bugs.
There is a difference between 

 a) firmware chunks under the GPL
 b) under distribution-hostile licenses 

The first ones are okay, the situation is not different than PNG images
distributed with GPL packages.

The second ones are problematic and that is why they have been removed.

Regards,
Eduard.
-- 
Wie man sein Kind nicht nennen sollte: 
  R. Schossen 



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Adrian Bunk <bunk@fs.tum.de>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #175 received at 239952@bugs.debian.org (full text, mbox):

From: Adrian Bunk <bunk@fs.tum.de>
To: 239952@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Fri, 26 Mar 2004 14:47:01 +0100
On Fri, Mar 26, 2004 at 01:05:42PM +0100, Eduard Bloch wrote:
> Moin Adrian!
> Adrian Bunk schrieb am Donnerstag, den 25. März 2004:
> 
> > First of all:
> > I'm not the big "remove this software because it doesn't fit into an 
> > ideal free software picture" evangelist.
> > 
> > I sent this bug since (as you mention) there were other drivers disabled 
> > for the same reason, and even the GFDL (which is at most very slighly 
> 
> NO. NOT the same reason, please understand the issue before filing bugs.
> There is a difference between 
> 
>  a) firmware chunks under the GPL
>  b) under distribution-hostile licenses 
> 
> The first ones are okay, the situation is not different than PNG images
> distributed with GPL packages.

Thinking your thought a bit further:

If NVidia would release their binary-only drivers under the GPL (but 
without source), you say they could then be included in main?

> The second ones are problematic and that is why they have been removed.

The second ones have to be removed even from non-free.

> Regards,
> Eduard.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed




Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to John Hasler <john@dhh.gt.org>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #180 received at 239952@bugs.debian.org (full text, mbox):

From: John Hasler <john@dhh.gt.org>
To: 239952@bugs.debian.org, debian-devel@lists.debian.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: Binary-only firmware covered by the GPL?
Date: Fri, 26 Mar 2004 07:59:19 -0600
John Bradford writes:
> Then why didn't the original programmer leave a patch space to allow for
> such modifications?  Surely that could be considered part of the
> 'preferred form'.

It would be the 'preferred form' if and only if it's the form in which he
wrote it, patch space or no.
-- 
John Hasler
john@dhh.gt.org (John Hasler)
Dancing Horse Hill
Elmwood, WI



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to John Hasler <john@dhh.gt.org>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #185 received at 239952@bugs.debian.org (full text, mbox):

From: John Hasler <john@dhh.gt.org>
To: 239952@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Fri, 26 Mar 2004 08:03:41 -0600
Eduard Bloch writes:
> NOT the same reason, please understand the issue before filing bugs.
> There is a difference between 

> a) firmware chunks under the GPL
> b) under distribution-hostile licenses 

> The first ones are okay, the situation is not different than PNG images
> distributed with GPL packages.

Then you would see no problem with a GPL browser with a 300,000 byte blob
of binary code in it?
-- 
John Hasler
john@dhh.gt.org (John Hasler)
Dancing Horse Hill
Elmwood, WI



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Eduard Bloch <edi@gmx.de>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #190 received at 239952@bugs.debian.org (full text, mbox):

From: Eduard Bloch <edi@gmx.de>
To: Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Fri, 26 Mar 2004 15:05:37 +0100
Moin Adrian!
Adrian Bunk schrieb am Freitag, den 26. März 2004:

> > The first ones are okay, the situation is not different than PNG images
> > distributed with GPL packages.
> 
> Thinking your thought a bit further:
> 
> If NVidia would release their binary-only drivers under the GPL (but 
> without source), you say they could then be included in main?

You miss the point again (deliberate?). I say that IFF NVidia ships their
drivers with DSFG-compatible source for all precompiled object files
that are parts of the code running in the HOST system kernel, YES. But
that is not what we are talking about; this thread is about firmware
blobs running inside of the target hardware, never touched during the
software development. They are not MODIFIED to change the code running
within the GPL space (kernel) so there is no need to distribute any
pre-form of the binary blob.

Regards,
Eduard.
-- 
Eheweiber sind scharfsichtig, wenn ein Mensch sich den Ehemännern
empfehlen will, und diese, wenn ein Mensch sich der Frau.
		-- Jean Paul



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Eduard Bloch <edi@gmx.de>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #195 received at 239952@bugs.debian.org (full text, mbox):

From: Eduard Bloch <edi@gmx.de>
To: John Hasler <john@dhh.gt.org>
Cc: 239952@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Fri, 26 Mar 2004 15:08:28 +0100
#include <hallo.h>
* John Hasler [Fri, Mar 26 2004, 08:03:41AM]:

> > a) firmware chunks under the GPL
> > b) under distribution-hostile licenses 
> 
> > The first ones are okay, the situation is not different than PNG images
> > distributed with GPL packages.
> 
> Then you would see no problem with a GPL browser with a 300,000 byte blob
> of binary code in it?

If this browser is part of additional hardware that I buy knowing that
there is special software running inside, yes. Otherwise, don't give
things a false color. 

(I know you like it, I remember the KNOPPIX rants).

Regards,
Eduard.
-- 
Wußten Sie schon...
... daß Haarspray gegen Glatzen überhaupt keine Wirkung zeigt, da aus
der Dose keine Haare herauskommen?



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Adrian Bunk <bunk@fs.tum.de>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #200 received at 239952@bugs.debian.org (full text, mbox):

From: Adrian Bunk <bunk@fs.tum.de>
To: 239952@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Fri, 26 Mar 2004 15:21:45 +0100
On Fri, Mar 26, 2004 at 03:05:37PM +0100, Eduard Bloch wrote:
> Moin Adrian!
> Adrian Bunk schrieb am Freitag, den 26. März 2004:
> 
> > > The first ones are okay, the situation is not different than PNG images
> > > distributed with GPL packages.
> > 
> > Thinking your thought a bit further:
> > 
> > If NVidia would release their binary-only drivers under the GPL (but 
> > without source), you say they could then be included in main?
> 
> You miss the point again (deliberate?). I say that IFF NVidia ships their
> drivers with DSFG-compatible source for all precompiled object files
> that are parts of the code running in the HOST system kernel, YES. But

We are not talking about cases where the source is available.

> that is not what we are talking about; this thread is about firmware
> blobs running inside of the target hardware, never touched during the
> software development. They are not MODIFIED to change the code running
> within the GPL space (kernel) so there is no need to distribute any
> pre-form of the binary blob.

Let me try to make another example to help my understanding:

A GFDL info file is considered to be non-free.

Would the same document shipped only as a JPEG under the GPL be
considered to be suitable for main since no modification is needed to
view it?


I get the point that it might be needed to make an exception for 
firmware.

I still don't get the point why it is OK to say "this file is covered by 
the GPL" when all it contains is compiled binary code.


> Regards,
> Eduard.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed




Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Eduard Bloch <edi@gmx.de>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #205 received at 239952@bugs.debian.org (full text, mbox):

From: Eduard Bloch <edi@gmx.de>
To: Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Fri, 26 Mar 2004 15:40:40 +0100
Moin Adrian!
Adrian Bunk schrieb am Freitag, den 26. März 2004:

> > You miss the point again (deliberate?). I say that IFF NVidia ships their
> > drivers with DSFG-compatible source for all precompiled object files
> > that are parts of the code running in the HOST system kernel, YES. But
> 
> We are not talking about cases where the source is available.

STOP. What is the source? Please define a term before using it.

> > that is not what we are talking about; this thread is about firmware
> > blobs running inside of the target hardware, never touched during the
> > software development. They are not MODIFIED to change the code running
> > within the GPL space (kernel) so there is no need to distribute any
> > pre-form of the binary blob.
> 
> Let me try to make another example to help my understanding:
> 
> A GFDL info file is considered to be non-free.

We do not talk about GFDL, it is a completely different issue (again).

Regards,
Eduard.
-- 
Eine Diktatur ist eine Regierung, bei der man in Gefahr gerät, sitzen
zu müssen, wenn man nicht hinter ihr stehen will.
		-- Stanislaw Jerzy Lec



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Adrian Bunk <bunk@fs.tum.de>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #210 received at 239952@bugs.debian.org (full text, mbox):

From: Adrian Bunk <bunk@fs.tum.de>
To: 239952@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Fri, 26 Mar 2004 15:52:01 +0100
On Fri, Mar 26, 2004 at 03:40:40PM +0100, Eduard Bloch wrote:
> Moin Adrian!
> Adrian Bunk schrieb am Freitag, den 26. März 2004:
> 
> > > You miss the point again (deliberate?). I say that IFF NVidia ships their
> > > drivers with DSFG-compatible source for all precompiled object files
> > > that are parts of the code running in the HOST system kernel, YES. But
> > 
> > We are not talking about cases where the source is available.
> 
> STOP. What is the source? Please define a term before using it.

The GPL says:
  The source code for a work means the preferred form of the work for
  making modifications to it.  For an executable work, complete source
  code means all the source code for all modules it contains, plus any
  associated interface definition files, plus the scripts used to
  control compilation and installation of the executable.  However, as a
  special exception, the source code distributed need not include
  anything that is normally distributed (in either source or binary
  form) with the major components (compiler, kernel, and so on) of the
  operating system on which the executable runs, unless that component
  itself accompanies the executable.

I doubt a binary image of some firmware meets this requirement.

> > > that is not what we are talking about; this thread is about firmware
> > > blobs running inside of the target hardware, never touched during the
> > > software development. They are not MODIFIED to change the code running
> > > within the GPL space (kernel) so there is no need to distribute any
> > > pre-form of the binary blob.
> > 
> > Let me try to make another example to help my understanding:
> > 
> > A GFDL info file is considered to be non-free.
> 
> We do not talk about GFDL, it is a completely different issue (again).

I was trying to get an answer to the following question:

If a binary says to be shipped under the terms of the GPL but comes
without source, is this suitable for main?

IANAL, but IMHO this isn't a possible legal constellation.


And again:

I get the point that it might be needed to make an exception for 
firmware.

I still don't get the point why it is OK to say "this file is covered by 
the GPL" when all it contains is compiled binary code.




> Regards,
> Eduard.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed




Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Eduard Bloch <edi@gmx.de>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #215 received at 239952@bugs.debian.org (full text, mbox):

From: Eduard Bloch <edi@gmx.de>
To: Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Fri, 26 Mar 2004 16:30:15 +0100
Moin Adrian!
Adrian Bunk schrieb am Freitag, den 26. März 2004:

> > > We are not talking about cases where the source is available.
> > 
> > STOP. What is the source? Please define a term before using it.
> 
> The GPL says:
>   The source code for a work means the preferred form of the work for
>   making modifications to it.  For an executable work, complete source
>   code means all the source code for all modules it contains, plus any
...
> I doubt a binary image of some firmware meets this requirement.

As said before, "preferred form of making modifications" is preferred by
whom? RMS apparently never made this clear but the "common sence" was
meant. And in this case, the software writer do not need to make
modifications of the binary data, it is simply out of their scope.

> > > A GFDL info file is considered to be non-free.
> > 
> > We do not talk about GFDL, it is a completely different issue (again).
> 
> I was trying to get an answer to the following question:
> 
> If a binary says to be shipped under the terms of the GPL but comes
> without source, is this suitable for main?

As said before, the definition of "source" in the GPL is not the
kill-them-all definition that you try to see there.

> And again:
> 
> I get the point that it might be needed to make an exception for 
> firmware.

And again: my opinion that is this is already covered by the GPL. Only
few freaks pissed by not having ASCII source for every single byte of
binary data make this discussion appear again and again. Enough for me,
end of discussion.

Regards,
Eduard.
-- 
Wenn der Mathelehrer grantelt, ist der ganze Tag verschandelt.



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to John Bradford <john@grabjohn.com>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #220 received at 239952@bugs.debian.org (full text, mbox):

From: John Bradford <john@grabjohn.com>
To: John Hasler <john@dhh.gt.org>, 239952@bugs.debian.org, debian-devel@lists.debian.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: Binary-only firmware covered by the GPL?
Date: Sat, 27 Mar 2004 09:19:49 GMT
Quote from John Hasler <john@dhh.gt.org>:
> John Bradford writes:
> > Then why didn't the original programmer leave a patch space to allow for
> > such modifications?  Surely that could be considered part of the
> > 'preferred form'.
> 
> It would be the 'preferred form' if and only if it's the form in which he
> wrote it, patch space or no.

But does 'preferred form' == 'the form it was written in' necessarily
apply for things like assembler?  My example about leaving a patch
space wasn't really serious, I was just using it to demonstrate that
point.

John.



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Hamish Moffatt <hamish@debian.org>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #225 received at 239952@bugs.debian.org (full text, mbox):

From: Hamish Moffatt <hamish@debian.org>
To: debian-devel@lists.debian.org
Cc: 239952@bugs.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Sun, 28 Mar 2004 00:36:57 +1100
On Thu, Mar 25, 2004 at 05:21:44PM +0100, Marco d'Itri wrote:
> Refusing to distribute firmware files is just hypocrisy, because
> everyone of us has some non-free firmware in his own computer.
> 
> I also oppose this on practical grounds, more and more essential
> hardware wants its firmware to be loaded by the host CPU (because it's
> the right thing to do when designing hardware, if it's not needed for
> boot the the flash RAM on the device is wasted).
> 
> qla2xxx is not the only driver in debian which contains a firmware, BTW.

Yep. Many of the drivers in drivers/media/dvb/frontends also require
firmware. Some included it in the driver (big hex tables) and some like
to load it from the filesystem (including some from Windows DLLs).

I think the DFSG technically requires us to have source for that firmware.
We all know it is really compiled from source code originally in almost
all cases. However, removing those drivers from the kernel packages in
main would make them almost useless, imho.

Some of the removals are already very frustrating to me. acenic is gone
(its firmware was in the source). I notice that upstream linux 2.6.4
contains a rewrite of the e100 driver that no longer loads binary-only
firmware over the firmware built-in to the hardware, but the binary-only 
firmware did have a performance advantage over the built-in firmware
which is presumably now lost.

Perhaps we need a set of complete kernel packages in non-free then.

Hamish
-- 
Hamish Moffatt VK3SB <hamish@debian.org> <hamish@cloud.net.au>



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Matthew Garrett <mgarrett@chiark.greenend.org.uk>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #230 received at 239952@bugs.debian.org (full text, mbox):

From: Matthew Garrett <mgarrett@chiark.greenend.org.uk>
To: debian-devel@lists.debian.org
Cc: 239952@bugs.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Sat, 27 Mar 2004 14:24:27 +0000
Hamish Moffatt wrote:

>Perhaps we need a set of complete kernel packages in non-free then.

The problem is that the GPL requires us to be able to provide the
preferred form for modifications for the entirity of the code.
Realistically, there's no way that the majority of this firmware is the
preferred form for modification. As a consequence, unless we receive an
exemption from every copyright holder in the kernel, we have no legal
right to distribute kernel images with this firmware linked in. What we
can do is provide the firmware separately (non-free is the only
practical place at the moment, but pragmatically an independent section
for firmware would make more sense) and load it from userspace.

-- 
Matthew Garrett | mjg59-chiark.mail.debian.devel@srcf.ucam.org



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Christoph Hellwig <hch@lst.de>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #235 received at 239952@bugs.debian.org (full text, mbox):

From: Christoph Hellwig <hch@lst.de>
To: debian-devel@lists.debian.org, 239952@bugs.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Sun, 28 Mar 2004 12:01:26 +0200
On Sun, Mar 28, 2004 at 12:36:57AM +1100, Hamish Moffatt wrote:
> (its firmware was in the source). I notice that upstream linux 2.6.4
> contains a rewrite of the e100 driver that no longer loads binary-only
> firmware over the firmware built-in to the hardware, but the binary-only 
> firmware did have a performance advantage over the built-in firmware
> which is presumably now lost.

Actually it didn't.  Linux upstream and Intel are not Debian, and they
don't really care about your issues here.  The firmware was added
because hardware checksum offloading was on the checklist for the
original driver author, and it has been removed now because it doesn't
provide any benefit with modern host cpus but complicates the code a
lot.




Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel-source-2.6.4. Full text and rfc822 format available.

Acknowledgement sent to Ryan Underwood <nemesis-lists@icequake.net>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #240 received at 239952@bugs.debian.org (full text, mbox):

From: Ryan Underwood <nemesis-lists@icequake.net>
To: debian-devel@lists.debian.org
Cc: Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org
Subject: Re: Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
Date: Mon, 29 Mar 2004 07:13:05 -0600
[Message part 1 (text/plain, inline)]
On Fri, Mar 26, 2004 at 04:30:15PM +0100, Eduard Bloch wrote:
> > 
> > If a binary says to be shipped under the terms of the GPL but comes
> > without source, is this suitable for main?
> 
> As said before, the definition of "source" in the GPL is not the
> kill-them-all definition that you try to see there.

This whole issue would be less of a problem if people would not release
things blindly under the GPL, while not ensuring that the GPL's
conditions are satisfiable.  This is definitely a problem for upstream
to sort out if they want their software distributed with confidence.

What is the point of using the GPL on something that nobody is going to
bother modifying anyway?  Not only because it is not distributed in a
form suitable for modification (nor would we probably have the tools to
build it even if it were), but also because very little is typically
known about the DSP or custom processors that these devices use.  If it
is not intended for end-user modification (but the vendor does not
intend to prevent the user from doing so if he really wants to), they
should use a different license besides the GPL.

Essentially, they are saying "you may distribute this file under the GPL
if and only if you satisfy these conditions, that we have not given you
the means to satisfy".  The idea that they have given permission
implicitly by releasing the code at all is a falsehood; they have given
us permission under unsatisfiable terms.  The intent may be noble, but
without a written statement that they will not consider the GPL to be a
contradiction in the case of their firmware, what is to be done?
Management changes, ownership changes, shareholder attitudes change.
The later owners may not be so nice, not only sueing us for wrongly
distributing the code, but refusing our requests to fix the license.
Getting the license fixed is something that we may only be able to do at
the current moment, or never.

The rebuildable firmware for aic7xxx included with the kernel is a
shining example of what we would prefer vendors to do, and something
that is furthermore distributable under GPL with no questions.

As for the claim that there is a lot of talking and not a lot of doing
from this side, there is a reason for that.  What kind of leverage does
some random OSS Joe have with the companies involved?  The only people
who are going to get anything done are the people who are already in
contact with these vendors and known to be representing their interests
in the OSS world by writing drivers and documentation for their
hardware.  They are the ones that need to get these things fixed,
because they are the ones with the best means to do so.

-- 
Ryan Underwood, <nemesis@icequake.net>
[signature.asc (application/pgp-signature, inline)]

Bug reassigned from package `kernel-source-2.6.4' to `kernel'. Request was from Herbert Xu <herbert@gondor.apana.org.au> to control@bugs.debian.org. Full text and rfc822 format available.

Merged 239952 240812. Request was from Herbert Xu <herbert@gondor.apana.org.au> to control@bugs.debian.org. Full text and rfc822 format available.

Tags removed: upstream Request was from Herbert Xu <herbert@gondor.apana.org.au> to control@bugs.debian.org. Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel. Full text and rfc822 format available.

Acknowledgement sent to Adrian Bunk <bunk@fs.tum.de>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #251 received at 239952@bugs.debian.org (full text, mbox):

From: Adrian Bunk <bunk@fs.tum.de>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: 239952@bugs.debian.org, debian-devel@lists.debian.org
Subject: Summary: binary firmware in the kernel
Date: Fri, 2 Apr 2004 03:48:27 +0200
Let me try to summarize the different opinions in this thread:


1. a 300 kB binary firmware is DFSG-free

2. binary firmware must go to non-free
this implies that the installer will no longer be able to install Debian 
on several computers

3. acknowledge that binary firmware is required, and make an
   exception for it


Please correct me if an important opinion is missing.


If there was a working Technical Committee in Debian (similar to the
gcc Steering Committee), they could decide on such an issue.

A GR is perhaps too big for this issue.

I asked the DPL (recorded in #240542) who would be responsible to decide
in such a situation, but I have yet to hear an answer.


The typical Debian solution would be to implement opinion 3 via
downgrading the bug or a "sarge-ignore" tag by the release manager or 
one of his assistants.


cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed




Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel. Full text and rfc822 format available.

Acknowledgement sent to Martin Michlmayr <tbm@cyrius.com>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #256 received at 239952@bugs.debian.org (full text, mbox):

From: Martin Michlmayr <tbm@cyrius.com>
To: Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Summary: binary firmware in the kernel
Date: Fri, 2 Apr 2004 03:15:09 +0100
* Adrian Bunk <bunk@fs.tum.de> [2004-04-02 03:48]:
> I asked the DPL (recorded in #240542) who would be responsible to
> decide in such a situation, but I have yet to hear an answer.

You sent a personal mail to me based on a totally different discussion
we had (about an announced mass filing of bugs at an inflated
severity), and a) your mail was not sent to the DPL and b) I didn't
realize this was a real question; I thought it was your way of
objecting to raising that issue on -devel.

Anyway, I'm going to bed now, but I can answer your question (as DPL)
later.
-- 
Martin Michlmayr
tbm@cyrius.com



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel. Full text and rfc822 format available.

Acknowledgement sent to Theodore Ts'o <tytso@mit.edu>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #261 received at 239952@bugs.debian.org (full text, mbox):

From: Theodore Ts'o <tytso@mit.edu>
To: Adrian Bunk <bunk@fs.tum.de>, Herbert Xu <herbert@gondor.apana.org.au>, 239952@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Summary: binary firmware in the kernel
Date: Thu, 1 Apr 2004 23:51:30 -0500
On Fri, Apr 02, 2004 at 03:48:27AM +0200, Adrian Bunk wrote:
> Let me try to summarize the different opinions in this thread:
> 
> 1. a 300 kB binary firmware is DFSG-free
> 
> 2. binary firmware must go to non-free
> this implies that the installer will no longer be able to install Debian 
> on several computers

It also implies that Debian CD distributors will very likely be forced
to include non-free for the forseeable future, and that it makes it
much more likely that the Debian Organization will have to continue to
distribute non-free, or make sure there is a very close coordination
with some separate (at least on paper) organization which supports
non-free.

This is not necssarily a bad thing, since it keeps the free software
fanatics happy (evil binary-only firmware kept out of the core Debian,
which is obviously more important than any kind of considerations of
our users) as well as the pragmatists happy (it will be a lot harder
for folks to claim that there are OSS replacements for all of
non-free, and so it is much more difficult to make arguments that
non-free should not be supported, distributed, or included in
sources.lists by default by the installer).

> 
> 3. acknowledge that binary firmware is required, and make an
>    exception for it
> 

> A GR is perhaps too big for this issue.

I don't see another way of settling this besides a GR, myself.

> The typical Debian solution would be to implement opinion 3 via
> downgrading the bug or a "sarge-ignore" tag by the release manager or 
> one of his assistants.

Wouldn't the typical Debian solution first involve huge amounts of
flaming first, this being much more important/fun than doing any kind
of technical work, such as fixing release-critical bugs?  :-)

No wait, we've already done that.....

						- Ted



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel. Full text and rfc822 format available.

Acknowledgement sent to Andreas Barth <aba@not.so.argh.org>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #266 received at 239952@bugs.debian.org (full text, mbox):

From: Andreas Barth <aba@not.so.argh.org>
To: debian-devel@lists.debian.org
Cc: Adrian Bunk <bunk@fs.tum.de>, Herbert Xu <herbert@gondor.apana.org.au>, 239952@bugs.debian.org
Subject: Re: Bug#239952: Summary: binary firmware in the kernel
Date: Fri, 2 Apr 2004 09:58:01 +0200
* Adrian Bunk (bunk@fs.tum.de) [040402 05:25]:
> 1. a 300 kB binary firmware is DFSG-free
> 
> 2. binary firmware must go to non-free
> this implies that the installer will no longer be able to install Debian 
> on several computers
> 
> 3. acknowledge that binary firmware is required, and make an
>    exception for it

4. binary firmware must go to non-free, but we make an exception to it
for sarge (as for GFDL-docu).


Cheers,
Andi
-- 
   http://home.arcor.de/andreas-barth/
   PGP 1024/89FB5CE5  DC F1 85 6D A6 45 9C 0F  3B BE F1 D0 C5 D1 D9 0C



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel. Full text and rfc822 format available.

Acknowledgement sent to Adrian Bunk <bunk@fs.tum.de>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #271 received at 239952@bugs.debian.org (full text, mbox):

From: Adrian Bunk <bunk@fs.tum.de>
To: Martin Michlmayr <tbm@cyrius.com>
Cc: 239952@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Summary: binary firmware in the kernel
Date: Fri, 2 Apr 2004 13:09:14 +0200
On Fri, Apr 02, 2004 at 03:15:09AM +0100, Martin Michlmayr wrote:
> * Adrian Bunk <bunk@fs.tum.de> [2004-04-02 03:48]:
> > I asked the DPL (recorded in #240542) who would be responsible to
> > decide in such a situation, but I have yet to hear an answer.
> 
> You sent a personal mail to me based on a totally different discussion
> we had (about an announced mass filing of bugs at an inflated
> severity), and a) your mail was not sent to the DPL and b) I didn't
> realize this was a real question; I thought it was your way of
> objecting to raising that issue on -devel.

Sorry, this was meant to be a real question.

> Anyway, I'm going to bed now, but I can answer your question (as DPL)
> later.

Thanks.

> Martin Michlmayr

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed




Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel. Full text and rfc822 format available.

Acknowledgement sent to Zefram <zefram@fysh.org>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #276 received at 239952@bugs.debian.org (full text, mbox):

From: Zefram <zefram@fysh.org>
To: 239952@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Summary: binary firmware in the kernel
Date: Fri, 2 Apr 2004 13:02:01 +0100
Adrian Bunk wrote:
>1. a 300 kB binary firmware is DFSG-free
>
>2. binary firmware must go to non-free
>this implies that the installer will no longer be able to install Debian 
>on several computers

There was also a range of opinions of the nature "binary firmware *might*
be DFSG-free, on a case-by-case basis".  It was suggested that if a
hardware manufacturer provided a "char firmware[] = { ..." file with a GPL
header, and claimed that that was the preferred form for modification,
then the firmware was free.  There were other opinions expressed that
varied on what the presumption should be if the file was not explicitly
stated to be source.

-zefram



Severity set to `normal'. Request was from Torsten Werner <email@twerner42.de> to control@bugs.debian.org. Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel. Full text and rfc822 format available.

Acknowledgement sent to Marco d'Itri <md@Linux.IT>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #283 received at 239952@bugs.debian.org (full text, mbox):

From: Marco d'Itri <md@Linux.IT>
Cc: 239952@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Summary: binary firmware in the kernel
Date: Fri, 2 Apr 2004 17:08:18 +0200
On Apr 02, Adrian Bunk <bunk@fs.tum.de> wrote:

> Let me try to summarize the different opinions in this thread:
> 
> 
> 1. a 300 kB binary firmware is DFSG-free
> 
> 2. binary firmware must go to non-free
> this implies that the installer will no longer be able to install Debian 
> on several computers
> 
> 3. acknowledge that binary firmware is required, and make an
>    exception for it
> 
> 
> Please correct me if an important opinion is missing.

4) Acknowledge that the DFSG apply only to code executed on the host CPU
and not to code/data executed on peripherals, and distribute the
firmware files in main if we are allowed to do it (this may require
clarification of GPL-related issues and possibly moving the firmware
data to user space).

-- 
ciao, |
Marco | [5526 in0zh5.kjc/c.]



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel. Full text and rfc822 format available.

Acknowledgement sent to Goswin von Brederlow <brederlo@informatik.uni-tuebingen.de>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #288 received at 239952@bugs.debian.org (full text, mbox):

From: Goswin von Brederlow <brederlo@informatik.uni-tuebingen.de>
To: Zefram <zefram@fysh.org>
Cc: 239952@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Summary: binary firmware in the kernel
Date: 02 Apr 2004 23:49:29 +0200
Zefram <zefram@fysh.org> writes:

> Adrian Bunk wrote:
> >1. a 300 kB binary firmware is DFSG-free
> >
> >2. binary firmware must go to non-free
> >this implies that the installer will no longer be able to install Debian 
> >on several computers
> 
> There was also a range of opinions of the nature "binary firmware *might*
> be DFSG-free, on a case-by-case basis".  It was suggested that if a
> hardware manufacturer provided a "char firmware[] = { ..." file with a GPL
> header, and claimed that that was the preferred form for modification,
> then the firmware was free.  There were other opinions expressed that
> varied on what the presumption should be if the file was not explicitly
> stated to be source.
> 
> -zefram

Some Arguments (on irc) were wether the claim "that that was the
preferred form for modification" is believable. If the file is
compiled it should be possible to disassemble it and show certain
patterns compilers generate, to fingerprint the binary to a certain
compiler.

Nowadays I think anyone would be hard pressed arguing that hex code is
the prefered form for modification. But since the code is GPL anyone
with intrest and knowledge can pick it apart and convert it into a
more readable form. It would be hard work but it would be legal
everywhere to pick the binary code apart and to replace parts of it
with 'real' source.

Having "char firmware[] = { ..." is certainly not nice and I hope any
firm doing that gets pressed into releasing the real source or gets
the code forked, disassembled and picked apart until its recognisable.


As a sidenote a similar problem was just discussed for certain
bootloaders for m68k/mac. The problem is that the original bootblock
code is non-free so it can't be used in the bootloader. A "char
bootcode[] = { ... }" under GPL from Apple would perfectly solve the
problem and the code would be picked apart, disassembled and properly
commented within hours.

MfG
        Goswin



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel. Full text and rfc822 format available.

Acknowledgement sent to Goswin von Brederlow <brederlo@informatik.uni-tuebingen.de>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #293 received at 239952@bugs.debian.org (full text, mbox):

From: Goswin von Brederlow <brederlo@informatik.uni-tuebingen.de>
To: Marco d'Itri <md@Linux.IT>
Cc: debian-devel@lists.debian.org, 239952@bugs.debian.org
Subject: Re: Summary: binary firmware in the kernel
Date: 02 Apr 2004 23:51:57 +0200
Marco d'Itri <md@Linux.IT> writes:

> On Apr 02, Adrian Bunk <bunk@fs.tum.de> wrote:
> 
> > Let me try to summarize the different opinions in this thread:
> > 
> > 
> > 1. a 300 kB binary firmware is DFSG-free
> > 
> > 2. binary firmware must go to non-free
> > this implies that the installer will no longer be able to install Debian 
> > on several computers
> > 
> > 3. acknowledge that binary firmware is required, and make an
> >    exception for it
> > 
> > 
> > Please correct me if an important opinion is missing.
> 
> 4) Acknowledge that the DFSG apply only to code executed on the host CPU
> and not to code/data executed on peripherals, and distribute the
> firmware files in main if we are allowed to do it (this may require
> clarification of GPL-related issues and possibly moving the firmware
> data to user space).

5) Have the installer ask for the disk/cd/url for the firmware
and copy it onto the system. No need for Debian to ship it since its
already supplied by the manufacturer.

MfG
        Goswin



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel. Full text and rfc822 format available.

Acknowledgement sent to Herbert Xu <herbert@gondor.apana.org.au>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #298 received at 239952@bugs.debian.org (full text, mbox):

From: Herbert Xu <herbert@gondor.apana.org.au>
To: 239952@bugs.debian.org, Torsten Werner <email@twerner42.de>
Subject: Re: Processed: Re: Bug#239953: Why non-free is a policy-violation
Date: Sat, 3 Apr 2004 08:41:39 +1000
severity 239952 serious
quit

On Fri, Apr 02, 2004 at 05:03:07AM -0800, Debian Bug Tracking System wrote:
> Processing commands for control@bugs.debian.org:
> 
> > retitle 239953 qla2x00: might the firmware be non-DFSG-free?
> Bug#239953: qla2x00 contains non-DFSG-free firmware
> Changed Bug title.
> 
> > severity 239952 normal
> Bug#239952: kernel-source-2.6.4: qla2xxx contains non-free firmware
> Bug#240812: kernel-{image,source}-2.6.4: tg3 problems with NFS
> Severity set to `normal'.

Please don't adjust the severities of my bugs unilaterally.
-- 
Debian GNU/Linux 3.0 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel. Full text and rfc822 format available.

Acknowledgement sent to Herbert Xu <herbert@gondor.apana.org.au>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #303 received at 239952@bugs.debian.org (full text, mbox):

From: Herbert Xu <herbert@gondor.apana.org.au>
To: Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Summary: binary firmware in the kernel
Date: Sat, 3 Apr 2004 09:06:37 +1000
On Fri, Apr 02, 2004 at 03:48:27AM +0200, Adrian Bunk wrote:
> Let me try to summarize the different opinions in this thread:
> 
> 1. a 300 kB binary firmware is DFSG-free
> 
> 2. binary firmware must go to non-free
> this implies that the installer will no longer be able to install Debian 
> on several computers
> 
> 3. acknowledge that binary firmware is required, and make an
>    exception for it
> 
> Please correct me if an important opinion is missing.

I think you missed the view that these binary firmware causes us
to violate the license of the GPL software that it is contained
within and therefore cannot be distributed at all.

My current plan is to remove the drivers qla* and tg3 from the next
release (2.6.5 and 2.4.26).

However, even if they aren't removed due to intervention from a
higher authority, I will stop supporting bugs relating to these
drivers unless there is a clear assurance of their future existence
within the kernel packages in main.
-- 
Debian GNU/Linux 3.0 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt



Severity set to `serious'. Request was from Herbert Xu <herbert@gondor.apana.org.au> to control@bugs.debian.org. Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel. Full text and rfc822 format available.

Acknowledgement sent to Martin Michlmayr <tbm@cyrius.com>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #310 received at 239952@bugs.debian.org (full text, mbox):

From: Martin Michlmayr <tbm@cyrius.com>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: 239952@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Summary: binary firmware in the kernel
Date: Sat, 3 Apr 2004 01:29:31 +0100
* Herbert Xu <herbert@gondor.apana.org.au> [2004-04-03 09:06]:
> However, even if they aren't removed due to intervention from a
> higher authority, I will stop supporting bugs relating to these
> drivers unless there is a clear assurance of their future existence
> within the kernel packages in main.

Does that mean you also don't support drivers which are not well
maintained and might be removed in the future?
-- 
Martin Michlmayr
tbm@cyrius.com



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel. Full text and rfc822 format available.

Acknowledgement sent to Herbert Xu <herbert@gondor.apana.org.au>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #315 received at 239952@bugs.debian.org (full text, mbox):

From: Herbert Xu <herbert@gondor.apana.org.au>
To: Martin Michlmayr <tbm@cyrius.com>, 239952@bugs.debian.org
Subject: Re: Bug#239952: Summary: binary firmware in the kernel
Date: Sat, 3 Apr 2004 11:51:28 +1000
On Sat, Apr 03, 2004 at 01:29:31AM +0100, Martin Michlmayr wrote:
> * Herbert Xu <herbert@gondor.apana.org.au> [2004-04-03 09:06]:
> > However, even if they aren't removed due to intervention from a
> > higher authority, I will stop supporting bugs relating to these
> > drivers unless there is a clear assurance of their future existence
> > within the kernel packages in main.
> 
> Does that mean you also don't support drivers which are not well
> maintained and might be removed in the future?

I will make that judgement as the cases arise.
-- 
Debian GNU/Linux 3.0 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt



Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel. Full text and rfc822 format available.

Acknowledgement sent to GOTO Masanori <gotom@debian.or.jp>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #320 received at 239952@bugs.debian.org (full text, mbox):

From: GOTO Masanori <gotom@debian.or.jp>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Adrian Bunk <bunk@fs.tum.de>, 239952@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Summary: binary firmware in the kernel
Date: Mon, 05 Apr 2004 14:16:41 +0900
At Sat, 3 Apr 2004 09:06:37 +1000,
Herbert Xu wrote:
> On Fri, Apr 02, 2004 at 03:48:27AM +0200, Adrian Bunk wrote:
> > Let me try to summarize the different opinions in this thread:
> > 
> > 1. a 300 kB binary firmware is DFSG-free
> > 
> > 2. binary firmware must go to non-free
> > this implies that the installer will no longer be able to install Debian 
> > on several computers
> > 
> > 3. acknowledge that binary firmware is required, and make an
> >    exception for it
> > 
> > Please correct me if an important opinion is missing.
> 
> I think you missed the view that these binary firmware causes us
> to violate the license of the GPL software that it is contained
> within and therefore cannot be distributed at all.
> 
> My current plan is to remove the drivers qla* and tg3 from the next
> release (2.6.5 and 2.4.26).
> 
> However, even if they aren't removed due to intervention from a
> higher authority, I will stop supporting bugs relating to these
> drivers unless there is a clear assurance of their future existence
> within the kernel packages in main.

One idea is to separate or remove firmware part from both drivers
rathar than to delete those entire files from kernel package.

Look at drivers/net/tg3.c.  If NETIF_F_TSO (see
include/linux/netdevice.h, offload implementation) is defined, then
such firmware parts are needed.  So theoretically we can disable them
and remove firmware code with keeping driver code.  One example of
diff (not compiled) is at:

	http://gotom.jp/~gotom/patch/linux/patch.2.6.5_tg3.c-remove-firmware

I don't have tg3, so I don't know it works well (even it can be
compiled or not), but it's one way to fix without dropping entire
drivers.

OTOH, unfortunatelly, firmware code of qla2xxx/* is coupled with
hardware initialization code.  We need to have hardware specification
to know how to remove these parts.

I think it's also good idea that we contact to upstream author to
separate firmware from files and to make them work without any
firmware code.  If you already thought/did, this mail is just my noise
about this issue.

In addition, I wonder this issue is really well-discussed, though.
Binary characters are marked as GPL by driver authors, so I still
think there is no problem to exist in linux kernel.  To say radically,
removing firmware code from debian is just escape to think about linux
kernel GPL-ness.

Regards,
-- gotom




Information forwarded to debian-bugs-dist@lists.debian.org, Herbert Xu <herbert@debian.org>:
Bug#239952; Package kernel. Full text and rfc822 format available.

Acknowledgement sent to Herbert Xu <herbert@gondor.apana.org.au>:
Extra info received and forwarded to list. Copy sent to Herbert Xu <herbert@debian.org>. Full text and rfc822 format available.

Message #325 received at 239952@bugs.debian.org (full text, mbox):

From: Herbert Xu <herbert@gondor.apana.org.au>
To: GOTO Masanori <gotom@debian.or.jp>, 239952@bugs.debian.org
Cc: Adrian Bunk <bunk@fs.tum.de>, debian-devel@lists.debian.org
Subject: Re: Bug#239952: Summary: binary firmware in the kernel
Date: Mon, 5 Apr 2004 18:26:14 +1000
On Mon, Apr 05, 2004 at 02:16:41PM +0900, GOTO Masanori wrote:
>
> One idea is to separate or remove firmware part from both drivers
> rathar than to delete those entire files from kernel package.
> 
> Look at drivers/net/tg3.c.  If NETIF_F_TSO (see
> include/linux/netdevice.h, offload implementation) is defined, then
> such firmware parts are needed.  So theoretically we can disable them
> and remove firmware code with keeping driver code.  One example of
> diff (not compiled) is at:
> 
> 	http://gotom.jp/~gotom/patch/linux/patch.2.6.5_tg3.c-remove-firmware

No I will not accept patches that cause the driver to run in a
completely different way to the rest of the Linux community.
This is just a support nightmare.  (I know that 2.4 runs this
code-path, but the rest of the networking stack is totally different).

Of course, if you can get upstream to do this then it's perfectly
fine with me.  In fact, apparently they've just done exactly that
for e100.  So why not ask them about tg3?

> OTOH, unfortunatelly, firmware code of qla2xxx/* is coupled with
> hardware initialization code.  We need to have hardware specification
> to know how to remove these parts.
> 
> I think it's also good idea that we contact to upstream author to
> separate firmware from files and to make them work without any
> firmware code.  If you already thought/did, this mail is just my noise
> about this issue.

I personally will not waste my time contacting upstream authors
about this since the most likely answer will be "don't waste my time".
Of course if you believe otherwise, please feel free to contact them.

IMHO, if you really want to keep the driver in main, the most
direct route to achieving that is to write the code to get it
to use the firmware loader.  This shouldn't be hard at all.

It'd be even better if you can get it integrated upstream.

> In addition, I wonder this issue is really well-discussed, though.
> Binary characters are marked as GPL by driver authors, so I still
> think there is no problem to exist in linux kernel.  To say radically,
> removing firmware code from debian is just escape to think about linux
> kernel GPL-ness.

This issue has been beaten to death on lkml so please read the archives
before raising it again.
-- 
Debian GNU/Linux 3.0 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt



Merged 239952 240812 242500. Request was from Herbert Xu <herbert@gondor.apana.org.au> to control@bugs.debian.org. Full text and rfc822 format available.

Merged 232463 234866 239952 240812 242500. Request was from Herbert Xu <herbert@gondor.apana.org.au> to control@bugs.debian.org. Full text and rfc822 format available.

Tags removed: patch Request was from Herbert Xu <herbert@gondor.apana.org.au> to control@bugs.debian.org. Full text and rfc822 format available.

Merged 232463 234866 239952 240812 242500 242866 242895 243022. Request was from Herbert Xu <herbert@gondor.apana.org.au> to control@bugs.debian.org. Full text and rfc822 format available.

Disconnected #232463 from all other report(s). Request was from Herbert Xu <herbert@gondor.apana.org.au> to control@bugs.debian.org. Full text and rfc822 format available.

Disconnected #234866 from all other report(s). Request was from Herbert Xu <herbert@gondor.apana.org.au> to control@bugs.debian.org. Full text and rfc822 format available.

Disconnected #239952 from all other report(s). Request was from Herbert Xu <herbert@gondor.apana.org.au> to control@bugs.debian.org. Full text and rfc822 format available.

Reply sent to Herbert Xu <herbert@gondor.apana.org.au>:
You have taken responsibility. Full text and rfc822 format available.

Notification sent to Adrian Bunk <bunk@fs.tum.de>:
Bug acknowledged by developer. Full text and rfc822 format available.

Message #344 received at 239952-done@bugs.debian.org (full text, mbox):

From: Herbert Xu <herbert@gondor.apana.org.au>
To: 239952-done@bugs.debian.org
Subject: Fixed in 2.6.5-1
Date: Sat, 17 Apr 2004 17:48:51 +1000
This bug was fixed in 2.6.5-1.
-- 
Debian GNU/Linux 3.0 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt



Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Mon Apr 21 02:45:32 2014; Machine Name: buxtehude.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.