Tabla de contenido:
Todos estamos esperando que Google finalmente publique el código de fuente abierta para Android 3.0.1 (Honeycomb), pero si creemos a Bloomberg (y generalmente debería hacerlo), no va a suceder en el "futuro previsible" - y posiblemente nunca. Pausaré y permitiré que la ira del nerd disminuya por un momento, porque yo también lo siento, duro. Cuando todos nos hayamos compuesto un poco, únete a mí después del descanso.
El ciclo de liberación normal diseccionado
Repasemos el proceso habitual de los ciclos de desarrollo de Android, usando el SuperPhone original (perdón Phil), el Nexus One, como ejemplo.
En algún momento del otoño de 2009 (si no antes), HTC y Google se unieron y diseñaron el hardware que llamamos Nexus One. No sabemos exactamente cuándo los desarrolladores de Android comenzaron a escribir Android 2.1 (Eclair), pero probablemente fue en una etapa de prueba avanzada cuando se decidió el hardware y comenzó el desarrollo. Google proporcionó este software a HTC para pruebas internas y HTC proporcionó hardware a Google para lo mismo. A medida que se encontraron errores o se pensaron mejoras, los desarrolladores de Android hicieron estos cambios y enviaron el software a los probadores. Google y otros lo llaman "comida para perros", la mayoría de las empresas lo llaman I + D.
Una vez que las cosas alcanzan un estado bastante estable, este software se comparte con otros proveedores y socios de hardware. Motorola, Samsung y otros socios menos conocidos como Nuance tienen acceso al código fuente mientras aún está en desarrollo. Desafortunadamente, usted y yo no, pero no hay mucho que podamos hacer al respecto. De hecho, ni siquiera me quejaré (demasiado) porque el ciclo de lanzamiento de Google es demasiado rápido (y la base de usuarios demasiado grande) para engañar con parches impulsados por la comunidad, sin importar cuán bien hechos e innovadores puedan ser. Lo importante es que todas las personas que construyen teléfonos tenían acceso a Android 2.1 mientras construían sus productos, y deberían hacerlo. Todo está bien hasta ahora.
Ven ese día especial en enero de 2010, y Google anuncia el Nexus One como un producto disponible para la venta a los consumidores. Una vez que se vende el primer Nexus One, la fuente del kernel de Linux debe estar disponible como condición de su licencia de software: la GPL.
El propio Android está cubierto por la licencia Apache 2.0. Es una licencia más liberal, y elegirla tiene sentido cuando te das cuenta de que compañías como Motorola o Samsung no pueden regalar parte de su código. Los motivos y la "legalidad" de no publicar el código fuente completo para los proyectos Apache 2.0 se defiende diariamente por los barbazos y los hippies, así que no voy a entrar en eso. Pero que se diga que sucede. Las personas usan el código con licencia Apache 2.0 para crear software y no liberan el código fuente. Para el Nexus One (y todos los otros lanzamientos hasta ahora) Google no ha hecho esto: publican el código en el lanzamiento o poco después.
Entonces tenemos el teléfono, tenemos la nueva versión de Android y tenemos el código fuente. CyanogenMod y otras ROM personalizadas pronto siguen, todos están contentos y el trabajo comienza en la próxima versión.
Ahora es donde las cosas empeoran. Andy Rubin se burló de nosotros con el Xoom, Vic Gundotra nos fastidió con el sistema operativo Honeycomb, y todos quisimos. Nosotros teníamos muchas ganas. Cuando llegó el día del lanzamiento de Xoom, Google lanzó la fuente parcheada del kernel de Linux y comenzó el desarrollo. Estuvimos contentos por un tiempo, porque teníamos núcleos personalizados con los que jugar, pero todos los que tenían un Xoom querían la fuente de Android 3.0 para que el "trabajo real" pueda comenzar. Todos comenzamos a quejarnos un poco, pero cuando escuchamos que Android 3.0.1 se acercaba, estábamos bien porque sabíamos que Google esperaría y publicaría el código 3.0.1 AOSP (Android Open Source Project) junto con la actualización. No tiene sentido hacerlo dos veces, ¿verdad? ¿Correcto?
La nueva forma de panal
Ahora avance rápido hasta hoy, 24 de marzo de 2011. Si lo que informa Bloomberg es correcto, y mi dinero dice que sí, no obtendremos nuestro código fuente en el corto plazo, y tal vez nunca. El razonamiento de Google detrás de esto es que no quieren que los equipos de desarrollo más pequeños arruinen la experiencia de Honeycomb. Aquí hay una cita del artículo de Bloomberg:
Son las multitudes de pequeños fabricantes de hardware y desarrolladores de software que ahora tendrán que esperar el software. La demora probablemente sea de varios meses. "Para hacer nuestro cronograma para enviar la tableta, hicimos algunas compensaciones de diseño", dice Andy Rubin, vicepresidente de ingeniería de Google y jefe de su grupo de Android. "No queríamos pensar en lo que se necesitaría para que el mismo software se ejecute en los teléfonos. Habría requerido muchos recursos adicionales y extendido nuestro horario más allá de lo que pensamos que era razonable. Así que tomamos un atajo".
Rubin dice que si Google fuera a abrir el código Honeycomb ahora, como lo ha hecho con otras versiones de Android en períodos similares en su desarrollo, no podría evitar que los desarrolladores pongan el software en los teléfonos "y creen una experiencia de usuario realmente mala "No tenemos idea de si funcionará en teléfonos".
Si bien es fácil culpar a la gran cantidad de juegos de Navidad de Android por este, creo que va un poco más profundo y también está dirigido a desarrolladores individuales, que podrían (y podrían) poner Honeycomb en nuestra actual cosecha de teléfonos Android. Google ha decidido que el mayor y mejor atractivo para muchos de nosotros es una buena razón para contener el código: no quieren que lo pirateemos en dispositivos para los que no fue diseñado.
Eso me molesta, y la constatación de que no puedo hacer nada al respecto solo lo empeora. ¿De qué sirve el gestor de arranque desbloqueado en Xoom si no puede construir ROM personalizadas para esa maldita cosa? Andy Rubin continúa diciendo a Bloomberg "Android es un proyecto de código abierto. No hemos cambiado nuestra estrategia". Podrías haberme engañado, Andy.
Se pone peor. Bloomberg dice que los ejecutivos de Google han dicho a los socios fabricantes que Google no lanzará el código fuente, y en su lugar, la próxima versión de código abierto de Android será la versión "I". En esencia, esto mata todo el desarrollo de terceros para tabletas que ejecutan Honeycomb. No hay una manera fácil de agregar cosas que Google dejó de lado, a menos que seas Samsung o LG. Eso apesta, porque me gusta parte del trabajo que proviene de personas como rodigezstyle o eViL D: mucho mejor de lo que me gusta el trabajo que proviene de LG o Samsung, y no estoy solo. Y Google en su sabiduría infinita ha decidido que no lo obtendré.
Me encanta Android por su apertura, no porque me ofrezca una experiencia libre de errores que no puedo obtener en ningún otro lado. Con eso en mente, he decidido que no obtendré ninguna de las nuevas tabletas Honeycomb. Existen otras tabletas de código cerrado bien diseñadas, hechas por compañías que nunca afirmaron estar abiertas, y las buscaré si encuentro la necesidad de una tableta.