Binary blob – Wikipédia, a enciclopédia livre

 Nota: Para outros significados, veja Blob.

Binary Blob é um termo usado em certos projetos open source para descrever um código objeto para o qual não se disponibiliza o seu código-fonte. Em certos sistemas operacionais como o GNU/Linux e BSDs, o termo refere-se a drivers parciais ou completos de determinados dispositivos, provenientes de companhias como ATI Technologies e NVIDIA, manufaturados para funcionamento de certas características do dispositivo (como aceleração de vídeo).

Tais blobs podem ser um ponto conflitante entre comunidades de software livre e/ou de código aberto e usuários comuns de sistemas operacionais, já que blobs providenciam suporte para hardwares populares e ao mesmo tempo proíbem expressamente o direito de ler, modificar e redistribui-los e, portanto, de ter total controle do sistema operacional.

O projeto OpenBSD, devido ao enfoque na segurança, tem uma notável política de recusa de binary blobs em seus códigos, citando não apenas o potencial problema de erros indetectáveis de segurança mas também o cerceamento da liberdade e abertura de seu software.[1] De fato, tal dito foi confirmado por uma informação veiculada em agosto de 2006, na convenção BlackHat USA. Havia um exploit em um driver wireless Atheros usada em um MacBook Pro.

Outro bug do mesmo gênero foi encontrado em um NVIDIA Binary Graphics Driver.

Outros projetos de sistemas operacionais, incluindo distros Linux e versões do BSD, aceitam binary blobs para cobrir funcionalidades inexistentes ou sem equivalente livre. Tais blobs incluem drivers desde arranjos RAID até placas de rede e gráficos. A FSF é ativamente contra binary blobs, apesar de algumas distros GNU/Linux os incluírem, a FSF tem uma lista de distros aprovados, estes contém exclusivamente software livre.

Para utilizar certos blobs de outros sistemas operacionais, certos projetos fazem wrappers para eles. Podemos citar o NDisWrapper para Linux e o Project Evil para FreeBSD E NetBSD, ambos implementando APIs para drivers NDIS da Microsoft.

Firmwares não são tidos como binary blobs, pois são copiados para o dispositivo e não são executados pelo sistema operacional nem pela CPU.

O projeto OpenBSD aceita firmwares, desde que a licença de uso assim permita.

Firmware, o software operacional requerido por um microcontrolador onboard que acompanha algum hardware, é geralmente não consistido para se tornar uma binary blob. Muitas vezes é arquivado na memória flash onboard, mas para diminuir custos e falicitar o upgrading, alguns manufatureiros agora usam firmware externa carregada no próprio sistema operacional, que é meramente copiado para o dispositivo e não executado, diminuindo a preocupação sobre falhas de segurança escondidas. O projeto OpenBSD aceita firmware binário em imagens e irá redistribuir a imagem, se a licença permitir.[2]

Ver também[editar | editar código-fonte]

Notas e Referências

  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. Consultado em 22 de junho de 2006 
  2. «OpenBSD Works To Open Wireless Chipsets». KernelTrap. 2 de novembro de 2004. Consultado em 23 de junho de 2006. Cópia arquivada em 9 de julho de 2012 

Ligações externas[editar | editar código-fonte]