[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: firmware or software? was Re: ITP plex86, if it complies to DFSG




On Tue, 12 Dec 2000, Hamish Moffatt wrote:

> On Mon, Dec 11, 2000 at 12:44:07PM -0800, ferret@phonewave.net wrote:
> > So, if we take the Creative DXr2 DVD decoder board, for a working example:
> > The player, utilities, and kernel driver are released under the GPL
> > version 2. Unfortunately, to make the board actually work, we have to
> > upload a file using the supplied tool to the board. is this file firmware
> > or software?
> 
> That's firmware. I would define firmware as anything which is not
> running on the host CPU. Therefore, the VGA BIOS is not firmware.
> 
> > What if I write a program that emulates the DXr2 board on my host CPU? Is
> > the upload file firmware or software now? And if it is different than when
> > it gets uploaded to the board, why?
> 
> You are executing the software now on your PC. This is no different
> to emulating old micro systems (vice, xspectemu, x48). So whatever
> the rule is for those systems should apply to your DXr2 emulator.

So this SAME file of executable code is either firmware or software,
depending on what happens to be executing it?

This is the point where I get confused.

See below ....

> It appears that xspectemu and x48 are both in main. apple2
> is in contrib. Pose (Palm OS emulator) is in contrib. simh
> (old DEC computer emulator) is in non-free. xcopilot (Palm)
> is in contrib. uae (Amiga) is in contrib. stella (Atari 2600)
> is in non-free. nestra is in contrib (ROMs not included).
> xmame is non non-free (ROMs not included). xzx is in non-free.
> xtrs is in contrib (ROMs not included). ines is in non-free.
> snes9x-svga is in non-free. atari800 is in contrib. 

Yep. Basically stuff that isn't very useful without a ROM image to use it
with, and AFAWK there are NO roms we're allowed to distribute.
No problem here.

> There ARE ROMs in the distribution for simh (simh-unix-images,
> simh-rsts-images), both in non-free. Unfortunately this is
> not a good example because simh itself does not allow
> commercial use, so it's in non-free anyway.
> 
> So most of these seem to be outside of main, because you need
> non-free ROMs. x48 does not seem to belong in main since there
> are no free ROMs for it (actually, no freely available ROMs
> at all). 
> 
> If one of these emulators is free and has freely
> available ROMs, I wonder which section it's in? I don't have
> time to check them all at the moment.

I'll check through kernel sources to see if I can find any of the firmware
that I was thinking about.

Basically my thinking was: Linux kernel is GPL but ships with executable
firmware for certain devices (notably SCSI HAs) and does not appear to
ship with the source to that firmware. Qlogic ISP is one specific example.

The file is drivers/scsi/qlogicfc_asm.c

I do not see anything in either the driver sources or in the
README.qlogicisp about obtaining source for the firmware.

This is why I'm under the impression that firmware is an exception to
DFSG.2, since obviously the source code for this firmware is not included
with the kernel, yet the kernel is DFSG-compliant. But if we do not make a
distinction between firmware and regular software this cannot be the case.

Anyway, the only thing I can possibly see firmware being exempt from is
DFSG.2 and DFSG.3. However, the driver code that uses the firmware cannot
be itself exempt.

However, if we say that 'as firmware' the executable code is exempt from
.2 and .3, but we say that the same executable code 'as software' under an
emulator isn't exempt, then we violate .6 and possibly .5.

I also see NO mention of the word 'firmware' under
/usr/share/doc/debian[-policy]/ at all.


; If I miss the obvious, it's usually because the obvious took one look at
; me and ran for its life. ;)


The license on the firmware appears to be:

 * Copyright (C) 1999 Qlogic, Inc.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms are permitted
provided
 * that the following conditions are met:
 * 1. Redistribution of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistribution in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. The name of the author may not be used to endorse or promote
products
 *    derived from this software without specific prior written permission
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *                                                                      *





Reply to: