From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Smietanowski Subject: Re: Binary-only firmware covered by the GPL? Date: Fri, 26 Mar 2004 09:50:09 +0100 Sender: linux-scsi-owner@vger.kernel.org Message-ID: <4063EEC1.9080203@stesmi.com> References: <20040325082949.GA3376@gondor.apana.org.au> <20040325220803.GZ16746@fs.tum.de> <40635DD9.8090809@pobox.com> <1080260235.3643.103.camel@imladris.demon.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from 1-2-2-1a.has.sth.bostream.se ([82.182.130.86]:2982 "EHLO K-7.stesmi.com") by vger.kernel.org with ESMTP id S263976AbUCZIxP (ORCPT ); Fri, 26 Mar 2004 03:53:15 -0500 In-Reply-To: <1080260235.3643.103.camel@imladris.demon.co.uk> List-Id: linux-scsi@vger.kernel.org To: David Woodhouse Cc: Jeff Garzik , Adrian Bunk , 239952@bugs.debian.org, debian-devel@lists.debian.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org Hi David. > The firmware blob in question can be reasonably considered to be an > independent and separate work in itself. The GPL doesn't apply to it > when it is distributed as a SEPARATE work. But when you distribute it as > part of a whole which is a work based on other parts of the kernel, by > including it in the kernel source in such a manner, the distribution of > the whole must be on the terms of the GPL, whose permissions for other > licensees extend to the entire whole, and thus to each and every part. > > It's not the intent of the GPL to claim rights to firmware written > independently for such hardware; rather, the intent is to exercise the > right to control the distribution of _COLLECTIVE_ works based on the > indisputably GPL'd parts of the kernel. > But the firmware comes after a GPL statement thereby leading to the conclusion that it is their INTENTION to GPL the firmware. If we have a source: -- /* This file is under the GPL, yada yada */ #include "things.h" void some_func(void) { does_something(); } char firmware[]={0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07}; void upload_firmware(void) { do_upload(firmware); } -- Then it seems clear to me that the firmware is under the GPL because it is PART of the GPL'd file. If not, then I don't see how any statement can ever be true to similar effect, even for some_func(). // Stefan