On Tue, Aug 22, 2006 at 03:18:04PM -0700, Steve Langasek wrote: > Ever since the sarge release, an ongoing question has been: what do > the DFSG require for works that are not "programs" as previously > understood in Debian? Several rounds of general resolutions have now > given us answers for some subclasses of non-program works, but debate > still rages regarding one particularly important class: firmware for > peripheral devices.
This discussion has indeed been going on for a while. The most important arguments seem to be that one side is saying "It must be Free!" while the other claims "There is nothing useful in making it Free". I think the answer to that discussion can only be found in trying to analyse and answer these arguments. So let's try that. If we're saying "It must be Free, since we want it to be free, even if that isn't useful at all", I think it would be fair to say you're a zealot, interested in nothing more than your own agenda. If this were the only argument in favour of requiring that firmware be free, I personally would reject it. So that leaves us with the claim that making firmware be free is not a useful goal, since there's nothing you can do with free firmware that you can't do with non-free firmware, either. Is this a true claim? I don't think so. Sure, firmware is there to support the hardware, and usually does not do anything more than just copy bits from the host CPU to some bits of the hardware on which you're running. Usually, if you want to add another feature to the device for which the firmware exists, you'll need to modify the hardware, too. Firmware is, in fact, so tightly coupled to hardware. This would seem to support the claim that you can't do *anything* useful with a free firmware, and that it having the source is a freedom which is not necessarily useful at all; that, therefore, it does not matter whether you get the source to any firmware or not, because having this source doesn't give you anything which you wouldn't already have otherwise. But I don't think this holds. As a real-life example, let us look at the Linksys wlan stuff, where the provided firmware is often exchanged by people to use openwlan instead. Then again, it could be argued that these are not actually hardware devices, but rather computer nodes. This may be true. Then again, there may be cases of devices where additional features could be implemented by just modifying the firmware. One such example could be one of a wireless network interface that supports one encryption protocol, but would need additional support for another encryption protocol. If the other encryption protocol does not need one to do things that the hardware cannot provide for, it would be a useful freedom to be able to code this support yourself. Also, while hardware (with its firmware) usually gets more rigourous testing than does usually software, that doesn't mean there cannot be bugs that still slip through the cracks; especially in the area of performance. Having the ability to fix such bugs is a useful freedom, IMO. An argument against these could be made that by uploading modified firmware to the device, one is at risk of damaging it beyond all repair, and that this may lead to loss of support options from the manufacturer. While this is true, it is equally true that loading Linux on hardware as produced by some manufacturers will also void your support options. I see no difference. Therefore, I would conclude that the ability to modify firmware, while not useful in even remotely all cases, is still a useful freedom to have; and that therefore, there is no reason why we should not require firmware in main to be free. Then again, maybe I'm just crazy and don't know what I'm talking about. That wouldn't be a first ;-) -- <Lo-lan-do> Home is where you have to wash the dishes. -- #debian-devel, Freenode, 2004-09-22
signature.asc
Description: Digital signature