Binary blob

This is an old revision of this page, as edited by Janizary (talk | contribs) at 04:46, 10 August 2006. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A binary blob is a term used by some open source developers to describe an opaque binary object for which no source code is available. In some operating system communities, such as those of Ubuntu and OpenBSD, the term refers to partial or complete drivers provided by companies such as ATI and NVIDIA to provide support for their hardware. Such blobs can be a point of conflict between open source and free software advocates and developers and regular users of the operating system, as binary blobs can provide convenient support for popular hardware at the cost of the ability to read and modify every part of the operating system.

The OpenBSD project has a notable policy of not accepting binary blobs into its source tree, citing not only the potential for undetectable or irreparable security flaws but also its encroachment onto the openness and freedom of their software.[1] This stance is expected to be somewhat validated by information soon to be released revealing an exploit within the binary driver for a wireless network card.[2] Further details are expected at the August 2 2006 Black Hat USA.

Other operating system projects, including NetBSD, FreeBSD, DragonFly BSD, and the Ubuntu and Fedora Linux distributions, take a pragmatic view and accept binary blobs as a fast route to the missing or enhanced functionality they provide.[3] They include binary blobs for varied purposes, ranging from RAID, to networking and accelerated graphics drivers. It is worth noting that the Free software foundation is actively campaigning against binary blobs, even though many Linux distributions include them.[citation needed]

A binary blob is not the same as a firmware package that accompanies a particular device. Firmware is the operating software required by the device's onboard microcontroller. Normally, it is stored in Flash EPROM, but some manufacturers use RAM based firmware stores for cost and upgradeability reasons. Firmware images are acceptable to OpenBSD because they do not operate within the kernel space - as a binary driver does - and will redistribute said images as long as the manufacturers allow them to without restriction.[4]

Notes and references

  1. ^ Music composed by Ty Semaka and Jonathan Lewis. Recorded, mixed and mastered by Jonathan Lewis of Moxam Studios (1-403-233-0350). Vocals and Lyrics by Ty Semaka & Theo de Raadt. Bass guitar, organ and bubbles by Jonathan Lewis. Guitar by Tom Bagley. Drums by Jim Buick. "3.9: "Blob!"". OpenBSD. Retrieved 2006-06-22.{{cite web}}: CS1 maint: multiple names: authors list (link) CS1 maint: numeric names: authors list (link)
  2. ^ An article by Robert McMillan of IDG News Service regarding the hacking of a Wi-Fi binary blob driver - June 21, 2006. "Researchers hack Wi-Fi driver to breach laptop". InfoWorld. Retrieved 2006-06-23.{{cite web}}: CS1 maint: numeric names: authors list (link)
  3. ^ Matzan, Jem (2005-06-15). "BSD cognoscenti on Linux". NewsForge. Retrieved 2006-07-07. {{cite web}}: Check date values in: |date= (help) See Christos Zoulas's response to "Is sharing between Free/Open/NetBSD and the Linux kernel a common occurrence? And if so, does it go both ways?"
  4. ^ "OpenBSD Works To Open Wireless Chipsets - November 2, 2004". Retrieved 2006-06-23.