Un tema muy recurrente en las comunidades de Internet es la diferencia que muchos no ven entre el root de Android y el llamado jailbreak en dispositivos de Apple; la mayoría de las veces no encontraremos diferencias bien fundamentadas ni razones dadas por conocimientos técnicos. El root en Android es la esencia que mueve sus engranajes; para muchos el jailbreak también lo es para sus iDevices, pero a ambos los separa una línea diferencial como mínimo abismal. ¿El qué? Esperen, que en La Cueva de Android les explicaremos bien en qué consisten exactamente ambos métodos, como funcionan, qué se puede y no se puede hacer con ambos y con ello: las diferencias entre ambos.
Vamos, que no es raro encontrar alguien por ahí -generalmente ese alguien es usuario de iOS- que al ver un Android rooteado diga: "sí, pero yo también puedo hacer jailbreak a mi iPhone así que no hay ninguna diferencia" . Es normal que se desconozcan las diferencias porque no todos rootean su Android para hacer tareas más avanzadas que la de borrar las aplicaciones preinstaladas, piratear mejor una app o instalar temas, que es exactamente lo que se puede hacer en un iDevice con jailbreak. ¿La están captando? Así pues estamos dando inicio al gran versus. Pónganse cómodos que esto será largo y sangriento:
Empecemos con el iPhone. Como ya todos sabrán, lo único que es capaz de hacer que el iPhone de tu amigo no sea exactamente igual al tuyo es el fondo de pantalla. Es por este motivo que una gran proporción de estos usuarios opta por realizar un jailbreak a sus dispositivos iOS incluso inmediatamente después de comprar uno nuevo. Con un dispositivo jailbroken se pueden realizar a cabo tareas y modificaciones que de otra forma serían casi imposibles de hacer. Aunque el jailbreak es una solución a las limitaciones impuestas por Apple, es digamos una solución temporal, porque Apple trabaja constantemente mejorar el sandboxing o aislamiento de privilegios en iOS, esto ocasiona que con cada nueva versión mayor un equipo de desarrolladores deba encontrar una nueva vulnerabilidad en el kernel que les permita hacer jailbreak nuevamente y es una tarea que puede durar varias semanas hasta incluso meses.
Descubierto el exploit para el jailbreak, esta gente se asegura que el proceso sea poco riesgoso antes de lanzarlo públicamente. Entonces para que un usuario común y corriente logre realizar un jailbreak, debe usarse un kernel modificado para otorgar permisos elevados al dispositivo. Una vez que al iDevice se la ha hecho el jailbreak y ya tiene permisos especiales, pueden instalarse temas, aplicaciones que no se encuentran en el App Store (sideload), remover aplicaciones de fábrica, añadir funcionalidades extra y extensiones y realizar ciertas modificaciones (como el tweak que desbloquea la multitarea real) que sin duda convierten a tu iPhone en una experiencia digna de usar, todo ello sin perder el acceso al App Store o a iTunes. A cambio lo que se gana es el acceso a Cydia, una tienda de aplicaciones alternativa -algo así como Aptoide o el Blackmart de Android- y en ocasiones un dispositivo altamente inestable.
Bueno, entonces dicho en buen cristiano: lo que puedes hacere con un iOS jailbroken es usar software no autorizado por Apple e instalar los denominados tweaks. Sin embargo, como dijimos arriba, los usuarios de Apple tienden a pensar -muy comprensible- que el jailbreak es lo mismo que el root en Android y hasta pensar que es mejor, pero no es así. De hecho, hablando en forma realista, podría decirse que ni siquiera hay punto de comparación entre el jailbreak y el root, y ya veremos por qué...
Empecemos por lo básico:, el sistema operativo de Apple no es de código abierto, por lo tanto no se pueden hacer modificaciones o cambios pesados sobre el mismo código porque al no conocerlo no podemos estudiarlo o reescribirlo, lo único que se le puede hacer es ingeniería inversa, un método que de por sí ya es ilegal. en cambio no sólo es código abierto sino también libre: por lo tanto no hay secretos ni nada que no sepamos sobre él ya que cualquiera puede leer el código para estudiar su funcionamiento, en consecuencia esto significa que en él podemos hacer mucho más que sólo instalar aplicaciones de terceros o cambiar los iconos cuando se es superusuario. Otros más radicales optan por hacer un , es decir, separarse de la rama de desarrollo de AOSP para seguir la suya por cuenta propia como es el caso del Fire OS de Amazon o más recientemente Cyanogen...
Android de por sí nos permite hacer infinidad de cosas sin necesidad de tener privilegios de superusuario -o root, como se le llama en el mundo Linux-: instalar aplicaciones de terceros, hacer sideload e instalarlas desde la tarjeta de SD, modificar las animaciones, instalar temas y launchers y diversos ajustes menores podemos hacerlos sin haber rooteado nuestro Android. Y es que sin ningina duda lo que los usuarios de Apple pueden hacer desempeñando un jailbreak, los de Android lo tienen como funcionalidad básica, y generalmente no hay necesidad de ser root si no quieres hacerle un cambio realmente chungo a tu teléfono.
Ahí es cuando muchos se preguntan, ¿para qué sirve entonces el root en Android? Otorgarle permisos de superusuario a un dispositivo con Android no sólo nos permite saltarnos las limitaciones que impongan las operadores o los fabricantes, eliminar el bloat y aplicaciones de sistema, con el root podemos borrar por completo el sistema operativo, modificarlo a placer e incluso instalar uno completamente diferente, hasta más de uno a la vez. ¿Cómo es posible esto? Todo esto es posible debido a que el root de Android es una característica heredada del kernel Linux y funciona exactamente igual tanto Android como en una distro convencional como Ubuntu o Debian. El root es una llamada para otorgar privilegios administrativos al usuario común, estos provilegios a diferencia de los de la cuenta de administrador de Windows te convierten en un "dios todopoderoso", puedes modificar y destruir cosas a voluntad.
En un dispositivo con Android o cualquier otro sistema operativo móvil basado en Linux, rootear básicamente te da acceso completo a modificar cualquier aspecto del sistema operativo y te da plenos poderes para instalar ROMs cocinadas (Cyanogenmod, etc...) - la cosa va desde a poder instalar una distro de Linux a modificar la densidad de píxeles de la pantalla, flashear gestores de recovery, instalar multiples ROMs para usarlas todas a la ves, freir intencionalmente el terminal para que sólo nos sirva como un bonito pisapapeles con un simple comando y hasta incluso instalar un kernel personalizado, lo que ya es un mundo en sí mismo.
En el apartado del kernel ya estamos jugando con Linux mismo, el corazón del dispositivo y el que rige todos los procesos que suceden bajo la capa externa que conocemos como interfaz de usuario. Mientras que en dispositivos Apple, un custom kernel permite sólo hacer jailbreak a iOS para instalar aplicaciones de terceros y llevar a cabo modificaciones y sólo después de haber sido parcheado para esta faena, un custom kernel en Android nos permite modificar las velocidades de procesador (overclockear), decidir cuántos núcleos pueden funcionar al mismo tiempo, modificar el voltaje de nuestro terminal, hasta incluso cambiar los gobernadores de CPU y cambiar el I/O Scheduler, que es el que maneja la multitarea en el sistema operativo del robot. No existen límites de ningún tipo cuando se es root.
Pensemos en ambos métodos como en la Matrix: hacer jailbreak es comparable a lo que Morfeo es capaz de hacer: puede aprovechar las reglas del sistema para evitarse algunas restricciones; pero aún así sigue sujeto a sus reglas más esenciales. Rootear es lo que Neo puede hacer: él no sólo puede cambiar las reglas del juego, puede romperlas por completo.