Archivo de la etiqueta: software

En memoria de las víctimas del apartheid

Estándar

Cuando puedo intento leer el código fuente de algunos programas para aprender y ser mejor programador, lo cual es posible gracias a que los programas que trato son software libre. Buscando aleatoriamente me he topado con C-Graph.

transformsGNU C-Graph es un programa para ayudar a visualizar la convolución de funciones (o señales). Como presentación, decir que la convolución es una operación matemática cuya definición formal, digamos, no es muy intuitiva, al menos para mucha gente, y que necesita ser revisitada muchas veces para comprender su significado.

Pues si ejecutas el programa con el parámetro dedicate, puedes leer la versión original de la siguiente dedicatoria. El poema del final usa metáforas relacionadas con el argot del tratamiento de señales. No prometo que esta sea una traducción muy fiel.

GNU C-Graph está dedicado a las víctimas del apartheid, dondequiera que se encuentren, y está dedicado a la libertad y memoria del abogado haitiano y portavoz de los derechos humanos Eliezer Regnier que murió el 27 de Febrero de 2010 al luchar por la justicia. Que su alma descanse en paz.

para que TODAS las VÍCTIMAS de la LUCHA del APARTHEID sean LIBRES y para REGNIER
 
Me envías discretas señales a través de la habitación,
Yo respondo por impulso, reflejando el muestreo de eventos
Que son una dicotomía desde el día que dejaste el vientre de tu madre
Multiplicada en frecuencia, integrada en el tiempo, una ponderada confluencia
De desplazantes deslizantes trenes de pensamiento, mensajes alternativos bajo transformación
Contraprunto, dualidad, involución, contradistinción sin confusión,
Independencia en la sumación. Silencio -esta es una conversación convolucionada.

— Adrienne Gaye Thompson

convolutions

Más conmocionador aún, si lees el código fuente, puedes encontrar dos subrutinas que están escritas en su honor. Si no estás acostumbrado a leer código fuente, nota que en el siguiente código, para hacer referencia a los argumentos que se pasan a la subrutina, se ha decidido emplear los nombres law (ley) y justice (justicia). También se ha llamado a una variable rights (derechos) y una línea del código haiti. El nombre de los argumentos y las variables pueden ser cualesquiera que elija el programador, pero son muy importantes, ya que recuerdan cuál es el significado del valor que guardan. Ocasionalmente, aunque desaconsejable, uno puede hacer chistes con los nombres que se dieron a los argumentos, variables, etc.., ya que es posible leer el código reinterpretándolo como lo que significaría en el lenguaje convencional humano en lugar de con el lenguaje de programación usado, o un punto intermedio.  En este caso, no se ha hecho por diversión, sino en forma de homenaje. No haré una interpretación del código.


subroutine regnier(law,justice)
!==============================

   ! In memory of Eliezer Regnier

    character(len=*) :: law
    integer :: rights
    real, optional :: justice

    haiti: do rights=0,1
       write(*, "(a)", advance='no') 'C-Graph:>> '
       read(*,'(a)') law
       if(present(justice)) then
          read(law, *, iostat=badinput) justice
          if(badinput /=0) then
            if(rights==1) then
                justice=1
             else
                write(*,'(/,a)') "That was not a number. Try again!"
             end if
          else
             exit haiti
          end if
       else
          exit haiti
       end if
    end do haiti
  end subroutine regnier

integer function eliezer (s)
!===========================
! In memory of Eliezer Regnier
! Define scaling protocol.
character (*) :: s
character(*), parameter :: scale='abfhABFH'
eliezer=INDEX(scale, s)
end function eliezer

Anuncios

Cuatro simples cambios para impedir tu rastreo en internet

Estándar

Ayer descubrí este tutorial de la Electronic Frontier Foundation (EFF) que tiene como objetivo mejorar la privacidad al navegar por la web. Una cosa muy divertida es que si visualizas el tutorial sin permitir el uso de Javascript en tu navegador, una tecnología que permite que se ejecuten programas en tu ordenador con la finalidad de dar más posibilidades a tu forma de interación con la página (aunque no siempre es algo positivo), se muestra el siguiente mensaje:

Guau, no estás navegando con Javascript, ¡enhorabuena! Probablemente no necesitas este tutorial, el cual te aparecerá roto. Simplemente instala un bloqueador de anuncios que tenga una lista de protección de privacidad/rastreo, bloquea los cookies a terceros e instala HTTPS Everywhere.

A continuación traduzco la versión para el navegador web Mozilla Firefox, u otros basados en él, como Abrowser de Trisquel, aunque también hay una versión para Chrome (este navegador es software privativo, aunque sea gratuito):

—————————————

En menos de 10 minutos puedes mejorar drásticamente tu privacidad en la red y autoprotegerte contra el rastreo invisible y no deseado.

Ten en cuenta que estas medidas de privacidad bloquearan también publicidad. Desde EFF estamos trabajando con los anunciantes de internet para intentar convencerlos de proveer protecciones de privacidad reales para los usuarios, pero hasta que ellos acepten estándares de privacidad con sentido sobre el rastreo en internet, estos pasos serán necesarios para salvaguardar su privacidad al navegar. Más allá de eliminar los anuncios, estos cambios no afectarán a su experiencia de navegación en la gran mayoría de las páginas webs [Nota del traductor: cosa que no se puede decir, por desgracia, en el caso de desactivar Javascript o decir NO a Flash Player (software privativo), pero esperemos un futuro mejor]. Es posible, sin embargo, que esa pequeña fracción de sitios webs se comporten de manera diferente o se reompan, en cuyo caso la solución más fácil es usar temporalmente el modo “Navegación Privada” sin los ajustes habilitados, o bien un usuario/navegador diferente con los ajustes por defecto.

Paso 1: Instalar Adblock Plus

Consigue Adblock Plus. Después de que sea instalado, asegúrate de cambiar las Preferencias de filtros a EasyPrivacy:

imagen que muestra cómo hacerlo

Entonces ve a “Añadir suscripción de filtros”->”Añadir otra suscripción” y selecciona EasePrivacy:

Paso 2: Cambiar configuración de los Cookies

Ahora configurarás tus cookies para que expiren cuando cierres tu navegador, y deshabilitar cookies de terceros. Para hacerlo, ve a Editar->Preferencias->Privacidad. En “Historial”, elige la barra desplegable “Usar una configuración personalizada para el historial”. En “Aceptar cookies”, deselecciona “Incluso las de terceros” y justo abajo selecciona “Mantener hasta que cierre Firefox/Abrowser”:

imagen que muestra cómo hacerlo

¡Genial! No más cookies de rastreo no deseados.

Paso 3: Desactiva los “Referers”

Esta famosa mal escrita cabecera tipicamente enviada por defecto con cada petición HTTP da mucha información potencialmente personal a los sitios web. Pero puedes desactivarlo. Abre una nueva pestaña y en tu barra de direcciones introduce “about:config”. Verás un advertencia para que tengas cuidado con lo que haces. Haz click en “¡Tendré cuidado, lo prometo!”. En la barra de búsqueda,teclea “referer”. Deberías ver el [campo] “network.http.sendRefererHeader”. Haz doble click en él y cambia el valor a 0:

imagen que muestra cómo hacerlo

¡Ya está! No más “referers”. Ahora, cierra esa pestaña si te preocupa cambiar accidentalmente otras configuraciones.

Paso 4: Instala HTTPS Everywhere

Instala el complemento para el navegador HTTPS Everywhere de la EFF. Esto maximiza tu uso de HTTPS para asegurar que otras partes no puedan fisgonear o manipular tus conversaciones privadas con sitios web.

imagen de cómo hacerlo

En el link anterior, pincha en la imagen de Firefox y acepta instalar el complemento.

¡Felicidades! Ahora perteneces a un grupo de usuarios de élite luchando contra invasiones de privacidad no deseadas. Date a ti mismo una palmada en la espalda y entonces, por favor, comparte estos consejos.

—————————-

Cómo actualizar la versión de Trisquel

Estándar

Si alguien me pide consejo sobre que distribución de GNU/Linux usar, siempre les recomiendo Trisquel, ya que me parece increíblemente intuitiva y fácil de usar para cualquier persona, tenga o no conocimientos de informática general o de GNU. Sin embargo, instalar un sistema operativo, sea el que sea, es otra cosa muy diferente, y requiere de muchas salvedades. Es por eso que no recomiendo a la gente instalar Trisquel por ellos mismos, sino que pidan ayuda a un amigo que entienda o a un grupo de usuarios de GNU/Linux cercano. Esta entrada habla solamente sobre instalar/actualizar la versión de Trisquel, y por eso tendrá un lenguaje muy pesimista, pero no porque el usuario de Trisquel deba pensar o asustarse con estas cosas.

Si no la conocíais, Trisquel es una distribución 100% libre recomendada por la FSF, la Fundación por el Software Libre, ya que nunca da la posibilidad de instalar software no libre a través del sistema, aunque fuese legal y gratuito, sino que si el usuario quiere hacerlo tiene que recurrir a otras fuentes como, por ejemplo, a la página web del autor que ha creado dicho software. Eso impide, por ejemplo, que sea instalado por error y también que se apoye el uso de dicho software no libre, en lugar del de las alternativas libres que existen.

Sin embargo, desde Trisquel se pueden instalar infinidad de programas libres de manera muy simple y gratuita, basta usar la aplicación Añadir y quitar aplicaciones.

Los programadores de Trisquel regularmente crean nuevas versiones del sistema operativo usando como base nuevas versiones que van saliendo para Ubuntu. Las nuevas versiones de Trisquel son cada vez mejores, ya que tanto el mismo sistema operativo como los programas que se pueden instalar desde Añadir y quitar aplicaciones están más actualizados. Por esta razón, cuando una nueva versión de Trisquel ha sido publicada, te da la posibilidad de avanzar a dicha versión. Las distribuciones avanzan 0.5 unidades cada vez, salvo excepciones. Por ejemplo, la versión actual de Trisquel es la 5.5.

Como se ve en la imagen, Trisquel permite actualizar a la siguiente versión desde el mismo sistema operativo. Sin embargo, siendo sincero con mi experiencia, estas actualizaciones “directas”, sin pasar por arrancar desde un medio externo (CD, memoria USB, etc.), frecuentemente no funcionan correctamente. Hace ya años la alfombrilla táctil de mi portátil quedó sin funcionar, otras veces todo quedaba ralentizado y otras no me funcionaban bien los gráficos. Son muchos los testimonios de problemas ocasionados al actualizar Ubuntu (y por ende Trisquel) de esta manera. Aunque muchas otras veces funciona perfectamente, y no veo ninguna razón para no recomendar intentarlo si has decidido que vas a actualizar Trisquel, ya que es la manera más fácil.

Pero siempre hay dos alternativas:

No actualizar

Es algo muy cómodo no tener que instalar una nueva versión del sistema operativo que usas.
En esta línea, muchas distribuciones tienen ciertas características ventajosas. Por ejemplo, Debian da soporte durante mucho tiempo. Parabola GNU/Linux es una distribución 100% libre en la que no hay que reinstalar nunca. Sin embargo, cada vez que hay preparada una versión nueva de algún programa, esta se instala automáticamente junto con las actualizaciones ordinarias de Parabola.
Tener las últimas versiones de los programas es algo muy útil, pero a la vez peligroso, y no es extraño que Parabola no esté recomendada para usuarios novatos en GNU.

Es la opción más fácil y que no origina más problemas. Cualquier otra puede presentar contratiempos (a menudo relacionados con los controladores de video), con solución, claro, pero que para conseguir arreglar será necesario el uso de más tiempo y conocimientos del que requiere una instalación en la que afortunadamente no surgen. Si las cosas funcionan bien en tu versión de Trisquel actual, es recomendable no actualizar si no puedes aceptar al menos perder el mucho tiempo que te puede llevar aprender a solucionarlos, ya que si tienes problemas probablemente dejarás tu computadora inoperativa hasta que logres una solución.

Sin embargo, hay un problema con no actualizar, y es que pasado el tiempo de soporte de la versión de Trisquel que tienes instalada, no es posible instalar nuevos programas vía Añadir o quitar aplicaciones. Esto es así porque los desarrolladores de Trisquel van borrando los programas de los repositorios antiguos para tener espacio libre para los versiones nuevas de dichos programas, accesibles desde las versiones más recientes de Trisquel. Si nunca tienes la necesidad de usar otros programas que los que ya tienes no habrá problemas, pero a menudo uno quiere instalar algo nuevo.

Además, cuando pasa aún más tiempo incluso se dejan de recibir actualizaciones de seguridad. No estoy capacitado para decir nada sobre las consecuencias de eso.

El mejor consejo que puedo dar, y que antes nunca consideraba, es la importancia de instalar versiones LTS (con Soporte de Larga Duración). Desde que una versión LTS es oficialmente lanzada, se ofrecen al menos dos años de soporte, y para actualizaciones de seguridad mucho más. Cuando tenga que instalar Trisquel a personas sin experiencia voy a tener esto mucho más en cuenta, porque si no, al paso de los meses, pueden verse con un sistema en el que no puede instalar programas de la forma que se les enseñó (y la única sencilla).

Hacer una instalación de Trisquel “fresca”

Si la actualización “directa” a la siguiente versión no funcionó, si quieres adelantar más de una versión a la vez, si sencillamente ni quieres intentar la actualización “directa”, o bien no estaba instalado Trisquel en el ordenador, la solución es hacer una instalación “fresca”.

Ojo: A veces este método no es infalible. Incluso me ha ocurrido que el instalador de una versión daba problemas en un determinado ordenador, pero no el de la anterior versión, que la instalaba correctamente. Y una vez en dicha versión puede actualizar hasta la versión siguiente mediente el método “directo” sin problemas…

El punto más importante es cómo hacer para que lo que había en la instalación anterior vuelva a estar en la nueva. En esencia, todo es simplemente:

  • Los programas.
  • Los datos.

Para lo de los programas no conozco otra solución que escribir una lista de todos ellos y una vez instalada la distro los vuelvas a instalar. Eso es muy fácil, mucho más que si tuvieras que hacerlo en Windows, de hecho puedes instalarlos todos a la misma vez.

A menudo uno asocia a los programas también los archivos que ha creado con ellos, pero estos a menudo se guardan en la carpeta del usuario, por lo que son considerados como datos en nuestra consideración. Además, las configuraciones de los programas, e incluso la apariencia de nuestro escritorio, también está guardada en dicha carpeta, por lo que si se salva nuestro directorio todo seguirá igual.

Para salvar los datos hay de nuevo dos opciones:

  • Hacer una copia de seguridad de los más importantes.

Esto es, copia las cosas que de verdad valoras a algún lado. Nunca sabes qué puede pasar, esto en realidad debería hacerse sí o sí. Si la opción siguiente no te es válida, siempre puedes pegar en tu nuevo Trisquel los datos que tuviste la gracia de sacar.

  • En el proceso de instalación de la nueva versión, seguir los pasos que se detallan a continuación.

Si estuvieras instalando Trisquel por primera vez, sigue los pasos para una instalación convencional. Si ya hiciste esto cuando instalaste Trisquel, o lo lograste de alguna otra forma, dispones de una partición propia para /home, es decir, tienes reservado un espacio fijo del disco duro para los datos personales, de forma que no se almacenan en el mismo espacio donde lo hacen los programas y el sistema operativo. El método que vamos a describir solo es aplicable si se está en la situación descrita.

Que los usuarios tienen su carpeta personal cifrada (se puede elegir cifrar la carpeta personal durante la instalación o cuando se añaden nuevos usuarios desde Sistema->Administración->Usuarios y grupos) NO es un problema. En cualquier caso, si no te quieres arriesgar, ejecuta el comando ecryptfs-unwrap-passphrase en una consola, introduce la contraseña y apunta la frase de paso retornada. Dicho cadena de caracteres te permitirá descifrar el directorio del usuario que ejecutó el comando si hubiera problemas.

Pues nada, comienza la instalación. Cuando llegues a…

…selecciona Algo más, Particionado manual, o como se le haga referencia en el instalador visual de tu versión de Trisquel. Una vez en las opciones del particionado, dedica un tiempo a asegurarte que comprendes tu disco duro (si no, sal de la  instalación y aprende dónde está cada cosa).

El caso mostrado en la imagen es el típico cuando en el ordenador está instalado Trisquel y Microsoft Windows al mismo tiempo. Las dos primeras particiones son de Windows, con el innombrable formato ntfs, la siguiente es donde estaba instalado el directorio principal o raíz de Trisquel, /, la siguiente es la partición para la swap o memoria de intercambio, y la última es la partición para los directorios personales de los usuarios, /home. En una instalación no manual de Trisquel los formatos de las particiones anteriores son respectivamente ext, swap y xfs, lo cual te puede ayudar a orientarte.

Ahora que ya sabemos lo que hay, lo que tenemos que hacer es decir que el / de nuestra nueva instalación irá en el mismo sitio de antes, pero que se debe formatear dicha partición para borrar todo lo que había; que el /home de ahora estará donde antes e y la memoria de intercambio también se quedará en el mismo sitio de antes.

Importante: NO selecciones formatear la partición de /home, obviamente, pues eso borraría todo lo que allí hubiera. Antes de darle a continuar asegurate de que solo está marcada / para formateo (y que / está en la partición correcta, NO DONDE DEBERÍA ESTAR /HOME).

Cuando te pida introducir el usuario principal, asegúrate de escribir correctamente el nombre de usuario ya existente que te interesa, aquel que quieras que tenga permisos de superusuario. El primer campo, Nombre, no tiene por qué ser idéntico al que tenía antes y puedes cambiarlo si quieres; solo el campo Nombre de usuario debe serlo, ya que es ese el verdadero identificador.

Como puedes ver en la imagen de abajo, al haber seleccionado que /home no sería formateado, no puedes elegir entre las opciones del final (están sombreadas), ya que se conservarán las elecciones de la instalación anterior.

Y nada más. Ya sabes cómo no borrar tus datos y que los usuarios de tu sistema sean reconocidos automáticamente por Trisquel.

¡Feliz Día de la Libertad del Software!

Recursos para la promoción de software libre

Estándar

Haciendo lo que consideraba una búsqueda suicida me he encontrado una presentación muy divertida sobre GNU/Linux (click para pasar diapositiva).

Resulta que el autor se hace apodar Jesusda y tiene mucho más material. Le doy las gracias por poner a nuestra disposición material tan agradable y fácil de usar.Imagen

Sacando internet por la terraza

Estándar

Aquí describo cómo acabamos de configurar e instalar un enrutador Buffalo High Power Turbo G Smart (eso es un nombre comercial y lo demás son tonterías) para tener conexión inalámbrica a internet desde mucho más lejos. El modulador-demodulador/enrutador que nos dieron los proveedores de internet está localizado en el salón, por lo que la señal inalámbrica tiene muchos obstáculos y se encuentra muy atenuada cuando sale de la casa. El enrutador lo compré por 15 € a un compañero de clase americano que estaba deshaciéndose de trastos para sacar dinero.

En una instalación anterior habíamos pasado un cable de red por los tubos coarrugados por donde van los cables de electricidad de la casa, y lo sacamos por el enchufe de mi cuarto para conectar allí un ordenador de sobremesa. Como no teníamos a mano un cable realmente largo, hemos “unido” dos usando un conmutador que compré hace tiempo en una tienda de cosas de segunda mano por 10 €. Ya veremos lo que hago en un futuro, quizá empalmar ambos cables. De momento ahí está el conmutador consumiendo electricidad, pero también me permitiría tener una varias conexiones cableadas en mi cuarto, ¡incluso hacer una LAN-party!

Desde el conmutador sale el segundo cable ethernet a través de un agujero en la pared, y sube hasta la terraza por la pared exterior de la casa.

El cable ethernet es el que sale debajo de la ventana, el gordo es el de la antena de televisión.

Como es razonable, antes de buscar un sitio donde dejar bien puesto el enrutador, me pasé unas buenas horas probando a atinar con la configuración. El router tiene instalado un firmware DD-WRT que es en esencia software libre, aunque creo que el chipset (Broadcom BCM5352) requiere de un firmware que no lo es. Probablemente en el futuro tome alguna acción contra eso.

Pues bien, esta es la pantalla principal de configuración del router (se puede poner en español):

He marcado como “Desactivado” el “tipo de conexión de la WAN”, del que no he entendido realmente su utilidad (no penséis que yo sé mucho de configurar redes, voy aprendiendo lo justo para ir arreglándomelas). Lo segundo que he modificado es que la pasarela (Gateway) sea el modem/router del salón, que como es habitual tiene la dirección de red 192.168.1.1, para que todo entre y salga por allí. Además he dado al router que está siendo configurando (el de la terraza) la dirección 192.168.1.2. Por cierto, me gustaría que la gente que se conectara a través de este último no pudiera acceder a la configuración del router del salón al entrar en 192.168.1.1via web, pero aún no sé cómo hacerlo.

La última configuración anotada en la imagen anterior no me la esperaba, pero por alguna razón, cuando el router estaba conectado al modem/router, no podías salir a internet desde ninguno, ¡ni siquiera el modem/router!, aunque podías llegar hasta la configuración web de ambos. Lo que ocurría es que 192.168.1.2 le estaba ofreciendo direcciones de red mediante DHCP y este diría ¡pero que narices! ¿no era yo el servidor DHCP? Cuando leí “DHCP Forwarder” pensé de inmediato que tendría mucho sentido que el router fuera transparente a la gestión de las peticiones de direcciones IP y actuara como si no existiera.

Lo siguiente fue probar hasta inducir que el “Modo Wireless” que necesitaba es “Punto de Acceso” (AP).

Y bueno, ya que la señal iba a llegar bastante lejos decidí encriptarla, al menos temporalmente, aunque quiero investigar un poco más las redes abiertas como guifi.net, que aún no he tenido tiempo.

Pues ya tenía el punto de acceso funcionando, faltaba colocarlo en un buen sitio. Decidimos tomar la corriente de una lámpara que había en la terraza. Le cambiamos la ficha de empalme ya que en la primera no entraba directamente la clavija. Ni idea de en qué país compró el chico el enrutador para que me lo diera con ese adaptador.

Para proteger y suspender el router usamos la caja de una lijadora que había dejado de funcionar, y le abrimos unos agujeros para que circulara el aire.

Pero dejarlo tal cual en una terraza en verano es probablemente sentenciar su muerte. Para evitar la exposición directa al sol, e incluso el efecto invernadero, hemos protegido las paredes con apuntes de física de la materia, ya que las hojas de papel apiladas son un aislante muy bueno al entrar muchas en poco espacio. ¿Escéptico? Ya veremos.

Puedes ver estas y muchas más fotos del montaje en la siguiente presentación de fotografías.

El pase de diapositivas requiere JavaScript.

La presentación usa JavaScript no Flash y se puede reproducir con software libre, pero si te resulta inaccesible, puedes acceder a ellas desde aquí.

Arranque Seguro (para la hegemonía) de Microsoft

Estándar

Ha finalizado el concurso de tebeos de internet organizado por la Free Software Foundation con motivo del Restricted Boot (Arranque Restringido). El Arranque Restringido es una tecnología que Microsoft ha querido imponer a los fabricantes de cualquier tipo de ordenador, incluídos portátiles, móviles, tabletas (los ordenadores táctiles esos que la gente saca en el autobus) o cualquier otra cosa que vaya a ser vendida con su próximo sistema operativo (exactamente, para que puedan llevar el emblema Diseñado para Windows 8). El nombre que Microsoft da a dicha tecnología es Arranque Seguro, ya que su única función, en principio, es impedir que cuando la gente encienda sus computadoras, estas no permitan el arranque de sistemas operativos no “confiables”, pues un ente malevolente podría haber preparado el ordenador para arrancar, por ejemplo, una versión trucada de Microsoft Windows, lo que sería una amenaza para el usuario. El problema que se presenta es que esta tecnología, endiabladamente aplicada, podría impedir que el usuario pueda arrancar/instalar el software que él quiere (libre o no) en su propia computadora.

Freedom or fairness ♡ 2012 Mimi and Eunice.

La palabra confiable es muy relativa, ya que, por ejemplo, somos muchos los que para nada en el mundo consideraríamos que Microsoft Windows es un sistema operativo confiable; los únicos que tienen posibilidad de saber lo que ese sistema operativo hace son los trabajadores de Microsoft, que son los que pueden leer su código fuente, y ellos tienen prohibido revelar al público las acciones ocultas.

Es conocida una “filosofía” connocida como Computación Confiable cuyo propósito es que muy artificialmente un tercero limite al usuario las cosas que puede realizar con su computadora. En este caso sería algo limitante si el usuario pierde la libertad de decidir por si mismo qué es confiable para su computadora. Sin embargo, no es inaceptable que las personas puedan depositar su confianza en terceros, si así lo consideran. En este caso, no habría ningún problema si el usuario mantuviera la libertad de especificar aquellos sistemas operativos a su elección, como sus distribuciones de GNU/Linux favoritas, como confiables:

  • Tendría la garantía de que su ordenador no arrancará un sistema operativo no autorizado por él.
  • El usuario podrá utilizar los sistemas operativos que prefiera, a su propio riesgo.

Si esto es así, el usuario mantiene el control sobre su máquina. Pero en este caso partícular, no parece demasiado fácil encontrar una implementación de Arranque Seguro que respete las dos partes, la libertad del usuario y la confianza “de serie”.

  • Si el usuario tiene permiso para aumentar la lista de sistemas operativos confiables sería perfecto en cuanto a la libertad del usuario, pero es difícil pensar que entonces no habría riesgo de que la lista fuera modificada por una persona malintencionada.
  • Está contemplada la opción de jurar por Tutatis, con un coste de unos 99 dólares, que tu sistema operativo es confiable, y que tu firma sea incluída como segura trámite Microsoft, pero tendrás que confiar siempre en él, al ser él el mediador.
  • La opción que siempre debería prevalecer es que el usuario tenga la libertad de desactivar la tecnología Arranque Seguro, sin ningún perjuicio para él, más allá de los peligros potenciales que el Arranque Seguro pretende solventar.

Si finalmente el usuario se encuentra cohibido por culpa de esta tecnología, con razon debería llamarse Arranque Restringido, y sería completamente rechazable.

Obra ganadora del concurso. Es muy divertido en inglés, ya que la palabra arranque es la misma que bota. Autor: Erik Steinmann

Pues Microsoft, en un principio, lo que explicó muy bien eran los detalles de cómo dicha tecnología debía ser incluída obligatoriamente para obtener su aprobación, pero dejó grandes lagunas (posiblemente intencionadas) sobre qué alternativas debían darse al usuario que no quisiera usar Windows. La Free Software Foundation inició una recogida de firmas que aún sigue abierta, con el siguiente texto (traducción personal):

Nosotros, los firmantes, pedimos a todos los creadores de computadoras que implementen el llamado arranque seguro del UEFI a hacerlo de tal manera que se permita instalar sistemas operativos libres. Para respetar la libertad del usuario y realmente proteger su seguridad, los manufacturadores deben permitir que los usuarios puedan o bien deshabilitar las restricciones del arranque, o bien proveer una manera a prueba de fuego que les permita instalar y ejecutar un sistema operativo libre a su elección. Nosotros nos comprometemos a nunca comprar o recomendar computadoras que priven a los usuarios de esta crítica libertad, y pediremos activamente a las personas de nuestras comunidades a evitar tales sistemas enjaulados.

Ante la presión, en Diciembre Microsoft actualizó su sentencia y dejó como opcional la implementación de dicha tecnología en ordenadores de escritorio, pero explícitamente la forzó en máquinas basadas en la arquitectura ARM (usada por ejemplo en teléfónos inteligentes, tabletas y mini-portátiles).

Fedora y Ubuntu han planeado algunas soluciones para no tener que desactivar el Arranque Seguro para ser instaladas, pero básicamente además de costarles dinero, necesitarán confiar en Microsoft como intermediario. Puedes leer los detalles en el comunicado de la FSF (en inglés).

Richard Matthew Stallman y el software libre

Estándar

Poco más allá

Hace muy pocos años que existen los ordenadores. En sus orígenes, la piezas (o hardware) de los ordenadores a la venta se consideraban mucho más importantes que los programas (o software) que venían con ellos, los cuales se daban con la máquina como un regalo, y no tenían más interés que el de hacer más atractiva la máquina que estaban vendiendo. Los programadores intercambiaban los programas que hacían los unos con los otros, y no solo los programas, también el código fuente de estos, para poder readaptarlos, corregirlos, extenderlos, etc.. Pero con el paso del tiempo, el software comenzó a tomar mucha más importancia que el hardware, y se comenzó a tener miedo de que otros se beneficiaran demasiado del software que escribían, y esta costumbre de compartir el software comenzó a perderse, afianzándose la era del software privativo.

Incluso se comenzaría a demonizar a aquellos que compartían el software con la única finalidad de que fuera útil a otros también, aún sin la posibilidad de poder modificarlo. Pero, como es normal, la gente quería compartir el software, y lo siguió haciendo como lo hacemos hoy, aún sin el beneplácito de sus creadores. Se tachó a estas personas de piratas, aún cuando no habían atracado ningún barco, ni asesinado a nadie, ni robado ningún botín a nadie. Tan solo compartían, utilizando la característica probablemente más importante del software, la facilidad de multiplicación con coste prácticamente nulo. Es la misma capacidad de multiplicación que supuestamente alguien utilizó un día con los panes y los peces, aunque a él nadie lo llame pirata.

Un okupa en el MIT

En 1971, Richard Matthew Stallman, un joven brillante que decidió estudiar física y matemáticas ya que, aunque le apasionaban los ordenadores, sabía que le sería fácil aprender a “usarlos” por si solo, en su primer año de Física en Harvard decidió pasarse a por alguna documentación por el Laboratorio de Inteligencia Artificial del MIT, acabando con un trabajo de verano. En aquel lugar acabó pasando mucho más tiempo, haciendo muy buenas amistades entre todos los hackers (personas  con profundos conocimientos y apasionados por un tema, informática en este caso) que allí se encontraban. En la comunidad hacker siempre ha sido conocido como rms (las siglas de su nombre) informalmente, y así le haremos referencia aquí.

Sin embargo, poco a poco, toda su comunidad fue siendo contratada por una empresa llamada Symbolic que escribía software para el laboratorio, hasta quedar él solo, lo cual le creó un gran malestar. Como forma de protesta, lo que rms decidió hacer fue encerrarse día y noche para programar velozmente y por sí solo todas las nuevas características que Symbolic iba implementando, de forma que no fuera necesario el uso de dicho software. Así lo hizo durante dos intensos años, pero llegado un momento, Symbolic cada vez tenía contratados más hackers, y rms decidió buscar algo que reemplazara aquello que le habían quitado, en lugar de seguir castigando más a la empresa. Como él dice, podría haberse ganado la vida fácilmente escribiendo software privativo, e incluso divertirse, pero su trabajo consistiría en poner cadenas a la gente, sin poder compartir aquello que hacía con su comunidad. Se negó a ir en esa dirección.

GNU

rms consideró dejar el mundo de la programación, evadiendo así su problema moral, aunque aquello habría sido probablemente muy doloroso para un hacker. Pero la idea cumbre que se le ocurrió para restaurar su comunidad, la idea que sin exagerar cambiaría el futuro del software, fue la de escribir lo que toda persona que usa un ordenador necesita, y que sin la cual no se puede hacer absolutamente nada: un sistema operativo. Pero libre, que todos pudieran estudiar, utilizar, modificar y compartir a su antojo.

Resta decir que escribir un sistema operativo era y es considerado una tarea incomible, lo cual ha sido usado como pretexto para justificar cualquiera de las condiciones injustas bajo las que se ha distribuído el software clásicamente. Más adelante la filtración de los documentos Halloween revelarían el miedo que Microsoft llegó a sentir por el software libre.

Pero además, había otro problema. En aquel entonces, los sistemas operativos eran muy específicos, pues apenas funcionaban en las máquinas para las que habían sido diseñados. Esto era un gran inconveniente, ya que dependiendo de la máquina que tuvieras tendrías que escribir un sistema operativo totalmente distinto. Pero se sabía que Unix era una excepción, ya que había conseguido reutilizarse en diferentes ordenadores. rms decidió construir un sistema operativo compatible con Unix para beneficiarse así de esta portabilidad. Decidió llamar al sistema operativo GNU, como acrónimo de GNU No es Unix. Para entender un acrónimo recursivo como este, la primera vez hay que “agitar” la mente, una de las actividades que definen a un hacker. Además, desde antiguo los hackers han hecho referencia a los programas en los que se fundamentan los suyos al elegir sus nombres.

En 1984, rms decidió dejar su puesto de trabajo en el MIT, ya que si continuaba allí podrían haberle pedido los derechos sobre el software que escribiría. Sin embargo, un profesor le concedió permiso para seguir usando las instalaciones.

Siempre buscó sofware existente que ya hiciera aquellas funciones que él necesitaba, para no tener que hacerlo todo de nuevo, otra costumbre muy comprensible del mundo hacker. Pero al principio, incluso aunque el código fuente estuviera accesible, casi nadie quería permitir que ese código pudiera ser usado por otros de aquella manera tan incondicional como Stallman demandaba. Sin embargo, las cosas comenzaron a cambiar cuando contra todo pronóstico, GNU empezaba a tomar forma, y hackers de todo el mundo se sintieron interesados.

Más allá de GNU

Para la promoción del software libre, rms creó la Fundación del Software Libre (Free Software Foundation, FSF) y diseñó una licencia de software revolucionaria, la GNU GPL.

La GPL estableció los fundamentos legales que para permitir que cualquier software bajo dicha licencia pudiera ser usado con cualquier propósito, siempre y cuando si alguien redistribuyera modificaciones de dicho software, esas modificaciones preservasen las mismas libertades. Esta cláusula, a menudo denominada vírica ya que se transmite a todo el software derivado, es conocida como copyleft, y ha sido la clave para que un sinfín de personas de todo el mundo esté compartiendo su código fuente con la humanidad. Con la GPL, tenían la garantía legal de que su código no podría nunca ser utilizado para crear software no libre, permaneciendo siempre al servicio de los usuarios, incluyéndose ellos mismo, los autores originales. Cabe mencionar que hay notables casos de otras personas que han decidido escribir software libre sin incluir la cláusula de copyleft, de forma que el software es tan libre que permite ser usado incluso para construir software no libre con él. Empresas como Apple y Microsoft han incluído código licenciado de esta forma en sus productos.

Sobre 1991, mucha gente se había animado a colaborar con el proyecto GNU, pero entre todas las cosas que faltaban, había una que era necesaria para que GNU fuera por si solo completamente funcional: el núcleo. En aquel año, el finlandés Linus Torvalds decidió liberar su núcleo, al que llamó Linux, bajo la licencia GPL. Esto ha permitido que todo el mundo pueda hoy usar GNU con el núcleo Linux en total libertad, siempre que dicha libertad sea preservada. Miles de variantes (llamadas distribuciones) de GNU con Linux han sido creadas por personas de lo más diversas y con intenciones de lo más diversas, y cualquiera puede instalarlas en sus aparatos electrónicos.

Un pinguino libre intentando escapar de su jaula.

El software libre se convirtió en un escándalo mundial. Hackers de todo el mundo colaboraban entre sí con la misma filosofía que antaño, compartiendo entre ellos lo que producían. Gracias a internet, era posible que gente que no se conocía de nada y sin apenas ponerse de acuerdo, colaborara desarrollando aquel software que le interesaba por alguna razón personal, obteniendo resultados que costarían muchísimo a cualquier empresa. Un grupo alternativo, autodenominado Iniciativa por el Código Abierto, comenzó a promocionar el modelo de desarrollo del software libre como altamente eficiente, debido a las ventajas técnicas de la colaboración y la reutilización del código fuente, haciéndolo más apetecible así a determinadas empresas u otros sectores menos interesados en la libertad de los usuarios.

Esto ha tenido muchas consecuencias, ya que esta nueva generación de software tenía dos frentes que interferían entre sí de vez en cuando: El escribir software que dé libertad al usuario y el hacerlo para conseguir el mejor software de todos.

Como ejemplo, Linux se encuentra licenciado bajo la versión 2 de la licencia GPL, y hasta ahora Linus Torvalds siempre ha mostrado rechazo a usar la versión 3. Hasta la versión 3 de la GPL, se había considerado que el usuario debía tener el derecho a modificar el software, pero no estaba preparada para la posibilidad de que las máquinas fueran diseñadas intencionadamente para no dejar acceder a la instalación o configuración de dicho software. Está ocurriendo hoy que en muchos dispositivos portátiles (como teléfonos móviles) que usan Android, otro sistema operativo principalmente libre que usa Linux como kernel, el dueño del teléfono no puede ejercitar sus libertades aunque tenga el derecho legal de hacerlo, estos dispositivos han sido diseñados expresamente como jaulas para evitar que los usuarios metan las manos. Esto es conocido como tiovización. Esto resulta inaceptable para alguien interesado en su libertad, pero no necesariamente para el que quiere escribir magnífico software.

No es equivocado interpretarlo como que entre los desarrolladores de software libre, unos están más interesados en las ventajas para el desarrollador o las funcionalidades del software, y otros más interesados en la libertad de las personas que finalmente usarán ese software. Pero por lo general estas diferencias no impiden que colaboren los unos con los otros, lo cual es algo bueno, pues todos salen ganando.

Más allá del software

Llegado un momento, rms decidió dejar de escribir software para dedicarse íntegramente a la promoción del software libre y la defensa de sus usuarios. Hoy continúa haciéndolo a tiempo completo.

rms dió un marco teórico al software libre a través de su definición del software libre, y ha escrito muchos ensayos en la materia. Pero la filosofía creada por rms sobre la libertad del software se ha expandido mucho más lejos de sus intenciones originales. La cultura libre, alternativa a las obras licenciadas en posición de ataque por el copyright convencional de TODOS los derechos reservados “porque yo lo valgo”, ha crecido inspirada en el software libre. Wikipedia es un ejemplo de obra cultural libre que todo el mundo hoy conoce. Igualmente se han acogido a estas ideas diseñadores de hardware, y probablemente en el futuro veremos cada vez más hardware construído con planos libres.

Para saber más sobre cultura libre, puede leer algunas notas sobre Creative Commons que he escrito.

Las malas lenguas

rms disfrazado de San iGNUcius, santo de la iglesia de GNU Emacs, un editor de texto plano.

Se hacen muchas críticas a Stallman, probablemente más de entre las personas que usan o apoyan el “software libre” que de entre las que no. Después de “aún no acepta que la gente llame simplemente Linux al sistema operativo”, probablemente la crítica más común es que es un extremista. Desde los orígenes de GNU, rms nunca toleró el software privativo como solución, y de hecho fue su “extremismo” lo que le hizo llevar el proyecto GNU adelante. No quiero decir que sea su responsabilidad situarse en los extremos aunque no crea en ellos, pero sería absurdo que no se posicionara firmemente con respecto a sus creencias. Pero en cualquier caso, ¿quién puede criticar que el padre del software libre sea un extremista del software libre?

Hay que considerar también, que hoy día innumerables personas usan GNU con Linux, pero muchas nunca han llegado a oir nada de lo que he contado aquí, de la libertad que disponen potencialmente y de la que se favorecen pasivamente por estar usando software libre, otras ni siquiera saben el nombre correcto de su sistema operativo, y la gran mayoría no sabe que internet funciona con software libre. Esto es sin duda causa de la facilidad que tenemos para no prestar atención a las cosas importantes, tendiendo a pensar en términos de esto es lo mejor, pero sin considerar las razones morales. Y esto es aplicable tanto a los de Villarriba como a los de Villabajo, hackers y no hackers, informatiquillos y los que no. Por esta razón no es difícil comprender que son las ideas no sociales, las que divulga la Iniciativa por el Código Abierto, o bien las de gratuidad, las únicas frecuentemente usadas para hablar del software libre. Esta probablemente es la causa de la incomprensión del posicionamiento de Stallman a favor de la necesidad de que los usuarios tengan acceso exclusivamente a software libre, y que cualquier otro camino es éticamente injusto.

Muchos informáticos aluden que debido al software libre no encuentran trabajo. El modelo comercial de software libre es diferente al clásico, ya que no se basa en secretos. Lo que el software libre puede aportar es la creación de nuevo software que no existía anteriormente, la adaptación del software existente a las necesidades particulares, soporte a los usuarios, etc.. Bajo mi decrecentista opinión, me parece muy bien que se reduzcan los puestos de trabajo de estas cosas, pero en cualquier caso, no sería culpa del software libre la supuesta pérdida de empleos, sino del modelo capitalista, que solo da dinero a aquellos capaces de usar en su beneficio, o hacer competencia, al software libre en este caso.

Más allá de los tópicos

Muchos solo darían una opinión si tuvieran necesidad o les beneficiara. Por ejemplo, una vez escuché decir sonriendo al político de turno: “queremos festejar la victoria de nuestro equipo [de fútbol]” para argumentar el desmantelamiento de un campamento del 15-M; sin otra razón, probablemente, no habría dado a entender que sus decisiones políticas se encuentran favorecidas por su afinidad por el fútbol. Este no es el caso de rms. Richard Stallman es un librepensador, activista en muchos otros campos, principalmente de libertades civiles, y con una opinión muy fuera de lo que se suele escuchar comúnmente. Puedes leer algunas citas suyas en Wikiquote, especialmente algunas de la versión inglesa te harán repensar muchos argumentos. De las cosas más rocambolescas que se oyen:

  • No deja a los niños hacerse fotos con él si llevan una camiseta de Tux, la mascota de Linux.
  • Ha cobrado a los niños por hacerse una foto con él, mucho más por una firma.
  • Nunca estuvo casado ni ha tenido hijos, aludiendo a que son costosos en tiempo.
  • No usa teléfono móvil porque es un dispositivo de espionaje y rastreo, entre otras cosas.
  • Se opone a los documentos de identidad.
  • No duerme en hoteles, porque prefiere ser acogido en las casas de la gente.

Aunque no lo haya conocido en persona, lo que puedo opinar de rms es que probablemente es una de las personas más concienzudas que existen, y eso probablemente le lleve a veces a no aceptar el consenso o a parecer un testarudo. Creo que debe tener una gran sensibilidad hacia las artes, ya que siempre encuentra geniales juegos de palabras para hacerte comprender sus ideas sobre un determinado argumento, además de componer la jodidamente minimalista canción del software libre, entre otras muchas cosas que se pueden encontrar fácilmente por gnu.org y listas de correo.

Puedes escuchar pinchando aquí la canción del software libre cantada por él y dos enlaces antes está la traducción de la letra y versiones cantadas por otras personas, alguna en español.

Disculpas

Pido disculpas por escribir sobre alguien que no conozco en persona. Precisiones y críticas serán buenamente aceptadas, espero, y probablemente corregidas.

Para la parte histórica me he basado fundamentalmente en el libro con título Código Rebelde y cuyo subtítulo lo mejor que se me ocurre traducirlo es Dentro de Linux y de la revolución del código abierto. Aunque ese título aspavente a los llamados fanáticos de rms, el autor, Glyn Moody, habla de forma muy precisa y correcta dentro del libro. Al margen del libro, puedes leer sobre la historia de GNU aquí.