Blob binario

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

En la cultura del código abierto, Blob binario (Binary blob en inglés) es un término peyorativo para un objeto cargado en el núcleo de un sistema operativo de código abierto o libre, sin tener su respectivo código fuente disponible.

Cuando los fabricantes de hardware proveen una documentación técnica completa de sus productos, los desarrolladores de sistemas operativos son capaces de escribir controladores para tales dispositivos e incluirlos en los núcleos de sus sistemas operativos. Sin embargo algunos vendedores tales como Nvidia no proveen la documentación técnica necesaria para desarrollar tales controladores, en cambio los mismos proporcionan los controladores ya compilados (blobs binarios); esta práctica es más común en controladores para placas aceleradoras de video, dispositivos de redes y controladores de disco RAID.

Aceptación[editar]

Cuando los desarrolladores no tienen acceso tanto a la documentación ni al código de los controladores de algún dispositivo, algunos proyectos de sistemas operativos, incluyendo NetBSD, FreeBSD, DragonFly BSD, y algunas distribuciones Linux, aceptan blobs binarios como una ruta rápida para implementar las funcionalidades faltantes o mejoradas que estos blobs binarios proveen.

El proyecto OpenBSD tiene la notable política de no aceptar ningún blob binario dentro de su árbol de código, previniendo potenciales agujeros de seguridad indetectables e irreparables y a su vez demostrar la transparencia y libertad de su sistema.

Entre las distribuciones GNU/Linux, gNewSense es la más conocida por su activa oposición en contra de los blobs binarios. La fundación para el software libre esta activamente luchando en contra de los blobs binarios y recomienda gNewSense.

Uso vía wrappers[editar]

Para hacer uso de los blobs binarios disponibles para otros sistemas operativos, algunos proyectos incluyen wrappers, los cuales permiten usar controladores escritos para otros sistemas operativos ajenos al mismo.

Problemas[editar]

Hay un buen número de razones por la cual blobs binarios pueden causar problemas:

  • Los usuarios no son capaces de modificar el software y distribuir versiones modificadas.
  • Los blobs binarios están usualmente limitados a unas cuantas arquitecturas de hardware y no pueden ser portadas a ningún otro sistema.
  • La corrección del controlador no puede ser chequeada.
  • El código no puede ser auditado para la seguridad de los usuarios o grupos de terceros.
  • Los usuarios están forzados a confiar en que sus vendedores no colocaron puertas traseras y software espía en el blob binario.
  • En caso de errores, incompatibilidades o vulnerabilidades, el controlador no puede ser reparado por los desarrolladores de los sistemas.
  • El vendedor de hardware puede decidir abandonar el soporte para sus dispositivos en cualquier momento.

Firmware[editar]

El firmware no es usualmente considerado un blob binario, sin embargo la Fundación para el Software Libre ha comenzado una campaña para la adopción de firmwares y BIOS abiertos por parte de los fabricantes.