Que tenga Android no significa que sea libre
Todos estamos acostumbrados a instalar lo que queramos en nuestras PCs, a gusto y placer podemos instalar GNU/Linux, *BSD, Nexenta, FreeDOS, incluso Windows, lo que se les ocurra… Pero no ocurre lo mismo con celulares y tablets, donde deliberadamente los fabricantes dificultan y a veces imposibilitan la tarea de instalar un sistema operativo distinto al que ellos mismos (o el proveedor de servicio en el caso de los celulares) proveen.
Muchos pensarán que están a salvo de esto si compran un dispositivo Android frente a un IPad por ejemplo, pero eso no es cierto, la mayoría de los dispositivos Android tienen el gestor de arranque bloqueado de alguna manera y no permiten instalar de forma segura otros sistemas operativos. Así que nos encontramos con un dispositivo con software libre (el kernel Linux de Android es obviamente GPL y casi todo el resto del sistema tiene una licencia estilo BSD) en el cuál no tenemos libertad, ya que no tenemos opción de cambiar este software por otro, o por una versión modificada o actualizada.
Adicionalmente los fabricantes suelen agregar su propio software propietario en los dispositivos y es imposible eliminarlo para un usuario normal, en gran parte porque normalmente estos dispositivos no proveen ninguna forma para acceder al sistema con privilegios de administrador (root).
A pesar de todo esto existen métodos no oficiales (y, en Estados Unidos, en riesgo de volverse ilegales) para lograr personalizar la mayoría de los dispositivos, xdadevelopers es un foro dedicado a noticias y comentarios sobre dispositivos Android (y Windows Phone) que tiene una gran colección de posts con instrucciones paso a paso para conseguir privilegios de administrador («rooting» o «jailbreaking») e instalar otras versiones de Android.
Un problema fundamental es que puede no existir ningún método conocido para «rootear» determinado dispositivo, pero la raíz de todos los problemas es que estas guías no deberían ser necesarias, instalar un sistema operativo nuevo en una tablet o un celular debería ser tan fácil como instalar cualquier sistema operativo en una PC (es más, cuando estos dispositivos están desbloqueados, instalar cualquier versión de Android es extremadamente fácil).
Les cuento mi experiencia con un dispositivo Android para que se den cuenta de lo poco placentera que es la actividad de instalar una versión de Android que no sea la del fabricante:
Hace unos meses llegó a mis manos una tablet Asus Transformer B80 con Android, desde luego lo primero que quise tener es acceso como root, pero para lograrlo tuve que seguir una guía en el foro xdadevelopers ya que por defecto esto no es posible, la guía implica instalar una aplicación que aprovecha un bug específico de determinada versión del sistema de esta tablet (¡sí, es necesario explotar un BUG para tener acceso como root!) para conseguir privilegios de administrador. Si el sistema se actualiza no es posible explotar este bug y es necesario hacer un «downgrade» para luego conseguir privilegios de root.
Luego quise saber si tenía la libertad de instalar otras versiones de Android, investigando en ese mismo foro y en otros sitios con un colega encontramos que si bien existe un mecanismo seguro para instalar otros sistemas operativos en esta tablet (usando nvflash), este mecanismo esta protegido por una clave (que obviamente Asus no provee por el momento). Además instalar el sistema de otra forma implica la posibilidad de dejarlo inútil (un ladrillo un poco caro).
Pasaron varios días probando distintas guías, sólo para finalmente darnos cuenta que eran para otras versiones de la tablet (aquellas con número de serie B70 o inferior) y que no servían para la B80 que teníamos, resulta que si bien algún desarrollador había averiguado las claves para esos modelos viejos la clave de la B80 es distinta.
Afortunadamente, algunas semanas más tarde en xdadevelopers empezaron a publicar historias de éxito con un método para instalar una versión modificada de Android en estas tablets sin usar nvflash, si bien el método no está libre de riesgos es mejor que nada y menos riesgoso que volcar una imagen de Android a mano en la memoria de la tablet con el comando «dd» como venía pensando hacer, así que finalmente siguiendo ese método pude cambiar el sistema de la tablet, a todo esto pasaron dos meses desde que me propuse instalar otro Android en esa tablet hasta que encontré un método más o menos seguro de hacerlo.
Como debe ser evidente en este punto las cosas no deberían ser así pero lo son, comprar un dispositivo no equivale a ser propietario del mismo, a veces incluso aunque traiga software libre, ya que aunque lo hayamos pagado el fabricante sigue teniendo control sobre que cosas podemos y no podemos hacer con el mismo.
En fin, si vas a comprar un dispositivo con Android, te gustaría hacer con él lo que quieras y no depender de una actualización oficial de tu proveedor de servicio en el caso de los celulares o del fabricante de tu tablet investigá si tiene el gestor de arranque desbloqueado*. Si no encontrás ninguno desbloqueado investigá si existe alguna técnica conocida para rootearlo sin riesgo a dejarlo inservible y no te olvides que podés llegar a violar la garantía del dispositivo e incluso dejarlo hecho un ladrillo si algo sale mal.
* Es posible que algunos HTC estén desbloqueados y también se anunció que las versiones nuevas de la Asus Transformer Prime estarán desbloqueadas (pero no las Asus Transformer originales).
Si querés ver como el «rooting» o «jailbreaking» puede convertirse en un crimen en Estados Unidos te recomiendo este enlace: https://www.eff.org/pages/jailbreaking-not-crime-tell-copyright-office-free-your-devices
Si bien esta ley no nos afecta en Argentina es bueno estar informados de lo que pasa en el mundo por si surge alguna legislación similar en el país.