El firmware debe ser considerado hardware y no software
Rodrigo Rodrigues da Silva
pitanga en members.fsf.org
Mie Abr 14 04:50:28 UTC 2010
On 12-04-2010 10:04, hector rey wrote:
> El firmware no es un regalito, es algo fundamental para el
funcionamiento del hardware. Sin firmware no funciona el hardware, y no
estoy hablando de los dispositivos que te dan la posibilidad de
actualizarlo externamente. El 99% (y no se si me quedo corto) del
hardware actual tiene firmware.
"El *sistema operativo* no es un regalito, es algo fundamental para el
funcionamento del hardware. Sin *sistema operativo* no funciona el
hardware y no estoy hablando de los dispositivos que te dan la
posibilidad de actualizarlo externamente*, con un disco floppy*. El 99%
(y no se si me quedo corto) del hardware actual tiene *sistema operativo*."
Em 1983 esse discurso, análogo ao seu raciocínio anterior, seria bem
plausível (talvez ainda seja). Se o argumento contido nele fosse levado
a sério, hoje não teríamos o projeto GNU e, talvez, nem o software livre.
Resgatando o raciocínio do Felipe Sanches, um dispositivo de hardware
que requeira firmware é um computador assim como qualquer outro. Assim
como escrevemos código assembly para um processador AMD sem conhecê-lo
internamente, por que não escrever assembly para um microcontrolador
Broadcomm? Se fazemos engenharia reversa de protocolos para assegurarmos
nossa liberdade, porque não fazer um processo de engenharia reversa que
nos revele o funcionamento de um microcontrolador (resultando numa
documentação de seus opcodes, por exemplo)? Sob esse aspecto, acredito
que sua argumentação, no ponto da inviabilidade/dificuldidade técnica,
seja inválida.
Concordo plenamente que o hardware privativo e o software contido nele
representam ameaças equivalentes à ameaça do software proprietário
(assim como vários aspectos que fogem à alçada do movimento software
livre ameaçam nossa liberdade). No entanto, há uma diferença fundamental
entre um dispositivo de hardware com firmware não modificável (escrito
em ROM) e modificável (que deve ser carregado dinamicamente pelo
driver): no segundo caso, nós *podemos*, com as ferramentas que temos a
nosso alcance e como programadores do movimento software livre,
modificá-lo; nós *podemos* ter um nível de controle maior (não total)
sobre esse hardware. No primeiro caso, dentro da alçada do software
livre, não podemos fazer nada (sim, acredito que devemos pensar em
hardware livre, principalmente com o desenvolvimento e popularização de
FPGA's - hardware será software?).
Há ainda uma classe mais problemática: hardware cujo firmware seja
recarregável, mas persistente (não é preciso que o driver o carregue a
cada inicialização), como todo processador intel mais recente - o kernel
linux possui código para recarregar esse /microcode/, mas, até onde sei,
não o distribui. Tendo a dizer que devemos atender essa classe assim
como a de dispositivos com firmware carregado dinamicamente, pois
*podemos* reescrevê-lo e recarregá-lo. No entanto, enquanto não há
discussões mais claras sobre o assunto ou algum esforço real nessa
direção, acho que vale a premissa mínima de não distribuí-lo caso seja
proprietário.
--
Rodrigo Rodrigues da Silva
GNU LibreDWG maintainer
FSF Associate Member #7788
PoliGNU - Grupo de Estudos de Software Livre da Poli/USP
Más información sobre la lista de distribución Discusion