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 13 comentarios
13 comentarios
Nacho
Muchos se quejaban de que Richard Stallman era un loco y un exagerado pero el tiempo le ha dado la razón. Sólo hay que leer las noticias estos últimos meses.
El extremismo que tiene con sus declaraciones no dejan de ser puras verdades. La única pena que veo de la FSF es que la GPLv3 no se haya publicado antes, esta licencia evita cierto tipo de problemas.
Yo ya estoy un poco cansado de que las grandes empresas tecnológicas abanderen y promocionen su software como libre cuando no es así. Hasta Linux tiene componentes no libres por culpa de dejarse llevar por las presiones de las grandes empresas.
Me gustaría dar el paso y disponer de software completamente libre, de estar seguro de que mi sistema es completamente libre y que, en cualquier momento, se pueda ver y modificar todo el código contenido en él. Que sí, que muchos de nosotros no entenderemos el código, pero el hecho de que en cualquier momento puedo ver cualquier pieza del código del sistema es una sensación de libertad absoluta.
Y me da pena, porque estoy buscando un SO completamente libre tanto para mi PC como para mi teléfono, pero la gran cantidad de dependencias que se tiene a software con código cerrado hace que tener un SO totalmente libre sea prácticamente inutilizable para mis aspiraciones profesionales.
oletros
Yo no se de dónde saca la gente que Google ha cerrado AOSP:
Aplicación de música: https://android.googlesource.com/platform/packages/apps/Music/
Launcher: https://android.googlesource.com/platform/packages/apps/Launcher3/
SMS: https://android.googlesource.com/platform/packages/apps/BasicSmsReceiver/
Dialer: https://android.googlesource.com/platform/packages/apps/Dialer/
Y, por cierto, mezclar los servicios de Google con Android es decir barbaridades, las aplicaciones de Google NUNCA han formado parte de Android así que por muy cerradas que sean, no dicen nada sobre lo abierto o cerrado que sea Android.
makaveli29
Ya sea abierto, semi-abierto o cerrado, los fabricantes deben apañarselas sin intentar la estupidez que hizo Amazon. Android es Google y Google es Android, no sería lo mismo uno sin el otro, Fin.
kojimba
A mi me da mucha rabia que el resto de integrantes de AOSP no digan algo, que google quiere su propia app de musica teclado o lo que sea me parece genial, pero no entiendo porque eso implica parar el desarrollo de la nativa de android.
No se si habreis visto la app de música (es dificil todas las rom de la comunidad o de fabricantes traen otra ya por lo simple que es) pero sigue siendo la misma que en gingerbread. Con el teclado por ejemplo veremos que pasa, aunque al que de verdad le veo la cruz puesta es al launcher, google no se va a sentir obligada a actualizarlo para tenerlo al dia de características teniendo el suyo y se va a ir quedan mas y mas antiguo..
xelux
Ya la has puesto más veces...
NECESITO esa funda!! (la de la foto)
Un link o algo please!
97868
Yo comprendo que no sea totalmente libre. Ya que hay gigantes que pueden hacer uso de tu propiedad intelectual y comercializar el FOSS. Ya que la licencia lo permite. Es por eso que sus productos estrella los cierren. No quieren terminar como Tesla.