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

Re: Free OS versus free hw

Loïc Minier <lool@dooz.org> writes:

> On Mon, Oct 27, 2008, Jeff Carr wrote:
> > have little flash chips holding these bits all over in your
> > machine now. You just don't know it. And now, because someone is
> > giving you the luxury of actually loading them via software (with
> > gpl software no less) you seem to be all ticked off.
>  Right; I share your concerns with the new burden Debian is
>  attaching to itself when requiring the loadable firmwares to be
>  free.

The requirement for the contents of Debian to be free is not a new
burden. It's spelled out in the Social Contract; the founders and
drafters of that document are clear that the intention was always for
all of Debian to be free, not just some parts of Debian.

What's relatively new is the realisation that some of those parts
(such as firmware) have a programmatic function but can, in some
cases, have *no* better form for making modifications than the binary
blob itself.

At least, that's my understanding of some of the use cases presented
here: that even the vendors of those blobs routinely modify the binary
blob directly to generate a new version of it, much like
bit-manipulating a machine-code executable and running it.

As strange as it may seem to my mind used to the roomy expanses and
flexibility to be found in a motherboard CPU, it may be an optimal way
to work when the processor in question barely has room in its program
memory or instruction set for the functional blob, and no extra room
for even embedded diagnostic tools, let alone debuggers or symbol
tables. I don't know that to be the case, but I'm not going to reject
the possibility only because it's difficult for me personally to

>  I fear it's not an easy task to delimit which (sub-)system we
>  require to be free though. I'd love it if someone could come up
>  with some sane wording for it.

I think the Social Contract makes it fairly clear that all of the
Debian operating system is promised to be free. I don't see a
compelling reason to allow breaches of that promise to be rationalised
away by differences in functional classification of the works.

>  How do others feel about this? Is there any contamination of the
>  firmwares when shipped in a free OS which is not possible to
>  prevent?

My opinion is that recipients of Debian should have unfettered access
to exercise the freedoms of running/performance, inspection,
modification, and redistribution of the entirety of Debian, using
nothing but operating system tools that are similarly unfettered and
hardware that's commonly used for such activities.

That means: free access to exactly the same form of the work that the
vendor might use to make modification to any part of the operating
system, be it the language instructions and APIs that gets rendered to
a machine code program, or the full-layered vector document that gets
rendered to a PNG file, or the reStructuredText document and style
sheets that get rendered to a PDF file, or the firmware blob that gets
manipulated as-is. Whatever the vendor can do to the work in order to
inspect, modify, and redistribute it, a Debian recipient equipped with
suitable generic hardware can expect to have free reign to do the

It's clear that not every recipient of Debian will have access to the
hardware nor expertise necessary to develop useful modifications to a
GPU-targetted instruction blob, just as not everyone has a digital
camera for capturing high-resolution photographic data. But every
Debian recipient can certainly expect to be free to redistribute
Debian to someone arbitrary party (who is not necessarily the vendor)
who *does* have such hardware and expertise, and for that party to be
free to apply requested modifications and redistribute the work back
to them, *without* anyone in that chain needing extra permissions and
*without* access to any specific extra data, vendor-specific programs,
or other non-free software.

If the above isn't the case for any part of Debian, I consider that a
breach of the Social Contract, to be considered a serious bug and
fixed appropriately by ceasing redistribution of that work in Debian
until it's fixed, and (ideally) fixing it so the work can again be
included in Debian.

 \      “An expert is a man who has made all the mistakes which can be |
  `\                         made in a very narrow field.” —Niels Bohr |
_o__)                                                                  |
Ben Finney

Reply to: