Cisco Cisco IPICS Release 2.1 Licensing Information

Page of 20889
             Open Source Used In  Cisco Instant Connect 4.10(1)                                                                                                                                   
2314
consider it more useful to permit linking proprietary applications with the
library.  If this is what you want to do, use the GNU Library General
Public License instead of this License.
Date:Thu, 29 Apr 2004 14:10:41 -0700 (PDT)
From:Linus Torvalds <torvalds@osdl.org>
To:Giuliano Colla
cc:Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [hsflinux] [PATCH] Blacklist binary-only modules lying about
their license
Message-ID: <Pine.LNX.4.58.0404291404100.1629@ppc970.osdl.org>
 
On Thu, 29 Apr 2004, Giuliano Colla wrote:
>
> Let's try not to be ridiculous, please.
 
It's not abotu being ridiculous. It's about honoring peoples copyrights.
 
> As an end user, if I buy a full fledged modem, I get some amount of
> proprietary, non GPL, code  which executes within the board or the
> PCMCIA card of the modem. The GPL driver may even support the
> functionality of downloading a new version of *proprietary* code into
> the flash Eprom of the device. The GPL linux driver interfaces with it,
> and all is kosher.
 
Indeed. Everything is kosher, because the other piece of hardware and
software has _nothing_ to do with the kernel. It's not linked into it, it
cannot reasonably corrupt internal kernel data structures with random
pointer bugs, and in general you can think of firmware as part of the
_hardware_, not the software of the machine.
 
> On the other hand, I have the misfortune of being stuck with a
> soft-modem, roughly the *same* proprietary code is provided as a binary
> file, and a linux driver (source provided) interfaces with it. In that
> case the kernel is flagged as "tainted".
 
It is flagged as tainted, because your argument that it is "the same code"
is totally BOGUS AND UNTRUE!
 
In the binary kernel module case, a bug in the code corrupts random data
structures, or accesses kernel internals without holding the proper locks,
or does a million other things wrong, BECAUSE A KERNEL MODULE IS VERY
INTIMATELY LINKED WITH THE KERNEL.
 
A kernel module is _not_ a separate work, and can in _no_ way be seen as
"part of the hardware". It's very much a part of the _kernel_. And the
kernel developers require that such code be GPL'd so that it can be fixed,
or if there's a valid argument that it's not a derived work and not GPL'd,
then the kernel developers who have to support the end result mess most