[From nobody Mon Mar 1 01:45:36 2010 Date: Mon, 01 Mar 2010 03:08:35 -0300 From: info@fsfla.org To: anuncios@fsfla.org Subject: [es] Recupera tu libertad, con Linux-2.6.33-libre Message-ID: <orpr3oy3oc.fsf@livre.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ciberespacio, 1ro de marzo de 2010---Linux no ha sido Software Libre desde 1996, cuando el Sr. Torvalds acept=C3=B3 las primeras piezas de Software no-Libre en la distribuci=C3=B3n de Linux que ha publicado desde 1991. A trav=C3=A9s de estos a=C3=B1os, mientras ese kernel creci=C3=B3 po= r un factor de 14, la cantidad de firmware no-Libre requerido por los drivers de Linux creci=C3=B3 por un alarmante factor de 83. Nosotros, los usuarios de Software Libre, necesitamos unir fuerzas para revertir esta amenaza, y parte de la soluci=C3=B3n es Linux-libre, cuya versi=C3=B3n 2.6.33-libre fue recientemente publicada por FSFLA, trayendo consigo libertad, mejoras mayores y planes para el futuro. =3D=3D Historia Todo el firmware en Linux-1.3.0 era Software Libre. La poca relevancia que el sistema operativo GNU/Linux ten=C3=ADa el 1995 era suficiente para que algunos distribuidores de hardware revelasen los detalles de su hardware, o incluso ofreciesen todo el software necesario para hacerlo funcionar bajo t=C3=A9rminos que respetan las libertades esenciales de los usuarios. Ellos sab=C3=ADan que Linux, que ya estaba bajo la licencia GNU GPLv2, no tendr=C3=ADa drivers para sus componentes de otra manera. En el a=C3=B1o que sigui=C3=B3, el Sr. Torvalds cambi=C3=B3 su pol=C3=ADtic= a, y empez=C3=B3 a aceptar en Linux firmware que s=C3=B3lo estuviera en formato binario. Por esta decisi=C3=B3n, GNU/Linux dej=C3=B3 de ser un incentivo para que los distribuidores de hardware respetaran las libertades esenciales. Desde que los desarrolladores de Linux rindieron las defensas provistas por la GPL, casi todos los distribuidores decidieron mantener para s=C3=AD el control sobre las siempre crecientes computadoras que pasaban por perif=C3=A9ricos. Algunos 143KB de c=C3=B3digo objeto disfrazados como c=C3=B3digo fuente est= aban presentes en el tarball comprimido de 4.7MB de Linux-2.0, publicado en junio de 1996. Algunos 6 a=C3=B1os m=C3=A1s tarde, hab=C3=ADa 1.3MB de fir= mware no-Libre escondi=C3=A9ndose en el tarball comprimido de 26MB de Linux-2.4.19. En Linux-2.6.33, todas estas piezas y otras m=C3=A1s, sumando arriba de 2MB, est=C3=A1n en un subdirectorio creado algunos 2 a=C3= =B1os atr=C3=A1s para ubicar firmware en Linux. Otros 650KB a=C3=BAn disfrazados= como fuentes fueron recientemente agregados al subdirectorio =E2=80=9Cstaging=E2= =80=9D, y otros 9.2MB (duplicados removidos) viven en un archivo separado, creado para futuramente remplazar el subdirectorio de firmware en Linux. =3D=3D Perspectiva La pieza unitaria m=C3=A1s grande de firmware no-Libre en el repositorio linux-firmware pesa hoy d=C3=ADa 1.25MB. En los 1980s, la mitad de esos bytes eran considerados memoria suficiente para cualquier aplicaci=C3=B3n en una computadora personal. Fue entonces cuando Richard Stallman comenz=C3=B3 a trabajar en GNU, cuando sistemas operativos eran m=C3=A1s peque=C3=B1os que eso. El se di=C3=B3 cuenta que los usuarios deber=C3=ADa= n tener derecho a las cuatro libertades esenciales sobre todo el software que ejecutan en sus computadoras, a=C3=BAn cuando ellas eran lejanamente menos poderosas que los perif=C3=A9ricos actuales. Hemos logrado eso, un sistema operativo Libre para prop=C3=B3sito general en computadoras personales, pero dur=C3=B3 =C3=BAnicamente por algunos a=C3= =B1os. El kernel que provei=C3=B3 la pieza que faltaba en el sistema operativo GNU ya no ha sido Software Libre por m=C3=A1s de una d=C3=A9cada, y solicita a los usuarios a instalar un creciente n=C3=BAmero de programas no-Libres que no est=C3=A1n incluidos en =C3=A9l. =3D=3D Progreso Damos la bienvenida, aplaudimos y agradecemos a los varios y recientes esfuerzos que resultaron en firmware Libre para varios dispositivos: Atheros contribuy=C3=B3 firmware Libre para sus tarjetas de red inal=C3=A1mbricas ar5k y ar9k; expertos en ingenier=C3=ADa inversa desarrol= laron firmware Libre para algunas de las tarjetas de red inal=C3=A1mbrica b43 de Broadcom; otros desarrollaron el driver Libre nouveau para tarjetas de video nVidia, y, m=C3=A1s recientemente, completaron la tarea con firmware Libre para ellas, desafortunadamente un poco tarde para que las =C3=BAltimas piezas estuvieran en Linux-2.6.33. Sin embargo, justo como RMS, nos dimos cuenta que desarrollar Software Libre no es suficiente para establecer la libertad para los usuarios de GNU/Linux. Tambi=C3=A9n necesitamos ense=C3=B1arles a valorar su libert= ad, y a reconocer y rechazar el Software no-Libre. De otra forma productos que requieran que usuarios rindan sus libertades seguir=C3=ADan teniendo compradores interesados. Algunos a=C3=B1os atr=C3=A1s, la comunidad de Software Libre se di=C3=B3 cu= enta que Linux no era m=C3=A1s Software Libre, y empez=C3=B3 varios esfuerzos para arreglar este problema. Uno de ellos, nacido sin nombre en gNewSense, fue nombrado Linux-libre en BLAG. Desde que tomamos responsabilidad por ello, adicionalmente de remover componentes no-Libres de Linux, remplazamos las solicitudes de firmware no-Libre con mensajes que informan a los usuarios que el hardware en cuesti=C3=B3n es una trampa. Nuestra esperanza es que m=C3=A1s usuarios usar=C3=A1n esta versi=C3=B3n Li= bre de Linux, presente en varias distribuciones GNU/Linux-libre, para descubrir acerca de los componentes de hardware que no respetan su libertad, despu=C3=A9s decir a los vendedores qu=C3=A9 tan infelices est=C3= =A1n, y usar su libertad y poder de elecci=C3=B3n para apoyar vendedores que s=C3=AD respetan a sus clientes. Grandes negocios, gobiernos o grandes cantidades de usuarios trabajando juntos, aplicando una peque=C3=B1a presi=C3=B3n en el lugar corr= ecto de los bolsillos de los distribuidores, frecuentemente puede hacerlos cambiar de parecer y voluntariamente respetar la libertad de sus clientes. Fallando en eso, a=C3=BAn podemos ayudar, participando en o brindando fondos para esfuerzos de ingenier=C3=ADa inversa. Distribuidores que voluntariamente respetan nuestra libertad merecen m=C3=A1s aprecio, pero un producto que funciona en libertad, a pesar de los esfuerzos de su distribuidor, es mucho mejor que nada. =3D=3D Qu=C3=A9 hay de nuevo en Linux-2.6.33-libre No mantenemos los fuentes de Linux-libre directamente. En lugar, mantenemos scripts de =E2=80=9Cdeblobbing=E2=80=9D que limpian los =E2=80= =9Cfuentes=E2=80=9D de Linux, as=C3=AD produciendo fuentes de Linux-libre. El mayor avance en esta generaci=C3=B3n de Linux-libre, la cuarta desde que nos vimos involucrados, consisti=C3=B3 en hacer los scripts de deblobbing m=C3=A1s eficientes. Luego de acumular miles de patrones para reconocer blobs, secuencias que parecen blobs pero no lo son, solicitudes de firmware no-Libre externo a Linux, y documentaci=C3=B3n que induce a los usuarios a instalarlo, ejecutar el script GNU sed generado para buscar y quitar blobs se volvi=C3=B3 demasiado costoso para muchos usuarios: en versiones recientes de Linux-libre, GNU sed toma unos 15 segundos y m=C3=A1s de 2GB de RAM para compilar todos los patrones en el script. La soluci=C3=B3n fue el reescribir el script principal en un lenguaje script de alto nivel. GNU awk redujo el tiempo de inicio a acerca de 3 segundos, y los requisitos de memoria bajaron aproximadamente en un orden de magnitud, pero 3 segundos multiplicados por los 260 archivos que se limpian con este script para formar Linux-2.6.33-libre es mucha p=C3=A9rdida de tiempo. Python y PERL compilan nuestra enorme colecci=C3= =B3n de patrones en d=C3=A9cimas de segundo, mientras reduce el uso de memoria por aproximadamente otro orden de magnitud. Sin embargo, l=C3=ADmites internos en el algoritmo de busca de patrones en PERL producen resultados incorrectos en deblob-check, as=C3=AD que usarlo con PERL no es recomendado por ahora. Para limpieza de deblob-main de peque=C3=B1os archivos en Linux, se verific=C3=B3 que Python fue el m=C3=A1s r=C3=A1pido, raz=C3=B3n por la cua= l ahora lo usamos por defecto. Para verificar que un tarball grande est=C3=A1 limpio, el tiempo de ejecuci=C3=B3n de Python y PERL salta a m=C3=A1s de 90 minutos, arriba de los 5 minutos con GNU awk y de tan poco como los 3 minutos con GNU sed. GNU awk viene adelante cuando se listan todos los blobs en un tarball de Linux, ahora con una caracter=C3=ADstica largamente deseada: imprime, delante de cada blob, el nombre del archivo dentro de un tarball que lo contiene. Futuras publicaciones pueden ser m=C3=A1s inteligentes en elegir el componente m=C3=A1s adecuado dependiendo de la tarea y las entradas. Por ahora, los usuarios de deblob-check deben de estar avisados de las nuevos par=C3=A1metros: --use-python, --use-awk, --use-perl, y --use-sed, y las variables del ambiente correspondientes PYTHON, AWK, PERL, y SED. El bajo uso de memoria y requisito de CPU para revisar y limpiar archivos individuales significa que es nuevamente posiblemente limpiar directorios de Linux a la hora de compilar, lo cual un n=C3=BAmero de usuarios consideran valioso. En los siguientes d=C3=ADas, publicaremos Linux-libre, 4ta generaci=C3=B3n, tambi=C3=A9n para versiones previas de Linux, arreglando algunos errores de deblobbing en controladores en =E2=80=9Cstaging=E2=80=9D, y corrigiendo alg= unas m=C3=A1s ocurrencias de nombres de blobs no-Libres en la documentaci=C3=B3n y mensajes de error. =3D=3D Solicitud de comentarios Un n=C3=BAmero de nuestros usuarios han expresado insatisfacci=C3=B3n leg= =C3=ADtima con una consecuencia del m=C3=A9todo que hemos usado para detener al kernel de inducir a los usuarios a instalar firmware no-Libre. No es nuestro objetivo el prevenir que los usuarios puedan cargar o ejecutar firmware no-Libre, pero la =C3=BAnica manera que pensamos de evitar inducir usuarios de ejecutar firmware no-Libre tiene el efecto secundario de hacer imposible el usar cualquier firmware no-Libre con s=C3=B3lo instalarlo. En Linux, varios drivers llaman request_firmware con un nombre de blob. Esta solicitud es registrada, incluido el nombre del blob, y pasada a un programa en nivel usuario, que debe localizar un archivo de firmware con ese nombre y subirlo al kernel. Dados los registros, en adici=C3=B3n al comportamiento existente y potencial del programa en nivel usuario, esto equivale a Linux decir al usuario que instale un programa no-Libre espec=C3=ADfico, lo cual no es aceptable. Publicaciones de Linux-libre desde la generaci=C3=B3n 2 remplazan el nombre del blob con un nombre que el cargador de firmware probablemente no encontrar=C3=A1, y que puede ser reconocido para informar a los usuarios acerca de la falta de firmware Libre para alg=C3=BAn componente de hardware en el sistema. Tambi=C3=A9n rechazamos cualquier respuesta que el cargador de firmware produce para dichas solicitudes, para minimizar el riesgo de coincidencias accidentales y da=C3=B1o de hardware. Razonamos que cualquiera determinado a usar el firmware a=C3=BAn podr=C3=ADa compilar un m=C3=B3dulo, o un kernel completo, que haga la solicitud y use la respuesta. Esta posibilidad fue considerada muy inc=C3=B3moda por algunos. Recientemente se nos ocurri=C3=B3 otra forma de alcanzar la meta de detener al kernel de invitar a los usuarios a caer en la trampa del Software no-Libre: donde Linux solicita archivos conocidos como no-Libres, podr=C3=ADamos anonimizar el nombre del blob con un hash unidireccional de su nombre y un identificador de la compilaci=C3=B3n y/o de la sesi=C3=B3n d= el kernel, y hacer la solicitud por un archivo nombrado con el hash calculado. Dada una implementaci=C3=B3n adecuada del cargador de firmware en nivel usuario, cualquier pieza del firmware que el usuario eligi=C3=B3 instalar a=C3=BAn seguir=C3=ADa siendo localizada inmediatamente y hecha disponible = para el kernel. Sin embargo, por causa de la naturaleza unidireccional del hash, una solicitud por firmware que no est=C3=A9 instalado no inducir=C3= =ADa a su instalaci=C3=B3n: el c=C3=B3digo de hash no los identificar=C3=A1 inmedi= atamente. As=C3=AD, si el usuario insiste en instalar el firmware, Linux-libre podr= =C3=A1 usarlo, pero es muy poco probable que alguien instale el firmware por influencia de Linux-libre. =C3=9Anetenos en linux-libre@fsfla.org y d=C3=A9janos saber tus sugerencias, otras formas de apoyar este tema, o tu opini=C3=B3n acerca de este plan y si crees que pueda ser aceptado en la versi=C3=B3n =E2=80=9Cr=C3=ADo arriba= =E2=80=9D. =C2=A1Retroalimentaci=C3=B3n y ayuda son bienvenidas! Entre tanto, =C2=A1S=C3=A9 Libre! con Linux-2.6.33-libre, y ay=C3=BAdanos a= revertir la creciente dependencia de Linux en firmware no-Libre. =3D=3D Acerca de Linux-libre Linux-libre es un proyecto mantenido por FSFLA, que publica versiones limpias de Linux, adecuadas para uso en distribuciones que cumplen las Gu=C3=ADas para Distribuciones de Software Libre publicadas por el proyecto GNU, y por usuarios que quieren correr versiones Libres de Linux en sus sistemas GNU. El proyecto ofrece scripts de limpiar, fuentes Libres, binarios para algunas distribuciones de GNU/Linux-libre, binarios Libres para reemplazar con cambios m=C3=ADnimos los kernels de distribuciones no-Libres de GNU/Linux: Freed-ebian y Freed-ora, y artes gr=C3=A1ficas con GNU y la mascota de Linux-libre: Freedo, el ping=C3=BCino de color azul claro, limpio, Libre y amistoso con el usuario. Visita nuestro sitio y =C2=A1S=C3=A9 Libre! http://linux-libre.fsfla.org/ http://www.gnu.org/distros/ =3D=3D Acerca de FSFLA La Fundaci=C3=B3n Software Libre Am=C3=A9rica Latina se ha sumado desde el = 2005 a la red internacional de FSFs, anteriormente formada por las Free Software Foundations de los Estados Unidos, de Europa y de la India. Esas organizaciones hermanas act=C3=BAan en sus respectivas =C3=A1reas geogr=C3=A1ficas con el sentido de promover los mismos ideales de Software Libre y defender las mismas Libertades para usuarios y desarrolladores de software, trabajando localmente, pero cooperando globalmente. http://www.fsfla.org/ ---- Copyright 2010 FSFLA Se permite la distribuci=C3=B3n y la copia literal de este art=C3=ADculo en= su totalidad por cualquier medio en todo el mundo sin paga de derechos, siempre y cuando se conserve la nota de copyright, el URL oficial del art=C3=ADculo y esta nota de permiso. Se permite tambi=C3=A9n la distribuci=C3=B3n y la copia literal de secciones individuales de este art=C3=ADculo por cualquier medio en todo el mundo sin paga de derechos, siempre y cuando se conserve la nota de copyright y la nota de permiso arriba, y se conserve la URL oficial del documento o se la substituya por la URL oficial de la secci=C3=B3n individual. http://www.fsfla.org/anuncio/2010-03-Linux-2.6.33-libre ]