Android y Linux, una relación ganadora. Parte 2. Google consigue lo que las demás no pueden
En la primera entrega de nuestro repaso a la historia de Linux y Android, vimos cómo Linus Torvalds no solo consiguió su objetivo de crear un sistema operativo que sirviese como alternativa a las alternativas cerradas (y caras), sino que éste acabó convirtiéndose en un fenómeno entre los desarrolladores y hackers de todo el mundo. Cuando las grandes empresas del sector empezaron a invertir en Linux, solo era cuestión de tiempo hasta que se convirtiese en la referencia entre los sistemas operativos orientados a servidores y a uso profesional. El «pequeño» problema era que el usuario medio ni siquiera conocía la palabra «Linux», no hablemos ya de saber instalarlo y configurarlo.
Desde entonces, cada nuevo proyecto basado en Linux ha tenido como objetivo último llegar al gran público. Aprovechando que el código de Linux es libre y que se puede redistribuir sin problemas, aparecieron varias distros (diminutivo de «distribución linux») que contaban con varias diferencias orientadas a un uso sencillo. Ubuntu, de la compañía Canonical, ha resultado ser la distro de escritorio mas popular de la historia del sistema operativo, gracias a que sus desarrolladores intentaron ponerse en la piel del usuario común, y limaron muchas de las asperezas que se encuentran a diario, como la instalación automática de drivers y códecs. Además, su interfaz actual, llamada Unity, bebe directamente de las influencias del entorno móvil. De hecho, ya hay una versión para Ubuntu para smartphones, y el plan es que esa versión y la de escritorio acaben siendo la misma.
Pero pese a que Canonical es una organización que maneja muchos recursos, no son los suficientes hasta ahora para resultar en un cambio en el mercado. Por eso, desde que Google se impuso como la dominadora en el mercado web, muchos han razonado que resultaría la compañía ideal para popularizar Linux. Y es que la filosofía abierta y alternativa (al menos en sus primeros años) de Google parece encajar perfectamente con la de Linux. Estos deseos no estaban tan lejos de la realidad, ya que la compañía creó una distro Linux, conocida popularmente como Goobuntu. Lamentablemente, este sistema nunca se ha liberado al público, sino que es solo para uso interno de la compañía.
No, si Google iba a entrar en el mercado de los sistemas operativos, tenía que hacerlo de una manera especial. Y aquí entra Android, Inc, fundada por un tal Andy Rubin, con el objetivo de «crear software para teléfonos móviles». El tiempo acabó demostrando que esa descripción se quedaba corta: lo que estaban preparando era un sistema operativo completo para smartphones, y Google lo sabía cuando en 2005 absorbió a la compañía y la hizo el foco de sus esfuerzos. A diferencia de Symbian y Windows Phone, Android usaba el kernel de Linux.
Técnicamente, Android no es una distro, sino que la cantidad de modificaciones realizadas al código hace que se considere un sistema operativo independiente, si bien la cantidad de código que comparte con el kernel «normal» para escritorio es muy alta. Pero, ¿cómo ha conseguido Google lo que otros no pudieron, llegar a tal cantidad de dispositivos en todo el mundo? La respuesta es sencilla: ha colaborado con los fabricantes.
Para que Android pueda ejecutarse en un dispositivo móvil, son necesarios los drivers, un código que indica al sistema cómo controlar las distintas partes de hardware. Por ejemplo, para poder usar la red WiFi, Android necesita saber cómo indicar al chip las instrucciones que necesita, y para eso acude a los drivers. Como los drivers incluyen información sobre cómo funciona el hardware, los fabricantes siempre son reacios a liberarlos, por temor a que los competidores los copien. La maestría de Google estuvo en garantizar a los fabricantes su independencia y la seguridad de sus tecnologías al mismo tiempo que aprovechaba la filosofía abierta de Linux para fabricar un sistema alrededor de ellos. Esa es la razón por la que, aunque te puedes descargar Android libremente de la red, realmente no puedes ejecutarlo en tu móvil sin conseguir los drivers antes y compilarlos.
En la próxima y última entrega, hablaremos de cómo es la relación actual entre Android y Linux, y qué podemos esperar en el futuro.