El kernel de Linux posee elementos que no son “libres”…

Muy interesante artículo publicado originalmente en inglés en Libresoft.es y traducido al español por Quique Marzo en el que se explican en detalle las críticas de Richard Stallman y la FSF respecto de la introducción de elementos “no-libres” al kernel Linux, razón por la cual la FSF tiene un proyecto denominado LinuxLibre, que mantiene versiones actualizadas del Kernel de Linux pero sin estos elementos “privativos”, para que sea más fácil crear distros Linux 100% libres.


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 lasDirectrices 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:

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 llamaburbuja (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.)


4 comentarios

  1.   Raulisesg dijo

    Entonces, ¡¡¿que distribuciones linux son totalmente libres?!!

  2.   Usemos Linux dijo

    La verdad, son pocas…

  3.   malicio dijo

    No son buenas noticias pero tampoco son apocalípticas, me parece que la mayor parte de esas burbujas son drivers y generalmente no se instalan a no ser que el usuario lo haga explicitamente, y generalmente hay opciones libres para esos drivers con los pros y contras que eso conlleva.

  4. mmmmm……..esto es preocupante, porque nisiquiera se que cosas de mi pc funcionan sin las burbujas, ni menos nadie puede saber si la burbuja hase otra cosa que no es la que se supone.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.