Una de las supuestas ventajas de Android es que es un sistema libre. Todo el código fuente se puede bajar y compilar desde la página web oficial de Android, lo cual es una ventaja para desarrolladores que pueden aprender y modificar el código, creando, por ejemplo, sus propias ROMs. Sin embargo sigue habiendo componentes que no son del todo libres y esto es un inconveniente, como en alguna ocasión ha dicho Stallman. Por ello existe Replicant, un fork de Android completamente libre, donde todos sus componentes lo son.
¿Por qué es importante tener un sistema completamente libre? ¿Por qué Android no lo es? ¿Qué nos ofrece Replicant y en que dispositivos podemos instalarlo? Muchas preguntas en el aire y espero poder contestarlas en esta entrada.
Software libre es más que código abierto
El movimiento de software libre es muy diverso. Tenemos a los que piensan que realmente lo importante es que el código sea abierto (open source), es decir, que puedas bajar el código fuente y mirarlo. Esto añade varias ventajas a un software: primero, puede inspeccionarse si tiene agujeros de seguridad. También nos proporciona una herramienta muy útil para aprender a programar. Y permite que la comunidad contribuya a su desarrollo.
Pero hay posiciones más extremas que dicen que el código abierto no es suficiente, que tiene que ser verdaderamente libre (free software, pero en castellano es mejor porque free también es sinónimo de gratuito y no van por ahí los tiros). Esta libertad significa que legalmente el software, aparte de tener el código abierto, puede ser modificado y recompilado por terceros, permitiendo mantener productos de alta calidad incluso cuando los creadores originales dejan de lado el proyecto.
La posición más radical (y no creáis que uso esta palabra en sentido peyorativo, respeto y comparto en muchos aspectos esta opinión) dice que además el software libre debe ser viral. Es decir, si alguien usa una pieza de software libre debe convertir todo su código en software libre. Es decir, no puedes aprovecharte del trabajo de los demás para hacer un software cerrado.
¿Es Android software libre?
Android es software libre con muchos peros. Primero, usa como kernel Linux, que es claramente software libre, con una licencia LGPL, que obliga a abrir cualquier obra derivada pero que puede convivir con software cerrado de formas algo limitadas. Segundo, el resto del código usa una licencia Apache Software License (ASL) que no es tan libre. Cualquiera puede coger el código, modificarlo y sacar nuevos productos, pero no tiene por qué abrir el código (por ejemplo, Amazon con su fork de Android en sus tablets Kindle) y pueden funcionar de una forma muy sencilla con elementos cerrados.
Por tanto en Android cualquiera puede coger todo el proyecto y hacerse un fork y cerrar el código. Y cualquiera puede poner elementos cerrados conviviendo con la parte abierta sin muchos problemas. ¿Se hace? Sí, mucho. Tanto Google como los fabricantes de los terminales.
Por ejemplo, los fabricantes añaden todos los drivers que comunican con el hardware de forma cerrada. También el firmware y la radio de los terminales son cerrados. Y por último, y muy importante, las aplicaciones de Google son cerradas. Nadie puede ver el código de Gmail o Hangouts.
¿Es Android más cerrado que al principio?
En parte sí. A nivel de sistema operativo no, al principio teníamos drivers cerrados y eso no ha cambiado mucho. Sin embargo Google sí que ha movido cosas del código abierto a sus aplicaciones que son cerradas. Por ejemplo, en Android 4.4 ha movido dos cosas que eran abiertas a cerradas.
La primera cosa es la aplicación de SMS. Ahora es Hangouts. La segunda es la aplicación de teléfono, que la han cerrado para proporcionar en ella servicios de Google (mirar en Google Maps los teléfonos que nos llaman). Pero no acaba ahí la cosa, ha cerrado el Launcher (para integrar Google Now) y en su día se cerró el teclado (para actualizarlo por Google Play), el reproductor de música (para meter Google Play Music) o la búsqueda (para meter Google Now). Parecía que Google + Fotos se iba a comer a la Galería, pero de momento no es así.
Realmente hay quien dice que de las aplicaciones que quedan abiertas (con algo de desarrollo en marcha) son Ajustes, la calculadora y poco más. Google está proporcionando valor añadido a Android a costa de no hacer evolucionar el sistema operativo en sí. Se evita un fork serio (como el que sufrió con Amazon) pero a costa de romper la libertad que proporcionaba a sus usuarios.
Replicant, el Android abierto
Es por ello que existe una ROM que es completamente abierta, Replicant. En Replicant no veréis el típico zip de Google Apps para instalarlas de forma separada, porque no las hay. Todo el código es abierto, hasta los drivers. Y como tienda de aplicaciones usan F-Droid, que ya reseñamos por aquí y que sólo contiene aplicaciones abiertas.
Suena muy bien, pero tiene dos pegas principales. La primera, que no tenemos las aplicaciones de Google. Es obvio, si queremos prescindir de lo cerrado no podemos seguir con Google de la mano. Esto hace que la experiencia Android sea peor en muchos aspectos, pero por otro lado logramos la ansiada libertad y nos aseguramos de que no haya nada raro en las aplicaciones que instalamos (espionaje, por ejemplo).
La segunda pega es el soporte de los terminales. Tenemos que comprender que el proyecto Replicant debe escribir muchas cosas de cero, como los drivers, y normalmente en un hardware que tiene nula documentación. Por tanto el hardware más moderno no está soportado y no esperemos sacarle partido a las cada vez mejores GPUs.
El terminal más moderno que soporta Replicant es un Samsung Galaxy S3. No está mal, pensaréis alguno. Sí, es cierto, pero por ejemplo el Nexus más moderno es el Galaxy Nexus. Y la lista no es muy larga.
Conclusiones
Android es un sistema semi abierto que no encaja completamente con la idea de software libre. Existen proyectos como Replicant que intentan subsanar este problema y lo malo es el número limitado de dispositivos y la peor experiencia de usuario que teniendo un Android + Google. Vosotros, ¿qué pensáis?
Más información | Replicant | Licencias oficiales de Android Imagen | Pittaya
Ver todos los comentarios en https://www.xatakandroid.com
VER 14 Comentarios