public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* non-free firmware in kernel modules, aggregation and unclear copyright notice.
@ 2005-04-04 10:09 Sven Luther
  2005-04-04 10:21 ` Arjan van de Ven
  2005-04-04 13:26 ` Michael Poole
  0 siblings, 2 replies; 102+ messages in thread
From: Sven Luther @ 2005-04-04 10:09 UTC (permalink / raw)
  To: debian-legal, debian-kernel, linux-kernel

Hello,

<quick sumary>
Current linux kernel source hold undistributable non-free firmware blobs, and
to consider them as mere agregation, a clear licence statement from the
copyright holders of said non-free firmware blobls is needed, read below for
details.
</quick sumary>

Please keep everyone in the CC, as not everyone reads debian-legal or LKML.

Some kernel modules present in the kernel sources as distributed from
ftp.kernel.org present some non-free binary only firmware that gets uploaded
in the target chip by the controler. tg3, qla2xxx, acenix and a couple of
others are example of such modules with non-free firmware blobs.

This is no major problem per see, since, as discussed in this thread :

  http://lists.debian.org/debian-legal/2005/03/msg00283.html

It is obvious in this context that the non-free firmware constitute a mere
aggregation and not an act of linking with the rest of the kernel. This is at
least the consensus that debian has reached with input from the debian-legal
lists, and what we will stand by this.

Naturally even if debian has come to the conclusion that these non-free
firmware blobs are not a violation of the rest of the kernel GPL licence, it
still doesn't make these non-free firmware blobs free software, and thus they
and the drivers which contain it will be removed from debian/main, and put
into the non-free section of our archive.

Now, these non-free firmware are distributed in the same file as the rest of
the module which uses it. This is still ok since it constitute agregation on
a same distribution media, where the distribution media is the file in this
case. 

But these files, as seen in the tg3.c case, have no special mention of the
firmware in the file header, nor are they distinguished in any way from the
rest of the content of that file, which places them de facto under the GPL,
since.

Accordying to the GPL, we thus needs the source files for this non-free
firmware, which is not available, and thus makes the files undistributable.
Even if we would consider these firmware as separate and not covered by the
de-facto GPLing of the files in question, we still would have no licence
allowing us to distribute those non-free firmware blobs, and thus we have
again no right to distribute them as part of the kernel.

The clean solution is to have a small notice in the header of those files or
in the toplevel COPYING file, excluding those firmware blobs from the general
GPLing of the files, and have a small comment inside the files to identify the
firmware blobs as such and again excluding them from the GPL, and possibly a
toplevel listing of all the files wich have such problems.

This is an easy fix, and i believe even those who held the above analysis as
non-sense or whatever will agree that this is something that should be done.
The real problem being that nobody except the copyright holder of those
firmware blobs is legally allowed to make said modification, and thus i bring
this issue to everyone's attention, for comment and feedback, before trying to
reach the copyright holders of those individual firmware blobs asking them to
clarify the situation. I believe many of those read this list anyway, so would
be able to fix the issue or comment on it without further proding needed.

In hopes of quick resolution of these murky legalese issues nobody is really
fond of, 

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 10:09 non-free firmware in kernel modules, aggregation and unclear copyright notice Sven Luther
@ 2005-04-04 10:21 ` Arjan van de Ven
  2005-04-04 10:59   ` Sven Luther
  2005-04-04 13:26 ` Michael Poole
  1 sibling, 1 reply; 102+ messages in thread
From: Arjan van de Ven @ 2005-04-04 10:21 UTC (permalink / raw)
  To: Sven Luther; +Cc: linux-kernel

On Mon, 2005-04-04 at 12:09 +0200, Sven Luther wrote:

please take this discussion elsewhere. Also please never cc three such
lists on the same posting, there is absolutely no point in doing that.




^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 10:21 ` Arjan van de Ven
@ 2005-04-04 10:59   ` Sven Luther
  2005-04-07  7:17     ` Jes Sorensen
  0 siblings, 1 reply; 102+ messages in thread
From: Sven Luther @ 2005-04-04 10:59 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: Sven Luther, linux-kernel

On Mon, Apr 04, 2005 at 12:21:05PM +0200, Arjan van de Ven wrote:
> On Mon, 2005-04-04 at 12:09 +0200, Sven Luther wrote:
> 
> please take this discussion elsewhere. Also please never cc three such

Ok, can you please point to me where is the place it should be taken off ? I
suppose you mean LKML ? 

> lists on the same posting, there is absolutely no point in doing that.

We already had this discussion on debian-legal and debian-kernel, so i
included them for documentation purpose, so people there can follow the
discussion even if they don't follow LKML which is rather high volume. As the
discussion already was hold there, i don't believe you will see many comments
from them.

So, i posted to LKML directly, as i believe that it is where this needs to be
solved, as only the copyright holders can fix this licencing problem, and
currently the kernels distributed from ftp.kernel.org are not legally
distributable.

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 10:09 non-free firmware in kernel modules, aggregation and unclear copyright notice Sven Luther
  2005-04-04 10:21 ` Arjan van de Ven
@ 2005-04-04 13:26 ` Michael Poole
  2005-04-04 14:16   ` Sven Luther
  1 sibling, 1 reply; 102+ messages in thread
From: Michael Poole @ 2005-04-04 13:26 UTC (permalink / raw)
  To: Sven Luther; +Cc: debian-legal, debian-kernel, linux-kernel

Sven Luther writes:

> Hello,
>
> <quick sumary>
> Current linux kernel source hold undistributable non-free firmware blobs, and
> to consider them as mere agregation, a clear licence statement from the
> copyright holders of said non-free firmware blobls is needed, read below for
> details.
> </quick sumary>
>
> Please keep everyone in the CC, as not everyone reads debian-legal or LKML.

This question comes up every four or five months.  You might have even
been the last one to raise this question on one or more of the mailing
lists you cc'ed.  Please, go check the list archives for the previous
(lengthy and multiple) discussions about this topic.

Michael Poole

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 13:26 ` Michael Poole
@ 2005-04-04 14:16   ` Sven Luther
  2005-04-04 17:51     ` Greg KH
  0 siblings, 1 reply; 102+ messages in thread
From: Sven Luther @ 2005-04-04 14:16 UTC (permalink / raw)
  To: Michael Poole; +Cc: Sven Luther, debian-legal, debian-kernel, linux-kernel

On Mon, Apr 04, 2005 at 09:26:58AM -0400, Michael Poole wrote:
> Sven Luther writes:
> 
> > Hello,
> >
> > <quick sumary>
> > Current linux kernel source hold undistributable non-free firmware blobs, and
> > to consider them as mere agregation, a clear licence statement from the
> > copyright holders of said non-free firmware blobls is needed, read below for
> > details.
> > </quick sumary>
> >
> > Please keep everyone in the CC, as not everyone reads debian-legal or LKML.
> 
> This question comes up every four or five months.  You might have even
> been the last one to raise this question on one or more of the mailing
> lists you cc'ed.  Please, go check the list archives for the previous
> (lengthy and multiple) discussions about this topic.

Sure, i raised this the last time, and it was discussed on debian-legal and
debian-kernel, and since nobody objected, and many where in accord with my
arguments in that thread i linked in the parent post, i believe consensus was
reached. This is basically the position debian has, and work has already been
started to move some of the affected modules in a separate package, which will
be distributed from non-free.

This is just the followup on said discussion, involving the larger LKML
audience, in order to get this fixed for good. As said, it is just a mere
technicality to get out of the muddy situation, all the people having
contributed source-less firmware blobs, need to give us (us being debian, but
also all the linux kernel community) either the source if they persist in
distributing the code under the GPL, or a clear distribution licence for these
firmware blobs, and clearly identificate them as not covered by the GPL that
the file they come in is.

Discussing legal issues is all cool and nice for those that appreciates such
sport, but it doesn't really make sense if it is not applied to acts later on.

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 14:16   ` Sven Luther
@ 2005-04-04 17:51     ` Greg KH
  2005-04-04 18:21       ` Sven Luther
                         ` (3 more replies)
  0 siblings, 4 replies; 102+ messages in thread
From: Greg KH @ 2005-04-04 17:51 UTC (permalink / raw)
  To: Sven Luther; +Cc: Michael Poole, debian-legal, debian-kernel, linux-kernel

On Mon, Apr 04, 2005 at 04:16:47PM +0200, Sven Luther wrote:
> This is just the followup on said discussion, involving the larger LKML
> audience, in order to get this fixed for good. As said, it is just a mere
> technicality to get out of the muddy situation, all the people having
> contributed source-less firmware blobs, need to give us (us being debian, but
> also all the linux kernel community) either the source if they persist in
> distributing the code under the GPL, or a clear distribution licence for these
> firmware blobs, and clearly identificate them as not covered by the GPL that
> the file they come in is.

What if we don't want to do so?  I know I personally posted a solution
for this _5_ years ago in debian-legal, and have yet to receive a
patch...

> Discussing legal issues is all cool and nice for those that appreciates such
> sport, but it doesn't really make sense if it is not applied to acts later on.

Then let's see some acts.  We (lkml) are not the ones with the percieved
problem, or the ones discussing it.

bleah.

greg k-h

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 17:51     ` Greg KH
@ 2005-04-04 18:21       ` Sven Luther
  2005-04-04 19:12         ` Ian Campbell
  2005-04-04 18:27       ` Sven Luther
                         ` (2 subsequent siblings)
  3 siblings, 1 reply; 102+ messages in thread
From: Sven Luther @ 2005-04-04 18:21 UTC (permalink / raw)
  To: Greg KH
  Cc: Sven Luther, Michael Poole, debian-legal, debian-kernel,
	linux-kernel

On Mon, Apr 04, 2005 at 10:51:30AM -0700, Greg KH wrote:
> On Mon, Apr 04, 2005 at 04:16:47PM +0200, Sven Luther wrote:
> > This is just the followup on said discussion, involving the larger LKML
> > audience, in order to get this fixed for good. As said, it is just a mere
> > technicality to get out of the muddy situation, all the people having
> > contributed source-less firmware blobs, need to give us (us being debian, but
> > also all the linux kernel community) either the source if they persist in
> > distributing the code under the GPL, or a clear distribution licence for these
> > firmware blobs, and clearly identificate them as not covered by the GPL that
> > the file they come in is.
> 
> What if we don't want to do so?

You mean, you as copyright holder are not willing to mark the firmware blobs
as not covered by the GPL, then it is simple, the firmware blob in question is
covered by the GPL, and since it lacks source, the whole lot is
non-distributable, and any contributor to the linux kernel can sue
ftp.kernel.org or whoever else is distributing the kernel code. I don't know
if users are able to sue you under the GPL for failing to provide the source
code though.

Seriously, it is just a couple of lines of comments on top of the file, who in
his right mind would object to fixing this issue ? 

> I know I personally posted a solution for this _5_ years ago in debian-legal,
> and have yet to receive a patch...

Well, maybe, but *I* was not there 5 years ago, indeed i believe i didn't even
was remotely connected to the kernel folks inside debian back then, nor even
heard of debian-legal, so i would much like to hear of your proposal, care to
give me a hint about the name of the thread it was in or something ? 

> > Discussing legal issues is all cool and nice for those that appreciates such
> > sport, but it doesn't really make sense if it is not applied to acts later on.
> 
> Then let's see some acts.  We (lkml) are not the ones with the percieved
> problem, or the ones discussing it.

Well, it is currently a violation of the GPL to distribute those firmware
blobs without clearly saying that they are not covered by the GPL. What is the
harm that comes by doing that ? All the other dubious points have been set
aside by the discussion on the thread you probably didn't read. 

Right now, the licencing information is only present in the toplevel COPYRIGHT
file, which is mostly the GPL (excluding user programs :), and since things
like tg3.c which contain such non-free firmware blobs don't say anything else
about the copyright of them, they de-facto fall under the toplevel COPYRIGHT,
including their firmware blobs which lack sources.

All i am asking is that *the copyright holders* of said firmware blobs put a
little comment on top of the files in question saying, all this driver is
GPLed, except the firmware blobs, and we give redistribution rights to said
firmware blobs.

The mention of acts was for the folk at debian-legal who like speaking a lot
in circle and not bring anything forward, which your mention of patches above
confirms :)

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 17:51     ` Greg KH
  2005-04-04 18:21       ` Sven Luther
@ 2005-04-04 18:27       ` Sven Luther
  2005-04-04 19:17         ` Greg KH
  2005-04-04 18:39       ` non-free firmware in kernel modules, aggregation and unclear copyright notice Matthew Wilcox
  2005-04-04 19:05       ` Marco d'Itri
  3 siblings, 1 reply; 102+ messages in thread
From: Sven Luther @ 2005-04-04 18:27 UTC (permalink / raw)
  To: Greg KH
  Cc: Sven Luther, Michael Poole, debian-legal, debian-kernel,
	linux-kernel

On Mon, Apr 04, 2005 at 10:51:30AM -0700, Greg KH wrote:
> On Mon, Apr 04, 2005 at 04:16:47PM +0200, Sven Luther wrote:
> > This is just the followup on said discussion, involving the larger LKML
> > audience, in order to get this fixed for good. As said, it is just a mere
> > technicality to get out of the muddy situation, all the people having
> > contributed source-less firmware blobs, need to give us (us being debian, but
> > also all the linux kernel community) either the source if they persist in
> > distributing the code under the GPL, or a clear distribution licence for these
> > firmware blobs, and clearly identificate them as not covered by the GPL that
> > the file they come in is.
> 
> What if we don't want to do so?  I know I personally posted a solution
> for this _5_ years ago in debian-legal, and have yet to receive a
> patch...

Mmm, probably that 2001 discussion about the keyspan firmware, right ?

  http://lists.debian.org/debian-legal/2001/04/msg00145.html

Can you summarize the conclusion of the thread, or what you did get from it,
please ? 

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 17:51     ` Greg KH
  2005-04-04 18:21       ` Sven Luther
  2005-04-04 18:27       ` Sven Luther
@ 2005-04-04 18:39       ` Matthew Wilcox
  2005-04-04 19:55         ` Jeff Garzik
  2005-04-07  7:25         ` Jes Sorensen
  2005-04-04 19:05       ` Marco d'Itri
  3 siblings, 2 replies; 102+ messages in thread
From: Matthew Wilcox @ 2005-04-04 18:39 UTC (permalink / raw)
  To: Greg KH
  Cc: Sven Luther, Michael Poole, debian-legal, debian-kernel,
	linux-kernel, Jes Sorensen, linux-acenic

On Mon, Apr 04, 2005 at 10:51:30AM -0700, Greg KH wrote:
> Then let's see some acts.  We (lkml) are not the ones with the percieved
> problem, or the ones discussing it.

Actually, there are some legitimate problems with some of the files in
the Linux source base.  Last time this came up, the Acenic firmware was
mentioned:

http://lists.debian.org/debian-legal/2004/12/msg00078.html

Seems to me that situation is still not resolved.

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

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 17:51     ` Greg KH
                         ` (2 preceding siblings ...)
  2005-04-04 18:39       ` non-free firmware in kernel modules, aggregation and unclear copyright notice Matthew Wilcox
@ 2005-04-04 19:05       ` Marco d'Itri
  2005-04-04 19:14         ` Greg KH
                           ` (2 more replies)
  3 siblings, 3 replies; 102+ messages in thread
From: Marco d'Itri @ 2005-04-04 19:05 UTC (permalink / raw)
  To: Greg KH; +Cc: debian-legal, debian-kernel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 282 bytes --]

On Apr 04, Greg KH <greg@kroah.com> wrote:

> What if we don't want to do so?  I know I personally posted a solution
Then probably the extremists in Debian will manage to kill your driver,
like they did with tg3 and others.
This sucks, yes.

-- 
ciao,
Marco (@debian.org)

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 18:21       ` Sven Luther
@ 2005-04-04 19:12         ` Ian Campbell
  2005-04-04 19:24           ` Sven Luther
  2005-04-04 19:36           ` Roland Dreier
  0 siblings, 2 replies; 102+ messages in thread
From: Ian Campbell @ 2005-04-04 19:12 UTC (permalink / raw)
  To: Sven Luther
  Cc: Greg KH, Michael Poole, debian-legal, debian-kernel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1005 bytes --]

On Mon, 2005-04-04 at 20:21 +0200, Sven Luther wrote:
> On Mon, Apr 04, 2005 at 10:51:30AM -0700, Greg KH wrote:
> > Then let's see some acts.  We (lkml) are not the ones with the percieved
> > problem, or the ones discussing it.

[...]

> All i am asking is that *the copyright holders* of said firmware blobs put a
> little comment on top of the files in question saying, all this driver is
> GPLed, except the firmware blobs, and we give redistribution rights to said
> firmware blobs.

I think what Greg may have meant[0] was that if it bothers you, then you
should act by contacting the copyright holders privately yourself in
each case that you come across and asking them if you may add a little
comment etc, and then submit patches once you have their agreement.

Ian.

[0] if I may be so bold as to put words into his mouth.
-- 
Ian Campbell

Hiccuping & trembling into the WASTE DUMPS of New Jersey like some
drunken CABBAGE PATCH DOLL, coughing in line at FIORUCCI'S!!

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 19:05       ` Marco d'Itri
@ 2005-04-04 19:14         ` Greg KH
  2005-04-04 19:32         ` Adrian Bunk
  2005-04-04 19:41         ` Sven Luther
  2 siblings, 0 replies; 102+ messages in thread
From: Greg KH @ 2005-04-04 19:14 UTC (permalink / raw)
  To: md, debian-legal, debian-kernel, linux-kernel

On Mon, Apr 04, 2005 at 09:05:18PM +0200, Marco d'Itri wrote:
> On Apr 04, Greg KH <greg@kroah.com> wrote:
> 
> > What if we don't want to do so?  I know I personally posted a solution
> Then probably the extremists in Debian will manage to kill your driver,
> like they did with tg3 and others.

Their loss, not mine.

greg k-h

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 18:27       ` Sven Luther
@ 2005-04-04 19:17         ` Greg KH
  2005-04-04 19:29           ` Sven Luther
  2005-04-05  4:23           ` [PATCH 00/04] Load keyspan firmware with hotplug Jan Harkes
  0 siblings, 2 replies; 102+ messages in thread
From: Greg KH @ 2005-04-04 19:17 UTC (permalink / raw)
  To: Sven Luther; +Cc: Michael Poole, debian-legal, debian-kernel, linux-kernel

On Mon, Apr 04, 2005 at 08:27:53PM +0200, Sven Luther wrote:
> Mmm, probably that 2001 discussion about the keyspan firmware, right ?
> 
>   http://lists.debian.org/debian-legal/2001/04/msg00145.html
> 
> Can you summarize the conclusion of the thread, or what you did get from it,
> please ? 

That people didn't like the inclusion of firmware, I posted how you can
fix it by moving it outside of the kernel, and asked for patches.

None have come.

So I refuse to listen to talk about this, as obviously, no one cares
enough about this to actually fix the issue.

People drag this up about once a year, so you are just following the
trend...

This is my last reply to this thread, unless it contains code.

greg k-h

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 19:12         ` Ian Campbell
@ 2005-04-04 19:24           ` Sven Luther
  2005-04-04 19:36           ` Roland Dreier
  1 sibling, 0 replies; 102+ messages in thread
From: Sven Luther @ 2005-04-04 19:24 UTC (permalink / raw)
  To: Ian Campbell
  Cc: Sven Luther, Greg KH, Michael Poole, debian-legal, debian-kernel,
	linux-kernel

On Mon, Apr 04, 2005 at 08:12:48PM +0100, Ian Campbell wrote:
> On Mon, 2005-04-04 at 20:21 +0200, Sven Luther wrote:
> > On Mon, Apr 04, 2005 at 10:51:30AM -0700, Greg KH wrote:
> > > Then let's see some acts.  We (lkml) are not the ones with the percieved
> > > problem, or the ones discussing it.
> 
> [...]
> 
> > All i am asking is that *the copyright holders* of said firmware blobs put a
> > little comment on top of the files in question saying, all this driver is
> > GPLed, except the firmware blobs, and we give redistribution rights to said
> > firmware blobs.
> 
> I think what Greg may have meant[0] was that if it bothers you, then you
> should act by contacting the copyright holders privately yourself in
> each case that you come across and asking them if you may add a little
> comment etc, and then submit patches once you have their agreement.

Yeah, that is step 3, i mailed LKML, because maybe you would have some useful
coment, or some of you who wrote said code may have contacts or something with
the copyright holders, or some other insight. I also didn't want this to cause
a problem if i blundered in some tense relationship or whatever.

For example, the tg3 driver says : 

 * tg3.c: Broadcom Tigon3 ethernet driver.
 *
 * Copyright (C) 2001, 2002, 2003, 2004 David S. Miller (davem@redhat.com)
 * Copyright (C) 2001, 2002, 2003 Jeff Garzik (jgarzik@pobox.com)
 * Copyright (C) 2004 Sun Microsystems Inc.
 *
 * Firmware is:
 *      Copyright (C) 2000-2003 Broadcom Corporation.

There is no contact for either sun or broadcom, but i believe that Jeff or
David may know where this firmware blob may (or not) come from.

Friendly,

Sven Luther



^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 19:17         ` Greg KH
@ 2005-04-04 19:29           ` Sven Luther
  2005-04-04 19:58             ` Adrian Bunk
  2005-04-04 20:55             ` Theodore Ts'o
  2005-04-05  4:23           ` [PATCH 00/04] Load keyspan firmware with hotplug Jan Harkes
  1 sibling, 2 replies; 102+ messages in thread
From: Sven Luther @ 2005-04-04 19:29 UTC (permalink / raw)
  To: Greg KH
  Cc: Sven Luther, Michael Poole, debian-legal, debian-kernel,
	linux-kernel

On Mon, Apr 04, 2005 at 12:17:46PM -0700, Greg KH wrote:
> On Mon, Apr 04, 2005 at 08:27:53PM +0200, Sven Luther wrote:
> > Mmm, probably that 2001 discussion about the keyspan firmware, right ?
> > 
> >   http://lists.debian.org/debian-legal/2001/04/msg00145.html
> > 
> > Can you summarize the conclusion of the thread, or what you did get from it,
> > please ? 
> 
> That people didn't like the inclusion of firmware, I posted how you can
> fix it by moving it outside of the kernel, and asked for patches.

Yeah, that is a solution to it, and i also deplore that none has done the job
to make it loadable from userland. For now, debian is satisfied by moving the
whole modules involved to non-free, and this has already happened in part.

> None have come.
> 
> So I refuse to listen to talk about this, as obviously, no one cares
> enough about this to actually fix the issue.

Well, i disagree with the above analysis. The problem is not so much that the
firmware violate the GPL, as it constitutes mere agregation, but that the
actual copyright statement of the files containing the firmware blobs place
them de-facto under the GPL, which i doubt is what was intented originally,
don't you think.

And *I* do care about this issue, and will follow up this issue with mails to
the individual copyright holders of the file, to clarify the situation.

> People drag this up about once a year, so you are just following the
> trend...

Nope, i am aiming to clarify this issue with regard to the debian kernel, so
that we may be clear with ourselves, and actually ship something which is not
of dubious legal standing, and that we could get sued over for GPL violation.

> This is my last reply to this thread, unless it contains code.

Ok, but i hope that not only code, but patches clarifying the legal situation
will make you happy.

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 19:05       ` Marco d'Itri
  2005-04-04 19:14         ` Greg KH
@ 2005-04-04 19:32         ` Adrian Bunk
  2005-04-05 14:05           ` Josselin Mouette
  2005-04-04 19:41         ` Sven Luther
  2 siblings, 1 reply; 102+ messages in thread
From: Adrian Bunk @ 2005-04-04 19:32 UTC (permalink / raw)
  To: md, Greg KH, debian-legal, debian-kernel, linux-kernel

On Mon, Apr 04, 2005 at 09:05:18PM +0200, Marco d'Itri wrote:
> On Apr 04, Greg KH <greg@kroah.com> wrote:
> 
> > What if we don't want to do so?  I know I personally posted a solution
> Then probably the extremists in Debian will manage to kill your driver,
> like they did with tg3 and others.


And as they are doing with e.g. the complete gcc documentation.

No documentation for the C compiler (not even a documentation of the 
options) will be neither fun for the users of Debian nor for the Debian 
maintainers - but it's the future of Debian...

The Debian Social Contract says:
  Our Priorities are Our Users and Free Software

The next "editorial changes" to your social contract might remove the 
"Our Users and"...


Seriously:

There might be real problems with non-distributable firmware, but the 
known extremist position of Debian on such issues produces negative 
emotions if something like this comes from Debian.


> This sucks, yes.


Agreed.


> ciao,
> Marco (@debian.org)

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


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 19:12         ` Ian Campbell
  2005-04-04 19:24           ` Sven Luther
@ 2005-04-04 19:36           ` Roland Dreier
  1 sibling, 0 replies; 102+ messages in thread
From: Roland Dreier @ 2005-04-04 19:36 UTC (permalink / raw)
  To: Ian Campbell
  Cc: Sven Luther, Greg KH, Michael Poole, debian-legal, debian-kernel,
	linux-kernel

    Ian> I think what Greg may have meant[0] was that if it bothers
    Ian> you, then you should act by contacting the copyright holders
    Ian> privately yourself in each case that you come across and
    Ian> asking them if you may add a little comment etc, and then
    Ian> submit patches once you have their agreement.

Perhaps another solution would be for someone who has received a
supposedly GPLed Linux kernel from, say, SuSE, to contact SuSE and ask
for the source code to things such as

static u32 tg3FwText[(TG3_FW_TEXT_LEN / sizeof(u32)) + 1] = {
	0x00000000, 0x10000003, 0x00000000, 0x0000000d, 0x0000000d, 0x3c1d0800,
	0x37bd3ffc, 0x03a0f021, 0x3c100800, 0x26100000, 0x0e000018, 0x00000000,
	0x0000000d, 0x3c1d0800, 0x37bd3ffc, 0x03a0f021, 0x3c100800, 0x26100034,
	0x0e00021c, 0x00000000, 0x0000000d, 0x00000000, 0x00000000, 0x00000000,
	0x27bdffe0, 0x3c1cc000, 0xafbf0018, 0xaf80680c, 0x0e00004c, 0x241b2105,
	/* ... */

in drivers/net/tg3.c.  (tg3.c does not contain any license information
at all, and therefore falls under the kernel's GPLv2 license, right?)

 - R.


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 19:05       ` Marco d'Itri
  2005-04-04 19:14         ` Greg KH
  2005-04-04 19:32         ` Adrian Bunk
@ 2005-04-04 19:41         ` Sven Luther
  2 siblings, 0 replies; 102+ messages in thread
From: Sven Luther @ 2005-04-04 19:41 UTC (permalink / raw)
  To: md, Greg KH, debian-legal, debian-kernel, linux-kernel

On Mon, Apr 04, 2005 at 09:05:18PM +0200, Marco d'Itri wrote:
> On Apr 04, Greg KH <greg@kroah.com> wrote:
> 
> > What if we don't want to do so?  I know I personally posted a solution
> Then probably the extremists in Debian will manage to kill your driver,
> like they did with tg3 and others.

Nope, they were simply moved to non-free, as it should. I believe the package
is waiting for NEW processing, but i also believe that the dubious copyright
assignement will not allow the ftp-masters to let it pass into the archive,
since it *IS* a GPL violation, and thus i am doing this in order to solve that
problem.

> This sucks, yes.

Not really. Once the, post-sarge, transition is done, you just will have to
load the non-free .udeb from the non-free d-i archive, or install the module
package from non-free, and you won't even notice.

Sarge kernels are messed beyond recognition in this anyway, but they are
freezed so ...

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 18:39       ` non-free firmware in kernel modules, aggregation and unclear copyright notice Matthew Wilcox
@ 2005-04-04 19:55         ` Jeff Garzik
  2005-04-04 20:27           ` Sven Luther
  2005-04-07  7:25         ` Jes Sorensen
  1 sibling, 1 reply; 102+ messages in thread
From: Jeff Garzik @ 2005-04-04 19:55 UTC (permalink / raw)
  To: Matthew Wilcox
  Cc: Greg KH, Sven Luther, Michael Poole, debian-legal, debian-kernel,
	linux-kernel, Jes Sorensen, linux-acenic

Matthew Wilcox wrote:
> On Mon, Apr 04, 2005 at 10:51:30AM -0700, Greg KH wrote:
> 
>>Then let's see some acts.  We (lkml) are not the ones with the percieved
>>problem, or the ones discussing it.
> 
> 
> Actually, there are some legitimate problems with some of the files in
> the Linux source base.  Last time this came up, the Acenic firmware was
> mentioned:
> 
> http://lists.debian.org/debian-legal/2004/12/msg00078.html
> 
> Seems to me that situation is still not resolved.

And it looks like no one cares enough to make the effort to resolve this...

I would love an open source acenic firmware.

	Jeff




^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 19:29           ` Sven Luther
@ 2005-04-04 19:58             ` Adrian Bunk
  2005-04-04 20:23               ` Sven Luther
  2005-04-04 20:55             ` Theodore Ts'o
  1 sibling, 1 reply; 102+ messages in thread
From: Adrian Bunk @ 2005-04-04 19:58 UTC (permalink / raw)
  To: Sven Luther
  Cc: Greg KH, Michael Poole, debian-legal, debian-kernel, linux-kernel

On Mon, Apr 04, 2005 at 09:29:45PM +0200, Sven Luther wrote:
> On Mon, Apr 04, 2005 at 12:17:46PM -0700, Greg KH wrote:
> > On Mon, Apr 04, 2005 at 08:27:53PM +0200, Sven Luther wrote:
> > > Mmm, probably that 2001 discussion about the keyspan firmware, right ?
> > > 
> > >   http://lists.debian.org/debian-legal/2001/04/msg00145.html
> > > 
> > > Can you summarize the conclusion of the thread, or what you did get from it,
> > > please ? 
> > 
> > That people didn't like the inclusion of firmware, I posted how you can
> > fix it by moving it outside of the kernel, and asked for patches.
> 
> Yeah, that is a solution to it, and i also deplore that none has done the job
> to make it loadable from userland. For now, debian is satisfied by moving the
> whole modules involved to non-free, and this has already happened in part.


Does this imply your installer will use these non-free modules?

If the driver for the controller your harddisk is behind is not used by 
the installer you could simply remove these modules instead of moving 
them to non-free.


> > None have come.
> > 
> > So I refuse to listen to talk about this, as obviously, no one cares
> > enough about this to actually fix the issue.
> 
> Well, i disagree with the above analysis. The problem is not so much that the
> firmware violate the GPL, as it constitutes mere agregation, but that the
> actual copyright statement of the files containing the firmware blobs place
> them de-facto under the GPL, which i doubt is what was intented originally,
> don't you think.
> 
> And *I* do care about this issue, and will follow up this issue with mails to
> the individual copyright holders of the file, to clarify the situation.
> 
> > People drag this up about once a year, so you are just following the
> > trend...
> 
> Nope, i am aiming to clarify this issue with regard to the debian kernel, so
> that we may be clear with ourselves, and actually ship something which is not
> of dubious legal standing, and that we could get sued over for GPL violation.
>...


If it was a GPL violation, it wasn't enough to contact only the small 
subset of copyright holders that worked on this specific file since 
this file might be compiled statically into the GPL'ed kernel.


> Friendly,
> 
> Sven Luther


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


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 19:58             ` Adrian Bunk
@ 2005-04-04 20:23               ` Sven Luther
  2005-04-04 21:05                 ` Adrian Bunk
  0 siblings, 1 reply; 102+ messages in thread
From: Sven Luther @ 2005-04-04 20:23 UTC (permalink / raw)
  To: Adrian Bunk, Sven Luther, Greg KH, Michael Poole, debian-legal,
	debian-kernel, linux-kernel

On Mon, Apr 04, 2005 at 09:58:30PM +0200, Adrian Bunk wrote:
> On Mon, Apr 04, 2005 at 09:29:45PM +0200, Sven Luther wrote:
> > On Mon, Apr 04, 2005 at 12:17:46PM -0700, Greg KH wrote:
> > > On Mon, Apr 04, 2005 at 08:27:53PM +0200, Sven Luther wrote:
> > > > Mmm, probably that 2001 discussion about the keyspan firmware, right ?
> > > > 
> > > >   http://lists.debian.org/debian-legal/2001/04/msg00145.html
> > > > 
> > > > Can you summarize the conclusion of the thread, or what you did get from it,
> > > > please ? 
> > > 
> > > That people didn't like the inclusion of firmware, I posted how you can
> > > fix it by moving it outside of the kernel, and asked for patches.
> > 
> > Yeah, that is a solution to it, and i also deplore that none has done the job
> > to make it loadable from userland. For now, debian is satisfied by moving the
> > whole modules involved to non-free, and this has already happened in part.
> 
> 
> Does this imply your installer will use these non-free modules?

The installer already has provision for loading additional .udebs from floppy
or net, not sure about other media, and we don't build yet non-free d-i images
with those non-free modules builtin, but it could be arranged. This is
post-sarge issues though, and we still have some time to solve them.

> If the driver for the controller your harddisk is behind is not used by 
> the installer you could simply remove these modules instead of moving 
> them to non-free.

yeah, the problem is a whole bunch of people have tg3 network cards it seem :)

> > Nope, i am aiming to clarify this issue with regard to the debian kernel, so
> > that we may be clear with ourselves, and actually ship something which is not
> > of dubious legal standing, and that we could get sued over for GPL violation.
> >...
> 
> 
> If it was a GPL violation, it wasn't enough to contact only the small 
> subset of copyright holders that worked on this specific file since 
> this file might be compiled statically into the GPL'ed kernel.

That is not a problem, since even if the firmware is built into the same
executable as the rest of the kernel code, it still constitutes only mere
agregation, where the kernel is the distribution media, in the GPL sense.
Please read the mail i linked too in the original mail for detailed
argumentation of this.

The only problem to it constituting mere agregation is that the firmware blob
is not clearly identified as such in the tg3.c file (for example), and that
there is no licencing condition allowing their distribution apart the GPL,
which these firmware blobs where evidently not meant to be put under.

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 19:55         ` Jeff Garzik
@ 2005-04-04 20:27           ` Sven Luther
  2005-04-04 20:47             ` Jeff Garzik
  0 siblings, 1 reply; 102+ messages in thread
From: Sven Luther @ 2005-04-04 20:27 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Matthew Wilcox, Greg KH, Sven Luther, Michael Poole, debian-legal,
	debian-kernel, linux-kernel, Jes Sorensen, linux-acenic

On Mon, Apr 04, 2005 at 03:55:55PM -0400, Jeff Garzik wrote:
> Matthew Wilcox wrote:
> >On Mon, Apr 04, 2005 at 10:51:30AM -0700, Greg KH wrote:
> >
> >>Then let's see some acts.  We (lkml) are not the ones with the percieved
> >>problem, or the ones discussing it.
> >
> >
> >Actually, there are some legitimate problems with some of the files in
> >the Linux source base.  Last time this came up, the Acenic firmware was
> >mentioned:
> >
> >http://lists.debian.org/debian-legal/2004/12/msg00078.html
> >
> >Seems to me that situation is still not resolved.
> 
> And it looks like no one cares enough to make the effort to resolve this...
> 
> I would love an open source acenic firmware.

Yep, but in the meantime, let's clearly mark said firmware as
not-covered-by-the-GPL. In the acenic case it seems to be even easier, as the
firmware is in a separate acenic_firmware.h file, and it just needs to have
the proper licencing statement added, saying that it is not covered by the
GPL, and then giving the information under what licence it is being
distributed.

Jeff, since your name was found in the tg3.c case, and you seem to care about
this too, what is your take on this proposal ?

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 20:27           ` Sven Luther
@ 2005-04-04 20:47             ` Jeff Garzik
  2005-04-04 21:24               ` Sven Luther
                                 ` (3 more replies)
  0 siblings, 4 replies; 102+ messages in thread
From: Jeff Garzik @ 2005-04-04 20:47 UTC (permalink / raw)
  To: Sven Luther
  Cc: Matthew Wilcox, Greg KH, Michael Poole, debian-legal,
	debian-kernel, linux-kernel, Jes Sorensen, linux-acenic

Sven Luther wrote:
> On Mon, Apr 04, 2005 at 03:55:55PM -0400, Jeff Garzik wrote:
> 
>>Matthew Wilcox wrote:
>>
>>>On Mon, Apr 04, 2005 at 10:51:30AM -0700, Greg KH wrote:
>>>
>>>
>>>>Then let's see some acts.  We (lkml) are not the ones with the percieved
>>>>problem, or the ones discussing it.
>>>
>>>
>>>Actually, there are some legitimate problems with some of the files in
>>>the Linux source base.  Last time this came up, the Acenic firmware was
>>>mentioned:
>>>
>>>http://lists.debian.org/debian-legal/2004/12/msg00078.html
>>>
>>>Seems to me that situation is still not resolved.
>>
>>And it looks like no one cares enough to make the effort to resolve this...
>>
>>I would love an open source acenic firmware.
> 
> 
> Yep, but in the meantime, let's clearly mark said firmware as
> not-covered-by-the-GPL. In the acenic case it seems to be even easier, as the
> firmware is in a separate acenic_firmware.h file, and it just needs to have
> the proper licencing statement added, saying that it is not covered by the
> GPL, and then giving the information under what licence it is being
> distributed.

Who has meaningfully contacted Alteon (probably "Neterion" now) about 
this?  What is the progress of that request?


> Jeff, since your name was found in the tg3.c case, and you seem to care about
> this too, what is your take on this proposal ?
> 
> Friendly,

Bluntly, Debian is being a pain in the ass ;-)

There will always be non-free firmware to deal with, for key hardware.

	Jeff



^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 19:29           ` Sven Luther
  2005-04-04 19:58             ` Adrian Bunk
@ 2005-04-04 20:55             ` Theodore Ts'o
  2005-04-04 21:19               ` Sven Luther
  1 sibling, 1 reply; 102+ messages in thread
From: Theodore Ts'o @ 2005-04-04 20:55 UTC (permalink / raw)
  To: Sven Luther
  Cc: Greg KH, Michael Poole, debian-legal, debian-kernel, linux-kernel

On Mon, Apr 04, 2005 at 09:29:45PM +0200, Sven Luther wrote:
> 
> Nope, i am aiming to clarify this issue with regard to the debian kernel, so
> that we may be clear with ourselves, and actually ship something which is not
> of dubious legal standing, and that we could get sued over for GPL violation.
> 

You know, the fact that Red Hat, SuSE, Ubuntu, and pretty much all
other commercial distributions have not been worried about getting
sued for this alleged GPL'ed violation makes it a lot harder for me
(and others, I'm sure) take Debian's concerns seriously.

The problem may be that because Debian is purely a non-profit, and so
it can't clearly balance the costs and benefits of trying trying to
avoid every single possible risks where someone might decide to file a
lawsuit.  Anytime you do *anything* you risk the possibility of a
lawsuit, and if you allow the laywers to take over your business
decisions, the natural avoid-risks-all-costs bias of lawyers are such
that it will either drive a company out of business, or drive a
non-profit distribution into irrelevance.....

If Debian wants to be this fanatical, then let those Debian developers
who care do all of the work to make this happen, and stop bothering
LKML.  And if it continues to remain the case that a user will have to
manually edit /etc/apt/sources.lists (using vi!) to include a
reference to non-free in order to install Debian on a system that
requires the tg3 device driver, then I will have to tell users who ask
me that they would be better off using some other distribution which
actually cares about their needs.

						- Ted

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 20:23               ` Sven Luther
@ 2005-04-04 21:05                 ` Adrian Bunk
  2005-04-04 21:16                   ` Sven Luther
  0 siblings, 1 reply; 102+ messages in thread
From: Adrian Bunk @ 2005-04-04 21:05 UTC (permalink / raw)
  To: Sven Luther
  Cc: Greg KH, Michael Poole, debian-legal, debian-kernel, linux-kernel

On Mon, Apr 04, 2005 at 10:23:08PM +0200, Sven Luther wrote:
> On Mon, Apr 04, 2005 at 09:58:30PM +0200, Adrian Bunk wrote:
> > On Mon, Apr 04, 2005 at 09:29:45PM +0200, Sven Luther wrote:
> > > On Mon, Apr 04, 2005 at 12:17:46PM -0700, Greg KH wrote:
> > > > On Mon, Apr 04, 2005 at 08:27:53PM +0200, Sven Luther wrote:
> > > > > Mmm, probably that 2001 discussion about the keyspan firmware, right ?
> > > > > 
> > > > >   http://lists.debian.org/debian-legal/2001/04/msg00145.html
> > > > > 
> > > > > Can you summarize the conclusion of the thread, or what you did get from it,
> > > > > please ? 
> > > > 
> > > > That people didn't like the inclusion of firmware, I posted how you can
> > > > fix it by moving it outside of the kernel, and asked for patches.
> > > 
> > > Yeah, that is a solution to it, and i also deplore that none has done the job
> > > to make it loadable from userland. For now, debian is satisfied by moving the
> > > whole modules involved to non-free, and this has already happened in part.
> > 
> > 
> > Does this imply your installer will use these non-free modules?
> 
> The installer already has provision for loading additional .udebs from floppy
> or net, not sure about other media, and we don't build yet non-free d-i images
> with those non-free modules builtin, but it could be arranged. This is
> post-sarge issues though, and we still have some time to solve them.
> 
> > If the driver for the controller your harddisk is behind is not used by 
> > the installer you could simply remove these modules instead of moving 
> > them to non-free.
> 
> yeah, the problem is a whole bunch of people have tg3 network cards it seem :)


I was more thinking about SCSI controllers, but tg3 is also interesting.

Additional non-free d-i images will for sure be required, or several 
hardware setups might make installation of Debian impossible without 
bootstrapping through a different OS or distribution.


> > > Nope, i am aiming to clarify this issue with regard to the debian kernel, so
> > > that we may be clear with ourselves, and actually ship something which is not
> > > of dubious legal standing, and that we could get sued over for GPL violation.
> > >...
> > 
> > 
> > If it was a GPL violation, it wasn't enough to contact only the small 
> > subset of copyright holders that worked on this specific file since 
> > this file might be compiled statically into the GPL'ed kernel.
> 
> That is not a problem, since even if the firmware is built into the same
> executable as the rest of the kernel code, it still constitutes only mere
> agregation, where the kernel is the distribution media, in the GPL sense.
> Please read the mail i linked too in the original mail for detailed
> argumentation of this.
> 
> The only problem to it constituting mere agregation is that the firmware blob
> is not clearly identified as such in the tg3.c file (for example), and that
> there is no licencing condition allowing their distribution apart the GPL,
> which these firmware blobs where evidently not meant to be put under.


This is one possible legal interpretation of "mere aggregation".

Whether judges in all jurisdictions of the world follow this 
interpretation or an interpretation of the GPL in one direction or 
another is the more interesting question.


> Friendly,
> 
> Sven Luther

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


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 21:05                 ` Adrian Bunk
@ 2005-04-04 21:16                   ` Sven Luther
  0 siblings, 0 replies; 102+ messages in thread
From: Sven Luther @ 2005-04-04 21:16 UTC (permalink / raw)
  To: Adrian Bunk, Sven Luther, Greg KH, Michael Poole, debian-legal,
	debian-kernel, linux-kernel

On Mon, Apr 04, 2005 at 11:05:03PM +0200, Adrian Bunk wrote:
> On Mon, Apr 04, 2005 at 10:23:08PM +0200, Sven Luther wrote:
> > On Mon, Apr 04, 2005 at 09:58:30PM +0200, Adrian Bunk wrote:
> > > On Mon, Apr 04, 2005 at 09:29:45PM +0200, Sven Luther wrote:
> > > > On Mon, Apr 04, 2005 at 12:17:46PM -0700, Greg KH wrote:
> > > > > On Mon, Apr 04, 2005 at 08:27:53PM +0200, Sven Luther wrote:
> > > > > > Mmm, probably that 2001 discussion about the keyspan firmware, right ?
> > > > > > 
> > > > > >   http://lists.debian.org/debian-legal/2001/04/msg00145.html
> > > > > > 
> > > > > > Can you summarize the conclusion of the thread, or what you did get from it,
> > > > > > please ? 
> > > > > 
> > > > > That people didn't like the inclusion of firmware, I posted how you can
> > > > > fix it by moving it outside of the kernel, and asked for patches.
> > > > 
> > > > Yeah, that is a solution to it, and i also deplore that none has done the job
> > > > to make it loadable from userland. For now, debian is satisfied by moving the
> > > > whole modules involved to non-free, and this has already happened in part.
> > > 
> > > 
> > > Does this imply your installer will use these non-free modules?
> > 
> > The installer already has provision for loading additional .udebs from floppy
> > or net, not sure about other media, and we don't build yet non-free d-i images
> > with those non-free modules builtin, but it could be arranged. This is
> > post-sarge issues though, and we still have some time to solve them.
> > 
> > > If the driver for the controller your harddisk is behind is not used by 
> > > the installer you could simply remove these modules instead of moving 
> > > them to non-free.
> > 
> > yeah, the problem is a whole bunch of people have tg3 network cards it seem :)
> 
> 
> I was more thinking about SCSI controllers, but tg3 is also interesting.
> 
> Additional non-free d-i images will for sure be required, or several 
> hardware setups might make installation of Debian impossible without 
> bootstrapping through a different OS or distribution.

Well, you only need one free way to get access to external media, non-free d-i
simply add a bunch of non-free .udebs to the initrd.

> > > > Nope, i am aiming to clarify this issue with regard to the debian kernel, so
> > > > that we may be clear with ourselves, and actually ship something which is not
> > > > of dubious legal standing, and that we could get sued over for GPL violation.
> > > >...
> > > 
> > > 
> > > If it was a GPL violation, it wasn't enough to contact only the small 
> > > subset of copyright holders that worked on this specific file since 
> > > this file might be compiled statically into the GPL'ed kernel.
> > 
> > That is not a problem, since even if the firmware is built into the same
> > executable as the rest of the kernel code, it still constitutes only mere
> > agregation, where the kernel is the distribution media, in the GPL sense.
> > Please read the mail i linked too in the original mail for detailed
> > argumentation of this.
> > 
> > The only problem to it constituting mere agregation is that the firmware blob
> > is not clearly identified as such in the tg3.c file (for example), and that
> > there is no licencing condition allowing their distribution apart the GPL,
> > which these firmware blobs where evidently not meant to be put under.
> 
> 
> This is one possible legal interpretation of "mere aggregation".
> 
> Whether judges in all jurisdictions of the world follow this 
> interpretation or an interpretation of the GPL in one direction or 
> another is the more interesting question.

This is also hinted at by the FSF FAQ, and a verbatim interpretation of the
actual GPL text. And you can proof by asburd that it has to be so, or you
start facing no end of troubles :)

The thread i linked, which is rather short, has some more legalese
explanations (not by me :), if you are interested.

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 20:55             ` Theodore Ts'o
@ 2005-04-04 21:19               ` Sven Luther
  2005-04-05  8:19                 ` Ian Campbell
  0 siblings, 1 reply; 102+ messages in thread
From: Sven Luther @ 2005-04-04 21:19 UTC (permalink / raw)
  To: Theodore Ts'o, Sven Luther, Greg KH, Michael Poole,
	debian-legal, debian-kernel, linux-kernel

On Mon, Apr 04, 2005 at 04:55:27PM -0400, Theodore Ts'o wrote:
> On Mon, Apr 04, 2005 at 09:29:45PM +0200, Sven Luther wrote:
> > 
> > Nope, i am aiming to clarify this issue with regard to the debian kernel, so
> > that we may be clear with ourselves, and actually ship something which is not
> > of dubious legal standing, and that we could get sued over for GPL violation.
> > 
> 
> You know, the fact that Red Hat, SuSE, Ubuntu, and pretty much all
> other commercial distributions have not been worried about getting
> sued for this alleged GPL'ed violation makes it a lot harder for me
> (and others, I'm sure) take Debian's concerns seriously.

They probably didn't care :)

> The problem may be that because Debian is purely a non-profit, and so
> it can't clearly balance the costs and benefits of trying trying to
> avoid every single possible risks where someone might decide to file a
> lawsuit.  Anytime you do *anything* you risk the possibility of a
> lawsuit, and if you allow the laywers to take over your business
> decisions, the natural avoid-risks-all-costs bias of lawyers are such
> that it will either drive a company out of business, or drive a
> non-profit distribution into irrelevance.....

Yes, the problem is indeed that we don't have a legal department which can
counter sue, and we are present in a much more widespread area than other
companies you cited above.

And ubuntu has those driver in their non-free equivalent also.

> If Debian wants to be this fanatical, then let those Debian developers
> who care do all of the work to make this happen, and stop bothering
> LKML.  And if it continues to remain the case that a user will have to
> manually edit /etc/apt/sources.lists (using vi!) to include a
> reference to non-free in order to install Debian on a system that
> requires the tg3 device driver, then I will have to tell users who ask
> me that they would be better off using some other distribution which
> actually cares about their needs.

I don't get this, and you threat me as fanatic. I am only saying that the
tg3.c and other file are under the GPL, and that the firmware included in it
is *NOT* intented to be under the GPL, so why not say it explicitly ? 

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 20:47             ` Jeff Garzik
@ 2005-04-04 21:24               ` Sven Luther
  2005-04-04 21:58                 ` Sven Luther
  2005-04-05  9:33               ` Sven Luther
                                 ` (2 subsequent siblings)
  3 siblings, 1 reply; 102+ messages in thread
From: Sven Luther @ 2005-04-04 21:24 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Sven Luther, Matthew Wilcox, Greg KH, Michael Poole, debian-legal,
	debian-kernel, linux-kernel, Jes Sorensen, linux-acenic

On Mon, Apr 04, 2005 at 04:47:36PM -0400, Jeff Garzik wrote:
> Sven Luther wrote:
> >Yep, but in the meantime, let's clearly mark said firmware as
> >not-covered-by-the-GPL. In the acenic case it seems to be even easier, as 
> >the
> >firmware is in a separate acenic_firmware.h file, and it just needs to have
> >the proper licencing statement added, saying that it is not covered by the
> >GPL, and then giving the information under what licence it is being
> >distributed.
> 
> Who has meaningfully contacted Alteon (probably "Neterion" now) about 
> this?  What is the progress of that request?

Nobody yet. I plan to do so as time allows though. But how do you respond
about the firmware blobs being declared as GPL covered in the kernel ? Who put
those firmware blobs there, and form where did they came ? 

> >Jeff, since your name was found in the tg3.c case, and you seem to care 
> >about
> >this too, what is your take on this proposal ?
> >
> >Friendly,
> 
> Bluntly, Debian is being a pain in the ass ;-)

Thanks all the same, in this case, it is just me though, who want a clear
solution to this, and you would too, i guess, especially as it is not much
work to do it in the first place, so why is everyone making a problem of this
? 

> There will always be non-free firmware to deal with, for key hardware.

Sure, but then you don't claim they are covered by the GPL as is currently the
case ? And i thought that the whole SCO affaire teached us to be more careful
about this.

It assuredly can't hurt to add a few lines of comments to tg3.c, and since it
is probably (well, 1/3 chance here) you who added said firmware to the tg3.c
file, i guess you are even well placed to at least exclude it from being
GPLed. Is this not a reasonable request ? Which should get a reasonable
answer, and not claims of being a pain in the ass, and other wild fanatical
accusations ? 

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 21:24               ` Sven Luther
@ 2005-04-04 21:58                 ` Sven Luther
  0 siblings, 0 replies; 102+ messages in thread
From: Sven Luther @ 2005-04-04 21:58 UTC (permalink / raw)
  To: Sven Luther
  Cc: Jeff Garzik, Matthew Wilcox, Greg KH, Michael Poole, debian-legal,
	debian-kernel, linux-kernel, Jes Sorensen, linux-acenic

On Mon, Apr 04, 2005 at 11:24:05PM +0200, Sven Luther wrote:
> It assuredly can't hurt to add a few lines of comments to tg3.c, and since it
> is probably (well, 1/3 chance here) you who added said firmware to the tg3.c
> file, i guess you are even well placed to at least exclude it from being
> GPLed. Is this not a reasonable request ? Which should get a reasonable
> answer, and not claims of being a pain in the ass, and other wild fanatical
> accusations ? 

Jeff, please ignore this last sentence, i should not have said it.

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* [PATCH 00/04] Load keyspan firmware with hotplug
  2005-04-04 19:17         ` Greg KH
  2005-04-04 19:29           ` Sven Luther
@ 2005-04-05  4:23           ` Jan Harkes
  2005-04-05  4:26             ` [PATCH 01/04] " Jan Harkes
                               ` (2 more replies)
  1 sibling, 3 replies; 102+ messages in thread
From: Jan Harkes @ 2005-04-05  4:23 UTC (permalink / raw)
  To: Greg KH
  Cc: Sven Luther, Michael Poole, debian-legal, debian-kernel,
	linux-kernel

On Mon, Apr 04, 2005 at 12:17:46PM -0700, Greg KH wrote:
> On Mon, Apr 04, 2005 at 08:27:53PM +0200, Sven Luther wrote:
> > Mmm, probably that 2001 discussion about the keyspan firmware, right ?
> > 
> >   http://lists.debian.org/debian-legal/2001/04/msg00145.html
> > 
> > Can you summarize the conclusion of the thread, or what you did get from it,
> > please ? 
> 
> That people didn't like the inclusion of firmware, I posted how you can
> fix it by moving it outside of the kernel, and asked for patches.
> 
> None have come.

Didn't know you were waiting for it. How about something like the
following series of patches?

[01/04] - add simple Intel IHEX format parser to the firmware loader.
[02/04] - make the keyspan driver use request_firmware.
[03/04] - converter program used to dump the keyspan headers as IHex files.
[04/04] - result of running the previous program.

This ofcourse doesn't actually solve Debian's distribution issues since
the keyspan firmware can only be distributed as part of 'Linux or other
Open Source operating system kernel'.

> So I refuse to listen to talk about this, as obviously, no one cares
> enough about this to actually fix the issue.

I got tired of always building my own kernels on Debian just to get my
serial dongle to work since their included keyspan.ko driver is so
useless that it isn't even worth having. The only way to use it with a
Debian kernel is to have the dongle in a powered hub and first boot into
Windows or a normal kernel.org kernel to get the thing initialized.
Didn't send the patch earlier since I wanted to split off the
pre-numeration part of the driver so that after intialization we can
unload the unused parts of the driver as well as the the firmware class
module.

Jan

^ permalink raw reply	[flat|nested] 102+ messages in thread

* [PATCH 01/04] Load keyspan firmware with hotplug
  2005-04-05  4:23           ` [PATCH 00/04] Load keyspan firmware with hotplug Jan Harkes
@ 2005-04-05  4:26             ` Jan Harkes
  2005-04-05  4:27               ` [PATCH 02/04] " Jan Harkes
  2005-04-05  4:51             ` [PATCH 00/04] " Dmitry Torokhov
  2005-04-05  5:36             ` Sven Luther
  2 siblings, 1 reply; 102+ messages in thread
From: Jan Harkes @ 2005-04-05  4:26 UTC (permalink / raw)
  To: Greg KH, Sven Luther, Michael Poole, debian-legal, debian-kernel,
	linux-kernel


Adding firmware_load_ihex, to load IHEX formatted firmware images.

Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu>


 drivers/base/firmware_class.c |  151 ++++++++++++++++++++++++++++++++++++++++++
 include/linux/firmware.h      |   26 +++++++
 2 files changed, 177 insertions(+)

Index: linux/include/linux/firmware.h
===================================================================
--- linux.orig/include/linux/firmware.h	2005-03-29 16:32:45.000000000 -0500
+++ linux/include/linux/firmware.h	2005-03-29 16:33:11.000000000 -0500
@@ -1,12 +1,34 @@
+/*
+ * Definitions for hotplug firmware loader
+ *
+ * Copyright (C) 2003 Manuel Estrada Sainz <ranty@debian.org>
+ *
+ *	This program is free software; you can redistribute it and/or
+ *	modify it under the terms of the GNU General Public License version
+ *	2 as published by the Free Software Foundation.
+ *
+ * 2005-03-10  Jan Harkes <jaharkes@cs.cmu.edu>
+ *	Added parser for IHEX formatted firmware files.
+ */
+
 #ifndef _LINUX_FIRMWARE_H
 #define _LINUX_FIRMWARE_H
+
 #include <linux/module.h>
 #include <linux/types.h>
 #define FIRMWARE_NAME_MAX 30 
+
 struct firmware {
 	size_t size;
 	u8 *data;
 };
+
+struct ihex_record {
+	__u32 address;
+	__u8  len;
+	__u8  data[255];
+};
+
 struct device;
 int request_firmware(const struct firmware **fw, const char *name,
 		     struct device *device);
@@ -15,6 +37,10 @@ int request_firmware_nowait(
 	const char *name, struct device *device, void *context,
 	void (*cont)(const struct firmware *fw, void *context));
 
+int firmware_load_ihex(const struct firmware *fw, void *context,
+		       int (*load)(struct ihex_record *record, void *context));
+
 void release_firmware(const struct firmware *fw);
 void register_firmware(const char *name, const u8 *data, size_t size);
+
 #endif
Index: linux/drivers/base/firmware_class.c
===================================================================
--- linux.orig/drivers/base/firmware_class.c	2005-03-29 16:32:45.000000000 -0500
+++ linux/drivers/base/firmware_class.c	2005-03-29 16:33:11.000000000 -0500
@@ -5,6 +5,8 @@
  *
  * Please see Documentation/firmware_class/ for more information.
  *
+ * 2005-03-10 Jan Harkes <jaharkes@cs.cmu.edu>
+ *	Added parser for IHEX formatted firmware files.
  */
 
 #include <linux/device.h>
@@ -553,6 +555,153 @@ request_firmware_nowait(
 	return 0;
 }
 
+#ifdef VERBOSE_MSGS
+#define dbg(msg, ...) printk(KERN_WARNING "%s: line %d: " msg, __FUNCTION__, line, ## __VA_ARGS__)
+#else
+#define dbg(msg, ...) do {} while(0)
+#endif
+
+/**
+ * nibble/hex are little helpers to parse hexadecimal numbers to a byte value
+ **/
+static __u8 nibble(__u8 n)
+{
+	if      (n >= '0' && n <= '9') return n - '0';
+	else if (n >= 'A' && n <= 'F') return n - ('A' - 10);
+	else if (n >= 'a' && n <= 'f') return n - ('a' - 10);
+	return 0;
+}
+static __u8 hex(__u8 *data, __u8 *crc)
+{
+	__u8 val = (nibble(data[0]) << 4) | nibble(data[1]);
+	*crc += val;
+	return val;
+}
+
+/**
+ * firmware_load_ihex:
+ *
+ * Description:
+ *	@fw is expected to contain Intel HEX formatted data.
+ *
+ *	@load will be called for each record that is found in the IHEX data.
+ *
+ *	@context will be passed on to @load.
+ *
+ **/
+int firmware_load_ihex(const struct firmware *fw, void *context,
+		       int (*load)(struct ihex_record *record, void *context))
+{
+	struct ihex_record *record;
+	__u32 offset = 0;
+	__u8 type, crc = 0;
+	int i, j, err = 0;
+	int line = 1;
+
+	record = kmalloc(sizeof(*record), GFP_KERNEL);
+	if (!record) {
+	    dbg("Allocation failed\n");
+	    return -ENOMEM;
+	}
+
+	i = 0;
+next_record:
+	/* search for the start of record character */
+	while (i < fw->size) {
+		if (fw->data[i] == '\n') line++;
+		if (fw->data[i++] == ':') break;
+	}
+
+	/* Minimum record length would be about 10 characters */
+	if (i + 10 > fw->size) {
+		dbg("Can't find valid record\n");
+		err = -EINVAL;
+		goto done;
+	}
+
+	record->len = hex(fw->data + i, &crc);
+	i += 2;
+
+	/* now check if we have enough data to read everything */
+	if (i + 8 + (record->len * 2) > fw->size) {
+		dbg("Not enough data to read complete record\n");
+		err = -EINVAL;
+		goto done;
+	}
+
+	record->address  = hex(fw->data + i, &crc) << 8; i += 2;
+	record->address |= hex(fw->data + i, &crc); i += 2;
+	record->address += offset;
+	type = hex(fw->data + i, &crc); i += 2;
+
+	for (j = 0; j < record->len; j++, i += 2)
+		record->data[j] = hex(fw->data + i, &crc);
+
+	/* check CRC */
+	(void)hex(fw->data + i, &crc); i += 2;
+	if (crc != 0) {
+		dbg("CRC failure\n");
+		err = -EINVAL;
+		goto done;
+	}
+
+	/* Done reading the record */
+	switch (type) {
+	case 0:
+		/* old style EOF record? */
+		if (!record->len)
+			break;
+
+		err = load(record, context);
+		if (err < 0) {
+			dbg("Firmware load failed (err %d)\n", err);
+			break;
+		}
+		goto next_record;
+
+	case 1: /* End-Of-File Record */
+		if (record->address || record->len) {
+		    dbg("Bad EOF record (type 01) format\n");
+		    err = -EINVAL;
+		}
+		break;
+
+	case 2: /* Extended Segment Address Record (HEX86) */
+	case 4: /* Extended Linear Address Record (HEX386) */
+		if (record->address || record->len != 2) {
+			dbg("Bad HEX86/HEX386 record (type %02X)\n", type);
+			err = -EINVAL;
+			break;
+		}
+
+		/* We shouldn't really be using the offset for HEX86 because
+		 * the wraparound case is specified quite differently. */
+		offset = record->data[0] << 8 | record->data[1];
+		offset <<= (type == 2 ? 4 : 16);
+		goto next_record;
+
+	case 3: /* Start Segment Address Record */
+	case 5: /* Start Linear Address Record */
+		if (record->address || record->len != 4) {
+			dbg("Bad Start Address record (type %02X)\n", type);
+			err = -EINVAL;
+			break;
+		}
+
+		/* These records contain the CS/IP or EIP where execution
+		 * starts. Don't really know what to do with them. */
+		goto next_record;
+
+	default:
+		dbg("Unknown record (type %02X)\n", type);
+		err = -EINVAL;
+		break; /* unknown record type */
+	}
+done:
+	kfree(record);
+	return err;
+}
+
 static int __init
 firmware_class_init(void)
 {
@@ -584,3 +733,5 @@ EXPORT_SYMBOL(release_firmware);
 EXPORT_SYMBOL(request_firmware);
 EXPORT_SYMBOL(request_firmware_nowait);
 EXPORT_SYMBOL(register_firmware);
+EXPORT_SYMBOL(firmware_load_ihex);
+

^ permalink raw reply	[flat|nested] 102+ messages in thread

* [PATCH 02/04] Load keyspan firmware with hotplug
  2005-04-05  4:26             ` [PATCH 01/04] " Jan Harkes
@ 2005-04-05  4:27               ` Jan Harkes
  2005-04-05  4:28                 ` [PATCH 03/04] " Jan Harkes
  0 siblings, 1 reply; 102+ messages in thread
From: Jan Harkes @ 2005-04-05  4:27 UTC (permalink / raw)
  To: Greg KH, Sven Luther, Michael Poole, debian-legal, debian-kernel,
	linux-kernel


Convert the keyspan USB serial driver to use request_firmware and
firmware_load_ihex.

Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu>

Index: linux/drivers/usb/serial/keyspan.c
===================================================================
--- linux.orig/drivers/usb/serial/keyspan.c	2005-03-10 16:01:15.000000000 -0500
+++ linux/drivers/usb/serial/keyspan.c	2005-03-10 23:07:21.070790916 -0500
@@ -28,6 +28,9 @@
 
   Change History
 
+    2005mar10	Jan Harkes
+      Use generic request_firmware/firmware_load_ihex functions.
+
     2003sep04	LPM (Keyspan) add support for new single port product USA19HS.
 				Improve setup message handling for all devices.
 
@@ -106,6 +109,7 @@
 #include <linux/tty_flip.h>
 #include <linux/module.h>
 #include <linux/spinlock.h>
+#include <linux/firmware.h>
 #include <asm/uaccess.h>
 #include <linux/usb.h>
 #include "usb-serial.h"
@@ -1165,13 +1169,28 @@
 	port->tty = NULL;
 }
 
+static int keyspan_fw_load(struct ihex_record *record, void *arg)
+{
+	struct usb_serial *serial = (struct usb_serial *)arg;
+	int ret;
+
+	ret = ezusb_writememory(serial, record->address, record->data,
+				record->len, 0xa0);
+	if (ret < 0) {
+		dev_err(&serial->dev->dev,
+			"ezusb_writememory failed for Keyspan"
+			"firmware (%d %08X %p %d)\n",
+			ret, record->address, record->data, record->len);
+	}
+	return ret;
+}
 
 	/* download the firmware to a pre-renumeration device */
 static int keyspan_fake_startup (struct usb_serial *serial)
 {
 	int 				response;
-	const struct ezusb_hex_record 	*record;
-	char				*fw_name;
+	char				*model, fw_name[20];
+	const struct firmware		*fw;
 
 	dbg("Keyspan startup version %04x product %04x",
 	    le16_to_cpu(serial->dev->descriptor.bcdDevice),
@@ -1182,97 +1201,43 @@
 		return(1);
 	}
 
-		/* Select firmware image on the basis of idProduct */
 	switch (le16_to_cpu(serial->dev->descriptor.idProduct)) {
-	case keyspan_usa28_pre_product_id:
-		record = &keyspan_usa28_firmware[0];
-		fw_name = "USA28";
-		break;
-
-	case keyspan_usa28x_pre_product_id:
-		record = &keyspan_usa28x_firmware[0];
-		fw_name = "USA28X";
-		break;
-
-	case keyspan_usa28xa_pre_product_id:
-		record = &keyspan_usa28xa_firmware[0];
-		fw_name = "USA28XA";
-		break;
-
-	case keyspan_usa28xb_pre_product_id:
-		record = &keyspan_usa28xb_firmware[0];
-		fw_name = "USA28XB";
-		break;
-
-	case keyspan_usa19_pre_product_id:
-		record = &keyspan_usa19_firmware[0];
-		fw_name = "USA19";
-		break;
-			     
-	case keyspan_usa19qi_pre_product_id:
-		record = &keyspan_usa19qi_firmware[0];
-		fw_name = "USA19QI";
-		break;
-			     
-	case keyspan_mpr_pre_product_id:
-		record = &keyspan_mpr_firmware[0];
-		fw_name = "MPR";
-		break;
-
-	case keyspan_usa19qw_pre_product_id:
-		record = &keyspan_usa19qw_firmware[0];
-		fw_name = "USA19QI";
-		break;
-			     
-	case keyspan_usa18x_pre_product_id:
-		record = &keyspan_usa18x_firmware[0];
-		fw_name = "USA18X";
-		break;
-			     
-	case keyspan_usa19w_pre_product_id:
-		record = &keyspan_usa19w_firmware[0];
-		fw_name = "USA19W";
-		break;
-		
-	case keyspan_usa49w_pre_product_id:
-		record = &keyspan_usa49w_firmware[0];
-		fw_name = "USA49W";
-		break;
-
-	case keyspan_usa49wlc_pre_product_id:
-		record = &keyspan_usa49wlc_firmware[0];
-		fw_name = "USA49WLC";
-		break;
-
+	case keyspan_usa18x_pre_product_id:   model = "usa18x";   break;
+	case keyspan_usa19_pre_product_id:    model = "usa19";    break;
+	case keyspan_usa19qi_pre_product_id:  model = "usa19qi";  break;
+	case keyspan_mpr_pre_product_id:      model = "mpr";      break;
+	case keyspan_usa19qw_pre_product_id:  model = "usa19qw";  break;
+	case keyspan_usa19w_pre_product_id:   model = "usa19w";   break;
+	case keyspan_usa28_pre_product_id:    model = "usa28";    break;
+	case keyspan_usa28x_pre_product_id:   model = "usa28x";   break;
+	case keyspan_usa28xa_pre_product_id:  model = "usa28xa";  break;
+	case keyspan_usa28xb_pre_product_id:  model = "usa28xb";  break;
+	case keyspan_usa49w_pre_product_id:   model = "usa49w";   break;
+	case keyspan_usa49wlc_pre_product_id: model = "usa49wlc"; break;
 	default:
-		record = NULL;
-		fw_name = "Unknown";
-		break;
+		dev_err(&serial->dev->dev, "Unknown keyspan device (%04x).\n",
+			le16_to_cpu(serial->dev->descriptor.idProduct));
+		return(1);
 	}
 
-	if (record == NULL) {
-		dev_err(&serial->dev->dev, "Required keyspan firmware image (%s) unavailable.\n", fw_name);
+	sprintf(fw_name, "keyspan-%s.fw", model);
+
+	if (request_firmware(&fw, fw_name, &serial->dev->dev) != 0) {
+		dev_err(&serial->dev->dev, "Required firmware image (%s) unavailable.\n", fw_name);
 		return(1);
 	}
 
-	dbg("Uploading Keyspan %s firmware.", fw_name);
+	dbg("Uploading Keyspan %s firmware.", model);
 
 		/* download the firmware image */
 	response = ezusb_set_reset(serial, 1);
 
-	while(record->address != 0xffff) {
-		response = ezusb_writememory(serial, record->address,
-					     (unsigned char *)record->data,
-					     record->data_size, 0xa0);
-		if (response < 0) {
-			dev_err(&serial->dev->dev, "ezusb_writememory failed for Keyspan"
-				"firmware (%d %04X %p %d)\n",
-				response, 
-				record->address, record->data, record->data_size);
-			break;
-		}
-		record++;
-	}
+	if (firmware_load_ihex(fw, serial, keyspan_fw_load))
+		dev_err(&serial->dev->dev, "Firmware %s upload failed\n",
+			fw_name);
+
+	release_firmware(fw);
+
 		/* bring device out of reset. Renumeration will occur in a
 		   moment and the new device will bind to the real driver */
 	response = ezusb_set_reset(serial, 0);
@@ -1418,7 +1383,7 @@
 			(serial, d_details->outcont_endpoints[i], USB_DIR_OUT,
 			 port, p_priv->outcont_buffer, 64,
 			 cback->outcont_callback);
-	}	
+	}
 
 }
 
Index: linux/drivers/usb/serial/keyspan.h
===================================================================
--- linux.orig/drivers/usb/serial/keyspan.h	2005-03-10 15:59:58.000000000 -0500
+++ linux/drivers/usb/serial/keyspan.h	2005-03-10 22:56:15.343354346 -0500
@@ -99,90 +99,6 @@
 					 struct usb_serial_port *port,
 					 int reset_port);
 
-/* Struct used for firmware - increased size of data section
-   to allow Keyspan's 'C' firmware struct to be used unmodified */
-struct ezusb_hex_record {
-	__u16 address;
-	__u8 data_size;
-	__u8 data[64];
-};
-
-/* Conditionally include firmware images, if they aren't
-   included create a null pointer instead.  Current 
-   firmware images aren't optimised to remove duplicate
-   addresses in the image itself. */
-#ifdef CONFIG_USB_SERIAL_KEYSPAN_USA28
-	#include "keyspan_usa28_fw.h"
-#else
-	static const struct ezusb_hex_record *keyspan_usa28_firmware = NULL;
-#endif
-
-#ifdef CONFIG_USB_SERIAL_KEYSPAN_USA28X
-	#include "keyspan_usa28x_fw.h"
-#else
-	static const struct ezusb_hex_record *keyspan_usa28x_firmware = NULL;
-#endif
-
-#ifdef CONFIG_USB_SERIAL_KEYSPAN_USA28XA
-	#include "keyspan_usa28xa_fw.h"
-#else
-	static const struct ezusb_hex_record *keyspan_usa28xa_firmware = NULL;
-#endif
-
-#ifdef CONFIG_USB_SERIAL_KEYSPAN_USA28XB
-	#include "keyspan_usa28xb_fw.h"
-#else
-	static const struct ezusb_hex_record *keyspan_usa28xb_firmware = NULL;
-#endif
-
-#ifdef CONFIG_USB_SERIAL_KEYSPAN_USA19
-	#include "keyspan_usa19_fw.h"
-#else
-	static const struct ezusb_hex_record *keyspan_usa19_firmware = NULL;
-#endif
-
-#ifdef CONFIG_USB_SERIAL_KEYSPAN_USA19QI
-	#include "keyspan_usa19qi_fw.h"
-#else
-	static const struct ezusb_hex_record *keyspan_usa19qi_firmware = NULL;
-#endif
-
-#ifdef CONFIG_USB_SERIAL_KEYSPAN_MPR
-        #include "keyspan_mpr_fw.h"
-#else
-	static const struct ezusb_hex_record *keyspan_mpr_firmware = NULL;
-#endif
-
-#ifdef CONFIG_USB_SERIAL_KEYSPAN_USA19QW
-	#include "keyspan_usa19qw_fw.h"
-#else
-	static const struct ezusb_hex_record *keyspan_usa19qw_firmware = NULL;
-#endif
-
-#ifdef CONFIG_USB_SERIAL_KEYSPAN_USA18X
-	#include "keyspan_usa18x_fw.h"
-#else
-	static const struct ezusb_hex_record *keyspan_usa18x_firmware = NULL;
-#endif
-
-#ifdef CONFIG_USB_SERIAL_KEYSPAN_USA19W
-	#include "keyspan_usa19w_fw.h"
-#else
-	static const struct ezusb_hex_record *keyspan_usa19w_firmware = NULL;
-#endif
-
-#ifdef CONFIG_USB_SERIAL_KEYSPAN_USA49W
-	#include "keyspan_usa49w_fw.h"
-#else
-	static const struct ezusb_hex_record *keyspan_usa49w_firmware = NULL;
-#endif
-
-#ifdef CONFIG_USB_SERIAL_KEYSPAN_USA49WLC
-        #include "keyspan_usa49wlc_fw.h"
-#else
-	static const struct ezusb_hex_record *keyspan_usa49wlc_firmware = NULL;
-#endif
-
 /* Values used for baud rate calculation - device specific */
 #define	KEYSPAN_INVALID_BAUD_RATE		(-1)
 #define	KEYSPAN_BAUD_RATE_OK			(0)
Index: linux/drivers/usb/serial/Kconfig
===================================================================
--- linux.orig/drivers/usb/serial/Kconfig	2005-03-10 16:01:14.000000000 -0500
+++ linux/drivers/usb/serial/Kconfig	2005-03-10 16:18:19.000000000 -0500
@@ -242,92 +242,21 @@
 	---help---
 	  Say Y here if you want to use Keyspan USB to serial converter
 	  devices.  This driver makes use of Keyspan's official firmware
-	  and was developed with their support.  You must also include
-	  firmware to support your particular device(s).
+	  and was developed with their support.  It uses hotplug to load
+	  the required firmware from /usr/lib/hotplug/firmware or
+	  /lib/firmware.
+	  
+	  However there really isn't a good way to get this firmware
+	  since the license only allows it to be distributed as part of
+	  a Linux or other Open Source operating system kernel.  So you
+	  will have to copy the firmware files from the kernel source
+	  tree (drivers/usb/serial/*.fw) to /lib/firmware yourself.
 
 	  See <http://misc.nu/hugh/keyspan.html> for more information.
 
 	  To compile this driver as a module, choose M here: the
 	  module will be called keyspan.
 
-config USB_SERIAL_KEYSPAN_MPR
-	bool "USB Keyspan MPR Firmware"
-	depends on USB_SERIAL_KEYSPAN
-	help
-	  Say Y here to include firmware for the Keyspan MPR converter.
-
-config USB_SERIAL_KEYSPAN_USA28
-	bool "USB Keyspan USA-28 Firmware"
-	depends on USB_SERIAL_KEYSPAN
-	help
-	  Say Y here to include firmware for the USA-28 converter.
-
-config USB_SERIAL_KEYSPAN_USA28X
-	bool "USB Keyspan USA-28X Firmware"
-	depends on USB_SERIAL_KEYSPAN
-	help
-	  Say Y here to include firmware for the USA-28X converter.
-	  Be sure you have a USA-28X, there are also 28XA and 28XB
-	  models, the label underneath has the actual part number.
-
-config USB_SERIAL_KEYSPAN_USA28XA
-	bool "USB Keyspan USA-28XA Firmware"
-	depends on USB_SERIAL_KEYSPAN
-	help
-	  Say Y here to include firmware for the USA-28XA converter.
-	  Be sure you have a USA-28XA, there are also 28X and 28XB
-	  models, the label underneath has the actual part number.
-
-config USB_SERIAL_KEYSPAN_USA28XB
-	bool "USB Keyspan USA-28XB Firmware"
-	depends on USB_SERIAL_KEYSPAN
-	help
-	  Say Y here to include firmware for the USA-28XB converter.
-	  Be sure you have a USA-28XB, there are also 28X and 28XA
-	  models, the label underneath has the actual part number.
-
-config USB_SERIAL_KEYSPAN_USA19
-	bool "USB Keyspan USA-19 Firmware"
-	depends on USB_SERIAL_KEYSPAN
-	help
-	  Say Y here to include firmware for the USA-19 converter.
-
-config USB_SERIAL_KEYSPAN_USA18X
-	bool "USB Keyspan USA-18X Firmware"
-	depends on USB_SERIAL_KEYSPAN
-	help
-	  Say Y here to include firmware for the USA-18X converter.
-
-config USB_SERIAL_KEYSPAN_USA19W
-	bool "USB Keyspan USA-19W Firmware"
-	depends on USB_SERIAL_KEYSPAN
-	help
-	  Say Y here to include firmware for the USA-19W converter.
-
-config USB_SERIAL_KEYSPAN_USA19QW
-	bool "USB Keyspan USA-19QW Firmware"
-	depends on USB_SERIAL_KEYSPAN
-	help
-	  Say Y here to include firmware for the USA-19QW converter.
-
-config USB_SERIAL_KEYSPAN_USA19QI
-	bool "USB Keyspan USA-19QI Firmware"
-	depends on USB_SERIAL_KEYSPAN
-	help
-	  Say Y here to include firmware for the USA-19QI converter.
-
-config USB_SERIAL_KEYSPAN_USA49W
-	bool "USB Keyspan USA-49W Firmware"
-	depends on USB_SERIAL_KEYSPAN
-	help
-	  Say Y here to include firmware for the USA-49W converter.
-
-config USB_SERIAL_KEYSPAN_USA49WLC
-	bool "USB Keyspan USA-49WLC Firmware"
-	depends on USB_SERIAL_KEYSPAN
-	help
-	  Say Y here to include firmware for the USA-49WLC converter.
-
 config USB_SERIAL_KLSI
 	tristate "USB KL5KUSB105 (Palmconnect) Driver (EXPERIMENTAL)"
 	depends on USB_SERIAL && EXPERIMENTAL

^ permalink raw reply	[flat|nested] 102+ messages in thread

* [PATCH 03/04] Load keyspan firmware with hotplug
  2005-04-05  4:27               ` [PATCH 02/04] " Jan Harkes
@ 2005-04-05  4:28                 ` Jan Harkes
  0 siblings, 0 replies; 102+ messages in thread
From: Jan Harkes @ 2005-04-05  4:28 UTC (permalink / raw)
  To: Greg KH, Sven Luther, Michael Poole, debian-legal, debian-kernel,
	linux-kernel


Simple program to convert the keyspan firmware header files to IHEX
formatted files that can be loaded with hotplug.

This is really only needed once to convert the existing keyspan firmware
headers, which is what the next patch will do.

Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu>


Index: linux/drivers/usb/serial/dumpfw.c
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux/drivers/usb/serial/dumpfw.c	2005-03-10 23:16:37.240765747 -0500
@@ -0,0 +1,98 @@
+/*
+ * Convert keyspan firmware header files to Intel HEX format
+ * cc -I/usr/src/linux/drivers/usb/serial -o dumpfw dumpfw.c
+ */
+#include <stdint.h>
+#include <stdio.h>
+
+//#include "keyspan.h" /* ezusb_hex_record */
+
+struct ezusb_hex_record {
+    uint16_t address;
+    uint8_t  size;
+    uint8_t  data[64];
+};
+
+#include "keyspan_usa28_fw.h"
+#include "keyspan_usa28x_fw.h"
+#include "keyspan_usa28xa_fw.h"
+#include "keyspan_usa28xb_fw.h"
+#include "keyspan_usa19_fw.h"
+#include "keyspan_usa19qi_fw.h"
+#include "keyspan_mpr_fw.h"
+#include "keyspan_usa19qw_fw.h"
+#include "keyspan_usa18x_fw.h"
+#include "keyspan_usa19w_fw.h"
+#include "keyspan_usa49w_fw.h"
+#include "keyspan_usa49wlc_fw.h"
+
+char *boilerplate = "\
+# This firmware for the Keyspan %s USB-to-Serial adapter is\n\
+#\n\
+#    Copyright (C) 1999-2003\n\
+#    Keyspan, A division of InnoSys Incorporated (\"Keyspan\")\n\
+#\n\
+# as an unpublished work. This notice does not imply unrestricted or\n\
+# public access to the source code from which this firmware image is\n\
+# derived.  Except as noted below this firmware image may not be\n\
+# reproduced, used, sold or transferred to any third party without\n\
+# Keyspan's prior written consent.  All Rights Reserved.\n\
+#\n\
+# Permission is hereby granted for the distribution of this firmware\n\
+# image as part of a Linux or other Open Source operating system kernel\n\
+# in text or binary form as required.\n\
+#\n\
+# This firmware may not be modified and may only be used with\n\
+# Keyspan hardware.  Distribution of this firmware, in whole or in\n\
+# part, requires the inclusion of this statement.\n\
+#\n";
+
+void dumpfw(char *name, const struct ezusb_hex_record *record)
+{
+    char fw_name[20];
+    char NAME[10];
+    uint16_t address, i;
+    uint8_t crc;
+    FILE *f;
+
+    for (i = 0; name[i] != '\0'; i++)
+	NAME[i] = toupper(name[i]);
+    NAME[i] = '\0';
+
+    sprintf(fw_name, "keyspan-%s.fw", name);
+    printf("writing %s\n", fw_name);
+
+    f = fopen(fw_name, "w");
+    fprintf(f, boilerplate, NAME);
+
+    while (record->address != 0xffff) {
+	crc = record->size + (record->address >> 8) + record->address;
+	fprintf(f, ":%02X%04X00", record->size, record->address);
+	for (i = 0; i < record->size; i++) {
+	    fprintf(f, "%02X", record->data[i]);
+	    crc += record->data[i];
+	}
+	fprintf(f, "%02X\n", (uint8_t)-crc);
+	record++;
+    }
+    fprintf(f, ":00000001FF\n");
+
+    fclose(f);
+}
+
+int main(int argc, char **argv)
+{
+    dumpfw("mpr",	keyspan_mpr_firmware);
+    dumpfw("usa18x",	keyspan_usa18x_firmware);
+    dumpfw("usa19",	keyspan_usa19_firmware);
+    dumpfw("usa19qi",	keyspan_usa19qi_firmware);
+    dumpfw("usa19qw",	keyspan_usa19qw_firmware);
+    dumpfw("usa19w",	keyspan_usa19w_firmware);
+    dumpfw("usa28",	keyspan_usa28_firmware);
+    dumpfw("usa28x",	keyspan_usa28x_firmware);
+    dumpfw("usa28xa",	keyspan_usa28xa_firmware);
+    dumpfw("usa28xb",	keyspan_usa28xb_firmware);
+    dumpfw("usa49w",	keyspan_usa49w_firmware);
+    dumpfw("usa49wlc",	keyspan_usa49wlc_firmware);
+}
+

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: [PATCH 00/04] Load keyspan firmware with hotplug
  2005-04-05  4:23           ` [PATCH 00/04] Load keyspan firmware with hotplug Jan Harkes
  2005-04-05  4:26             ` [PATCH 01/04] " Jan Harkes
@ 2005-04-05  4:51             ` Dmitry Torokhov
  2005-04-05  8:32               ` Kay Sievers
  2005-04-05  9:22               ` Marcel Holtmann
  2005-04-05  5:36             ` Sven Luther
  2 siblings, 2 replies; 102+ messages in thread
From: Dmitry Torokhov @ 2005-04-05  4:51 UTC (permalink / raw)
  To: Jan Harkes
  Cc: Greg KH, Sven Luther, Michael Poole, debian-legal, debian-kernel,
	linux-kernel

On Monday 04 April 2005 23:23, Jan Harkes wrote:
> On Mon, Apr 04, 2005 at 12:17:46PM -0700, Greg KH wrote:
> > On Mon, Apr 04, 2005 at 08:27:53PM +0200, Sven Luther wrote:
> > > Mmm, probably that 2001 discussion about the keyspan firmware, right ?
> > > 
> > >   http://lists.debian.org/debian-legal/2001/04/msg00145.html
> > > 
> > > Can you summarize the conclusion of the thread, or what you did get from it,
> > > please ? 
> > 
> > That people didn't like the inclusion of firmware, I posted how you can
> > fix it by moving it outside of the kernel, and asked for patches.
> > 
> > None have come.
> 
> Didn't know you were waiting for it. How about something like the
> following series of patches?
> 
> [01/04] - add simple Intel IHEX format parser to the firmware loader.

Firmware loader is format-agnostic, I think having IHEX parser in a separate
file would be better...

-- 
Dmitry

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: [PATCH 00/04] Load keyspan firmware with hotplug
  2005-04-05  4:23           ` [PATCH 00/04] Load keyspan firmware with hotplug Jan Harkes
  2005-04-05  4:26             ` [PATCH 01/04] " Jan Harkes
  2005-04-05  4:51             ` [PATCH 00/04] " Dmitry Torokhov
@ 2005-04-05  5:36             ` Sven Luther
  2 siblings, 0 replies; 102+ messages in thread
From: Sven Luther @ 2005-04-05  5:36 UTC (permalink / raw)
  To: Greg KH, Sven Luther, Michael Poole, debian-legal, debian-kernel,
	linux-kernel

On Tue, Apr 05, 2005 at 12:23:29AM -0400, Jan Harkes wrote:
> On Mon, Apr 04, 2005 at 12:17:46PM -0700, Greg KH wrote:
> > On Mon, Apr 04, 2005 at 08:27:53PM +0200, Sven Luther wrote:
> > > Mmm, probably that 2001 discussion about the keyspan firmware, right ?
> > > 
> > >   http://lists.debian.org/debian-legal/2001/04/msg00145.html
> > > 
> > > Can you summarize the conclusion of the thread, or what you did get from it,
> > > please ? 
> > 
> > That people didn't like the inclusion of firmware, I posted how you can
> > fix it by moving it outside of the kernel, and asked for patches.
> > 
> > None have come.
> 
> Didn't know you were waiting for it. How about something like the
> following series of patches?
> 
> [01/04] - add simple Intel IHEX format parser to the firmware loader.
> [02/04] - make the keyspan driver use request_firmware.
> [03/04] - converter program used to dump the keyspan headers as IHex files.
> [04/04] - result of running the previous program.
> 
> This ofcourse doesn't actually solve Debian's distribution issues since
> the keyspan firmware can only be distributed as part of 'Linux or other
> Open Source operating system kernel'.

Well, if this is the case, it can be distributed on the non-free archive.

> > So I refuse to listen to talk about this, as obviously, no one cares
> > enough about this to actually fix the issue.
> 
> I got tired of always building my own kernels on Debian just to get my
> serial dongle to work since their included keyspan.ko driver is so
> useless that it isn't even worth having. The only way to use it with a
> Debian kernel is to have the dongle in a powered hub and first boot into
> Windows or a normal kernel.org kernel to get the thing initialized.

The non-free driver package should solve that for you.

> Didn't send the patch earlier since I wanted to split off the
> pre-numeration part of the driver so that after intialization we can
> unload the unused parts of the driver as well as the the firmware class
> module.

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 21:19               ` Sven Luther
@ 2005-04-05  8:19                 ` Ian Campbell
  2005-04-05  8:32                   ` Sven Luther
  2005-04-05 15:21                   ` Sven Luther
  0 siblings, 2 replies; 102+ messages in thread
From: Ian Campbell @ 2005-04-05  8:19 UTC (permalink / raw)
  To: Sven Luther
  Cc: Theodore Ts'o, Greg KH, Michael Poole, debian-legal,
	debian-kernel, linux-kernel

On Mon, 2005-04-04 at 23:19 +0200, Sven Luther wrote:

> I am only saying that the tg3.c and other file are under the GPL, and
> that the firmware included in it is *NOT* intented to be under the
> GPL, so why not say it explicitly ? 

I don't think anyone here has disagreed. What almost everyone has said
however is "so go and do it" -- go do the research, contact the
copyright holders directly and get the permission to make patches, then
post them here.

There is really no point in discussing it here, just get on and do it.

Ian.

-- 
Ian Campbell

Cheops' Law:
	Nothing ever gets built on schedule or within budget.


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-05  8:19                 ` Ian Campbell
@ 2005-04-05  8:32                   ` Sven Luther
  2005-04-05  8:49                     ` Ian Campbell
  2005-04-05 15:21                   ` Sven Luther
  1 sibling, 1 reply; 102+ messages in thread
From: Sven Luther @ 2005-04-05  8:32 UTC (permalink / raw)
  To: Ian Campbell
  Cc: Sven Luther, Theodore Ts'o, Greg KH, Michael Poole,
	debian-legal, debian-kernel, linux-kernel

On Tue, Apr 05, 2005 at 09:19:24AM +0100, Ian Campbell wrote:
> On Mon, 2005-04-04 at 23:19 +0200, Sven Luther wrote:
> 
> > I am only saying that the tg3.c and other file are under the GPL, and
> > that the firmware included in it is *NOT* intented to be under the
> > GPL, so why not say it explicitly ? 
> 
> I don't think anyone here has disagreed. What almost everyone has said
> however is "so go and do it" -- go do the research, contact the
> copyright holders directly and get the permission to make patches, then
> post them here.

Ok. I have some doubts about doing the work, and it then being rejected and
i did the work first, which is why i asked. It seemed a reasonable thing to
ask, and my analysis of the problem was sound, so why didn't i get a, yeah, go
ahead, instead of this rejection ?

> There is really no point in discussing it here, just get on and do it.

As i said, some may know things about relationship, or lack thereof, with the
copyright holder, i believe that the people who added those firmware blobs are
all reading this here, and it is from them that i wanted feedback, but it
failed to produce that effect.

/me will investigate bk and how to get the information on who signed those
changes off and commited them :)

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: [PATCH 00/04] Load keyspan firmware with hotplug
  2005-04-05  4:51             ` [PATCH 00/04] " Dmitry Torokhov
@ 2005-04-05  8:32               ` Kay Sievers
  2005-04-05 11:39                 ` Jan Harkes
  2005-04-05  9:22               ` Marcel Holtmann
  1 sibling, 1 reply; 102+ messages in thread
From: Kay Sievers @ 2005-04-05  8:32 UTC (permalink / raw)
  To: Dmitry Torokhov
  Cc: Jan Harkes, Greg KH, Sven Luther, Michael Poole, debian-legal,
	debian-kernel, linux-kernel

On Mon, 2005-04-04 at 23:51 -0500, Dmitry Torokhov wrote:
> On Monday 04 April 2005 23:23, Jan Harkes wrote:
> > On Mon, Apr 04, 2005 at 12:17:46PM -0700, Greg KH wrote:
> > > On Mon, Apr 04, 2005 at 08:27:53PM +0200, Sven Luther wrote:
> > > > Mmm, probably that 2001 discussion about the keyspan firmware, right ?
> > > > 
> > > >   http://lists.debian.org/debian-legal/2001/04/msg00145.html
> > > > 
> > > > Can you summarize the conclusion of the thread, or what you did get from it,
> > > > please ? 
> > > 
> > > That people didn't like the inclusion of firmware, I posted how you can
> > > fix it by moving it outside of the kernel, and asked for patches.
> > > 
> > > None have come.
> > 
> > Didn't know you were waiting for it. How about something like the
> > following series of patches?
> > 
> > [01/04] - add simple Intel IHEX format parser to the firmware loader.
> 
> Firmware loader is format-agnostic, I think having IHEX parser in a separate
> file would be better...

Why should this be in-kernel at all? Convert the firmware into a binary
blob or do it in the userspace request.

Kay


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-05  8:32                   ` Sven Luther
@ 2005-04-05  8:49                     ` Ian Campbell
  2005-04-05  9:11                       ` Christoph Hellwig
  0 siblings, 1 reply; 102+ messages in thread
From: Ian Campbell @ 2005-04-05  8:49 UTC (permalink / raw)
  To: Sven Luther
  Cc: Theodore Ts'o, Greg KH, Michael Poole, debian-legal,
	debian-kernel, linux-kernel

On Tue, 2005-04-05 at 10:32 +0200, Sven Luther wrote:
> On Tue, Apr 05, 2005 at 09:19:24AM +0100, Ian Campbell wrote:
> > On Mon, 2005-04-04 at 23:19 +0200, Sven Luther wrote:
> > 
> > > I am only saying that the tg3.c and other file are under the GPL, and
> > > that the firmware included in it is *NOT* intented to be under the
> > > GPL, so why not say it explicitly ? 
> > 
> > I don't think anyone here has disagreed. What almost everyone has said
> > however is "so go and do it" -- go do the research, contact the
> > copyright holders directly and get the permission to make patches, then
> > post them here.
> 
> Ok. I have some doubts about doing the work, and it then being rejected and
> i did the work first, which is why i asked. It seemed a reasonable thing to
> ask, and my analysis of the problem was sound, so why didn't i get a, yeah, go
> ahead, instead of this rejection ?

I don't think you did get a rejection, a few people said that _they_
weren't going to do it, but if you want to then go ahead. I think people
are just fed up of people bringing up the issue and then failing to do
anything about it -- so prove them wrong ;-)

Ian.

-- 
Ian Campbell

knghtbrd: there may be no spoon, but can you spot the vulnerability in
eye_render_shiny_object.c?
        -- rcw


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-05  8:49                     ` Ian Campbell
@ 2005-04-05  9:11                       ` Christoph Hellwig
  2005-04-05  9:28                         ` Arjan van de Ven
  2005-04-05  9:30                         ` Ian Campbell
  0 siblings, 2 replies; 102+ messages in thread
From: Christoph Hellwig @ 2005-04-05  9:11 UTC (permalink / raw)
  To: Ian Campbell
  Cc: Sven Luther, Theodore Ts'o, Greg KH, Michael Poole,
	debian-legal, debian-kernel, linux-kernel

On Tue, Apr 05, 2005 at 09:49:25AM +0100, Ian Campbell wrote:
> I don't think you did get a rejection, a few people said that _they_
> weren't going to do it, but if you want to then go ahead. I think people
> are just fed up of people bringing up the issue and then failing to do
> anything about it -- so prove them wrong ;-)

Actually patches to add firmware loader support to tg3 got rejected.

Which is think is very unfortunately as we set the highlevel goal to
move drivers over to it.


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: [PATCH 00/04] Load keyspan firmware with hotplug
  2005-04-05  4:51             ` [PATCH 00/04] " Dmitry Torokhov
  2005-04-05  8:32               ` Kay Sievers
@ 2005-04-05  9:22               ` Marcel Holtmann
  2005-04-05 11:45                 ` Jan Harkes
  1 sibling, 1 reply; 102+ messages in thread
From: Marcel Holtmann @ 2005-04-05  9:22 UTC (permalink / raw)
  To: Dmitry Torokhov
  Cc: Jan Harkes, Greg KH, Sven Luther, Michael Poole, debian-legal,
	debian-kernel, Linux Kernel Mailing List

Hi Jan,

> > > > Mmm, probably that 2001 discussion about the keyspan firmware, right ?
> > > > 
> > > >   http://lists.debian.org/debian-legal/2001/04/msg00145.html
> > > > 
> > > > Can you summarize the conclusion of the thread, or what you did get from it,
> > > > please ? 
> > > 
> > > That people didn't like the inclusion of firmware, I posted how you can
> > > fix it by moving it outside of the kernel, and asked for patches.
> > > 
> > > None have come.
> > 
> > Didn't know you were waiting for it. How about something like the
> > following series of patches?
> > 
> > [01/04] - add simple Intel IHEX format parser to the firmware loader.
> 
> Firmware loader is format-agnostic, I think having IHEX parser in a separate
> file would be better...

I agree with Dmitry on this point. The IHEX parser should not be inside
firmware_class.c. What about using keyspan_ihex.[ch] for it?

Regards

Marcel



^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-05  9:11                       ` Christoph Hellwig
@ 2005-04-05  9:28                         ` Arjan van de Ven
  2005-04-05  9:32                           ` Christoph Hellwig
  2005-04-06 19:22                           ` Eric W. Biederman
  2005-04-05  9:30                         ` Ian Campbell
  1 sibling, 2 replies; 102+ messages in thread
From: Arjan van de Ven @ 2005-04-05  9:28 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Ian Campbell, Sven Luther, Theodore Ts'o, Greg KH,
	Michael Poole, debian-legal, debian-kernel, linux-kernel

On Tue, 2005-04-05 at 11:11 +0200, Christoph Hellwig wrote:
> On Tue, Apr 05, 2005 at 09:49:25AM +0100, Ian Campbell wrote:
> > I don't think you did get a rejection, a few people said that _they_
> > weren't going to do it, but if you want to then go ahead. I think people
> > are just fed up of people bringing up the issue and then failing to do
> > anything about it -- so prove them wrong ;-)
> 
> Actually patches to add firmware loader support to tg3 got rejected.

I think they will be accepted if they first introduce a transition
period where tg3 will do request_firmware() and only use the built-in
firmware if that fails. Second step is to make the built-in firmware a
config option and then later on when the infrastructure matures for
firmware loading/providing firmware it can be removed from the driver
entirely.

One of the sticking points will be how people get the firmware; I can
see the point of a kernel-distributable-firmware project related to the
kernel (say on kernel.org) which would provide a nice collection of
distributable firmwares (and is appropriately licensed). Without such
joint infrastructure things will always be a mess and in that context I
can see the point of the driver authors not immediately wanting to
switch exclusively. Simply because they'll get swamped with email about
how the driver doesn't work...


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-05  9:11                       ` Christoph Hellwig
  2005-04-05  9:28                         ` Arjan van de Ven
@ 2005-04-05  9:30                         ` Ian Campbell
  2005-04-05  9:36                           ` Sven Luther
  1 sibling, 1 reply; 102+ messages in thread
From: Ian Campbell @ 2005-04-05  9:30 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Sven Luther, Theodore Ts'o, Greg KH, Michael Poole,
	debian-legal, debian-kernel, linux-kernel

On Tue, 2005-04-05 at 11:11 +0200, Christoph Hellwig wrote:
> On Tue, Apr 05, 2005 at 09:49:25AM +0100, Ian Campbell wrote:
> > I don't think you did get a rejection, a few people said that _they_
> > weren't going to do it, but if you want to then go ahead. I think people
> > are just fed up of people bringing up the issue and then failing to do
> > anything about it -- so prove them wrong ;-)
> 
> Actually patches to add firmware loader support to tg3 got rejected.
> 
> Which is think is very unfortunately as we set the highlevel goal to
> move drivers over to it.

I didn't know that -- you are right that it is unfortunate.

I thought Sven was talking (at least short term) about adding copyright
statements/exemptions/something to the binary blobs where they are now.

Ian.
-- 
Ian Campbell

It's easier to get forgiveness for being wrong than forgiveness for being 
right.


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-05  9:28                         ` Arjan van de Ven
@ 2005-04-05  9:32                           ` Christoph Hellwig
  2005-04-05  9:36                             ` Arjan van de Ven
  2005-04-05 12:09                             ` Jeff Garzik
  2005-04-06 19:22                           ` Eric W. Biederman
  1 sibling, 2 replies; 102+ messages in thread
From: Christoph Hellwig @ 2005-04-05  9:32 UTC (permalink / raw)
  To: Arjan van de Ven
  Cc: Ian Campbell, Sven Luther, Theodore Ts'o, Greg KH,
	Michael Poole, debian-legal, debian-kernel, linux-kernel

On Tue, Apr 05, 2005 at 11:28:07AM +0200, Arjan van de Ven wrote:
> I think they will be accepted if they first introduce a transition
> period where tg3 will do request_firmware() and only use the built-in
> firmware if that fails.

Fine with me.

> Second step is to make the built-in firmware a
> config option and then later on when the infrastructure matures for
> firmware loading/providing firmware it can be removed from the driver
> entirely.

I think the infrasturcture is quite mature.  We have a lot of drivers
that require it to function.

> One of the sticking points will be how people get the firmware; I can
> see the point of a kernel-distributable-firmware project related to the
> kernel (say on kernel.org) which would provide a nice collection of
> distributable firmwares (and is appropriately licensed). Without such
> joint infrastructure things will always be a mess and in that context I
> can see the point of the driver authors not immediately wanting to
> switch exclusively. Simply because they'll get swamped with email about
> how the driver doesn't work...

I agree.  And that really doesn't need a lot of infrastructure,
basically just a tarball that unpacks to /lib/firmware, maybe a specfile
and debian/ dir in addition.

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 20:47             ` Jeff Garzik
  2005-04-04 21:24               ` Sven Luther
@ 2005-04-05  9:33               ` Sven Luther
  2005-04-07  1:05               ` Alan Cox
  2005-04-07  7:28               ` Jes Sorensen
  3 siblings, 0 replies; 102+ messages in thread
From: Sven Luther @ 2005-04-05  9:33 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Sven Luther, Matthew Wilcox, Greg KH, Michael Poole, debian-legal,
	debian-kernel, linux-kernel, Jes Sorensen, linux-acenic

Hello Jeff, ...

If i can believe what i see in :

  http://linux.bkbits.net:8080/linux-2.6/anno/drivers/net/tg3.c@1.255?nav=index.html|src/|src/drivers|src/drivers/net|related/drivers/net/tg3.c|cset@1.2181.28.39

(which may or may not be correct and complete, since i am not really familiar
with bk and how things where back then), you imported the tg3 firmware in our
bk repo on 2002/03/07 :

2002/03/07 jgarzik            | 	0x00000000, 0x10000003, 0x00000000, 0x0000000d, 0x0000000d, 0x3c1d0800,
2002/03/07 jgarzik            | 	0x37bd3ffc, 0x03a0f021, 0x3c100800, 0x26100000, 0x0e000018, 0x00000000,
2002/03/07 jgarzik            | 	0x0000000d, 0x3c1d0800, 0x37bd3ffc, 0x03a0f021, 0x3c100800, 0x26100034,

The changelog importing them says :

  Merge new tg3 version 0.96 gigabit ethernet driver. 

So i suppose this comes from a pre-bk tree or something, altough the whole
copyright of that file is marked as copyrighted by you and davem.

Where did you get that firmware from and under which licence ? And would you
approve of a patch marking this blob as non-GPLed, and we could add the
licencing text for it that you originally got it under ? Does this make sense ?

Or do you believe i should go ahead and approach broadcom, claiming something
like the following :

  "We have noticed that an unlicenced firmware blob whose copyright you hold
  is present in the linux tg3 driver. In order to clarify this situation, we
  would like to know if it is ok to distribute said binary firmware blob, and
  know under what licence it comes."

BTW, also, i am not entirely sure if such changes can be done only by you, or
need approval of everyone who contributed GPL code to that file since then,
altough i believe that since the firmware blob is an agregation, it should not
matter, and only the original checkin you did is the one we need to account
for.

I understand this is bothersome to everyone, but the code base will be a
cleaner one once we solve this issue, don't you think ? 

Friendly,

Sven Luther



^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-05  9:30                         ` Ian Campbell
@ 2005-04-05  9:36                           ` Sven Luther
  0 siblings, 0 replies; 102+ messages in thread
From: Sven Luther @ 2005-04-05  9:36 UTC (permalink / raw)
  To: Ian Campbell
  Cc: Christoph Hellwig, Sven Luther, Theodore Ts'o, Greg KH,
	Michael Poole, debian-legal, debian-kernel, linux-kernel

On Tue, Apr 05, 2005 at 10:30:47AM +0100, Ian Campbell wrote:
> On Tue, 2005-04-05 at 11:11 +0200, Christoph Hellwig wrote:
> > On Tue, Apr 05, 2005 at 09:49:25AM +0100, Ian Campbell wrote:
> > > I don't think you did get a rejection, a few people said that _they_
> > > weren't going to do it, but if you want to then go ahead. I think people
> > > are just fed up of people bringing up the issue and then failing to do
> > > anything about it -- so prove them wrong ;-)
> > 
> > Actually patches to add firmware loader support to tg3 got rejected.
> > 
> > Which is think is very unfortunately as we set the highlevel goal to
> > move drivers over to it.
> 
> I didn't know that -- you are right that it is unfortunate.
> 
> I thought Sven was talking (at least short term) about adding copyright
> statements/exemptions/something to the binary blobs where they are now.

Yes, indeed, i am searching for a short-time clarification, but in the long
term the separate firmware solution is indeed better, altough more work and
more involved.

That said, the work to identify the firmware blobs and clarify their
copyright/licencing situation is common for both alternatives.

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-05  9:32                           ` Christoph Hellwig
@ 2005-04-05  9:36                             ` Arjan van de Ven
  2005-04-05  9:39                               ` Christoph Hellwig
  2005-04-05  9:46                               ` Sven Luther
  2005-04-05 12:09                             ` Jeff Garzik
  1 sibling, 2 replies; 102+ messages in thread
From: Arjan van de Ven @ 2005-04-05  9:36 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Ian Campbell, Sven Luther, Theodore Ts'o, Greg KH,
	Michael Poole, debian-legal, debian-kernel, linux-kernel


> > Second step is to make the built-in firmware a
> > config option and then later on when the infrastructure matures for
> > firmware loading/providing firmware it can be removed from the driver
> > entirely.
> 
> I think the infrasturcture is quite mature.  We have a lot of drivers
> that require it to function.

what seems to be currently missing is distro level support for using
firmware for modules needed for booting (and tg3 falls sort of under
that via nfsroot) and widespread easy availability of firmware in
distros and for users.

Both are a bit of a chick-and-egg thing, and this is what a transition
period with a few key drivers in dual-mode would hopefully resolve.

One of the options is to even ship the firmware in the kernel tarbal but
from a separate directory with a clear license clarification text in it.



^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-05  9:36                             ` Arjan van de Ven
@ 2005-04-05  9:39                               ` Christoph Hellwig
  2005-04-05 10:42                                 ` Andres Salomon
  2005-04-05  9:46                               ` Sven Luther
  1 sibling, 1 reply; 102+ messages in thread
From: Christoph Hellwig @ 2005-04-05  9:39 UTC (permalink / raw)
  To: Arjan van de Ven
  Cc: Ian Campbell, Sven Luther, Theodore Ts'o, Greg KH,
	Michael Poole, debian-legal, debian-kernel, linux-kernel

On Tue, Apr 05, 2005 at 11:36:58AM +0200, Arjan van de Ven wrote:
> One of the options is to even ship the firmware in the kernel tarbal but
> from a separate directory with a clear license clarification text in it.

I think that's what we should do.  I currently don't have any firmware
requiring devices, but I'd volunteer to keep such a tarball for now if
no one else wants to do tiny amount of work.


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-05  9:36                             ` Arjan van de Ven
  2005-04-05  9:39                               ` Christoph Hellwig
@ 2005-04-05  9:46                               ` Sven Luther
  1 sibling, 0 replies; 102+ messages in thread
From: Sven Luther @ 2005-04-05  9:46 UTC (permalink / raw)
  To: Arjan van de Ven
  Cc: Christoph Hellwig, Ian Campbell, Sven Luther, Theodore Ts'o,
	Greg KH, Michael Poole, debian-legal, debian-kernel, linux-kernel

On Tue, Apr 05, 2005 at 11:36:58AM +0200, Arjan van de Ven wrote:
> 
> > > Second step is to make the built-in firmware a
> > > config option and then later on when the infrastructure matures for
> > > firmware loading/providing firmware it can be removed from the driver
> > > entirely.
> > 
> > I think the infrasturcture is quite mature.  We have a lot of drivers
> > that require it to function.
> 
> what seems to be currently missing is distro level support for using
> firmware for modules needed for booting (and tg3 falls sort of under
> that via nfsroot) and widespread easy availability of firmware in
> distros and for users.

Well, apart from the installation case, simply using such kernel is easy
enough, if you use an initrd. The mkinitrd script only has to be aware of
this, and include the needed firmware in the initrd, as it does for the
modules. Initial installation will have to either have the possibility to
build custom initrds with the firmware blobs in it, or a way to easily get
those firmware blobs (from CD, floppy, net, ...), or have support for a second
initrd which would contain the firmware. I don't believe there is already
support for a second ramdisk in todays kernel.

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-05  9:39                               ` Christoph Hellwig
@ 2005-04-05 10:42                                 ` Andres Salomon
  0 siblings, 0 replies; 102+ messages in thread
From: Andres Salomon @ 2005-04-05 10:42 UTC (permalink / raw)
  To: linux-kernel; +Cc: debian-kernel, debian-legal, debian-kernel, linux-kernel

On Tue, 05 Apr 2005 11:39:02 +0200, Christoph Hellwig wrote:

> On Tue, Apr 05, 2005 at 11:36:58AM +0200, Arjan van de Ven wrote:
>> One of the options is to even ship the firmware in the kernel tarbal but
>> from a separate directory with a clear license clarification text in it.
> 
> I think that's what we should do.  I currently don't have any firmware
> requiring devices, but I'd volunteer to keep such a tarball for now if
> no one else wants to do tiny amount of work.


FYI, I just created this, it might be useful for all this:
http://wiki.debian.net/?KernelFirmwareLicensing

I'm still adding driver information..


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: [PATCH 00/04] Load keyspan firmware with hotplug
  2005-04-05  8:32               ` Kay Sievers
@ 2005-04-05 11:39                 ` Jan Harkes
  0 siblings, 0 replies; 102+ messages in thread
From: Jan Harkes @ 2005-04-05 11:39 UTC (permalink / raw)
  To: Kay Sievers
  Cc: Dmitry Torokhov, Jan Harkes, Greg KH, Sven Luther, Michael Poole,
	debian-legal, debian-kernel, linux-kernel

On Tue, Apr 05, 2005 at 10:32:38AM +0200, Kay Sievers wrote:
> On Mon, 2005-04-04 at 23:51 -0500, Dmitry Torokhov wrote:
> > Firmware loader is format-agnostic, I think having IHEX parser in a separate
> > file would be better...
> 
> Why should this be in-kernel at all? Convert the firmware into a binary
> blob or do it in the userspace request.

Because the keyspan headers seem to have a specific sequence of
operations, something like 'load these 5 bytes at offset 10, load this
byte at offset 0, etc.' I don't know if there is some magic in that
sequence. Without knowing what is in the firmware, it looks to me like a
little bit of bootstrap code is loaded first.

Jan

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: [PATCH 00/04] Load keyspan firmware with hotplug
  2005-04-05  9:22               ` Marcel Holtmann
@ 2005-04-05 11:45                 ` Jan Harkes
  2005-04-05 14:36                   ` Marcel Holtmann
  2005-04-05 16:20                   ` Dmitry Torokhov
  0 siblings, 2 replies; 102+ messages in thread
From: Jan Harkes @ 2005-04-05 11:45 UTC (permalink / raw)
  To: Marcel Holtmann
  Cc: Dmitry Torokhov, Jan Harkes, Greg KH, Sven Luther, Michael Poole,
	debian-legal, debian-kernel, Linux Kernel Mailing List

On Tue, Apr 05, 2005 at 11:22:06AM +0200, Marcel Holtmann wrote:
> I agree with Dmitry on this point. The IHEX parser should not be inside
> firmware_class.c. What about using keyspan_ihex.[ch] for it?

That's what I had originally, actually called firmware_ihex.ko, since
the IHEX format parser is not in any way keyspan specific and there are
several usb-serial converters that seem to use the same IHEX->.h trick
which could trivially be modified to use this loader.

But the compiled parser fairly small (< 2KB) and adding it to the
existing module didn't effectively add any size to the firmware_class
module since things are rounded to a page boundary anyways.

Jan


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-05  9:32                           ` Christoph Hellwig
  2005-04-05  9:36                             ` Arjan van de Ven
@ 2005-04-05 12:09                             ` Jeff Garzik
  2005-04-05 12:14                               ` Arjan van de Ven
  1 sibling, 1 reply; 102+ messages in thread
From: Jeff Garzik @ 2005-04-05 12:09 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Arjan van de Ven, Ian Campbell, Sven Luther, Theodore Ts'o,
	Greg KH, Michael Poole, debian-legal, debian-kernel, linux-kernel

Christoph Hellwig wrote:
> On Tue, Apr 05, 2005 at 11:28:07AM +0200, Arjan van de Ven wrote:
>>One of the sticking points will be how people get the firmware; I can
>>see the point of a kernel-distributable-firmware project related to the
>>kernel (say on kernel.org) which would provide a nice collection of
>>distributable firmwares (and is appropriately licensed). Without such
>>joint infrastructure things will always be a mess and in that context I
>>can see the point of the driver authors not immediately wanting to
>>switch exclusively. Simply because they'll get swamped with email about
>>how the driver doesn't work...
> 
> 
> I agree.  And that really doesn't need a lot of infrastructure,
> basically just a tarball that unpacks to /lib/firmware, maybe a specfile
> and debian/ dir in addition.


At the moment there is -zero- infrastructure that would allow my tg3 to 
continue working, when I upgrade to a tg3 driver with external firmware.

The user has to put a file in some location manually.

That's a complete non-starter, from a usability standpoint.

Further, several firmwares, including tg3, are really a collection of 
bits of information:  .text, .bss, and random variables (start addr, 
image size, ...).  The current interface is complete crap for this sort 
of setup.

The firmware loader really needs to be loading -archives- not individual 
files.

We are a -long- way from moving the firmware out of the tg3 source code.

	Jeff



^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-05 12:09                             ` Jeff Garzik
@ 2005-04-05 12:14                               ` Arjan van de Ven
  0 siblings, 0 replies; 102+ messages in thread
From: Arjan van de Ven @ 2005-04-05 12:14 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Christoph Hellwig, Ian Campbell, Sven Luther, Theodore Ts'o,
	Greg KH, Michael Poole, debian-legal, debian-kernel, linux-kernel


> > I agree.  And that really doesn't need a lot of infrastructure,
> > basically just a tarball that unpacks to /lib/firmware, maybe a specfile
> > and debian/ dir in addition.
> 
> 
> At the moment there is -zero- infrastructure that would allow my tg3 to 
> continue working, when I upgrade to a tg3 driver with external firmware.
> 
> The user has to put a file in some location manually.
> 
> That's a complete non-starter, from a usability standpoint.

but unless we allow the driver to use such things, such infrastructure
won't come into existence either. It's a chicken-and-egg situation...
except that we can for a while make tg3 and others be both the chicken
and egg until the real chicken is there.

> Further, several firmwares, including tg3, are really a collection of 
> bits of information:  .text, .bss, and random variables (start addr, 
> image size, ...).  The current interface is complete crap for this sort 
> of setup.
> 
> The firmware loader really needs to be loading -archives- not individual 
> files.
> 
> We are a -long- way from moving the firmware out of the tg3 source code.

Yet that is no excuse to not at least start addressing the issues. What
you just listed are deficiencies in the kernel infrastructure, not doing
something because we have slightly suboptimal infrastructure isn't the
right thing.



^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 19:32         ` Adrian Bunk
@ 2005-04-05 14:05           ` Josselin Mouette
  2005-04-05 15:39             ` Sven Luther
  2005-04-07 21:07             ` Adrian Bunk
  0 siblings, 2 replies; 102+ messages in thread
From: Josselin Mouette @ 2005-04-05 14:05 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: debian-legal, debian-kernel, linux-kernel

Le lundi 04 avril 2005 à 21:32 +0200, Adrian Bunk a écrit :
> On Mon, Apr 04, 2005 at 09:05:18PM +0200, Marco d'Itri wrote:
> > On Apr 04, Greg KH <greg@kroah.com> wrote:
> > 
> > > What if we don't want to do so?  I know I personally posted a solution
> > Then probably the extremists in Debian will manage to kill your driver,
> > like they did with tg3 and others.
> 
> And as they are doing with e.g. the complete gcc documentation.
> 
> No documentation for the C compiler (not even a documentation of the 
> options) will be neither fun for the users of Debian nor for the Debian 
> maintainers - but it's the future of Debian...

You are mixing apples and oranges. The fact that the GFDL sucks has
nothing to do with the firmware issue. With the current situation of
firmwares in the kernel, it is illegal to redistribute binary images of
the kernel. Full stop. End of story. Bye bye. Redhat and SuSE may still
be willing to distribute such binary images, but it isn't our problem.

Putting the firmwares outside the kernel makes them distributable. Some
distributions will want to include them, some others not. But the
important point is that it makes that redistribution legal.
-- 
 .''`.           Josselin Mouette        /\./\
: :' :           josselin.mouette@ens-lyon.org
`. `'                        joss@debian.org
   `-  Debian GNU/Linux -- The power of freedom


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: [PATCH 00/04] Load keyspan firmware with hotplug
  2005-04-05 11:45                 ` Jan Harkes
@ 2005-04-05 14:36                   ` Marcel Holtmann
  2005-04-05 15:28                     ` Dmitry Torokhov
  2005-04-05 15:31                     ` Jan Harkes
  2005-04-05 16:20                   ` Dmitry Torokhov
  1 sibling, 2 replies; 102+ messages in thread
From: Marcel Holtmann @ 2005-04-05 14:36 UTC (permalink / raw)
  To: Jan Harkes
  Cc: Dmitry Torokhov, Greg KH, Sven Luther, Michael Poole,
	debian-legal, debian-kernel, Linux Kernel Mailing List

Hi Jan,

> > I agree with Dmitry on this point. The IHEX parser should not be inside
> > firmware_class.c. What about using keyspan_ihex.[ch] for it?
> 
> That's what I had originally, actually called firmware_ihex.ko, since
> the IHEX format parser is not in any way keyspan specific and there are
> several usb-serial converters that seem to use the same IHEX->.h trick
> which could trivially be modified to use this loader.
> 
> But the compiled parser fairly small (< 2KB) and adding it to the
> existing module didn't effectively add any size to the firmware_class
> module since things are rounded to a page boundary anyways.

so it seems that this is usb-serial specific at the moment. Then I would
propose to add it to the core of the usb-serial driver. Unless no other
driver in the kernel needs a IHEX parser, I think it is bad idea to mess
it up at the moment. People are also working on a replacement for the
current request_firmware(), because the needs are changing. Try to keep
it close with the usb-serial for now.

Regards

Marcel



^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: [PATCH 00/04] Load keyspan firmware with hotplug
       [not found] <psd40B.A.hYG.lSiUCB@murphy>
@ 2005-04-05 15:12 ` Humberto Massa
  0 siblings, 0 replies; 102+ messages in thread
From: Humberto Massa @ 2005-04-05 15:12 UTC (permalink / raw)
  To: debian-legal, debian-kernel, linux-kernel

Sven Luther wrote:

>  On Tue, Apr 05, 2005 at 12:23:29AM -0400, Jan Harkes wrote:
> > This ofcourse doesn't actually solve Debian's distribution issues since
> > the keyspan firmware can only be distributed as part of 'Linux or other
> > Open Source operating system kernel'.
>
>
>  Well, if this is the case, it can be distributed on the non-free
>  archive.

Nope, looks awfully non-distributable for me, unless you put it into a 
kernel-non-free with the entire kernel -- but it says clearly that it's 
undistributable by itself.


HTH,
Massa


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-05  8:19                 ` Ian Campbell
  2005-04-05  8:32                   ` Sven Luther
@ 2005-04-05 15:21                   ` Sven Luther
  2005-04-05 21:37                     ` Don Armstrong
  1 sibling, 1 reply; 102+ messages in thread
From: Sven Luther @ 2005-04-05 15:21 UTC (permalink / raw)
  To: Ian Campbell
  Cc: Sven Luther, Theodore Ts'o, Greg KH, Michael Poole,
	debian-legal, debian-kernel, linux-kernel

On Tue, Apr 05, 2005 at 09:19:24AM +0100, Ian Campbell wrote:
> On Mon, 2005-04-04 at 23:19 +0200, Sven Luther wrote:
> 
> > I am only saying that the tg3.c and other file are under the GPL, and
> > that the firmware included in it is *NOT* intented to be under the
> > GPL, so why not say it explicitly ? 
> 
> I don't think anyone here has disagreed. What almost everyone has said
> however is "so go and do it" -- go do the research, contact the
> copyright holders directly and get the permission to make patches, then
> post them here.
> 
> There is really no point in discussing it here, just get on and do it.

Ok, for info, here is the email i just sent to the boradcom driver support :

---

Hello,

I am part of the Debian GNU/Linux kernel team, and recently stumbled about
some legal problems with the tg3.c driver for broadcom gigabit ethernet
controllers. The problem seems to be the same for the bcm570x drivers you
distribute from your web page, and after discussion with the debian-legal
team [1] and airing the issue with the larger linux kernel developers [2],
i now come to you for clarfication of this issue.

The broadcom 570x drivers are placed under the GPL, which is nice, and come
accompanied by sources, but include a few blobs of binary-only firmware to be
uploaded to the controller.

After discussion with debian-legal, we accept that the binary-only firmware
blob does not constitute a derivative work of the rest of the driver, but mere
agregation, so distributing it as binary only as you do is not a problem,
altough getting real sources for this part would be preferable.

Now, the problem is that both in the files included in the mainline kernel, as
well as the sources you distribute yourself, these firmware blobs come in a
file like fw_lso05.h, whose licence text says : 

/******************************************************************************/
/*                                                                            */
/* Broadcom BCM5700 Linux Network Driver, Copyright (c) 2000 - 2003 Broadcom  */
/* Corporation.                                                               */
/* All rights reserved.                                                       */
/*                                                                            */
/* 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, located in the file LICENSE.                 */
/*                                                                            */
/* (c) COPYRIGHT 2001-2004 Broadcom Corporation, ALL RIGHTS RESERVED.         */
/*                                                                            */
/*  Name: F W _ L S O 0 5. H                                                  */
/*  Author : Kevin Tran                                                       */
/*  Version: 1.2                                                              */
/*                                                                            */
/* Module Description:  This file contains firmware binary code of TCP        */
/* Segmentation firmware (BCM5705).                                           */
/*                                                                            */
/* History:                                                                   */
/*    08/10/02 Kevin Tran       Incarnation.                                  */
/*    02/02/04 Kevin Tran       Added Support for BCM5788.                    */
/******************************************************************************/

The above copyright statement clearly places the firmware blob under the GPL,
and makes the whole file undistributable without providing also the source
code, that is the prefered form of modification, of the firmware code in
question.

There are two solutions to this issue, either you abide by the GPL and provide
also the source code of those firmware binaries (the prefered solution :), or
you modify the copyright statement of these files, to indicate that even
thought the file per se is under the GPL, the firmware binary code is not, and
give us a licence to distribute it. Something akin to :

/******************************************************************************/
/*                                                                            */
/* Broadcom BCM5700 Linux Network Driver, Copyright (c) 2000 - 2003 Broadcom  */
/* Corporation.                                                               */
/* All rights reserved.                                                       */
/*                                                                            */
/* This program, except the firmware binary code,  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, located in the file  */
/* LICENSE.                                                                   */
/* Distribution, either as is or modified syntactically to adapt to the       */
/* layout of the surrounding GPLed code is allowed, provided this copyright   */
/* notice is acompanying it                                                   */
/*                                                                            */
/* (c) COPYRIGHT 2001-2004 Broadcom Corporation, ALL RIGHTS RESERVED.         */
/*                                                                            */
/*  Name: F W _ L S O 0 5. H                                                  */
/*  Author : Kevin Tran                                                       */
/*  Version: 1.2                                                              */
/*                                                                            */
/* Module Description:  This file contains firmware binary code of TCP        */
/* Segmentation firmware (BCM5705).                                           */
/*                                                                            */
/* History:                                                                   */
/*    08/10/02 Kevin Tran       Incarnation.                                  */
/*    02/02/04 Kevin Tran       Added Support for BCM5788.                    */
/******************************************************************************/

Or something else such acceptable to your legal department.

In hope of hearing from you soon, and that a quick resolution of this problem
can be achieved,

Friendly,

Sven Luther

[1] -- http://lists.debian.org/debian-legal/2005/03/msg00283.html
[2] -- http://lists.debian.org/debian-legal/2005/04/msg00047.html


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: [PATCH 00/04] Load keyspan firmware with hotplug
  2005-04-05 14:36                   ` Marcel Holtmann
@ 2005-04-05 15:28                     ` Dmitry Torokhov
  2005-04-05 15:37                       ` Marcel Holtmann
  2005-04-05 15:31                     ` Jan Harkes
  1 sibling, 1 reply; 102+ messages in thread
From: Dmitry Torokhov @ 2005-04-05 15:28 UTC (permalink / raw)
  To: Marcel Holtmann
  Cc: Jan Harkes, Greg KH, Sven Luther, Michael Poole, debian-legal,
	debian-kernel, Linux Kernel Mailing List

On Apr 5, 2005 9:36 AM, Marcel Holtmann <marcel@holtmann.org> wrote:

> People are also working on a replacement for the
> current request_firmware(), because the needs are changing. Try to keep
> it close with the usb-serial for now.
> 

Could you elaborate on what do you think is needed? I have some of
patches to firmware loader and wondering if we should coordinate out
efforts. I have

1. convert from using a timer to wait_for_comletion_timeout which
simplifies logic
2. tightening of state transition rules and removing possible memory
leak (very unlikely)
3. converting firmware_priv to fw_class_dev to simplify memory management.
4. removing request_firmware_nowait as noone seems to be using it -
and I doubt one would ever want to request firmware from an interrupt.
5. Creating firmware class in a separate thread to work around selinux
(with prism54 firmware is loaded when interface is configured and thus
firware loader runs in context of /sbin/ip which may not have access
to sysfs. Having separate thread will ensure that firmware loader runs
in kernel context).

And I was thinking about caching firmware (siomething like if you do
"echo 2 > /sys/class/firmware/blah/loading" instead of 0 it will keep
a copy of the firmware in memory. One could see all firmwares in
/sys/class/firmware/loaded/<xxx> and by erase cached firmware by
echoing 0 into it).

What do you think?

-- 
Dmitry

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: [PATCH 00/04] Load keyspan firmware with hotplug
  2005-04-05 14:36                   ` Marcel Holtmann
  2005-04-05 15:28                     ` Dmitry Torokhov
@ 2005-04-05 15:31                     ` Jan Harkes
  2005-04-05 16:46                       ` Marcel Holtmann
  1 sibling, 1 reply; 102+ messages in thread
From: Jan Harkes @ 2005-04-05 15:31 UTC (permalink / raw)
  To: Marcel Holtmann
  Cc: Jan Harkes, Dmitry Torokhov, Greg KH, Sven Luther, Michael Poole,
	debian-legal, debian-kernel, Linux Kernel Mailing List

On Tue, Apr 05, 2005 at 04:36:31PM +0200, Marcel Holtmann wrote:
> > > I agree with Dmitry on this point. The IHEX parser should not be inside
> > > firmware_class.c. What about using keyspan_ihex.[ch] for it?
> > 
> > That's what I had originally, actually called firmware_ihex.ko, since
> > the IHEX format parser is not in any way keyspan specific and there are
> > several usb-serial converters that seem to use the same IHEX->.h trick
> > which could trivially be modified to use this loader.
> > 
> > But the compiled parser fairly small (< 2KB) and adding it to the
> > existing module didn't effectively add any size to the firmware_class
> > module since things are rounded to a page boundary anyways.
> 
> so it seems that this is usb-serial specific at the moment. Then I would

I really don't see the point you are trying to argue. I said, sure it is
possible to make it a separate module, that is what my initial
implementation was. Why do you want to pigeon-hole it with anything but
the existing firmware loading code?

It is _not_ usb-serial specific, in fact once the device is initialized
this isn't even needed. And the initialization as far as I can see uses
little or no usb-serial code.

It happens that many usb-serial devices are built around the ezusb
chipset, which in turn seems to be a 8051-based microcontroller. The
compilers for such microcontrollers seem to generate IHEX formatted
output possibly because eprom burners generally support the format.

> it up at the moment. People are also working on a replacement for the
> current request_firmware(), because the needs are changing. Try to keep
> it close with the usb-serial for now.

What? I find the existing request_firmware fairly simple and
straightforward, it has a very KISS-like quality to it, it is nice and
small and even the userspace support is trivial. I only saw a mention
about 'replacing' it in the current thread which mostly involved
complaints but didn't actually see anyone volunteering to start working
on such a replacement.

If a driver wants to load 5 different chunks, just call request_firmware
5 times (i.e. drivers/bluetooth/bcm203x.c). If the data is a single
binary blob, just ask for the single binary blob. In this case there
seems to be some structure to the blob that I wanted to preserve, and
that would either be some custom binary format that contains
[<address><length><data>]... tuples, which ofcourse causes problems for
our big-endian brothers, or a similar ascii format, where the IHEX is
not only pretty much standardized, it is trivial to parse and even adds
checksum information.

The only thing that I see missing right now is a change to the makefiles
to have in-tree firmware files get installed in /lib/modules/`uname
-r`/firmware or some similar place. Ideally people would add a line
like,

    fw-$(CONFIG_FOO) = foo-firmware-blob.fw

And make install could drop it a place where hotplug can find it.

Jan


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: [PATCH 00/04] Load keyspan firmware with hotplug
  2005-04-05 15:28                     ` Dmitry Torokhov
@ 2005-04-05 15:37                       ` Marcel Holtmann
  0 siblings, 0 replies; 102+ messages in thread
From: Marcel Holtmann @ 2005-04-05 15:37 UTC (permalink / raw)
  To: dtor_core
  Cc: Jan Harkes, Greg KH, Sven Luther, Michael Poole, debian-legal,
	debian-kernel, Linux Kernel Mailing List

Hi Dmitry,

> > People are also working on a replacement for the
> > current request_firmware(), because the needs are changing. Try to keep
> > it close with the usb-serial for now.
> > 
> 
> Could you elaborate on what do you think is needed? I have some of
> patches to firmware loader and wondering if we should coordinate out
> efforts. I have
> 
> 1. convert from using a timer to wait_for_comletion_timeout which
> simplifies logic
> 2. tightening of state transition rules and removing possible memory
> leak (very unlikely)
> 3. converting firmware_priv to fw_class_dev to simplify memory management.
> 4. removing request_firmware_nowait as noone seems to be using it -
> and I doubt one would ever want to request firmware from an interrupt.
> 5. Creating firmware class in a separate thread to work around selinux
> (with prism54 firmware is loaded when interface is configured and thus
> firware loader runs in context of /sbin/ip which may not have access
> to sysfs. Having separate thread will ensure that firmware loader runs
> in kernel context).
> 
> And I was thinking about caching firmware (siomething like if you do
> "echo 2 > /sys/class/firmware/blah/loading" instead of 0 it will keep
> a copy of the firmware in memory. One could see all firmwares in
> /sys/class/firmware/loaded/<xxx> and by erase cached firmware by
> echoing 0 into it).
> 
> What do you think?

actually there is a thread about firmware loading rewrite and POST
calling of programs. It must be on LKML or the hotplug mailing list.
However my backlog for the interesting topics of these lists increased
while I was traveling the last 5-6 weeks. I think you should simply
start a new one on LKML.

Regards

Marcel



^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-05 14:05           ` Josselin Mouette
@ 2005-04-05 15:39             ` Sven Luther
  2005-04-07 21:07             ` Adrian Bunk
  1 sibling, 0 replies; 102+ messages in thread
From: Sven Luther @ 2005-04-05 15:39 UTC (permalink / raw)
  To: Josselin Mouette; +Cc: Adrian Bunk, debian-legal, debian-kernel, linux-kernel

On Tue, Apr 05, 2005 at 04:05:07PM +0200, Josselin Mouette wrote:
> Le lundi 04 avril 2005 à 21:32 +0200, Adrian Bunk a écrit :
> > On Mon, Apr 04, 2005 at 09:05:18PM +0200, Marco d'Itri wrote:
> > > On Apr 04, Greg KH <greg@kroah.com> wrote:
> > > 
> > > > What if we don't want to do so?  I know I personally posted a solution
> > > Then probably the extremists in Debian will manage to kill your driver,
> > > like they did with tg3 and others.
> > 
> > And as they are doing with e.g. the complete gcc documentation.
> > 
> > No documentation for the C compiler (not even a documentation of the 
> > options) will be neither fun for the users of Debian nor for the Debian 
> > maintainers - but it's the future of Debian...
> 
> You are mixing apples and oranges. The fact that the GFDL sucks has
> nothing to do with the firmware issue. With the current situation of
> firmwares in the kernel, it is illegal to redistribute binary images of
> the kernel. Full stop. End of story. Bye bye. Redhat and SuSE may still
> be willing to distribute such binary images, but it isn't our problem.
> 
> Putting the firmwares outside the kernel makes them distributable. Some
> distributions will want to include them, some others not. But the
> important point is that it makes that redistribution legal.

Nope, in this case, the place where those firmware blobs are found are totally
irelevant, since we reached consensus on debian-legal in marsh that they
constitute mere agregation, where either the file or the elf binary are just
the distribution media.

And those binary blobs currently come under the GPL or are not licenced at
all, so taking them out of the kernel doesn't make them distributable in any
way.

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: [PATCH 00/04] Load keyspan firmware with hotplug
  2005-04-05 11:45                 ` Jan Harkes
  2005-04-05 14:36                   ` Marcel Holtmann
@ 2005-04-05 16:20                   ` Dmitry Torokhov
  1 sibling, 0 replies; 102+ messages in thread
From: Dmitry Torokhov @ 2005-04-05 16:20 UTC (permalink / raw)
  To: Marcel Holtmann, Dmitry Torokhov, Jan Harkes, Greg KH,
	Sven Luther, Michael Poole, debian-legal, debian-kernel,
	Linux Kernel Mailing List

On Apr 5, 2005 6:45 AM, Jan Harkes <jaharkes@cs.cmu.edu> wrote:
> On Tue, Apr 05, 2005 at 11:22:06AM +0200, Marcel Holtmann wrote:
> > I agree with Dmitry on this point. The IHEX parser should not be inside
> > firmware_class.c. What about using keyspan_ihex.[ch] for it?
> 
> That's what I had originally, actually called firmware_ihex.ko, since
> the IHEX format parser is not in any way keyspan specific and there are
> several usb-serial converters that seem to use the same IHEX->.h trick
> which could trivially be modified to use this loader.
> 
> But the compiled parser fairly small (< 2KB) and adding it to the
> existing module didn't effectively add any size to the firmware_class
> module since things are rounded to a page boundary anyways.
> 

It is not about the size, it is about source separation. Since it has
nothing to do with actualy loading of a BLOB from userspace to kernel
space I'd put it into lib/, like crc functions, etc. It does not
really have to work with "struct firmware *", "void *data, size_t len"
should be just as useable.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: [PATCH 00/04] Load keyspan firmware with hotplug
  2005-04-05 15:31                     ` Jan Harkes
@ 2005-04-05 16:46                       ` Marcel Holtmann
  0 siblings, 0 replies; 102+ messages in thread
From: Marcel Holtmann @ 2005-04-05 16:46 UTC (permalink / raw)
  To: Jan Harkes
  Cc: Dmitry Torokhov, Greg KH, Sven Luther, Michael Poole,
	debian-legal, debian-kernel, Linux Kernel Mailing List

Hi Jan,

> > > > I agree with Dmitry on this point. The IHEX parser should not be inside
> > > > firmware_class.c. What about using keyspan_ihex.[ch] for it?
> > > 
> > > That's what I had originally, actually called firmware_ihex.ko, since
> > > the IHEX format parser is not in any way keyspan specific and there are
> > > several usb-serial converters that seem to use the same IHEX->.h trick
> > > which could trivially be modified to use this loader.
> > > 
> > > But the compiled parser fairly small (< 2KB) and adding it to the
> > > existing module didn't effectively add any size to the firmware_class
> > > module since things are rounded to a page boundary anyways.
> > 
> > so it seems that this is usb-serial specific at the moment. Then I would
> 
> I really don't see the point you are trying to argue. I said, sure it is
> possible to make it a separate module, that is what my initial
> implementation was. Why do you want to pigeon-hole it with anything but
> the existing firmware loading code?

the existing request_firmware() has nothing in common with IHEX parser
and such a parser should not belong there. So either make it a separate
module or add it to the module that is using it. In this case this is
the keyspan module or the usb-serial core.

> It is _not_ usb-serial specific, in fact once the device is initialized
> this isn't even needed. And the initialization as far as I can see uses
> little or no usb-serial code.
> 
> It happens that many usb-serial devices are built around the ezusb
> chipset, which in turn seems to be a 8051-based microcontroller. The
> compilers for such microcontrollers seem to generate IHEX formatted
> output possibly because eprom burners generally support the format.

Then make it at separate module.

> > it up at the moment. People are also working on a replacement for the
> > current request_firmware(), because the needs are changing. Try to keep
> > it close with the usb-serial for now.
> 
> What? I find the existing request_firmware fairly simple and
> straightforward, it has a very KISS-like quality to it, it is nice and
> small and even the userspace support is trivial. I only saw a mention
> about 'replacing' it in the current thread which mostly involved
> complaints but didn't actually see anyone volunteering to start working
> on such a replacement.
> 
> If a driver wants to load 5 different chunks, just call request_firmware
> 5 times (i.e. drivers/bluetooth/bcm203x.c). If the data is a single
> binary blob, just ask for the single binary blob. In this case there
> seems to be some structure to the blob that I wanted to preserve, and
> that would either be some custom binary format that contains
> [<address><length><data>]... tuples, which ofcourse causes problems for
> our big-endian brothers, or a similar ascii format, where the IHEX is
> not only pretty much standardized, it is trivial to parse and even adds
> checksum information.

I am not going to repeat the current arguments and it is not about
loading multiple firmware files (btw I wrote the bcm203x). Check the
mailing list archives for the details. I still need to catch up with the
discussion, but there is some ongoing work.

> The only thing that I see missing right now is a change to the makefiles
> to have in-tree firmware files get installed in /lib/modules/`uname
> -r`/firmware or some similar place. Ideally people would add a line
> like,
> 
>     fw-$(CONFIG_FOO) = foo-firmware-blob.fw
> 
> And make install could drop it a place where hotplug can find it.

This is another approach and if you want something like that, then send
a patch for it and let Sam and others comment on it.

Regards

Marcel



^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-05 15:21                   ` Sven Luther
@ 2005-04-05 21:37                     ` Don Armstrong
  0 siblings, 0 replies; 102+ messages in thread
From: Don Armstrong @ 2005-04-05 21:37 UTC (permalink / raw)
  To: debian-legal, debian-kernel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2099 bytes --]

[MFT set to -legal, as this is becoming legal arcana probably not
particularly interesting to any other list.]

On Tue, 05 Apr 2005, Sven Luther wrote:
> There are two solutions to this issue, either you abide by the GPL
> and provide also the source code of those firmware binaries (the
> prefered solution :), or you modify the copyright statement of these
> files, to indicate that even thought the file per se is under the
> GPL, the firmware binary code is not, and give us a licence to
> distribute it. Something akin to :
> 
> /* This program, except the firmware binary code,  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, located in the file  */
> /* LICENSE.                                                                   */
> /* Distribution, either as is or modified syntactically to adapt to the       */
> /* layout of the surrounding GPLed code is allowed, provided this copyright   */
> /* notice is acompanying it                                                   */

Just a word of warning: The wording above fails to make it clear what
the second clause is applying to. Additionally it has the following
restrictions that are probably not intended:

   1) Does not specifically allow this firware to be sold as part of an
      aggregate

   2) The range of modifications allowed is rather vague, and implies
      that the firmware can't be extracted

I'd instead suggest applying a pre-existing license like MIT[1] to the
firmware portion of the code file, rather than inventing your own
licensing text that only partially deals with the problem(s) at issue.
(Inventing licensing text is quite often very hazardous to your
health.)


Don Armstrong

1: http://www.opensource.org/licenses/mit-license.php
-- 
Build a fire for a man, an he'll be warm for a day.  Set a man on   
fire, and he'll be warm for the rest of his life.
 -- Jules Bean

http://www.donarmstrong.com              http://rzlab.ucr.edu

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-05  9:28                         ` Arjan van de Ven
  2005-04-05  9:32                           ` Christoph Hellwig
@ 2005-04-06 19:22                           ` Eric W. Biederman
  2005-04-07  9:34                             ` Jeff Garzik
  2005-04-07 11:27                             ` Sven Luther
  1 sibling, 2 replies; 102+ messages in thread
From: Eric W. Biederman @ 2005-04-06 19:22 UTC (permalink / raw)
  To: Arjan van de Ven
  Cc: Christoph Hellwig, Ian Campbell, Sven Luther, Theodore Ts'o,
	Greg KH, Michael Poole, debian-legal, debian-kernel, linux-kernel

Arjan van de Ven <arjan@infradead.org> writes:

> On Tue, 2005-04-05 at 11:11 +0200, Christoph Hellwig wrote:
> > On Tue, Apr 05, 2005 at 09:49:25AM +0100, Ian Campbell wrote:
> > > I don't think you did get a rejection, a few people said that _they_
> > > weren't going to do it, but if you want to then go ahead. I think people
> > > are just fed up of people bringing up the issue and then failing to do
> > > anything about it -- so prove them wrong ;-)
> > 
> > Actually patches to add firmware loader support to tg3 got rejected.
> 
> I think they will be accepted if they first introduce a transition
> period where tg3 will do request_firmware() and only use the built-in
> firmware if that fails. Second step is to make the built-in firmware a
> config option and then later on when the infrastructure matures for
> firmware loading/providing firmware it can be removed from the driver
> entirely.

For tg3 a transition period shouldn't be needed as firmware loading
is only needed on old/buggy hardware which is not the common case.
Or to support advanced features which can be disabled.

I am fairly certain in that case the firmware came from the bcm5701 
broadcom driver for the tg3 which I think is gpl'd.   So the firmware
may legitimately be under the GPL.

Eric

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 20:47             ` Jeff Garzik
  2005-04-04 21:24               ` Sven Luther
  2005-04-05  9:33               ` Sven Luther
@ 2005-04-07  1:05               ` Alan Cox
  2005-04-07  7:28               ` Jes Sorensen
  3 siblings, 0 replies; 102+ messages in thread
From: Alan Cox @ 2005-04-07  1:05 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Sven Luther, Matthew Wilcox, Greg KH, Michael Poole, debian-legal,
	debian-kernel, Linux Kernel Mailing List, Jes Sorensen,
	linux-acenic

On Llu, 2005-04-04 at 21:47, Jeff Garzik wrote:
> Bluntly, Debian is being a pain in the ass ;-)
> 
> There will always be non-free firmware to deal with, for key hardware.

Firmware being seperate does make a lot of sense. It isn't going away
but it doesn't generally belong in kernel now we have initrd and
firmware loaders.

Alan


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 10:59   ` Sven Luther
@ 2005-04-07  7:17     ` Jes Sorensen
  2005-04-07 11:27       ` Sven Luther
  0 siblings, 1 reply; 102+ messages in thread
From: Jes Sorensen @ 2005-04-07  7:17 UTC (permalink / raw)
  To: Sven Luther; +Cc: Arjan van de Ven, linux-kernel

>>>>> "Sven" == Sven Luther <sven.luther@wanadoo.fr> writes:

Sven> On Mon, Apr 04, 2005 at 12:21:05PM +0200, Arjan van de Ven
Sven> wrote:
>> On Mon, 2005-04-04 at 12:09 +0200, Sven Luther wrote:
>> 
>> please take this discussion elsewhere. Also please never cc three
>> such

Sven> Ok, can you please point to me where is the place it should be
Sven> taken off ? I suppose you mean LKML ?

Yes please!

>> lists on the same posting, there is absolutely no point in doing
>> that.

Sven> We already had this discussion on debian-legal and
Sven> debian-kernel, so i included them for documentation purpose, so
Sven> people there can follow the discussion even if they don't follow
Sven> LKML which is rather high volume. As the discussion already was
Sven> hold there, i don't believe you will see many comments from
Sven> them.

Sven> So, i posted to LKML directly, as i believe that it is where
Sven> this needs to be solved, as only the copyright holders can fix
Sven> this licencing problem, and currently the kernels distributed
Sven> from ftp.kernel.org are not legally distributable.

Feel free to have your own legal oppinion about whether or not those
kernels can be distributed. However please keep that discussion
elsewhere.

If you want the firmware situation changed, I'd recommend spending
your time on improving the firmware loader interface instead.

Thanks,
Jes

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 18:39       ` non-free firmware in kernel modules, aggregation and unclear copyright notice Matthew Wilcox
  2005-04-04 19:55         ` Jeff Garzik
@ 2005-04-07  7:25         ` Jes Sorensen
  2005-04-07  8:04           ` David Schmitt
  2005-04-07  8:26           ` David Schwartz
  1 sibling, 2 replies; 102+ messages in thread
From: Jes Sorensen @ 2005-04-07  7:25 UTC (permalink / raw)
  To: Matthew Wilcox
  Cc: Greg KH, Sven Luther, Michael Poole, debian-legal, debian-kernel,
	linux-kernel, linux-acenic

>>>>> "Matthew" == Matthew Wilcox <matthew@wil.cx> writes:

Matthew> On Mon, Apr 04, 2005 at 10:51:30AM -0700, Greg KH wrote:
>> Then let's see some acts.  We (lkml) are not the ones with the
>> percieved problem, or the ones discussing it.

Matthew> Actually, there are some legitimate problems with some of the
Matthew> files in the Linux source base.  Last time this came up, the
Matthew> Acenic firmware was mentioned:

Matthew> http://lists.debian.org/debian-legal/2004/12/msg00078.html

Matthew> Seems to me that situation is still not resolved.

Well whoever wrote that seems to have taken the stand that the
openfirmware package was were the firmware came from. The person
obviously made a lot of statements without bothering checking out the
real source. Well it didn't come from there, I got it from Alteon
under a written agreement stating I could distribute the image under
the GPL. Since the firmware is simply data to Linux, hence keeping it
under the GPL should be just fine.

If someone wishes to post a patch adding a GPL header to the
acenic_firmware.h file, fine with me. But beyond that I consider the
case closed.

Regards,
Jes

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-04 20:47             ` Jeff Garzik
                                 ` (2 preceding siblings ...)
  2005-04-07  1:05               ` Alan Cox
@ 2005-04-07  7:28               ` Jes Sorensen
  3 siblings, 0 replies; 102+ messages in thread
From: Jes Sorensen @ 2005-04-07  7:28 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Sven Luther, Matthew Wilcox, Greg KH, linux-kernel, linux-acenic

>>>>> "Jeff" == Jeff Garzik <jgarzik@pobox.com> writes:

Jeff> Sven Luther wrote:
>> Yep, but in the meantime, let's clearly mark said firmware as
>> not-covered-by-the-GPL. In the acenic case it seems to be even
>> easier, as the firmware is in a separate acenic_firmware.h file,
>> and it just needs to have the proper licencing statement added,
>> saying that it is not covered by the GPL, and then giving the
>> information under what licence it is being distributed.

Jeff> Who has meaningfully contacted Alteon (probably "Neterion" now)
Jeff> about this?  What is the progress of that request?

Whoever actually owns the rights to the firmware these days is going
to be practically impossible to track down. The rights were sold off
left and right when Alteon sold out to Nortel and Nortel then
imploded. 

The s2io/neterion guys may or may not know, but I doubt anyone is
willing to spend real company manhours trying to track down a legal
trace for a dead product which hasn't been manufactured for years and
nobody really cares about technology wise anymore.

Regards,
Jes

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-07  7:25         ` Jes Sorensen
@ 2005-04-07  8:04           ` David Schmitt
  2005-04-07  8:17             ` Xavier Bestel
  2005-04-07  8:26           ` David Schwartz
  1 sibling, 1 reply; 102+ messages in thread
From: David Schmitt @ 2005-04-07  8:04 UTC (permalink / raw)
  To: debian-kernel
  Cc: Jes Sorensen, Matthew Wilcox, Greg KH, Sven Luther, Michael Poole,
	debian-legal, linux-kernel, linux-acenic

On Thursday 07 April 2005 09:25, Jes Sorensen wrote:
> [snip] I got it from Alteon
> under a written agreement stating I could distribute the image under
> the GPL. Since the firmware is simply data to Linux, hence keeping it
> under the GPL should be just fine.

Then I would like to exercise my right under the GPL to aquire the source code 
for the firmware (and the required compilers, starting with genfw.c which is 
mentioned in acenic_firmware.h) since - as far as I know - firmware is coded 
today in VHDL, C or some assembler and the days of hexcoding are long gone.



Regards, David

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-07  8:04           ` David Schmitt
@ 2005-04-07  8:17             ` Xavier Bestel
  2005-04-07  8:32               ` Olivier Galibert
  0 siblings, 1 reply; 102+ messages in thread
From: Xavier Bestel @ 2005-04-07  8:17 UTC (permalink / raw)
  To: David Schmitt
  Cc: debian-kernel, Jes Sorensen, Matthew Wilcox, Greg KH, Sven Luther,
	Michael Poole, debian-legal, linux-kernel, linux-acenic

Le jeudi 07 avril 2005 à 10:04 +0200, David Schmitt a écrit :

> Then I would like to exercise my right under the GPL to aquire the source code 
> for the firmware (and the required compilers, starting with genfw.c which is 
> mentioned in acenic_firmware.h) since - as far as I know - firmware is coded 
> today in VHDL, C or some assembler and the days of hexcoding are long gone.

VHDL is a hardware description language. You don't code firmware in
VHDL.

	Xav



^ permalink raw reply	[flat|nested] 102+ messages in thread

* RE: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-07  7:25         ` Jes Sorensen
  2005-04-07  8:04           ` David Schmitt
@ 2005-04-07  8:26           ` David Schwartz
  2005-04-07 20:16             ` Raul Miller
  1 sibling, 1 reply; 102+ messages in thread
From: David Schwartz @ 2005-04-07  8:26 UTC (permalink / raw)
  To: Matthew Wilcox; +Cc: linux-kernel, debian-legal, linux-acenic


> Well whoever wrote that seems to have taken the stand that the
> openfirmware package was were the firmware came from. The person
> obviously made a lot of statements without bothering checking out the
> real source. Well it didn't come from there, I got it from Alteon
> under a written agreement stating I could distribute the image under
> the GPL. Since the firmware is simply data to Linux, hence keeping it
> under the GPL should be just fine.

	You cannot distribute anything under the GPL if you cannot also distribute
the source code (the preferred form of the software for the purpose of
making modifications to it). How Linux sees it is irrelevant. For any piece
of software, one can imagine some processor that can only see it as data.
The GPL doesn't distinguish between processors.

	Alteon's written agreement notwithstanding, you cannot distribute the
firmware under the GPL if you cannot provide the preferred form of the
firmware for the purpose of making modifications to it. The firmware does
not run on Linux, so saying "linux sees it as data" is as absurd as saying I
can distribute the x86 Linux kernel without the source because my calculator
can only see it as data.

	You cannot distribute the firmware binary under the GPL. Period.

	Now, if you were trying to say that you could aggregate the firmware with
another work and distribute the result under the GPL, the test would be
whether the final result is "mere aggregation" or not. This is a
fantastically tricky question and I don't think anyone on this list could
give you particularly useful guidance.

	My own opinion is that it's a threshold issue based upon several factors.
For example -- has the firmware been specifically designed to work with the
Linux driver or is it "generic" firmware? If you can't take the thing you're
distributing (the combined binary) and extract two works from it (the
firmware and the work whose source you are offering), I cannot see how you
can claim it's mere aggregation.

	If you believe the linker "merely aggregates" the object code for the
driver with the data for the firmware, I can't see how you can argue that
any linking is anything but mere aggregation. In neither case can you
separate the linked work into the two separate works and in both cases the
linker provides one work direct access to the other.

	If you only distribute the source to the driver and don't put a GPL notice
in the files that contain the firmware data, I think you're okay. I think
you're asking for trouble if you distribute a combined compiled/linked
driver.

	DS



^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-07  8:17             ` Xavier Bestel
@ 2005-04-07  8:32               ` Olivier Galibert
  2005-04-07  8:46                 ` Xavier Bestel
  0 siblings, 1 reply; 102+ messages in thread
From: Olivier Galibert @ 2005-04-07  8:32 UTC (permalink / raw)
  To: Xavier Bestel
  Cc: David Schmitt, debian-kernel, Jes Sorensen, Matthew Wilcox,
	Greg KH, Sven Luther, Michael Poole, debian-legal, linux-kernel,
	linux-acenic

On Thu, Apr 07, 2005 at 10:17:15AM +0200, Xavier Bestel wrote:
> Le jeudi 07 avril 2005 à 10:04 +0200, David Schmitt a écrit :
> 
> > Then I would like to exercise my right under the GPL to aquire the source code 
> > for the firmware (and the required compilers, starting with genfw.c which is 
> > mentioned in acenic_firmware.h) since - as far as I know - firmware is coded 
> > today in VHDL, C or some assembler and the days of hexcoding are long gone.
> 
> VHDL is a hardware description language. You don't code firmware in
> VHDL.

If the firmware, or part of it, is uploaded to a fpga you do (or
Verilog instead of VHDL, same difference).

  OG.

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-07  8:32               ` Olivier Galibert
@ 2005-04-07  8:46                 ` Xavier Bestel
  0 siblings, 0 replies; 102+ messages in thread
From: Xavier Bestel @ 2005-04-07  8:46 UTC (permalink / raw)
  To: Olivier Galibert
  Cc: David Schmitt, debian-kernel, Jes Sorensen, Matthew Wilcox,
	Greg KH, Sven Luther, Michael Poole, debian-legal, linux-kernel,
	linux-acenic

Le jeudi 07 avril 2005 à 10:32 +0200, Olivier Galibert a écrit :
> On Thu, Apr 07, 2005 at 10:17:15AM +0200, Xavier Bestel wrote:
> > Le jeudi 07 avril 2005 à 10:04 +0200, David Schmitt a écrit :
> > 
> > > Then I would like to exercise my right under the GPL to aquire the source code 
> > > for the firmware (and the required compilers, starting with genfw.c which is 
> > > mentioned in acenic_firmware.h) since - as far as I know - firmware is coded 
> > > today in VHDL, C or some assembler and the days of hexcoding are long gone.
> > 
> > VHDL is a hardware description language. You don't code firmware in
> > VHDL.
> 
> If the firmware, or part of it, is uploaded to a fpga you do (or
> Verilog instead of VHDL, same difference).

Oh yes, I was dense. 

	Xav



^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-06 19:22                           ` Eric W. Biederman
@ 2005-04-07  9:34                             ` Jeff Garzik
  2005-04-07 10:28                               ` Christoph Hellwig
  2005-04-07 11:27                             ` Sven Luther
  1 sibling, 1 reply; 102+ messages in thread
From: Jeff Garzik @ 2005-04-07  9:34 UTC (permalink / raw)
  To: Eric W. Biederman
  Cc: Arjan van de Ven, Christoph Hellwig, Ian Campbell, Sven Luther,
	Theodore Ts'o, Greg KH, Michael Poole, debian-legal,
	debian-kernel, linux-kernel

Eric W. Biederman wrote:
> Arjan van de Ven <arjan@infradead.org> writes:
> 
> 
>>On Tue, 2005-04-05 at 11:11 +0200, Christoph Hellwig wrote:
>>
>>>On Tue, Apr 05, 2005 at 09:49:25AM +0100, Ian Campbell wrote:
>>>
>>>>I don't think you did get a rejection, a few people said that _they_
>>>>weren't going to do it, but if you want to then go ahead. I think people
>>>>are just fed up of people bringing up the issue and then failing to do
>>>>anything about it -- so prove them wrong ;-)
>>>
>>>Actually patches to add firmware loader support to tg3 got rejected.
>>
>>I think they will be accepted if they first introduce a transition
>>period where tg3 will do request_firmware() and only use the built-in
>>firmware if that fails. Second step is to make the built-in firmware a
>>config option and then later on when the infrastructure matures for
>>firmware loading/providing firmware it can be removed from the driver
>>entirely.
> 
> 
> For tg3 a transition period shouldn't be needed as firmware loading
> is only needed on old/buggy hardware which is not the common case.
> Or to support advanced features which can be disabled.

TSO firmware is commonly used these days.


> I am fairly certain in that case the firmware came from the bcm5701 
> broadcom driver for the tg3 which I think is gpl'd.   So the firmware
> may legitimately be under the GPL.

It is.

	Jeff



^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-07  9:34                             ` Jeff Garzik
@ 2005-04-07 10:28                               ` Christoph Hellwig
  0 siblings, 0 replies; 102+ messages in thread
From: Christoph Hellwig @ 2005-04-07 10:28 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Eric W. Biederman, Arjan van de Ven, Christoph Hellwig,
	Ian Campbell, Sven Luther, Theodore Ts'o, Greg KH,
	Michael Poole, debian-legal, debian-kernel, linux-kernel

On Thu, Apr 07, 2005 at 05:34:56AM -0400, Jeff Garzik wrote:
> >For tg3 a transition period shouldn't be needed as firmware loading
> >is only needed on old/buggy hardware which is not the common case.
> >Or to support advanced features which can be disabled.
> 
> TSO firmware is commonly used these days.

Because our TSO support has been totally broken for a long time?


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-07  7:17     ` Jes Sorensen
@ 2005-04-07 11:27       ` Sven Luther
  0 siblings, 0 replies; 102+ messages in thread
From: Sven Luther @ 2005-04-07 11:27 UTC (permalink / raw)
  To: Jes Sorensen; +Cc: Sven Luther, Arjan van de Ven, linux-kernel

Hi Jes, long time without hearing about you :)

On Thu, Apr 07, 2005 at 03:17:33AM -0400, Jes Sorensen wrote:
> Sven> On Mon, Apr 04, 2005 at 12:21:05PM +0200, Arjan van de Ven
> Sven> wrote:
> 
> Sven> Ok, can you please point to me where is the place it should be
> Sven> taken off ? I suppose you mean LKML ?
> 
> Yes please!

Why ? It does concern you all, doesn't it ? or we will be working to get the
actual firmware problem solved, and then people will introduce new problematic
firmware case.

> If you want the firmware situation changed, I'd recommend spending
> your time on improving the firmware loader interface instead.

Which will not help without the copyright licencing issue being solved first
though, as we do not have any right to distribute most of those firmwares.

And no, we are not only bringing this issue and bothering everyone else, we
are also doing the work needed to solve the issue with upstream, see : 

  http://wiki.debian.net/?KernelFirmwareLicensing

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-06 19:22                           ` Eric W. Biederman
  2005-04-07  9:34                             ` Jeff Garzik
@ 2005-04-07 11:27                             ` Sven Luther
  2005-04-07 11:46                               ` Eric W. Biederman
  1 sibling, 1 reply; 102+ messages in thread
From: Sven Luther @ 2005-04-07 11:27 UTC (permalink / raw)
  To: Eric W. Biederman
  Cc: Arjan van de Ven, Christoph Hellwig, Ian Campbell, Sven Luther,
	Theodore Ts'o, Greg KH, Michael Poole, debian-legal,
	debian-kernel, linux-kernel

On Wed, Apr 06, 2005 at 01:22:36PM -0600, Eric W. Biederman wrote:
> Arjan van de Ven <arjan@infradead.org> writes:
> 
> > On Tue, 2005-04-05 at 11:11 +0200, Christoph Hellwig wrote:
> > > On Tue, Apr 05, 2005 at 09:49:25AM +0100, Ian Campbell wrote:
> > > > I don't think you did get a rejection, a few people said that _they_
> > > > weren't going to do it, but if you want to then go ahead. I think people
> > > > are just fed up of people bringing up the issue and then failing to do
> > > > anything about it -- so prove them wrong ;-)
> > > 
> > > Actually patches to add firmware loader support to tg3 got rejected.
> > 
> > I think they will be accepted if they first introduce a transition
> > period where tg3 will do request_firmware() and only use the built-in
> > firmware if that fails. Second step is to make the built-in firmware a
> > config option and then later on when the infrastructure matures for
> > firmware loading/providing firmware it can be removed from the driver
> > entirely.
> 
> For tg3 a transition period shouldn't be needed as firmware loading
> is only needed on old/buggy hardware which is not the common case.
> Or to support advanced features which can be disabled.
> 
> I am fairly certain in that case the firmware came from the bcm5701 
> broadcom driver for the tg3 which I think is gpl'd.   So the firmware
> may legitimately be under the GPL.

So, where is the source for it ? 

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-07 11:27                             ` Sven Luther
@ 2005-04-07 11:46                               ` Eric W. Biederman
  2005-04-07 18:42                                 ` Sven Luther
  0 siblings, 1 reply; 102+ messages in thread
From: Eric W. Biederman @ 2005-04-07 11:46 UTC (permalink / raw)
  To: Sven Luther
  Cc: Arjan van de Ven, Christoph Hellwig, Ian Campbell,
	Theodore Ts'o, Greg KH, Michael Poole, debian-legal,
	debian-kernel, linux-kernel

Sven Luther <sven.luther@wanadoo.fr> writes:

> On Wed, Apr 06, 2005 at 01:22:36PM -0600, Eric W. Biederman wrote:
> > For tg3 a transition period shouldn't be needed as firmware loading
> > is only needed on old/buggy hardware which is not the common case.
> > Or to support advanced features which can be disabled.
> > 
> > I am fairly certain in that case the firmware came from the bcm5701 
> > broadcom driver for the tg3 which I think is gpl'd.   So the firmware
> > may legitimately be under the GPL.
> 
> So, where is the source for it ? 

The GPL'd driver that broadcom distributes.  The history of tg3.c
is that broadcom's bcm57xx driver drove the hardware correctly but
not linux so it was rewritten from scratch. 

Beyond that you need to talk to Broadcom.  But if the originator
of the bits  distributes them gpl from a redistribution point the
kernel is fine.  

It sounds like you are now looking at the question of are the
huge string of hex characters the preferred form for making
modifications to firmware.  Personally I would be surprised
but those hunks are small enough it could have been written
in machine code.

So I currently have no reason to believe that anything has been
done improperly with that code.

Eric

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-07 11:46                               ` Eric W. Biederman
@ 2005-04-07 18:42                                 ` Sven Luther
  2005-04-08  3:06                                   ` Eric W. Biederman
  0 siblings, 1 reply; 102+ messages in thread
From: Sven Luther @ 2005-04-07 18:42 UTC (permalink / raw)
  To: Eric W. Biederman
  Cc: Sven Luther, Arjan van de Ven, Christoph Hellwig, Ian Campbell,
	Theodore Ts'o, Greg KH, Michael Poole, debian-legal,
	debian-kernel, linux-kernel

On Thu, Apr 07, 2005 at 05:46:27AM -0600, Eric W. Biederman wrote:
> Sven Luther <sven.luther@wanadoo.fr> writes:
> 
> > On Wed, Apr 06, 2005 at 01:22:36PM -0600, Eric W. Biederman wrote:
> > > For tg3 a transition period shouldn't be needed as firmware loading
> > > is only needed on old/buggy hardware which is not the common case.
> > > Or to support advanced features which can be disabled.
> > > 
> > > I am fairly certain in that case the firmware came from the bcm5701 
> > > broadcom driver for the tg3 which I think is gpl'd.   So the firmware
> > > may legitimately be under the GPL.
> > 
> > So, where is the source for it ? 
> 
> The GPL'd driver that broadcom distributes.  The history of tg3.c
> is that broadcom's bcm57xx driver drove the hardware correctly but
> not linux so it was rewritten from scratch. 

Ok, thanks for that clarification.

> Beyond that you need to talk to Broadcom.  But if the originator
> of the bits  distributes them gpl from a redistribution point the
> kernel is fine.  

As you may know, i have contacted Broadcom about this issue, the information
passed from the driver support contact to their linux developers, but i have
not heard from them yet.

> It sounds like you are now looking at the question of are the
> huge string of hex characters the preferred form for making
> modifications to firmware.  Personally I would be surprised
> but those hunks are small enough it could have been written
> in machine code.

Yep, i also think it is in broadcom's best interest to modify the licencing
text accordyingly, since i suppose someone could technicaly come after them
legally to obtain said source code to this firmware. Unprobable though.

> So I currently have no reason to believe that anything has been
> done improperly with that code.

Well, it all depends if you consider this firmware blob as software, which i
feel it is without doubt, or we have not the same definition of software,
i.e., the program which runs on the hardware, or not. We cannot claim this is data,
since there should be at least some kind of executable code in it,
independenlty of the fact that we claim that data is also software.

Thanks for the info, i will add it to the Wiki.

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-07  8:26           ` David Schwartz
@ 2005-04-07 20:16             ` Raul Miller
  2005-04-07 23:20               ` David Schwartz
  0 siblings, 1 reply; 102+ messages in thread
From: Raul Miller @ 2005-04-07 20:16 UTC (permalink / raw)
  To: linux-kernel, debian-legal, linux-acenic

On Thu, Apr 07, 2005 at 01:26:17AM -0700, David Schwartz wrote:
> If you believe the linker "merely aggregates" the object code for the
> driver with the data for the firmware, I can't see how you can argue
> that any linking is anything but mere aggregation. In neither case can
> you separate the linked work into the two separate works and in both
> cases the linker provides one work direct access to the other.

You can indeed separate the firmware and the kernel into two separate
works.  That's what people have been proposing as the solution to this
problem.

Also, "mere aggregation" is a term from the GPL.  You can read what
it says there yourself.  But basically it's there so that people make
a distinction between the program itself and other stuff that isn't
the program.

Without that mere aggregation clause, people might be claiming that
text on a disk has to be GPLed because of emacs, or that postscript
files have to be GPLed because of ghostscript, or more generally that
arbitrary object FOO has to be GPLed because of gpled program BAR.

Put another way, what the linker does or doesn't do isn't really the
issue.

People like to think that the linker is somehow special for copyright,
but it's not.  Either the stuff being linked is protected by copyright
even when it's not linked or it's not protected by copyright after it is
linked.  If the license says something about linking then that matters,
but only for cases where the code was protected by copyright even before
it was linked.  And then linking only matters in the specific way that
that license says it matters.

-- 
Raul

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-05 14:05           ` Josselin Mouette
  2005-04-05 15:39             ` Sven Luther
@ 2005-04-07 21:07             ` Adrian Bunk
  2005-04-08  7:22               ` Josselin Mouette
  2005-04-08 11:53               ` Sven Luther
  1 sibling, 2 replies; 102+ messages in thread
From: Adrian Bunk @ 2005-04-07 21:07 UTC (permalink / raw)
  To: Josselin Mouette; +Cc: debian-legal, debian-kernel, linux-kernel

On Tue, Apr 05, 2005 at 04:05:07PM +0200, Josselin Mouette wrote:
> Le lundi 04 avril 2005 à 21:32 +0200, Adrian Bunk a écrit :
> > On Mon, Apr 04, 2005 at 09:05:18PM +0200, Marco d'Itri wrote:
> > > On Apr 04, Greg KH <greg@kroah.com> wrote:
> > > 
> > > > What if we don't want to do so?  I know I personally posted a solution
> > > Then probably the extremists in Debian will manage to kill your driver,
> > > like they did with tg3 and others.
> > 
> > And as they are doing with e.g. the complete gcc documentation.
> > 
> > No documentation for the C compiler (not even a documentation of the 
> > options) will be neither fun for the users of Debian nor for the Debian 
> > maintainers - but it's the future of Debian...
> 
> You are mixing apples and oranges. The fact that the GFDL sucks has
> nothing to do with the firmware issue. With the current situation of
> firmwares in the kernel, it is illegal to redistribute binary images of
> the kernel. Full stop. End of story. Bye bye. Redhat and SuSE may still
> be willing to distribute such binary images, but it isn't our problem.
>...


It's a grey area.

debian-legal did pick one of the possible opinions on this matter.


The similarities between the GFDL and the firmware discussion can be 
described with the following two questions:


Is it true, that the removal of much of the documentation in Debian is 
scheduled soon because it's covered by the GFDL, that this is called an 
"editorial change", and that Debian doesn't actually care that this will 
e.g. remove all documentation about available options of the standard C 
compiler used by and shipped with Debian?

Is it true, that Debian will leave users with hardware affected by the 
firmware problem without a working installer in Debian 3.1?


The point is simply, that Debian does more and more look dogmatic at 
it's definition of "free software" without caring about the effects to 
it's users.


As a contrast, read the discussion between Christoph and Arjan in a part 
of this thread how to move firmware out of kernel drivers without 
problems for the users. This might not happen today, but it's better for 
the users.


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


^ permalink raw reply	[flat|nested] 102+ messages in thread

* RE: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-07 20:16             ` Raul Miller
@ 2005-04-07 23:20               ` David Schwartz
  2005-04-08  3:55                 ` Raul Miller
  0 siblings, 1 reply; 102+ messages in thread
From: David Schwartz @ 2005-04-07 23:20 UTC (permalink / raw)
  To: linux-kernel, debian-legal, linux-acenic


> On Thu, Apr 07, 2005 at 01:26:17AM -0700, David Schwartz wrote:

> > If you believe the linker "merely aggregates" the object code for the
> > driver with the data for the firmware, I can't see how you can argue
> > that any linking is anything but mere aggregation. In neither case can
> > you separate the linked work into the two separate works and in both
> > cases the linker provides one work direct access to the other.

> You can indeed separate the firmware and the kernel into two separate
> works.  That's what people have been proposing as the solution to this
> problem.

> Also, "mere aggregation" is a term from the GPL.  You can read what
> it says there yourself.  But basically it's there so that people make
> a distinction between the program itself and other stuff that isn't
> the program.

	It's also there because the GPL can only apply to either works placed under
it by their authors and works that are legally classified as derivative. If
you merely aggregate two works, there is no derivation. The GPL is making
clear that it's not trying to exceed the scope of its authority (which is
copyright law).

> Without that mere aggregation clause, people might be claiming that
> text on a disk has to be GPLed because of emacs, or that postscript
> files have to be GPLed because of ghostscript, or more generally that
> arbitrary object FOO has to be GPLed because of gpled program BAR.

	They could, but they would still be wrong. Because if you "merely
aggregate" two works, the result is still two works that can each be under
their own license. The GPL is only making clear what is outside its
authority, but it does not set the scope of its own authority anyway.

> Put another way, what the linker does or doesn't do isn't really the
> issue.

	Well it is. The question is whether you can link two object files together
and distribute the result under the license of each independent file,
treating it like a disk with two files on it, rather than as a single work.

> People like to think that the linker is somehow special for copyright,
> but it's not.  Either the stuff being linked is protected by copyright
> even when it's not linked or it's not protected by copyright after it is
> linked.  If the license says something about linking then that matters,
> but only for cases where the code was protected by copyright even before
> it was linked.  And then linking only matters in the specific way that
> that license says it matters.

	Regardless of what the GPL says, there is a genuine question of whether
linking together file A and file B results in a file C that contains the two
separate works or is a single work that is derivative of both A and B. This
is important because of aspects of copyright law that the GPL acknowledges
explicitly but does not get to decide.

	DS



^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-07 18:42                                 ` Sven Luther
@ 2005-04-08  3:06                                   ` Eric W. Biederman
  2005-04-08  6:41                                     ` Sven Luther
  0 siblings, 1 reply; 102+ messages in thread
From: Eric W. Biederman @ 2005-04-08  3:06 UTC (permalink / raw)
  To: Sven Luther
  Cc: Arjan van de Ven, Christoph Hellwig, Ian Campbell,
	Theodore Ts'o, Greg KH, Michael Poole, debian-legal,
	debian-kernel, linux-kernel

Sven Luther <sven.luther@wanadoo.fr> writes:

> > It sounds like you are now looking at the question of are the
> > huge string of hex characters the preferred form for making
> > modifications to firmware.  Personally I would be surprised
> > but those hunks are small enough it could have been written
> > in machine code.
> 
> Yep, i also think it is in broadcom's best interest to modify the licencing
> text accordyingly, since i suppose someone could technicaly come after them
> legally to obtain said source code to this firmware. Unprobable though.

Possibly.  It sounds like that is what you want to do.
 
> > So I currently have no reason to believe that anything has been
> > done improperly with that code.
> 
> Well, it all depends if you consider this firmware blob as software, which i
> feel it is without doubt, or we have not the same definition of software,
> i.e., the program which runs on the hardware, or not. We cannot claim this is
> data,
> 
> since there should be at least some kind of executable code in it,
> independenlty of the fact that we claim that data is also software.

Do you have any evidence that ``software'' was not written directly in
machine code?   Software is written directly in machine code when a programmer
looks at the instruction set and writes down the binary representation
of the instructions.  I know ISC dhcpd has packet filter code that was written
in that manner, so it is not a lost art.   And it is done often enough when
an assembler will not cooperate, and generate the correct instruction.

Without evidence that we don't have the preferred form of the software
for making modifications I don't see how you can complain.

Eric



^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-07 23:20               ` David Schwartz
@ 2005-04-08  3:55                 ` Raul Miller
  2005-04-08  7:41                   ` Sven Luther
  0 siblings, 1 reply; 102+ messages in thread
From: Raul Miller @ 2005-04-08  3:55 UTC (permalink / raw)
  To: linux-kernel, debian-legal, linux-acenic

> > Also, "mere aggregation" is a term from the GPL.  You can read what
> > it says there yourself.  But basically it's there so that people make
> > a distinction between the program itself and other stuff that isn't
> > the program.

On Thu, Apr 07, 2005 at 04:20:50PM -0700, David Schwartz wrote:
>	It's also there because the GPL can only apply to either works
> placed under it by their authors and works that are legally classified
> as derivative. If you merely aggregate two works, there is no
> derivation. The GPL is making clear that it's not trying to exceed the
> scope of its authority (which is copyright law).

The issue of whether or not the combined work is a derivative under
copyright law is a copyright law issue.  The GPL does concern itself
with that issue, but not in the "mere aggregation" clause.

The "mere aggregation" clause holds regardless of whether or not the
combined work is a derivative under copyright law.

[P.S. I've set the Reply-To: header on this message because I think this
thread has drifted away from kernel issues.]

-- 
Raul

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-08  3:06                                   ` Eric W. Biederman
@ 2005-04-08  6:41                                     ` Sven Luther
  0 siblings, 0 replies; 102+ messages in thread
From: Sven Luther @ 2005-04-08  6:41 UTC (permalink / raw)
  To: Eric W. Biederman
  Cc: Sven Luther, Arjan van de Ven, Christoph Hellwig, Ian Campbell,
	Theodore Ts'o, Greg KH, Michael Poole, debian-legal,
	debian-kernel, linux-kernel

On Thu, Apr 07, 2005 at 09:06:58PM -0600, Eric W. Biederman wrote:
> Sven Luther <sven.luther@wanadoo.fr> writes:
> 
> > > It sounds like you are now looking at the question of are the
> > > huge string of hex characters the preferred form for making
> > > modifications to firmware.  Personally I would be surprised
> > > but those hunks are small enough it could have been written
> > > in machine code.
> > 
> > Yep, i also think it is in broadcom's best interest to modify the licencing
> > text accordyingly, since i suppose someone could technicaly come after them
> > legally to obtain said source code to this firmware. Unprobable though.
> 
> Possibly.  It sounds like that is what you want to do.

No, i am making them aware of the possibility, and hoping they fix the issue,
but we will see. If they fail to act on this, i don't understand why though,
since it is just addition of a clarification. It is not as if i am asking for
the release of all their chip specs or something such.

> > since there should be at least some kind of executable code in it,
> > independenlty of the fact that we claim that data is also software.
> 
> Do you have any evidence that ``software'' was not written directly in
> machine code?   Software is written directly in machine code when a programmer

So what, i seriously doubt they where written using an vi in C, as the code
currently stands, so we do need an additional level of source code, being it
only some asm code or something.

> looks at the instruction set and writes down the binary representation
> of the instructions.  I know ISC dhcpd has packet filter code that was written
> in that manner, so it is not a lost art.   And it is done often enough when
> an assembler will not cooperate, and generate the correct instruction.

But again, this is not the common assumption, so if this is so, they should
write it down black on white in the copyright notice, and everyone would be
happy.

> Without evidence that we don't have the preferred form of the software
> for making modifications I don't see how you can complain.

No, it goes the other way around. Without evidence that all is clean, we have
no right to distribute that code, and if what you describe was the case, a
couple of lines telling us that fact would solve the issue, and not even need
the involvement of their legal department. I would be somewhat suspisious
though if all these guys came up and said they just wrote said firmware in
binary directly though.

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-07 21:07             ` Adrian Bunk
@ 2005-04-08  7:22               ` Josselin Mouette
  2005-04-08 11:23                 ` Jörn Engel
  2005-04-08 17:34                 ` Adrian Bunk
  2005-04-08 11:53               ` Sven Luther
  1 sibling, 2 replies; 102+ messages in thread
From: Josselin Mouette @ 2005-04-08  7:22 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: debian-legal, debian-kernel, linux-kernel

Le jeudi 07 avril 2005 à 23:07 +0200, Adrian Bunk a écrit :
> > You are mixing apples and oranges. The fact that the GFDL sucks has
> > nothing to do with the firmware issue. With the current situation of
> > firmwares in the kernel, it is illegal to redistribute binary images of
> > the kernel. Full stop. End of story. Bye bye. Redhat and SuSE may still
> > be willing to distribute such binary images, but it isn't our problem.
> 
> It's a grey area.
> 
> debian-legal did pick one of the possible opinions on this matter.

When there are several possible interpretations, you have to pick up the
more conservative one, as it's not up to us to make the interpretation,
but to a court.

> Is it true, that the removal of much of the documentation in Debian is 
> scheduled soon because it's covered by the GFDL, that this is called an 
> "editorial change", and that Debian doesn't actually care that this will 
> e.g. remove all documentation about available options of the standard C 
> compiler used by and shipped with Debian?

The situation changed only in the mind of the person who was the release
manager at that time. The "old" wording is "Debian will remain 100% free
software", and he understood that as "100% of software in Debian will
remain free". The common interpretation is that this wording doesn't
allow GFDL documentation either. The fact these documents are very
useful is irrelevant: the GFDL is a real piece of crap, only a few fools
at the FSF are really arguing it is a free license.

Instead of babbling, some people have started to discuss this with
upstream, and are trying to come up with a GPLed documentation for GCC.
This is much more constructive than repeating again and again "Bleh,
Debian are a bunch of bigots who don't care of the compiler being
documented."

> Is it true, that Debian will leave users with hardware affected by the 
> firmware problem without a working installer in Debian 3.1?

The case of hardware really needing a firwmare to work *and* needed at
installation time is rare. I've only heard of some tg3-based cards. Most
of them will work without the firmware, and for the few remaining ones,
it only means network installation won't work.

> The point is simply, that Debian does more and more look dogmatic at 
> it's definition of "free software" without caring about the effects to 
> it's users.

Being careless in the definition of "free software" is a real disservice
to users. It makes them rely on e.g. non-free documentation for everyday
use.

> As a contrast, read the discussion between Christoph and Arjan in a part 
> of this thread how to move firmware out of kernel drivers without 
> problems for the users. This might not happen today, but it's better for 
> the users.

Some Debian developers have been writing such patches so that we can
still run Linux on this hardware, long before the topic was raised on
the LKML.
-- 
 .''`.           Josselin Mouette        /\./\
: :' :           josselin.mouette@ens-lyon.org
`. `'                        joss@debian.org
   `-  Debian GNU/Linux -- The power of freedom


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-08  3:55                 ` Raul Miller
@ 2005-04-08  7:41                   ` Sven Luther
  2005-04-08 12:30                     ` Raul Miller
  0 siblings, 1 reply; 102+ messages in thread
From: Sven Luther @ 2005-04-08  7:41 UTC (permalink / raw)
  To: debian-legal; +Cc: linux-kernel, linux-acenic

On Thu, Apr 07, 2005 at 11:55:44PM -0400, Raul Miller wrote:
> > > Also, "mere aggregation" is a term from the GPL.  You can read what
> > > it says there yourself.  But basically it's there so that people make
> > > a distinction between the program itself and other stuff that isn't
> > > the program.
> 
> On Thu, Apr 07, 2005 at 04:20:50PM -0700, David Schwartz wrote:
> >	It's also there because the GPL can only apply to either works
> > placed under it by their authors and works that are legally classified
> > as derivative. If you merely aggregate two works, there is no
> > derivation. The GPL is making clear that it's not trying to exceed the
> > scope of its authority (which is copyright law).
> 
> The issue of whether or not the combined work is a derivative under
> copyright law is a copyright law issue.  The GPL does concern itself
> with that issue, but not in the "mere aggregation" clause.
> 
> The "mere aggregation" clause holds regardless of whether or not the
> combined work is a derivative under copyright law.
> 
> [P.S. I've set the Reply-To: header on this message because I think this
> thread has drifted away from kernel issues.]

Thanks.

BTW, have any of you read the analysis i made, where i claim, rooted in the
GPL FAQ and with examples, why i believe that the firmware can be considerated
a non derivative of the linux kernel. The main points is that the firmware is
not aimed to run in the same address space, even not the same cpu, as the rest
of the linux kernel, and that there is a clearly defined communication channel
between the GPLed driver and the target processor running the firmware.

I further argumented that taking any different stance would bring us worlds of
hurt as we would consider the bios as being a derivative work of the kernel
they are running, or the bootloader, or the firmware present in proms on
devices loaded into the system and so on.

I think only the fact that if you consider firmware as being a derivative
work, you should consider it a derivative work also when it is flashed on the
prom of a pci card or what not, is decisive enough to make those firmware
blobs not derivative works of the kernel they are under.

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-08  7:22               ` Josselin Mouette
@ 2005-04-08 11:23                 ` Jörn Engel
  2005-04-08 17:34                 ` Adrian Bunk
  1 sibling, 0 replies; 102+ messages in thread
From: Jörn Engel @ 2005-04-08 11:23 UTC (permalink / raw)
  To: Josselin Mouette; +Cc: Adrian Bunk, debian-legal, debian-kernel, linux-kernel

On Fri, 8 April 2005 09:22:00 +0200, Josselin Mouette wrote:
> Le jeudi 07 avril 2005 à 23:07 +0200, Adrian Bunk a écrit :
> 
> > As a contrast, read the discussion between Christoph and Arjan in a part 
> > of this thread how to move firmware out of kernel drivers without 
> > problems for the users. This might not happen today, but it's better for 
> > the users.
> 
> Some Debian developers have been writing such patches so that we can
> still run Linux on this hardware, long before the topic was raised on
> the LKML.

I can point you to dozens of patches I have written that were never
merged.  Not because Linus is a d*ckhead (he's not), but because they
were not good enough then and I didn't spend the time to improve them,
so far.

"Someone's written some patches" is a long way from "we have a good
solution".

Jörn

-- 
You cannot suppose that Moliere ever troubled himself to be original in the
matter of ideas. You cannot suppose that the stories he tells in his plays
have never been told before. They were culled, as you very well know.
-- Andre-Louis Moreau in Scarabouche

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-07 21:07             ` Adrian Bunk
  2005-04-08  7:22               ` Josselin Mouette
@ 2005-04-08 11:53               ` Sven Luther
  1 sibling, 0 replies; 102+ messages in thread
From: Sven Luther @ 2005-04-08 11:53 UTC (permalink / raw)
  To: Adrian Bunk, Josselin Mouette, debian-legal, debian-kernel,
	linux-kernel

On Thu, Apr 07, 2005 at 11:07:23PM +0200, Adrian Bunk wrote:
> On Tue, Apr 05, 2005 at 04:05:07PM +0200, Josselin Mouette wrote:
> > Le lundi 04 avril 2005 à 21:32 +0200, Adrian Bunk a écrit :
> > > On Mon, Apr 04, 2005 at 09:05:18PM +0200, Marco d'Itri wrote:
> > > > On Apr 04, Greg KH <greg@kroah.com> wrote:
> > > > 
> > > > > What if we don't want to do so?  I know I personally posted a solution
> > > > Then probably the extremists in Debian will manage to kill your driver,
> > > > like they did with tg3 and others.
> > > 
> > > And as they are doing with e.g. the complete gcc documentation.
> > > 
> > > No documentation for the C compiler (not even a documentation of the 
> > > options) will be neither fun for the users of Debian nor for the Debian 
> > > maintainers - but it's the future of Debian...
> > 
> > You are mixing apples and oranges. The fact that the GFDL sucks has
> > nothing to do with the firmware issue. With the current situation of
> > firmwares in the kernel, it is illegal to redistribute binary images of
> > the kernel. Full stop. End of story. Bye bye. Redhat and SuSE may still
> > be willing to distribute such binary images, but it isn't our problem.
> >...
> 
> 
> It's a grey area.
> 
> debian-legal did pick one of the possible opinions on this matter.
> 
> The similarities between the GFDL and the firmware discussion can be 
> described with the following two questions:
> 
> Is it true, that the removal of much of the documentation in Debian is 
> scheduled soon because it's covered by the GFDL, that this is called an 
> "editorial change", and that Debian doesn't actually care that this will 
> e.g. remove all documentation about available options of the standard C 
> compiler used by and shipped with Debian?

Notice though that the GFDL problematic is part of a much older issue between
debian and the FSF on this, and i believe discussions to solve this issues
have been under discussions since more than a year without real progress that
i know of.

> Is it true, that Debian will leave users with hardware affected by the 
> firmware problem without a working installer in Debian 3.1?

Yes, probably. not my fault though, and the current discussion is part of the
plan to fix this, through availability of non-free installer components.

> The point is simply, that Debian does more and more look dogmatic at 
> it's definition of "free software" without caring about the effects to 
> it's users.

I reject this affirmation. 

> As a contrast, read the discussion between Christoph and Arjan in a part 
> of this thread how to move firmware out of kernel drivers without 
> problems for the users. This might not happen today, but it's better for 
> the users.

It is indeed, but it is something that involves kernel development which i
don't really have time to do right now, and even if we where to do that, the
legal problem of the messed licencing situation would remain. The current
short term solution is simply to move the affected drivers to non-free, and
provide mechanisms for the user to load these installer modules with the free
installer, or have a couple of builds of a non-free installer which include
these non-free modules.

Saying that we are dogmatic, without even caring to understand what the
current reality is doesn't strike me at the most reasonable way to discuss
such issues.

Friendly,

Sven Luther


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-08  7:41                   ` Sven Luther
@ 2005-04-08 12:30                     ` Raul Miller
  0 siblings, 0 replies; 102+ messages in thread
From: Raul Miller @ 2005-04-08 12:30 UTC (permalink / raw)
  To: debian-legal, linux-kernel, linux-acenic

On Fri, Apr 08, 2005 at 09:41:35AM +0200, Sven Luther wrote:
> BTW, have any of you read the analysis i made, where i claim, rooted
> in the GPL FAQ and with examples, why i believe that the firmware can
> be considerated a non derivative of the linux kernel.

I hadn't.  I did just now.  Here's my opinions, after reading it:

[1a] It's pretty long, and some of the redundancy is not really relevant
to the issue at hand.  This might be less of an issue, except

[1b] It has some grammar problems that should be fixed.

[2] The presented arguments all look plausible.  Maybe I should study
it more, but I didn't see any significant logical flaws.

[3] It focuses on debian issues more than kernel issues (though a
dedicated reader could see some issues relevant to the linux-kernel
mailing list).

I agree with both you and the gpl faq writers that "communicates at arms
length" is probably a good measure of whether or not the kernel and the
module are the same program.  I can think of cases where this wouldn't
hold (GPLed documentation, for example), but those kinds of issues don't
seem to be relevant here.

> I further argumented that taking any different stance would bring us worlds of
> hurt as we would consider the bios as being a derivative work of the kernel
> they are running, or the bootloader, or the firmware present in proms on
> devices loaded into the system and so on.

Here, you've confused two issues:  "Are A and B part of the same program?"
and  "Are A and B together part of a derivative work under copyright law?"
Sometimes one is true, sometimes the other is true.  You have a GPL
issue when both are true.

One question has to do with the function of A and B.  The other question
is whether the combination is eligible for copyright protection.
Copyright protection is not granted or denied because of functionality.
The functional issues are relevant only because they're written into
the license.

Of course there can be other GPL issues (e.g. it's bad to put a GPL
notice on something which isn't GPLed).

And, of course, there can be non-GPL issues (pulling the blobs out of
the kernel lets people update their firmware without having to compile
the kernel or a kernel module).

> I think only the fact that if you consider firmware as being a derivative
> work, you should consider it a derivative work also when it is flashed on the
> prom of a pci card or what not, is decisive enough to make those firmware
> blobs not derivative works of the kernel they are under.

Uh... not precisely.  You have your facts straight, but your logic is bad.
This fact alone isn't enough to decide whether or not firmware is a
derivative work.

Fortunately this thought isn't a big deal for the cases we're currently
talking about.

-- 
Raul

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-08  7:22               ` Josselin Mouette
  2005-04-08 11:23                 ` Jörn Engel
@ 2005-04-08 17:34                 ` Adrian Bunk
  2005-04-08 17:42                   ` Josselin Mouette
  2005-04-09  0:31                   ` Raul Miller
  1 sibling, 2 replies; 102+ messages in thread
From: Adrian Bunk @ 2005-04-08 17:34 UTC (permalink / raw)
  To: Josselin Mouette; +Cc: debian-legal, debian-kernel, linux-kernel

On Fri, Apr 08, 2005 at 09:22:00AM +0200, Josselin Mouette wrote:
> Le jeudi 07 avril 2005 à 23:07 +0200, Adrian Bunk a écrit :
> > > You are mixing apples and oranges. The fact that the GFDL sucks has
> > > nothing to do with the firmware issue. With the current situation of
> > > firmwares in the kernel, it is illegal to redistribute binary images of
> > > the kernel. Full stop. End of story. Bye bye. Redhat and SuSE may still
> > > be willing to distribute such binary images, but it isn't our problem.
> > 
> > It's a grey area.
> > 
> > debian-legal did pick one of the possible opinions on this matter.
> 
> When there are several possible interpretations, you have to pick up the
> more conservative one, as it's not up to us to make the interpretation,
> but to a court.


If Debian was at least consistent.

Why has Debian a much more liberal interpretation of MP3 patent issues 
than RedHat?


>...
> Instead of babbling, some people have started to discuss this with
> upstream, and are trying to come up with a GPLed documentation for GCC.
> This is much more constructive than repeating again and again "Bleh,
> Debian are a bunch of bigots who don't care of the compiler being
> documented."


Will the replacement documentation for all affected software be 
available before the GFDL documentation gets removed?

At least theoretically, the users are a priority for Debian equally to 
free software.


> > Is it true, that Debian will leave users with hardware affected by the 
> > firmware problem without a working installer in Debian 3.1?
> 
> The case of hardware really needing a firwmare to work *and* needed at
> installation time is rare. I've only heard of some tg3-based cards. Most
> of them will work without the firmware, and for the few remaining ones,
> it only means network installation won't work.


How do you install Debian on a harddisk behind a SCSI controller who's 
driver was removed from the Debian kernels due to it's firmware?


> > The point is simply, that Debian does more and more look dogmatic at 
> > it's definition of "free software" without caring about the effects to 
> > it's users.
> 
> Being careless in the definition of "free software" is a real disservice
> to users. It makes them rely on e.g. non-free documentation for everyday
> use.
>...


Documentation is "software"?

Non-free documentation is better than no documentation.

Non-free software has several problems, but some of them like the right 
to do modifications are less important for documentation, since e.g. 
fixes for security bugs are not an issue.

Removing the available documentation without an equal replacement is a 
real disserve for your users.


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


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-08 17:34                 ` Adrian Bunk
@ 2005-04-08 17:42                   ` Josselin Mouette
  2005-04-08 18:01                     ` Adrian Bunk
  2005-04-09  0:31                   ` Raul Miller
  1 sibling, 1 reply; 102+ messages in thread
From: Josselin Mouette @ 2005-04-08 17:42 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: debian-legal, debian-kernel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1615 bytes --]

Le vendredi 08 avril 2005 à 19:34 +0200, Adrian Bunk a écrit :
> > When there are several possible interpretations, you have to pick up the
> > more conservative one, as it's not up to us to make the interpretation,
> > but to a court.
> 
> If Debian was at least consistent.
> 
> Why has Debian a much more liberal interpretation of MP3 patent issues 
> than RedHat?

Because we already know that patents on MP3 decoders are not
enforceable. Furthermore, the holders of these patents have repeatedly
stated they won't ask for fees on MP3 decoders.

> How do you install Debian on a harddisk behind a SCSI controller who's 
> driver was removed from the Debian kernels due to it's firmware?

Which SCSI controller are you talking about?

> > Being careless in the definition of "free software" is a real disservice
> > to users. It makes them rely on e.g. non-free documentation for everyday
> > use.
> >...
> 
> Documentation is "software"?

Sure.

> Non-free documentation is better than no documentation.
> 
> Non-free software has several problems, but some of them like the right 
> to do modifications are less important for documentation, since e.g. 
> fixes for security bugs are not an issue.
> 
> Removing the available documentation without an equal replacement is a 
> real disserve for your users.

GFDL documentation will still be available in the non-free archive.
-- 
 .''`.           Josselin Mouette        /\./\
: :' :           josselin.mouette@ens-lyon.org
`. `'                        joss@debian.org
  `-  Debian GNU/Linux -- The power of freedom

[-- Attachment #2: Ceci est une partie de message numériquement signée --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-08 17:42                   ` Josselin Mouette
@ 2005-04-08 18:01                     ` Adrian Bunk
  2005-04-08 18:16                       ` Rich Walker
  2005-04-08 18:42                       ` Josselin Mouette
  0 siblings, 2 replies; 102+ messages in thread
From: Adrian Bunk @ 2005-04-08 18:01 UTC (permalink / raw)
  To: Josselin Mouette; +Cc: debian-legal, debian-kernel, linux-kernel

On Fri, Apr 08, 2005 at 07:42:51PM +0200, Josselin Mouette wrote:
> Le vendredi 08 avril 2005 à 19:34 +0200, Adrian Bunk a écrit :
> > > When there are several possible interpretations, you have to pick up the
> > > more conservative one, as it's not up to us to make the interpretation,
> > > but to a court.
> > 
> > If Debian was at least consistent.
> > 
> > Why has Debian a much more liberal interpretation of MP3 patent issues 
> > than RedHat?
> 
> Because we already know that patents on MP3 decoders are not
> enforceable. Furthermore, the holders of these patents have repeatedly

How do you know the patents aren't enforceable?

> stated they won't ask for fees on MP3 decoders.

  http://www.mp3licensing.com/royalty/index.html

talks about 0.75 Dollar for a decoder.

> > How do you install Debian on a harddisk behind a SCSI controller who's 
> > driver was removed from the Debian kernels due to it's firmware?
> 
> Which SCSI controller are you talking about?

Quoting README.Debian of the Debian kernel sources:

<--  snip  -->

* QLA2XXX firmware, driver disabled:
  . drivers/scsi/qla2xxx/*_fw.c

<--  snip  -->

There are a few other SCSI controllers where even the Debian kernel 
sources still ship both the drivers and the firmware. I do not claim to 
understand the latter...

> > > Being careless in the definition of "free software" is a real disservice
> > > to users. It makes them rely on e.g. non-free documentation for everyday
> > > use.
> > >...
> > 
> > Documentation is "software"?
> 
> Sure.

Every book in my book shelf is software?

That doesn't match how people outside of Debian use the word "software".

> > Non-free documentation is better than no documentation.
> > 
> > Non-free software has several problems, but some of them like the right 
> > to do modifications are less important for documentation, since e.g. 
> > fixes for security bugs are not an issue.
> > 
> > Removing the available documentation without an equal replacement is a 
> > real disserve for your users.
> 
> GFDL documentation will still be available in the non-free archive.

Assuming you have an online connection and a friend told you how to 
manually edit your /etc/apt/sources.list for non-free.

But where's the documentation if you don't have an online connection but 
only the dozen binary CDs of Debian?

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


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-08 18:01                     ` Adrian Bunk
@ 2005-04-08 18:16                       ` Rich Walker
  2005-04-08 18:42                       ` Josselin Mouette
  1 sibling, 0 replies; 102+ messages in thread
From: Rich Walker @ 2005-04-08 18:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: debian-legal, debian-kernel

Adrian Bunk <bunk@stusta.de> writes:

> On Fri, Apr 08, 2005 at 07:42:51PM +0200, Josselin Mouette wrote:
>> Le vendredi 08 avril 2005 à 19:34 +0200, Adrian Bunk a écrit :
>> GFDL documentation will still be available in the non-free archive.
>
> Assuming you have an online connection and a friend told you how to 
> manually edit your /etc/apt/sources.list for non-free.

You *do* know that current versions of the installer ask you if you want
non-free, don't you?


> But where's the documentation if you don't have an online connection but 
> only the dozen binary CDs of Debian?

Clearly, since the judgement is "it can't be legally distributed as part
of a package of Debian CD's", it isn't on a package of Debian CD's.



cheers, Rich.

-- 
rich walker         |  Shadow Robot Company | rw@shadow.org.uk
technical director     251 Liverpool Road   |
need a Hand?           London  N1 1LX       | +UK 20 7700 2487
www.shadow.org.uk/products/newhand.shtml


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-08 18:01                     ` Adrian Bunk
  2005-04-08 18:16                       ` Rich Walker
@ 2005-04-08 18:42                       ` Josselin Mouette
  2005-04-10  9:24                         ` Giuseppe Bilotta
  1 sibling, 1 reply; 102+ messages in thread
From: Josselin Mouette @ 2005-04-08 18:42 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: debian-legal, debian-kernel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1808 bytes --]

Le vendredi 08 avril 2005 à 20:01 +0200, Adrian Bunk a écrit :
> > Because we already know that patents on MP3 decoders are not
> > enforceable. Furthermore, the holders of these patents have repeatedly
> 
> How do you know the patents aren't enforceable?

Because decoding a MP3 is a trivial operation.

> > stated they won't ask for fees on MP3 decoders.
> 
>   http://www.mp3licensing.com/royalty/index.html
> 
> talks about 0.75 Dollar for a decoder.

I can't find the reference, but IIRC it was stated later that they don't
want to apply this to free (as in beer) software.

> > > Documentation is "software"?
> > 
> > Sure.
> 
> Every book in my book shelf is software?

If you digitalize it, yes.

> That doesn't match how people outside of Debian use the word "software".

When we tried to define what is "software", the only acceptable
definitions we found were things like "every kind of numeric stuff" or
"everything that can be included in Debian". You can try to come up with
your own, you'll see it's not that easy.

> > GFDL documentation will still be available in the non-free archive.
> 
> Assuming you have an online connection and a friend told you how to 
> manually edit your /etc/apt/sources.list for non-free.
> 
> But where's the documentation if you don't have an online connection but 
> only the dozen binary CDs of Debian?

Without the GFDL documentation, you'll have the right to lock the room
in which you put the CDs. The GFDL forbids that, because you'd be "using
technical measures to obstruct further copying" of the documentations.
-- 
 .''`.           Josselin Mouette        /\./\
: :' :           josselin.mouette@ens-lyon.org
`. `'                        joss@debian.org
  `-  Debian GNU/Linux -- The power of freedom

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-08 17:34                 ` Adrian Bunk
  2005-04-08 17:42                   ` Josselin Mouette
@ 2005-04-09  0:31                   ` Raul Miller
  2005-04-09 14:38                     ` Adrian Bunk
  1 sibling, 1 reply; 102+ messages in thread
From: Raul Miller @ 2005-04-09  0:31 UTC (permalink / raw)
  To: debian-legal, debian-kernel, linux-kernel

On Fri, Apr 08, 2005 at 07:34:00PM +0200, Adrian Bunk wrote:
> If Debian was at least consistent.
> 
> Why has Debian a much more liberal interpretation of MP3 patent issues 
> than RedHat?

It's impossible to treat patents consistently.

The U.S. patent office, at least, has granted patents on natural laws,
on stuff that's already patented, on stuff with clear prior art, on
trivial math operations and so on.  Patents are being granted so quickly
there's no way of even knowing what's patented.

Or were you hoping that Debian would follow Red Hat's lead?

As for this particular patent, I'm not really sure what's being patented.
Trial and error?  Spectral quantization?  The specific data format?
Addition, multiplication, and exponentiation?  In many respects, mp3 is
similar to jpeg.  Does that mean that any use of the techniques used
by jpeg in the domain of audio is covered by this patent?  Does that
mean that jpeg is in violation of this patent?  If I use the same kind
of math with a time dimension, am I violating some other mpeg patents?
What about the other hundreds of thousands of patents?  How many of
them am I violating when I use lossy compression based on spectral
quantization?

-- 
Raul

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-09  0:31                   ` Raul Miller
@ 2005-04-09 14:38                     ` Adrian Bunk
  2005-04-09 20:31                       ` Raul Miller
  0 siblings, 1 reply; 102+ messages in thread
From: Adrian Bunk @ 2005-04-09 14:38 UTC (permalink / raw)
  To: Raul Miller; +Cc: debian-legal, debian-kernel, linux-kernel

On Fri, Apr 08, 2005 at 08:31:22PM -0400, Raul Miller wrote:
> On Fri, Apr 08, 2005 at 07:34:00PM +0200, Adrian Bunk wrote:
> > If Debian was at least consistent.
> > 
> > Why has Debian a much more liberal interpretation of MP3 patent issues 
> > than RedHat?
> 
> It's impossible to treat patents consistently.
> 
> The U.S. patent office, at least, has granted patents on natural laws,
> on stuff that's already patented, on stuff with clear prior art, on
> trivial math operations and so on.  Patents are being granted so quickly
> there's no way of even knowing what's patented.
> 
> Or were you hoping that Debian would follow Red Hat's lead?


Even RedHat with a stronger financial background than Debian considered 
the MP3 patents being serious enough to remove MP3 support.

Yes, Debian can choose to put a higher risk on their distributors and 
mirrors - there's nothing wrong with this.


Note that this is a respose to Josselin's statement:

<--  snip  -->

When there are several possible interpretations, you have to pick up the
more conservative one, as it's not up to us to make the interpretation,
but to a court.

<--  snip  -->


It's simply silly to be extremely picky on copyright issues while being 
extremely liberal on patent issues - the risk of a Debian distributor 
being sued for patent violations (no matter how the lawsuit might end) 
is definitely present.


> As for this particular patent, I'm not really sure what's being patented.
>...


Which one of the 23 patents they list do you call "this particular 
patent"?


> Raul


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


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-09 14:38                     ` Adrian Bunk
@ 2005-04-09 20:31                       ` Raul Miller
  0 siblings, 0 replies; 102+ messages in thread
From: Raul Miller @ 2005-04-09 20:31 UTC (permalink / raw)
  To: debian-legal, debian-kernel, linux-kernel

> > It's impossible to treat patents consistently.

On Sat, Apr 09, 2005 at 04:38:15PM +0200, Adrian Bunk wrote:
> Even RedHat with a stronger financial background than Debian considered 
> the MP3 patents being serious enough to remove MP3 support.

It's silly to treat financial risk as being a one dimensional quantity.

It could easily be that Red Hat decided that the mp3 patent owners would
be going after people with deep pockets.  If this is the risk model,
Red Hat's risk would be much much higher than Debian's.

> Note that this is a respose to Josselin's statement:
> 
< When there are several possible interpretations, you have to pick up the
< more conservative one, as it's not up to us to make the interpretation,
< but to a court.

Sure, if you have several plausible interpretations, you pick the one
you feel is likely to be the most important, and if all of them seem
likely you pick the one that seems worst.

But, ultimately, you can't treat software patents consistently.
There's no reasonable way to do so.

> It's simply silly to be extremely picky on copyright issues while being 
> extremely liberal on patent issues - the risk of a Debian distributor 
> being sued for patent violations (no matter how the lawsuit might end) 
> is definitely present.

Anything to do with software patents is silly.  Being liberal about
software patents is silly.  Being conservative about software patents
is silly.

Copyright, while far from perfect, can at least be reasoned about.

> > As for this particular patent, I'm not really sure what's being patented.
> >...

> Which one of the 23 patents they list do you call "this particular
> patent"?

What makes you think I'm sure about what's being patented in 22 of
those patents?

I should probably have said "As for patent claims applying to mp3,
...", but the issue is thorny enough that even that might not have been
accurate enough.

But, treating "this particular patent" as a meta-syntactic variable
should be adequate for you to understand what I was saying.

Bottom line, though: softare patents generally make very little sense.

-- 
Raul

^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-08 18:42                       ` Josselin Mouette
@ 2005-04-10  9:24                         ` Giuseppe Bilotta
  2005-04-11 20:55                           ` Raul Miller
  0 siblings, 1 reply; 102+ messages in thread
From: Giuseppe Bilotta @ 2005-04-10  9:24 UTC (permalink / raw)
  To: linux-kernel; +Cc: debian-legal, debian-kernel, debian-legal, linux-kernel

On Fri, 08 Apr 2005 20:42:17 +0200, Josselin Mouette wrote:

>> Every book in my book shelf is software?
> 
> If you digitalize it, yes.

AFAIK software only refers to programs, not to arbitrary sequences of
bytes. An MP3 file isn't "software". Although it surely isn't hardware
either.

-- 
Giuseppe "Oblomov" Bilotta

"E la storia dell'umanità, babbo?"
"Ma niente: prima si fanno delle cazzate,
 poi si studia che cazzate si sono fatte"
(Altan)
("And what about the history of the human race, dad?"
 "Oh, nothing special: first they make some foolish things,
  then you study what foolish things have been made")


^ permalink raw reply	[flat|nested] 102+ messages in thread

* Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
  2005-04-10  9:24                         ` Giuseppe Bilotta
@ 2005-04-11 20:55                           ` Raul Miller
  0 siblings, 0 replies; 102+ messages in thread
From: Raul Miller @ 2005-04-11 20:55 UTC (permalink / raw)
  To: debian-legal, debian-kernel, linux-kernel

On Sun, Apr 10, 2005 at 11:24:10AM +0200, Giuseppe Bilotta wrote:
> AFAIK software only refers to programs, not to arbitrary sequences of
> bytes. An MP3 file isn't "software". Although it surely isn't hardware
> either.

This point is a controversial point.  Different people make different
claims.

For example, http://www.answers.com/software -- the Computer Desktop
Encyclopedia asserts that you are correct, while Wikipedia asserts that
you are incorrect.  The American Heritage Dictionary implies you are
correct, and WordNet implies that you're incorrect.

Usage is still evolving, so who knows where this issue will stand in
five years.

In the context of the linux kernel (which I presume you're talking about,
given the message headers), I don't think it's plausible to suggest that
the occasional use of the term "software" in the license means that the
stuff under Documentation/ isn't covered by the license.

-- 
Raul

^ permalink raw reply	[flat|nested] 102+ messages in thread

end of thread, other threads:[~2005-04-11 20:56 UTC | newest]

Thread overview: 102+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-04 10:09 non-free firmware in kernel modules, aggregation and unclear copyright notice Sven Luther
2005-04-04 10:21 ` Arjan van de Ven
2005-04-04 10:59   ` Sven Luther
2005-04-07  7:17     ` Jes Sorensen
2005-04-07 11:27       ` Sven Luther
2005-04-04 13:26 ` Michael Poole
2005-04-04 14:16   ` Sven Luther
2005-04-04 17:51     ` Greg KH
2005-04-04 18:21       ` Sven Luther
2005-04-04 19:12         ` Ian Campbell
2005-04-04 19:24           ` Sven Luther
2005-04-04 19:36           ` Roland Dreier
2005-04-04 18:27       ` Sven Luther
2005-04-04 19:17         ` Greg KH
2005-04-04 19:29           ` Sven Luther
2005-04-04 19:58             ` Adrian Bunk
2005-04-04 20:23               ` Sven Luther
2005-04-04 21:05                 ` Adrian Bunk
2005-04-04 21:16                   ` Sven Luther
2005-04-04 20:55             ` Theodore Ts'o
2005-04-04 21:19               ` Sven Luther
2005-04-05  8:19                 ` Ian Campbell
2005-04-05  8:32                   ` Sven Luther
2005-04-05  8:49                     ` Ian Campbell
2005-04-05  9:11                       ` Christoph Hellwig
2005-04-05  9:28                         ` Arjan van de Ven
2005-04-05  9:32                           ` Christoph Hellwig
2005-04-05  9:36                             ` Arjan van de Ven
2005-04-05  9:39                               ` Christoph Hellwig
2005-04-05 10:42                                 ` Andres Salomon
2005-04-05  9:46                               ` Sven Luther
2005-04-05 12:09                             ` Jeff Garzik
2005-04-05 12:14                               ` Arjan van de Ven
2005-04-06 19:22                           ` Eric W. Biederman
2005-04-07  9:34                             ` Jeff Garzik
2005-04-07 10:28                               ` Christoph Hellwig
2005-04-07 11:27                             ` Sven Luther
2005-04-07 11:46                               ` Eric W. Biederman
2005-04-07 18:42                                 ` Sven Luther
2005-04-08  3:06                                   ` Eric W. Biederman
2005-04-08  6:41                                     ` Sven Luther
2005-04-05  9:30                         ` Ian Campbell
2005-04-05  9:36                           ` Sven Luther
2005-04-05 15:21                   ` Sven Luther
2005-04-05 21:37                     ` Don Armstrong
2005-04-05  4:23           ` [PATCH 00/04] Load keyspan firmware with hotplug Jan Harkes
2005-04-05  4:26             ` [PATCH 01/04] " Jan Harkes
2005-04-05  4:27               ` [PATCH 02/04] " Jan Harkes
2005-04-05  4:28                 ` [PATCH 03/04] " Jan Harkes
2005-04-05  4:51             ` [PATCH 00/04] " Dmitry Torokhov
2005-04-05  8:32               ` Kay Sievers
2005-04-05 11:39                 ` Jan Harkes
2005-04-05  9:22               ` Marcel Holtmann
2005-04-05 11:45                 ` Jan Harkes
2005-04-05 14:36                   ` Marcel Holtmann
2005-04-05 15:28                     ` Dmitry Torokhov
2005-04-05 15:37                       ` Marcel Holtmann
2005-04-05 15:31                     ` Jan Harkes
2005-04-05 16:46                       ` Marcel Holtmann
2005-04-05 16:20                   ` Dmitry Torokhov
2005-04-05  5:36             ` Sven Luther
2005-04-04 18:39       ` non-free firmware in kernel modules, aggregation and unclear copyright notice Matthew Wilcox
2005-04-04 19:55         ` Jeff Garzik
2005-04-04 20:27           ` Sven Luther
2005-04-04 20:47             ` Jeff Garzik
2005-04-04 21:24               ` Sven Luther
2005-04-04 21:58                 ` Sven Luther
2005-04-05  9:33               ` Sven Luther
2005-04-07  1:05               ` Alan Cox
2005-04-07  7:28               ` Jes Sorensen
2005-04-07  7:25         ` Jes Sorensen
2005-04-07  8:04           ` David Schmitt
2005-04-07  8:17             ` Xavier Bestel
2005-04-07  8:32               ` Olivier Galibert
2005-04-07  8:46                 ` Xavier Bestel
2005-04-07  8:26           ` David Schwartz
2005-04-07 20:16             ` Raul Miller
2005-04-07 23:20               ` David Schwartz
2005-04-08  3:55                 ` Raul Miller
2005-04-08  7:41                   ` Sven Luther
2005-04-08 12:30                     ` Raul Miller
2005-04-04 19:05       ` Marco d'Itri
2005-04-04 19:14         ` Greg KH
2005-04-04 19:32         ` Adrian Bunk
2005-04-05 14:05           ` Josselin Mouette
2005-04-05 15:39             ` Sven Luther
2005-04-07 21:07             ` Adrian Bunk
2005-04-08  7:22               ` Josselin Mouette
2005-04-08 11:23                 ` Jörn Engel
2005-04-08 17:34                 ` Adrian Bunk
2005-04-08 17:42                   ` Josselin Mouette
2005-04-08 18:01                     ` Adrian Bunk
2005-04-08 18:16                       ` Rich Walker
2005-04-08 18:42                       ` Josselin Mouette
2005-04-10  9:24                         ` Giuseppe Bilotta
2005-04-11 20:55                           ` Raul Miller
2005-04-09  0:31                   ` Raul Miller
2005-04-09 14:38                     ` Adrian Bunk
2005-04-09 20:31                       ` Raul Miller
2005-04-08 11:53               ` Sven Luther
2005-04-04 19:41         ` Sven Luther
     [not found] <psd40B.A.hYG.lSiUCB@murphy>
2005-04-05 15:12 ` [PATCH 00/04] Load keyspan firmware with hotplug Humberto Massa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox