Android le pertenece a Google y ahora la empresa está reemplazando la implementación de las APIs (application programming interfaces) de Java -en el sistema operativo móvil- con la versión abierta, la llamada OpenJDK, del JDK de Oracle para el desarrollo de aplicaciones en Java. El mes pasado ya había rumores de esto pero Google ha confirmado que la siguiente versión de Android dependerá de la implementación del OpenJDK, en lugar de usar su propia implementación de los APIs de Java.
«Siendo una plataforma de código abierto, Android está construido en colaboración con la comunidad que cree en esta idea», dijo un vocero de Google. «En la siguiente versión de Android, estamos planeando mover las bibliotecas del lenguaje Java de Android al enfoque de OpenJDK, creando así una base de código común para que los desarrolladores  puedan construir apps y servicios. Google ha trabajado y contribuido ya por mucho tiempo con la comunidad OpenJDK, y esperamos seguir contribuyendo al proyecto en el futuro».

Android otorga ciertas bibliotecas de Java (APIs) para apoyar el desarrollo de apps en el lenguaje Java. Para ello, han dividido esto en dos partes: los APIs de las bibliotecas, y la implementación del código, desarrollado por Google para hacer que esas bibliotecas trabajen. Oracle, quien es el dueño de Java, tiene dos implementaciones de estas bibliotecas de funciones, la versión JDK propietaria y la de código abierto, llamada OpenJDK. La decisión de Google de «consolidar» sus esfuerzos con OpenJDK significa que ya no seguirán con su propia implementación usando para ello la de código abierto que tiene Oracle.

Google espera que los desarrolladors de Android aprecien estos cambios porque el código se simplificará pues habrá una base común de código para lasAPis en Java, en lugar de tener que lidiar con múltiples bases de código. Pero esta razón parece ser, para muchos, un pretexto, porque si esta fuese la idea original, desde hace mucho tiempo podrían haberlo hecho. Google -a pregunta expresa sobre este asunto- dice que la empresa estaba viendo la salida de Java 8, desde el año pasado, con la introducción de las nuevas características del lenguaje como las funciones lambda. Esto parece indicar entonces que Google quiere poner más recursos en el OpenJDK donde el equipo puede tener más impacto en las mejoras y nuevas características.

Por otra parte, pareciera que en un afán por librarse de más demandas de Oracle por el uso de código propietario, las cuales aún no se han solucionado, Google ha decidido protegerse en las siguientes versiones de Android si es que pierden el caso legal. Después de adquirir Sun en enero del 2010, Oracle demandó a Google por infringir los derechos de autor y las patentes (agosto del 2010), argumentando que Android no puede usar los APIs de Java sin permiso. Lo que todos sabemos es que Android seguramente es una mina de dinero para Google y la demanda de Oracle busca beneficiarse del uso del trabajo que han hecho la gente de Sun (ahora Oracle), en lo que se refiere a Java. Claramente todo se reduce a dinero, y a mucho dinero. De hecho, Google dice que los APIs no pueden ser sujetos de los derechos de autor porque son esenciales para el desarrollo de software, la colaboración y en última instancia, la innovación.

En mayo del 2012 un jurado encontró que Google no infringió las patentes de Oracle, añadiendo que los APIs de Java no pueden ser sujetos a los derechos de autor. En mayo del 2014, el Circuito Federal revirtió la decisión de la corte de distrito, diciendo que los APIs sí pueden tener derechos de autor. En junio del 2015, la Suprema Corte de los Estados Unidos declinó escuchar del caso y lo regresó a las cortes menores de manera que Google podría arguir que ha hecho un uso justo de los APIs de Oracle, aunque valgan sus derechos de autor.

Finalmente Google ha aclarado que usará las bibliotecas de OpenJDK para las bibliotecas estándar de Java, pero que la empresa está haciendo cambios a OpenJDK para que funcionen en Android. Como resultado, las versiones futuras de Android continuarán siendo parte de la implementación propia de Google, la cual simplemente se basará en OpenJDK.

Referencias:

Venture Beat