All of lore.kernel.org
 help / color / mirror / Atom feed
From: Humberto Massa <humberto.massa@almg.gov.br>
To: linux-kernel@vger.kernel.org, debian-legal@lists.debian.org,
	linux-acenic@sunsite.dk
Subject: Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.
Date: Thu, 07 Apr 2005 09:15:07 -0300	[thread overview]
Message-ID: <4255244B.6070204@almg.gov.br> (raw)
In-Reply-To: <08Gc5.A.AFC.QJPVCB@murphy>

David Schwartz wrote:

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

I think this is undisputed.

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

This is where you are wrong IMMHO. All that is needed for you
to distribute the hexdump blob under the GPL is a declaration
from the copyright holder saying "this, to me, is the
preferred form for modification of the firmware and hence the
source code under the GPL."

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

After a *lot* of discussion, it was deliberated on d-l that
this is not that tricky at all, and that the "mere
aggregation" clause applies to the combination, for various
reasons, with a great degree of safety.  (Safer than that,
only after court) :-)

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

Now, if the firmware was specifically designed to work with
the linux driver, than it *is* a derivative work on the kernel
as a whole and the source code should be provided upon
redistribution as per GPL section 3 etc.

*BUT* this does not preclude Broadcom from stating: "our
engineers generated by hand the hex codes that make our
hardware work."

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

No-one is saying that the linker "merely aggregates" object
code for the driver; what *is* being said is: in the case of
firmware, especially if the firmware is neither a derivative
work on the kernel (see above) nor the firmware includes part
of the kernel (duh), it is *fairly* *safe* to consider the
intermixing of firmware bytes with kernel binary image bytes
in an ELF object file as mere aggregation.

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

Disagreed.

 >DS

HTH,

Massa


       reply	other threads:[~2005-04-07 12:15 UTC|newest]

Thread overview: 198+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <08Gc5.A.AFC.QJPVCB@murphy>
2005-04-07 12:15 ` Humberto Massa [this message]
2005-04-08  2:10   ` non-free firmware in kernel modules, aggregation and unclear copyright notice Henning Makholm
2005-04-08  3:05     ` David Schwartz
2005-04-08  3:56       ` Henning Makholm
2005-04-08  7:57         ` Sven Luther
2005-04-08 20:48         ` David Schwartz
2005-04-09 11:19           ` Henning Makholm
2005-04-10  3:07             ` David Schwartz
2005-04-10  4:20               ` Glenn Maynard
2005-04-10 20:18                 ` David Schwartz
2005-04-11  1:34                   ` Glenn Maynard
2005-04-11  2:40                     ` David Schwartz
2005-04-11 20:17                   ` Raul Miller
2005-04-11 11:43                 ` Anthony DeRobertis
2005-04-11  0:26               ` Henning Makholm
2005-04-11  2:40                 ` David Schwartz
2005-04-08  4:05       ` Raul Miller
2005-04-08  7:54     ` Sven Luther
2005-04-08  7:51   ` Sven Luther
     [not found] <9rcYQC.A.LsH.E_qXCB@murphy>
2005-04-14 18:26 ` Humberto Massa
     [not found] <JMgucB.A.0PB.b3cXCB@murphy>
2005-04-14 12:18 ` Humberto Massa
2005-04-14 17:44   ` David Schwartz
2005-04-14 18:43     ` Raul Miller
     [not found] <_WpYEC.A.JPD.F9BXCB@murphy>
2005-04-12 20:23 ` Humberto Massa
2005-04-14  1:37   ` David Schwartz
     [not found] <Xuc2QB.A._uB.h6_WCB@murphy>
2005-04-12 17:29 ` Humberto Massa
     [not found] <d03KdB.A.m0F.3RtWCB@murphy>
2005-04-12 11:44 ` Humberto Massa
2005-04-12 19:01   ` David Schwartz
2005-04-12 21:31     ` Raul Miller
     [not found] <3S5Kr-72b-17@gated-at.bofh.it>
     [not found] ` <3ScVq-4N8-11@gated-at.bofh.it>
2005-04-12  9:41   ` Bodo Eggert <harvested.in.lkml@posting.7eggert.dyndns.org>
2005-04-12 16:44     ` David Schwartz
2005-04-12 17:50       ` Raul Miller
2005-04-12 19:05         ` David Schwartz
2005-04-12 21:37           ` Raul Miller
2005-04-14  1:54             ` David Schwartz
2005-04-14  5:13               ` Raul Miller
2005-04-12 18:53       ` Bodo Eggert
2005-04-12 19:15         ` David Schwartz
2005-04-12 20:00           ` Bodo Eggert
2005-04-12 22:45             ` David Schwartz
2005-04-13  5:46               ` Raul Miller
2005-04-13  6:28                 ` Sean Kellogg
2005-04-13 13:55                   ` Raul Miller
2005-04-13  9:17               ` Bodo Eggert
2005-04-11 16:12 Marco Colombo
2005-04-11 16:25 ` Sven Luther
2005-04-11 20:54   ` Marco Colombo
2005-04-11 21:07     ` Sven Luther
2005-04-12  0:40       ` Marco Colombo
2005-04-12  5:40         ` Sven Luther
2005-04-12 16:14           ` Marco Colombo
2005-04-12 18:45             ` Sven Luther
2005-04-13  2:23               ` Zan Lynx
2005-04-13 14:53               ` Marco Colombo
2005-04-13 19:47                 ` Sven Luther
2005-04-14 18:03                   ` Marco Colombo
     [not found] <dpBgeB.A.8M.o1nWCB@murphy>
2005-04-11 13:44 ` Humberto Massa
     [not found] <Tx9naC.A.vTD.H5YWCB@murphy>
2005-04-11 11:54 ` Humberto Massa
2005-04-11 13:36   ` Michael Poole
2005-04-11 19:31   ` David Schwartz
2005-04-11 19:46     ` Michael Poole
2005-04-11 20:29     ` Raul Miller
     [not found] <zJc_PD.A.R_C.UFRWCB@murphy>
2005-04-11 11:51 ` Humberto Massa
     [not found] <VrRWRB.A.IlC.3y-VCB@murphy>
2005-04-11 11:44 ` Humberto Massa
     [not found] <sSO4cD.A.ELC.VTdVCB@murphy>
2005-04-08 12:08 ` Humberto Massa
2005-04-08 12:20   ` Bernd Petrovitsch
     [not found] <vVUko.A.NkD.kNTVCB@murphy>
2005-04-07 14:30 ` Humberto Massa
2005-04-07 14:53   ` Oliver Neukum
2005-04-07 15:01     ` Humberto Massa
2005-04-07 15:07       ` Oliver Neukum
     [not found] <L0f93D.A.68G.D2OVCB@murphy>
2005-04-07 12:29 ` Humberto Massa
2005-04-07 13:03   ` Richard B. Johnson
2005-04-07 13:30     ` John Stoffel
2005-04-07 13:34     ` Måns Rullgård
2005-04-07 14:15     ` Josselin Mouette
2005-04-08  8:06       ` Sven Luther
2005-04-08  9:46   ` Ralph Corderoy
     [not found] <t1ufbC.A.C6H.38tUCB@murphy>
2005-04-05 19:00 ` Humberto Massa
2005-04-06 20:36   ` Raul Miller
     [not found] <UwJpRC.A.8E.5erUCB@murphy>
2005-04-05 16:53 ` Humberto Massa
     [not found] <lLj-vC.A.92G.w4pUCB@murphy>
2005-04-05 15:00 ` Humberto Massa
2005-04-05 15:50   ` Richard B. Johnson
2005-04-05 17:53     ` Josselin Mouette
2005-04-05 18:17       ` Richard B. Johnson
2005-04-05 18:34         ` Josselin Mouette
2005-04-05 18:50       ` Chris Friesen
2005-04-05 18:56         ` Josselin Mouette
2005-04-06  0:10           ` Sven Luther
2005-04-06  7:34             ` Josselin Mouette
2005-04-06  7:46               ` Sven Luther
2005-04-08  7:47         ` Sven Luther
2005-04-05 19:28       ` Jeff Garzik
2005-04-05 19:40         ` Arjan van de Ven
2005-04-05 19:50           ` Jeff Garzik
2005-04-05 20:02             ` Arjan van de Ven
2005-04-05 20:16         ` Brian Gerst
2005-04-05 20:41           ` Jeff Garzik
2005-04-05 21:13             ` Brian Gerst
2005-04-06  9:04         ` Jörn Engel
2005-04-06 20:15         ` Olivier Galibert
2005-04-08  7:44     ` Sven Luther
     [not found] <ea-O2D.A.6pD.MWoUCB@murphy>
2005-04-05 14:37 ` Humberto Massa
     [not found] <h-GOHD.A.KL.s2aUCB@murphy>
2005-04-05 12:03 ` Humberto Massa
2005-04-05 12:16   ` Jeff Garzik
2005-04-05 14:02     ` Sven Luther
2005-04-05 17:30       ` Horst von Brand
2005-04-05 13:57   ` Sven Luther
2005-04-05 14:53     ` Humberto Massa
2005-04-07 20:56     ` Adrian Bunk
2005-04-07 21:05       ` Sven Luther
2005-04-08  0:31         ` Adrian Bunk
2005-04-08  6:54           ` Sven Luther
2005-04-08 17:20             ` Adrian Bunk
  -- strict thread matches above, loose matches on Subject: below --
2005-04-04 10:09 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-04 18:39       ` 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4255244B.6070204@almg.gov.br \
    --to=humberto.massa@almg.gov.br \
    --cc=debian-legal@lists.debian.org \
    --cc=linux-acenic@sunsite.dk \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.