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

Re: LCC and blobs



Peter Van Eynde <pvaneynd@mailworks.org> writes:

> I think I'm starting to understand your point of view. So _any_ use of
> the software without using non-DFSG data makes it free, right?

Any reasonable use.  Printing out a "firmware not found" message
doesn't count!

> But what if loading the firmware is not required? That if the device
> was "warm-booted" in another OS? (I know there are technical
> limitations here) Would the driver-firmware relation still be a
> "depends"?

Then there's a dependency on the other OS instead, and *it* either has
a dependency on the driver, or is free software and we can just do it
the same way they do.  So now you have a dependency on non-free
software, and several ways to fulfill it.

If you could express the entire software dependency tree in free
software, then the software at the root of that tree is also free and
can go in Debian.

> Oh, I have another use for the ipw2100 driver without firmware: it can
> recognise the card from the pci-id information. :-)

Great, so can lspci.  Waste of time and archive space.  It's a driver,
not a card prober.

>> Please at least read Policy on what "Depends" means first.  If you
>
> I see no mention of this in version 3.6.1.1. There is:
> |5.6.9.         Package interrelationship fields
> -> see chapter 7
> |7.2.      Binary Dependencies
> -> is for debian packages. And has:
> |...
> |The `Depends' field should be used if the depended-on package is
> required |for the depending package to provide a significant amount of
> |functionality.
> |...
> |7.6.      Relationships between source and binary packages
> ->N/A
>
> There is no mention of dependency of packages on external data that
> fall outside the packaging system. So what meaning do you mean?
>
> If you extend the rules for packages to firmware then the question
> becomes what "significant amount of functionality" is. In the past it
> was used for "can run", optional libraries were "Suggest"ed in.

Firmware that is optional is, well, optional.  Suggests is a perfectly
reasonable expression of that.  Depends is not.

> pvaneynd@sharrow:~ :) $ cd /usr/lib/hotplug/firmware/
> pvaneynd@sharrow:/usr/lib/hotplug/firmware :) $ ls
> ipw2100-1.0.fw    ipw2100-1.1-p.fw  ipw2100-1.2-p.fw  ipw2100-1.3-p.fw
> ipw2100-1.1.fw    ipw2100-1.2.fw    ipw2100-1.3.fw    isl3890
> ipw2100-1.1-i.fw  ipw2100-1.2-i.fw  ipw2100-1.3-i.fw  LICENSE
> pvaneynd@sharrow:/usr/lib/hotplug/firmware :) $ sudo mkdir t
> pvaneynd@sharrow:/usr/lib/hotplug/firmware :) $ sudo mv * t/
> mv: cannot move `t' to a subdirectory of itself, `t/t'
> pvaneynd@sharrow:/usr/lib/hotplug/firmware :( $ l
> t/
> pvaneynd@sharrow:/usr/lib/hotplug/firmware :) $ sudo modprobe -v ipw2100
> insmod
> /lib/modules/2.6.8-1-686/kernel/drivers/net/wireless/ipw2100/ieee80211_crypt.ko
> insmod
> /lib/modules/2.6.8-1-686/kernel/drivers/net/wireless/ipw2100/ieee80211.ko
> insmod /lib/modules/2.6.8-1-686/kernel/drivers/base/firmware_class.ko
> insmod /lib/modules/2.6.8-1-686/kernel/drivers/net/wireless/ipw2100/ipw2100.ko
>
> The module loaded without firmware, not? It detected my card, but
> failed to load the firmware.
>
> ipw2100: Detected Intel PRO/Wireless 2100 Network Connection
> ipw2100: eth1: Firmware 'ipw2100-1.3.fw' not available or load failed.
> ipw2100: eth1: ipw2100_get_firmware failed: -2
> ipw2100: eth1: Failed to power on the adapter.
> ipw2100: eth1: Failed to start the firmware.
> ipw2100Error calling regiser_netdev.
> ipw2100: probe of 0000:02:02.0 failed with error -5
>
> I would say this is a functional driver. It provides me with useful
> information about my system. The fact that I cannot connect to a wifi
> lan is the same situation as with grub not being able to load XP
> without the XP bootsector, if there were a free firmware with the same
> API I would be able to load and use it.

No.  It's a driver for an ipw 2100; it has an ipw2100 and can't drive
it.  It's not functional -- it failed to power on the adapter.  In the
case of Windows and Grub, Grub is a generic bootloader.  It can
usefully boot Linux, Hurd, or NetBSD without access to an XP
bootsector.  It has significant useful functionality.  What device can
the ipw2100 driver drive without the firmware?

> Making Debian uninstallable because of mistaken beliefs is too much
> and I care enough to resists this.

This certainly doesn't make Debian uninstallable.  All the drivers in
question can move to contrib.  It just ensures that Debian ships only
free software in Debian main.

-Brian

-- 
Brian Sniffen                                       bts@alum.mit.edu



Reply to: