Subject: Re: binary blobs
To: Marius ROMAN <marius.roman@gmail.com>
From: Greg Troxel <gdt@ir.bbn.com>
List: netbsd-users
Date: 02/05/2007 20:24:54
  Does NetBSD include any binary blobs ?

As part of drivers for some hardware, yes.

  If it does then on what part of the system ?

I'm not sure there is a complete list.

  I ask this because I want to avoid accidentally buying hardware or
  running software (driver / module / daemon etc)  that runs with a
  binary blob.

I'm not sure what you mean by blob.  Code that isn't available as
source falls into several categories:

  1. code that runs on the host processor that's distributed with the OS:
  ath(4)

  2. code that runs on the host processor that isn't distributed with the
  OS: I don't know of any.

  3. firmware to be loaded into a device that's part of the system:
  ral(4)

  4. firmware to be loaded into a device that isn't being distributed
  with the OS (usually because there isn't clear permission to do so):
  ipw(4), wpi(4)

  5. firmware that's already in the device when you buy it: everything
  else except the DZV-11 you use with your VAX-11/780 (unless you call
  microsequencer code firmware, in which case it might count too).


Personally, I find case 1 objectionable in principle, but with ath(4)
a) I like the hardware enough to overcome the objection and b) I feel
comfortable that the code's author is careful enough that it's not too
scary in this case.

3 seems not all that different that 5, except that it's easier to
update firmware.  (Plus, you can't netboot over such interfaces.)

Case 4 seems like a maintenance headache, and 2 would be even more so.

So I hope that answers your question.  Be very careful buying 802.11
interfaces....