Вы находитесь на странице: 1из 4

Linux no es software libre (y a nadie le 

importa)
Publicado por Israel Herraiz el Mar 18, 2009 09:15 PM | Permalink al artículo original en inglés 

Traducción (e introducción para principiantes) de Quique Marzo
El sistema operativo que seguramente estás usando se llama “GNU/Linux”, y se 
compone de un núcleo (kernel) llamado “Linux” ­­cuya mascota es un pingüino­­ y 
a su alrededor unas herramientas llamadas “GNU” (pronúnciase “ñu”, como el 
antílope africano).
Según las necesidades, se arman “distribuciones” que agrupan diversos programas, 
pero el núcleo ­­fuera de que se publica en versiones, como todo programa­­ sigue 
siendo el mismo en todas ellas, con la importantísima salvedad de que algunas  
distribuciones contienen un Linux libre, y otras un Linux con “burbujas” de 
software privativo (porque priva al usuario de las 4 libertades esenciales).
Debian es una de las principales distribuciones, de la que derivan muchas otras, 
incluyendo la más utilizada: Ubuntu. No son distribuciones libres.
El artículo original tiene un año, pero la mayoría de los usuarios recién se están  
desayunando...

Días atrás, tuve la oportunidad de asistir a una charla de Richard M. Stallman, acerca de los 
fundamentos del software libre (sí, la típica charla de Stallman). Entre todos los temas que trató, 
habló acerca de que Linux no es software libre. Dijo que dentro del código fuente distribuido por 
Linux se puede encontrar software no­libre. En un primer momento, pensé que estaba exagerando, y 
no le pregunté sobre eso.
Pero la afirmación fue resaltada por un periódico español, y fue comentado en sitios como 
Barrapunto.com. La conclusión del debate fue que, como de costumbre, los periodistas no tienen ni 
idea acerca del software libre, el código fuente abierto y todo eso.
Decidí investigar más a fondo para averiguar si Stallman estaba o no en lo cierto. Descubrí que hay 
un paquete de código fuente del kernel Linux distribuido por la Fundación para el Software Libre, 
llamado LinuxLibre. A decir verdad, hay una lista de distros comunes que distribuyen la (así 
llamada) versión no­libre de Linux. Sorprendentemente, encontrarán entre ellas a Debian 
GNU/Linux. Digo sorprendentemente porque Debian es conocida por ser muy estricta en todo lo 
que respecta al software libre. Si una pieza de software no cumple con las Directrices sobre 
Software Libre de Debian, no es incluida en la distribución.
¿Cómo es que están distribuyendo software no­libre?
Volviendo a LinuxLibre, ellos también distribuyen los scripts que se usan para quitar las partes no­
libres del código fuente del kernel Linux de Debian (upstream). Para la última versión que miré 
(2.6.28), el script quita o modifica 28 archivos de código fuente. Aquí hay una lista completa de los 
archivos sospechosos, con el enlace al código fuente en el repositorio Git de Linux:
•  drivers/char/ser_a2232fw.h  
•  drivers/char/ser_a2232fw.ax  
•  drivers/net/ixp2000/ixp2400_rx.ucode  
•  drivers/net/ixp2000/ixp2400_rx.uc  
•  drivers/net/ixp2000/ixp2400_tx.ucode  
•  drivers/net/wan/wanxlfw.inc_shipped  
•  drivers/net/wan/wanxlfw.S  
•  drivers/net/wireless/atmel.c  
•  drivers/scsi/53c700_d.h_shipped  
•  drivers/scsi/53c700.scr  
•  drivers/scsi/aic7xxx/aic79xx_seq.h_shipped  
•  drivers/scsi/aic7xxx/aic79xx.seq  
•  drivers/scsi/aic7xxx/aic7xxx_seq.h_shipped  
•  drivers/scsi/aic7xxx/aic7xxx.seq  
•  drivers/scsi/aic7xxx_old/aic7xxx_seq.c  
•  drivers/scsi/aic7xxx_old/aic7xxx.seq  
•  drivers/scsi/53c7xx_d.h_shipped  
•  drivers/scsi/53c7xx.scr  
•  drivers/scsi/sym53c8xx_2/sym_fw1.h  
•  drivers/scsi/sym53c8xx_2/sym_fw2.h  
•  firmware/dsp56k/bootstrap.bin.ihex  
•  firmware/dsp56k/bootstrap.asm  
•  firmware/keyspan_pda/keyspan_pda.HEX  
•  firmware/keyspan_pda/keyspan_pda.S  
•  firmware/keyspan_pda/xircom_pgs.HEX  
•  firmware/keyspan_pda/xircom_pgs.S  
•  sound/pci/cs46xx/imgs/cwcdma.h  
•  sound/pci/cs46xx/imgs/cwcdma.asp 

Elijamos uno al azar. Por ejemplo, el archivo drivers/net/ixp2000/ixp2400_rx.ucode. Aquí hay un 
extracto de ese archivo:

.insns = (u8 []) {


0xf0, 0x00, 0x0c, 0xc0, 0x05,
0xf4, 0x44, 0x0c, 0x00, 0x05,
0xfc, 0x04, 0x4c, 0x00, 0x00,

(120 líneas similares)
0xe0, 0x00, 0x02, 0x00, 0x00,
0xe0, 0x00, 0x02, 0x00, 0x00,
0xe0, 0x00, 0x02, 0x00, 0x00,
}

¿Qué es eso? Es el firmware de un procesador de red, probablemente usado en placas de red, o tal 
vez me equivoco y es cualquier otro tipo de hardware. En cualquier caso, está incluido en la 
distribución del código fuente del kernel Linux de Debian (upstream).
Aunque incrustado en un archivo de código fuente, esa pieza de software viene en forma binaria. Se 
la llama burbuja (blob). Debido a eso es imposible modificarlo. En otras palabras, no es software 
libre. Más peligrosamente, es imposible saber si esa pieza de software hace lo que se supone, o 
alguna otra cosa. Siendo un controlador de red, está claro que es una parte riesgosa del kernel.
El resto de los archivos contiene cosas similares.
¿Este pedazo no­libre fue incluido en Debian (y otras distribuciones) sin que nadie se diera cuenta? 
No, no fue así. A decir verdad, se volvió una fuerte discusión en el proyecto, que se solucionó con 
una votación de los miembros del proyecto.
La opción ganadora fue Asumir que las burbujas cumplen con la GPL a menos que se pruebe lo 
contario.
Gracioso. Es muy fácil probar lo contrario. Sólo traten de entender qué carajo hace esa pieza. O 
mejor aún, modifíquenla, recompilen, y prueben si todavía funciona.
Después de esta votación, el secretario de Debian renunció porque fue acusado de manipular el 
conteo de votos (cosa que no hizo).
Si leen todas las opciones, verán que hay dos frentes principales: obtener un nuevo lanzamiento para 
que los usuarios puedan disfrutar de una nueva Debian, o limpiar la distribución de partes no­libres. 
Es paradógico que el Manifiesto de Debian diga que "[Debian GNU/Linux] debe ser hecha por una 
organización para el avance exitoso y la defensa del software libre sin la presión de lucros o 
ganancias.
Sin embargo, están presionando al lanzamiento de Lenny y a esconder las partes no­libres bajo la 
alfombra.
En resumen, Linux está distribuyendo firmwares sólo­binarios, escondidos como archivos de 
código fuente (o burbujas), y Debian es consciente de ello, y a pesar de todo sigue 
distribuyéndolos. Asumen que esos archivos solamente binarios no violan las Directrices Debian 
para el Software Libre.
En cuanto a toda esta historia, Theodore Ts'o, un desarrollador del kernel, defiende la opción de 
aceptar las burbujas como compatibles con la GPL. Él plantea el viejo debate entre pragmatismo e 
idealismo, defendiendo que los firmwares que contienen sólo código binario son necesarios para 
cubrir las necesidades de los usuarios, y que defender al Software Libre por sí mismo es poner las 
ideas por sobre la gente.
Es fácil culpar a Stallman o a Debian de ser fundamentalistas de naturaleza religiosa, que ponen 
ideas por sobre la gente. Aunque no es fácil culpar a otros como OpenBSD. OpenBSD incluye 
exclusivamente software libre por razones de seguridad (1). Si no pueden leer el código, no pueden 
confiar en él. OpenBSD ha rechazado incluir cualquier tipo de burbuja, por las siguientes razones:
• Las burbujas pueden dejar de ser soportadas por los vendedores en cualquier momento. 
• Las burbujas no pueden ser soportadas por los desarrolladores.
• Las burbujas no pueden ser corregidas por los desarrolladores. 
• Las burbujas no pueden ser mejoradas. 
• Las burbujas no pueden ser auditadas.
• Las burbujas son específicas para una arquitectura, por tanto, menos portables. 
• Las burbujas son muy a menudo infladas en demasía.

Si una burbuja fuera GPL, no tendría todos esos inconvenientes. Si todo este debate de las burbujas 
fuera de naturaleza religiosa, OpenBSD no tendría ningún problema en incluirlas en su sistema.
Me pregunto cuánto tiempo le llevará ser incluida en Linux a la primera burbuja maliciosa y 
ser masivamente distribuida por terceras partes como Debian. Tal vez todo el mundo se dará cuenta 
de repente de que las burbujas no son software libre, y de los peligros del software no­libre (que son 
incluso peores cuando cerramos los ojos y seguimos pensando que todavía es software libre).

(1) Nota del traductor: En la página donde se publica este artículo, figura el siguiente comentario: 
“You are wrong, I use OpenBSD and it comes with non­free binary only firmware images. Sad, 
however true.” (Estás equivocado. Yo uso OpenBSD y viene con firmware sólo­binario no­libre. 
Triste, sin embargo cierto.)