kernel-libre (hopefully 100% Free) for Fedora 8 and rawhide

Alexandre Oliva aoliva at redhat.com
Sun Mar 30 05:41:25 UTC 2008


On Mar 29, 2008, Bob Arendt <rda at rincon.com> wrote:

> This is firmware that gets loaded in routine tg3_load_tso_firmware().
> It's firmware for a chip that you don't have a compiler for (if a compiler
> exists - there may be a different development model, say VHDL for a FPGA).
> The other hex cases in tg3.c also appear to be firmware mods.   I'm glad this
> is supplied in hex - I'd hate to need working cross-compilers for every
> chip that has a firmware blob in order to build a kernel.

This is completely missing the point.

There are several firmware files in the kernel that *do* accompany the
corresponding sources.  This argument of inconvenience of needing
cross-compilers is a distraction.


This is not a matter of where the software runs, whether you have a
compiler for it, or whether it's executable code.  This is not a
technical matter.  This is a matter of respect for the 4 freedoms.
This is a moral, ethical and social issue.

The fact that those bits are executable code for some particular
machine is relevant only because once it's code then you most likely
need source code to be able to study it and adapt it such that it does
what you wish (freedom #1, from the Free Sotware Definition).

But even if they're just "plain data", "register initialization", or
other forms of conveying instructions to a hardware component, if it's
not possible to understand what it means by looking at the numbers, at
surrounding code, because it's missing critical pieces of information
that are not widely available, then whoever put the bits in there
either (i) decided to deny you the information they had in order to
come up with the numbers, or (ii) someone else did this to them and
they're just passing on the restrictions.  Either way, someone is
imposing restrictions on your understanding of the code, and this gets
in the way of your enjoyment of freedom #1.

Even though you can modify the numbers as you wish, you still don't
have freedom #1, because you still can't adapt that part of the
software to suit your needs.  Changing it for the sake of changing,
just because you have permission to, is not enough.  It takes the
ability of understanding it to be able to change it such that it does
what you want.

With undocumented sourceless sequences of numbers created by someone
who refuses to let you make sense out of them or to let you improve on
them, be they plain data or code, you're out of freedom, so it's not
Free Software.

-- 
Alexandre Oliva         http://www.lsd.ic.unicamp.br/~oliva/
FSF Latin America Board Member         http://www.fsfla.org/
Red Hat Compiler Engineer   aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist  oliva@{lsd.ic.unicamp.br, gnu.org}




More information about the fedora-devel-list mailing list