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

Re: Proposal: The DFSG do not require source code for data, including firmware



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

Attachment: signature.asc
Description: Digital signature


Reply to: