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

Re: On firmwares

A Mennucc wrote:
Nathanael Nerode wrote:

Marco d'Itri wrote:

Refusing to distribute binary firmwares does not help free software.
You may choose between getting the firmware with your hardware on a
flash EPROM chip or having your driver load it, but at the end of the
day you will still use some software whose source code is not
available. If removing binary firmwares from debian makes using free
software harder for our user then it harms the free software cause.

The *only* problem with this argument is that it applies to infinite loads
of other stuff.  Slippery slope and all that.

The opposite argument is "slippery" as well.
Not the same way. There are actually rather clear divisions, actually, regarding what's distributed in main, vs. what's in contrib, vs. what's in non-free, vs. what's not distributed by Debian.

You see, 'firmware' is the link between 'software' and 'hardware'.
Well, not exactly, but I won't argue the point, because it doesn't matter.

If we label 'firmware' as 'non-free' stuff, and delete it from the main kernel, then the next logical step is 'hardware'.
Well, Debian isn't distributing any hardware in 'main', now, is it?  :-)

Next, a free software zealot will come out asking that free software should run only on free hardware, that is, hardware whose specs (and maybe blueprints) are open for anybody to know. I really don't want to slip into this kind of arguments.
You've accidentally switched tracks. That would be analogous to demanding that free software should not support running non-free software along with it. Nobody is interested in that, as far as I can tell.

The next logical step actually is for a free software zealot to argue that free hardware should exist, and that it is desirable, once it exists, for free software to run on it. And I believe that lots of people would support that.

Consider also that there is firmware in most hw: hard disks, cd/dvd-rw, mice, cameras, etc etc. So there is free-sw-philosophy question here: some of this firmware is burnt inside by the factory, some is not, it is uploaded by the kernel. Do we rule it all as 'non-free' ?

So why do we accept the first but not the second?
Because we would have to distribute one (and not the other) in 'main'.

If hardware manufacturers want to distribute non-free firmware, fine. In fact, if you want to distribute it in 'non-free', fine; I'm finishing up one such package right now.

As we already know, even if obtaining the source of these firmwares
were possibile, in most cases this would not help us because we would
not know how the hardware works or because it would not be possible to
build the firmware without a proprietary toolchain.

That's a good theory, and certainly true in some cases.  In many cases,
however, it will certainly help to have the source.  Having a free
toolchain and free specs will help even more, of course.

yes it does help, but it should not be an absolute requirement
It's not an absolute requirement for users; non-free stuff can go in 'non-free'. It should be an absolute requirement for stuff to go in 'main' -- because the same damn arguments would apply to all software.

"Even if obtaining the source of the software were possible, although this would help, it should not be an absolute requirement for stuff to be in 'main', because in many cases it would require a proprietary toolchain, or we do not understand how the CPU/BIOS/etc. works, so it wouldn't really help". I don't buy this, and so I don't buy the same argument for "firmware" software.

Will this help the cause of free software? I can't see how it

By providing an additional incentive to create free peripheral code?  By
letting HW manufacturers know that some people actually care? By alerting people who might care to the presence and use of non-free software on their
systems?  (That last could be done without removing it from Debian,

IMHO Debian is not powerful enough (except in our wildest dreams) to push hw makers in any direction ; moreover, he-who-has-the-real-power-and-abides-in-Redmond is pushing in the opposite direction, ie, towards closed hw and closed firmware.
Likewise, Debian is not powerful enough to push software makers in any direction; moreover, etc....

What's the *difference*?

By appearing principled?

yes that is a good point; yet the recent general resolution that supported the existence of non-free was based on the idea of not making the life of prospective users miserable
That's fine. You can be principled without making prospective users miserable. Wasn't non-free intended for this purpose?

For these reasons, I believe we should seriously consider a temporary
exception allow distributing binary firmware files in Debian until the
hardware market will have changed enough to make pratical requiring for
them the same freedoms we require.

I would even vote a permanent exception. AFAIK, firmware runs in dedicated hw;
(Actually, it's usually rather general-purpose hardware. Truly special-purpose hardware doesn't need firmware.)

the kernel only needs to push it into the hw. So, in my opinion, it may dwell in the kernel forever.

All software runs on dedicated hardware if you use 'dedicated' broadly enough to encompass the hardware which most firmware runs on. So what's the difference? This would amount to a permanent exception for everything. :-P

Reply to: