[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

Hi Steve and others,

On Tue, Aug 22, 2006 at 03:18:04PM -0700, Steve Langasek wrote:
>         4. determines that for the purposes of DFSG #2, device firmware
> shall also not be considered a program.

I am in the NM queue, so my opinion does not matter, but still... I
cannot stay silent reading that. :) I will attempt to make it short
for you to grasp quickly my worried viewpoint for Debian.

I know dead right that users want their peripherals to work without
recompiling external drivers not present in the archive. They even
want to get their peripherals to work at the debian-installer stage
which is quite natural.

Being involved in hardware <-> software low-level development, I can
assure you that what is called a firmware is considered a program
in my world of understanding: it may bug, follows an algorithm, does
loops, and so on... Okay, you can argue that I play on words and so
can I for you, but words hold defined meanings, otherwise we would
not be able to communicate. :)

Some years ago, that situation did not happen or only marginally,
since firmware were often located in ROM chips, but in these last
few years, hardware makers started to distribute more and more the
firmware in the driver. The driver runs on the host CPU and it uploads
the firmware to the hardware.

There has always been firmware in hardware, at least only to provide
a suitable interface for the main CPU to interact with, so this is
not abnormal to talk about firmware. The firmware was executed on
a micro-controller years ago and even hardcoded in the chip static
logic years before, but nowadays, the tendency is to embed in hardware
more and more modern CPU cores instead of micro-controllers... And
guess what we can run on modern CPU cores with even sometimes a
MMU? Well, the Linux or ucLinux kernels. Unfortunately, I consider
both as programs.

Therefore, I am worried for Debian to make its Debian Free Software
Guidelines cross the border of the Free Software philosophy on the
firmware issue. I do not deny there is an issue with firmware not
being in ROM anymore which was their place. They are now being forced
upon kernel drivers to be distributed and thus upon Debian which
distributes those drivers.

However, I do not think altering the DFSG in an abrupt way like this
suites the Free Software philosophy. To my mind, it is only refusing
blindly to consider their is another world besides the main CPU of
a modern computer, such as a GPU, a specific cryptographic unit,
or anything new you can imagine. :)

Firmware are so very purpose-specific programs compared to other
"normal" any-day programs that my idea would be to propose another
section besides "main", "contrib", and "non-free". Therefore,
instead of declaring in the DFSG that firmware are not programs,
but only data, maybe the firmware might be cleanly included into a
new section such as "firmware". That section might be considered as
compatible with "main". A description of the firmware section might
be: "hardware specific code for the kernel driver to interact with,
once uploaded into the hardware by the driver".

 .''`.   Aurélien GÉRÔME
: :'  :
`. `'`   Free Software Developer
  `-     Unix Sys & Net Admin

Attachment: signature.asc
Description: Digital signature

Reply to: