public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* RE: Possible GPL infringement in Broadcom-based routers
@ 2004-11-06 10:40 Adam J. Richter
  2004-11-05 18:51 ` Michael Poole
                   ` (3 more replies)
  0 siblings, 4 replies; 26+ messages in thread
From: Adam J. Richter @ 2004-11-06 10:40 UTC (permalink / raw)
  To: davids, jp, linux-kernel

>  == David Schwartz
>> == Jerome Petozzoni

>> Can Broadcom and the vendors "escape" the obligations of the GPL by
>> shipping those proprietary drivers as modules, or are they violating the
>> GPL plain and simple by removing the related source code (and showing
>> irrelevant code to show "proof of good will") ?
>
>        That is a contentious issue that has been debated on this group far too
>much. In the United States, at least, the answer comes down to the complex
>legal question of whether the module is a "derived work" of the Linux kernel
>and whether the kernel as shipped with those modules is a "mere
>aggregation".

	I am not a lawyer, so please do not use this as legal advice.

	I think you're missing the idea that that such drivers are
_contributory_ infringement to the direct infringement that occurs when
the user loads the module.  In other words, even for a driver that has
not a byte of code derived from the kernel, if all its uses involve it
being loaded into a GPL'ed kernel to form an infringing derivative
work in RAM by the user committing direct copyright infringement against
numerous GPL'ed kernel components, then it fails the test of having
a substantial non-infringing use, as established in the Betamax decision,
and distributing it is contributory infringement of those GPL'ed
components of the kernel.

                    __     ______________ 
Adam J. Richter        \ /
adam@yggdrasil.com      | g g d r a s i l

^ permalink raw reply	[flat|nested] 26+ messages in thread
* RE: Possible GPL infringement in Broadcom-based routers
@ 2004-11-05 18:43 Adam J. Richter
  2004-11-05 19:59 ` David Schwartz
  2004-11-06 13:38 ` Horst von Brand
  0 siblings, 2 replies; 26+ messages in thread
From: Adam J. Richter @ 2004-11-05 18:43 UTC (permalink / raw)
  To: davids; +Cc: jp, linux-kernel

David Schwartz wrote:
>> 	I think you're missing the idea that that such drivers are
>> _contributory_ infringement to the direct infringement that occurs when
>> the user loads the module.

>	Except that loading the module is not infringement. The GPL does not
>restrict use of GPL'd code in any way.

>> In other words, even for a driver that has
>> not a byte of code derived from the kernel, if all its uses involve it
>> being loaded into a GPL'ed kernel to form an infringing derivative
>> work in RAM by the user committing direct copyright infringement against
>> numerous GPL'ed kernel components, then it fails the test of having
>> a substantial non-infringing use, as established in the Betamax decision,
>> and distributing it is contributory infringement of those GPL'ed
>> components of the kernel.

>	In order for there to be an "infringing derivative work", some clause of
>the GPL would have to be infringed. There exists no clause in the GPL that
>restricts the *creation* of derivative works that are not distributed.

	The GPL is a grant of permission.  So, if you have an activity
that is restricted by copyright, you have to find something in the GPL
that gives you permission.  It's not just me saying that.  A representative
from the FSF explained that to room of ~50 lawyers and ~50 lay people
at a seminar that I went to on it.

>	If your argument were correct, then no non-GPL'd software could *ever* be
>distributed for Linux. You see, loading that software would create an
>"infringing derivative work" in the memory of the computer running it,
>combining the Linux kernel with the software.

	The FSF has addressed the question of interpretation of the
GPL with respect to how running a program in RAM may not by itself
make it a derivative work of other programs in RAM while dynamically
loading a module into a program (including a kernel) does in their
FAQ at http://www.gnu.org/licenses/gpl-faq.html:

| [...]
| What constitutes combining two parts into one program? This is a legal
| question, which ultimately judges will decide. We believe that a
| proper criterion depends both on the mechanism of communication (exec,
| pipes, rpc, function calls within a shared address space, etc.) and
| the semantics of the communication (what kinds of information are
| interchanged).
| 
|  If the modules are included in the same executable file, they are
| definitely combined in one program. If modules are designed to run
| linked together in a shared address space, that almost surely means
| combining them into one program.
| 
|  By contrast, pipes, sockets and command-line arguments are
| communication mechanisms normally used between two separate
| programs. So when they are used for communication, the modules
| normally are separate programs. But if the semantics of the
| communication are intimate enough, exchanging complex internal data
| structures, that too could be a basis to consider the two parts as
| combined into a larger program.

                    __     ______________
Adam J. Richter        \ /
adam@yggdrasil.com      | g g d r a s i l

^ permalink raw reply	[flat|nested] 26+ messages in thread
* Re: Possible GPL infringement in Broadcom-based routers
@ 2004-11-05 18:31 Adam J. Richter
  0 siblings, 0 replies; 26+ messages in thread
From: Adam J. Richter @ 2004-11-05 18:31 UTC (permalink / raw)
  To: vonbrand; +Cc: davids, jp, linux-kernel

Horst H. von Brand wrote:
>"Adam J. Richter" <adam@yggdrasil.com> said:

>[...]

>> 	I think you're missing the idea that that such drivers are
>> _contributory_ infringement to the direct infringement that occurs when
>> the user loads the module.  In other words, even for a driver that has
>> not a byte of code derived from the kernel, if all its uses involve it
>> being loaded into a GPL'ed kernel to form an infringing derivative
>> work in RAM by the user committing direct copyright infringement against
>> numerous GPL'ed kernel components, then it fails the test of having
>> a substantial non-infringing use, as established in the Betamax decision,
>> and distributing it is contributory infringement of those GPL'ed
>> components of the kernel.

>This is nonsense: If so, I'd be commiting a crime each time I fire up emacs
>on Solaris (linking (GPLed) emacs to (propietary) libc in RAM). [Yes, just
>an example; haven't done so for the best part of 5 years now...]

	It is based precisely on the idea that that is enforceable
that the FSF created an LGPL distinct from the GPL and also why it makes
a special exception for your type of use toward the end of section 3:

| However, as a
| special exception, the source code distributed need not include
| anything that is normally distributed (in either source or binary
| form) with the major components (compiler, kernel, and so on) of the
| operating system on which the executable runs, unless that component
| itself accompanies the executable.

>Besides, Linus has _explicitly_ said that binary (closed source) modules
>are OK (under certain conditions). And AFAIU there was legitimate
>discussion wether this particular excemption was required at al.

	I've seen messages that say quite the opposite.  Besides,
Linus is not the only copyright holder.  It only takes one copyright
for someone to be infringing.

	Again, I'm not a lawyer, so please don't take this as legal
advice.

                    __     ______________
Adam J. Richter        \ /
adam@yggdrasil.com      | g g d r a s i l

^ permalink raw reply	[flat|nested] 26+ messages in thread
* Re: Possible GPL infringement in Broadcom-based routers
@ 2004-11-05 18:20 Adam J. Richter
  2004-11-05 20:00 ` Michael Poole
  0 siblings, 1 reply; 26+ messages in thread
From: Adam J. Richter @ 2004-11-05 18:20 UTC (permalink / raw)
  To: mdpoole; +Cc: davids, jp, linux-kernel

Michael Poole writes:
>Adam J. Richter writes:

>> 	I think you're missing the idea that that such drivers are
>> _contributory_ infringement to the direct infringement that occurs when
>> the user loads the module.  In other words, even for a driver that has
>> not a byte of code derived from the kernel, if all its uses involve it
>> being loaded into a GPL'ed kernel to form an infringing derivative
>> work in RAM by the user committing direct copyright infringement against
>> numerous GPL'ed kernel components, then it fails the test of having
>> a substantial non-infringing use, as established in the Betamax decision,
>> and distributing it is contributory infringement of those GPL'ed
>> components of the kernel.

>Combining GPLed works with GPL-incompatible works violates the GPL if
>you distribute the result; the GPL allows one to make that kind of
>combination for one's own use.  Go read the GPL more closely.

	There are US court cases that have established that copying
into RAM is copying for the purposes of copyright.  Also, I'd have
to say that loading a module into a kernel is modification.

	My understanding is that the FSF was able to get Next Computer
to release its Objective C modules for gcc, over just this sort of
"user does the link" issue.

	Also, as was pointed out by Bradley Kuhn at FSF's two
day GPL seminar at Standard Law School, where we picked apart
the GPL and LGPL for about twelve hours, the GPL is a grant
of permission.  People "plead the GPL to us" as Bradley put it.
If you want to argue that the GPL does not cover some action, I don't
think that's the same as saying that the GPL gave you permission to
do it.  You would still have to argue that that action is not
restrictable by copyright.  Fortunately, I don't think the argument
comes to that, because of what I said in the first two paragraphs,
but it's something you might want to think about before raising that
argument in the future.

	Again, I am not a lawyer, so please don't take this as legal
advice.

                    __     ______________
Adam J. Richter        \ /
adam@yggdrasil.com      | g g d r a s i l

^ permalink raw reply	[flat|nested] 26+ messages in thread
* Possible GPL infringement in Broadcom-based routers
@ 2004-11-04 23:33 Jérôme Petazzoni
  2004-11-04 23:57 ` David Schwartz
                   ` (2 more replies)
  0 siblings, 3 replies; 26+ messages in thread
From: Jérôme Petazzoni @ 2004-11-04 23:33 UTC (permalink / raw)
  To: linux-kernel

The following routers (and they might be other models, too) :
- Us Robotics 9105 (without wireless) and 9106 (with wireless)
- Siemens SE515
- Dynalink RTA230
- Buffalo WMR-G54
- Inventel DBW-200

... are all based on the same Broadcom chipset (96345 board). They 
integrate a 4-ports Ethernet switch, a 802.11g wireless access point, 
and a DSL modem (and doing routing and/or bridging between those 
interfaces). The CPU runs the MIPS32 instruction set. It runs a 2.4.17 
linux-mips kernel with additional patches, and is loaded with a lot of 
free software (busybox, uclibc, zebra...)

The vendors (probably Broadcom, in fact) had to patch the kernel to 
support the DSL modem, the wireless interface (which is a PCMCIA-hosted 
BCM4306 ; which already was subject of heated debates earlier), and also 
some generic stuff like the flash memory and the front leds. 
Miscellaneous vendors provide so-called "GPL sources", which are 
generally mutilated kernels, lacking all the "interesting" parts 
(wireless and DSL drivers for instance).

Can Broadcom and the vendors "escape" the obligations of the GPL by 
shipping those proprietary drivers as modules, or are they violating the 
GPL plain and simple by removing the related source code (and showing 
irrelevant code to show "proof of good will") ?

Broadcom has been contacted about this matter but hasn't answered so 
far, nor did US Robotics (I tried to contact USR since I own a USR router).

Any suggestions about the legal (or if it's a lost cause, technical!) 
ways to get support for this platform will be very welcome.

More information can be found here :
http://skaya.enix.org/wiki/GplInfringement (some extra details)
http://skaya.enix.org/wiki/BroadCom96345 (technical info that I gathered 
about the router, firmware and kernel formats, etc.)
http://sourceforge.net/projects/brcm6345-linux/ (sourceforge project)

Best regards,
Jérôme Petazzoni <jp at enix dot org>
PS: please be kind and cc me, as my lkml awareness is limited to KT ...

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

end of thread, other threads:[~2004-11-07 21:09 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-11-06 10:40 Possible GPL infringement in Broadcom-based routers Adam J. Richter
2004-11-05 18:51 ` Michael Poole
2004-11-05 18:58 ` Disconnect
2004-11-05 19:03 ` David Schwartz
2004-11-05 19:38   ` linux-os
2004-11-05 19:06 ` Horst von Brand
2004-11-05 19:39   ` Arjan van de Ven
2004-11-06  3:21   ` Kyle Moffett
  -- strict thread matches above, loose matches on Subject: below --
2004-11-05 18:43 Adam J. Richter
2004-11-05 19:59 ` David Schwartz
2004-11-06  3:23   ` David Woodhouse
2004-11-06 20:09     ` David Schwartz
2004-11-06 21:40       ` Stephen Pollei
2004-11-07 17:05       ` David Woodhouse
2004-11-06 13:38 ` Horst von Brand
2004-11-06 15:49   ` Arjan van de Ven
2004-11-07 21:08     ` Ryan Anderson
2004-11-05 18:31 Adam J. Richter
2004-11-05 18:20 Adam J. Richter
2004-11-05 20:00 ` Michael Poole
2004-11-04 23:33 Jérôme Petazzoni
2004-11-04 23:57 ` David Schwartz
2004-11-05  0:23   ` Kyle Moffett
2004-11-05 15:27   ` David Woodhouse
2004-11-05  4:05 ` Scott Lockwood
2004-11-05 20:28 ` Tonnerre

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