Binary blob

Binary blob

In open source culture, binary blob is a pejorative term for an object file loaded into the kernel of a free or open source operating system without publicly available source code. The term is not usually applied to code running outside the kernel, for example BIOS code, firmware images, or userland programs.

When computer hardware vendors provide complete technical documentation for their products, operating system developers are able to write hardware device drivers to be included in the operating system kernels. However, some vendors, such as NVIDIA, do not provide complete documentation for some of their products and instead provide binary-only drivers (binary blobs); this practice is most common for accelerated graphics drivers, networking devices and RAID controllers.

Acceptance

When they can neither get hardware documentation nor device driver source code from a hardware vendor, some operating system projects, including NetBSD, FreeBSD, DragonFly BSD, and some GNU/Linux distributions, accept binary blobs as a fast route to the missing or enhanced functionality these blobs provide.cite web | url = http://os.newsforge.com/os/05/06/09/2132233.shtml?tid=8&tid=2 | title = BSD cognoscenti on Linux | accessdate = 2006-07-07 | last = Matzan | first = Jem | date = 15 June 2005| publisher = NewsForge 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?"]

The OpenBSD project has a notable policy of not accepting any 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. [cite web|last = 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|url = http://www.openbsd.org/lyrics.html#39|title = 3.9: "Blob!"|publisher = OpenBSD|accessdate = 2006-06-22]

Among GNU/Linux distributions, the gNewSense distribution is the most known for being actively against binary blobs. The Free Software Foundation (FSF) is actively campaigning against binary blobs and recommends gNewSense. [cite web|url=http://www.fsf.org/blogs/community/rms-ati-protest.html|title=Protest against ATI nearly led to the arrest of RMS|date=27 April 2006|accessdate=2006-10-10|publisher=Free Software Foundation]

Use via wrappers

In order to make use of binary blob drivers available for other operating systems, some projects include software wrappers: examples include NdisWrapper for Linux and Project Evil for FreeBSD and NetBSD, both of which implement Microsoft's NDIS API to allow drivers written for Microsoft Windows to be used.

Problems

There are a number of reasons why binary blobs can cause problems: users cannot modify the software and distribute modified versions; blobs are unportable and typically limited to a few hardware architectures; the correctness of the driver code cannot be checked; the code cannot be audited for security by users or third parties; users are forced to trust vendors not to put backdoors and spyware into the blob; in case of bugs or vulnerabilities, the driver cannot be repaired by operating system developers; and the hardware vendor can decide not to support some operating systems or to abandon driver maintenance at any time. [cite web | url = http://kerneltrap.org/node/6497 | first = Jeremy | last = Andrews | title = Interview with Jonathan Gray and Damien Bergamini | accessdate = 2008-01-06 | date = 2006-04-19 | publisher = kerneltrap.org ]

According to Microsoft, 28% of all crashes of their Vista operating system in 2007 were due to bugs in the binary blob drivers for Nvidia graphics cards. [cite web
url=http://arstechnica.com/news.ars/post/20080325-vista-capable-lawsuit-paints-picture-of-buggy-nvidia-drivers.html
title=Vista-capable lawsuit paints picture of buggy NVIDIA drivers
publisher=Ars technica
]

Firmware

Firmware, the operating software required by a device's onboard microcontroller that accompanies some hardware, is generally not considered to be a binary blob. However, the FSF has begun campaigning for free BIOS firmware. [cite web|url=http://www.fsf.org/campaigns/free-bios.html|title=Campaign for Free BIOS|publisher=Free Software Foundation|date=2006-11-29|accessdate=2007-01-02] Often firmware is stored in onboard flash memory, but to decrease costs and ease upgrading, some manufacturers now use external firmware uploaded by the operating system. Although the firmware is present in the operating system, it is merely copied to the device and not executed by the CPU, lessening concerns about hidden security flaws. The OpenBSD project accepts binary firmware images and will redistribute the images if the licence permits. [cite web | title = OpenBSD Works To Open Wireless Chipsets|date = November 2 2004|publisher=KernelTrap|url = http://kerneltrap.org/node/4118 | accessdate = 2006-06-23]

See also

* LinuxBIOS
* Loadable kernel module
* Wireless security
* Proprietary firmware
* Proprietary software

References

External links

*
* [http://kerneltrap.org/node/6650 KernelTrap article] on Damien Bergamini's wpi(4) driver, a blobless ipw3945 alternative for OpenBSD
* [http://kerneltrap.org/node/6497 KernelTrap interview] with Jonathan Gray and Damien Bergamini regarding binary blobs
* [http://blog.washingtonpost.com/securityfix/2006/08/the_macbook_wireless_exploit_i.html The Black Hat Wireless Exploit Interview, Verbatim] by Brian Krebs on the Washington Post's website, http://washingtonpost.com


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Opaque binary blob — (OBB) is a term used in network engineering and computer science to refer to a sizeable piece of data, which looks like binary garbage from outside, by entities which do not know what that blob denotes or carries, but make sense to entities which …   Wikipedia

  • Blob — usually means a soft amorphous mass, and may refer to:* Binary large object (BLOB), in computer database systems * Metaballs, in computer graphics terms, are organic looking n dimensional objects * Blob (comics), a Marvel Comics supervillain,… …   Wikipedia

  • Blob Binario — Saltar a navegación, búsqueda En la cultura del código abierto, Blob binario (Binary blob en ingles) es un término descalificativo para un objeto cargado en el núcleo de un sistema operativo de código abierto o libre, sin tener su respectivo… …   Wikipedia Español

  • Binary large object — A blob (alternately known as a binary large object, basic large object, BLOB, or BLOb) is a collection of binary data stored as a single entity in a database management system. Blobs are typically images, audio or other multimedia objects, though …   Wikipedia

  • Binary large object — Le BLOB, pour (en) Binary Large OBject, mais qui s écrit couramment en caractères minuscules, est un type de donnée permettant le stockage de données binaires (le plus souvent des fichiers de type image, son ou video) dans le champ d une table d… …   Wikipédia en Français

  • Binary large object — Saltar a navegación, búsqueda Los BLOB (Binary Large OBjects, grandes objetos binarios) son elementos utilizados en las bases de datos para almacenar datos de gran tamaño que cambian de forma dinámica. No todos los Sistemas Gestores de Bases de… …   Wikipedia Español

  • Blob — steht für: Blob Architektur, Nicht Standard Architektur oder Freiform Architektur mithilfe von Entwurfssoftware Blob, Schrecken ohne Namen, US amerikanischer Science Fiction Horrorfilm von Irvin S. Yeaworth Jr. Der Blob, US amerikanisches Remake… …   Deutsch Wikipedia

  • Blob extraction — is an image segmentation technique that categorizes the pixels in an image as belonging to one of many discrete regions. Blob extraction is generally performed on the resulting binary image from a thresholding step. Blobs may be counted, filtered …   Wikipedia

  • Binary Large Object — Binary Large Objects (BLOBs) sind große binäre Objekte wie Bild oder Audiodateien. Der Begriff wird häufig im Zusammenhang mit Open Source Projekten und Datenbanken benutzt. Freie Software und Open Source Projekte Im Rahmen des Open Source wird… …   Deutsch Wikipedia

  • BLOB — steht für: Blob Architektur, Nicht Standard Architektur oder Freiform Architektur mithilfe von Entwurfssoftware Blob, Schrecken ohne Namen, US amerikanischer Science Fiction Horrorfilm von Irvin S. Yeaworth Jr. Der Blob, US amerikanisches Remake… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”