OpenJDK | |
---|---|
Tipo de | Kit de desarrollo de Java |
Desarrollador | oráculo [1] |
Escrito en | Java [2] |
Sistema operativo | GNU/Linux [3] , BSD [3] , Microsoft Windows [3] , macOS [3] y sistema operativo similar a Unix |
Primera edición | 8 de mayo de 2007 |
plataforma de hardware | máquina virtual de Java |
ultima versión | 18.0.2 ( 19 de julio de 2022 ) |
Licencia | GNU GPL 2 , excepción de enlace GPL [d] [4] y licencia permisiva universal [d] [5] |
Sitio web | openjdk.java.net _ |
OpenJDK es un proyecto para crear un kit de desarrollo de Java completamente interoperable que consta completamente de código fuente abierto y gratuito.
Sun anunció en JavaOne 2006 que Java sería software libre [6] [7] , y el 25 de octubre de 2006 en la conferencia Oracle OpenWorld , Jonathan Schwartz dijo que la compañía tiene la intención de abrir la plataforma central de Java en un plazo de 30 a 60 días.
Sun lanzó la máquina virtual HotSpot y el compilador Java bajo la GPL el 13 de noviembre de 2006, con la promesa de que el resto de los componentes de JDK (que incluyen Java Runtime Environment ) se lanzarían bajo la GPL de GNU hasta marzo de 2007 "con la excepción de algunos componentes que Sun no tiene derecho a publicar como código fuente bajo la licencia GPL” [8] . Según Richard Stallman , esto debería haber terminado con la "trampa de Java" para los integradores y programadores de Java [9] , y Mark Shuttleworth calificó el anuncio de prensa original como "un verdadero hito para la comunidad del software libre " [10] .
Siguiendo la promesa de lanzar un kit de desarrollo de Java (JDK), basado casi por completo en código abierto y gratuito, en la primera mitad de 2007, Sun lanzó el código fuente completo para la biblioteca de clases de Java bajo la licencia GPL el 8 de mayo de 2007, excepto para algunas partes restringidas por un tercero, y excluyendo los términos de la GPL [11] . En la lista entre las partes gravadas había varios componentes importantes de Java para la GUI . Sun ha declarado que planea reemplazar los componentes propietarios restantes con implementaciones alternativas y hacer que la biblioteca de clases sea completamente gratuita [12] .
El 5 de noviembre de 2007, Red Hat celebró un acuerdo con Sun, firmando un extenso acuerdo de colaboración de proyectos (que cubre la participación de los desarrolladores de Red Hat en todos los proyectos de código abierto y gratuitos administrados por Sun) y una licencia comunitaria OpenJDK (que otorga a la empresa acceso a paquetes de software de prueba que determinan el cumplimiento de si el proyecto OpenJDK cumple con las especificaciones de Java SE 6) [13] .
También en noviembre de 2007, se creó Porters Group [14] en OpenJDK para ayudar a portar (adaptar) OpenJDK a varias arquitecturas de procesador y sistemas operativos . El Proyecto de portabilidad de BSD , dirigido por Kurt Miller y Greg Lewis, y el Proyecto de portabilidad de Mac OS X (también basado en el núcleo BSD), dirigido por Landon Fuller, han tenido un gran interés en incluir OpenJDK a través de Porters Group.
En diciembre de 2007, Sun trasladó el control de versiones de OpenJDK de TeamWare a Mercurial como parte del paso al desarrollo de código abierto [15] [16] .
OpenJDK tiene procedimientos relativamente estrictos para aceptar cambios de código: cada cambio propuesto debe ser revisado por dos ingenieros de Sun (posteriormente Oracle ), y el contribuyente primero debe firmar un "acuerdo de colaborador" especial [17] ), preferiblemente una prueba JTreg [18] debe también se realizará demostrando que el error ha sido corregido. Inicialmente, el proceso de aceptar parches desde el exterior era bastante lento [19] y los cambios en los códigos hasta septiembre de 2008 solo los realizaban directamente los ingenieros de Sun [20] . El proceso ha mejorado desde 2010, los parches pequeños y los cambios de OpenJDK7 a OpenJDK6 se pueden tomar en horas en lugar de días. [21] .
El 11 de octubre de 2010, IBM y Oracle anunciaron una colaboración conjunta para seguir desarrollando OpenJDK [22] .
OpenJDK se basó originalmente solo en JDK 7.
El 15 de febrero de 2008, OpenJDK se dividió en dos proyectos: OpenJDK, que se basa en JDK 7, y JDK 6, que ofrece una versión gratuita de Java 6.
Todas las versiones de OpenJDK (6, 7, 8, 9) comparten la misma base de código. Es decir, mercurial : los repositorios para las nuevas versiones de OpenJDK se crean a partir de las anteriores. El principal desarrollo se lleva a cabo en la versión de OpenJDK, que se está preparando para su lanzamiento. En concreto, en 2011-2013, el principal desarrollo se ha realizado en OpenJDK 8, y en 2014-2016, en OpenJDK 9. Así, el desarrollo de nuevas librerías y subsistemas se lleva a cabo en una versión que recién se está preparando para su lanzamiento . y, después de la integración en el repositorio principal, se transfiere a versiones anteriores.
El compilador de Java y la máquina virtual HotSpot están disponibles bajo la licencia GPL .
En junio de 2008, se anunció el proyecto IcedTea (una versión empaquetada de OpenJDK en Fedora 9 ), que pasó el Kit de compatibilidad tecnológica y ahora puede afirmar que es una implementación totalmente compatible con Java 6.
El 12 de julio de 2008, OpenJDK fue aceptado en la rama Debian Unstable .
En julio de 2009, una compilación binaria de OpenJDK para Ubuntu 9.04 pasó todas las pruebas de compatibilidad con la plataforma Java SE 6. [23]
La compilación de OpenJDK 6 se instala en el conjunto de paquetes principal de OpenSUSE 11, se incluye en los paquetes suministrados en DVD y está presente en los repositorios principales del proyecto.
Colaboración con IBM, Apple y SAP
El 11 de octubre de 2010, IBM, como el mayor contribuyente de Apache Harmony, se unió al proyecto OpenJDK de Oracle, trasladando todos los esfuerzos de Harmony al proyecto OpenJDK.
El 12 de noviembre de 2010, Apple y Oracle Corporation anunciaron el proyecto OpenJDK para la plataforma Mac OS X.
El 11 de enero de 2011, se creó el proyecto Mac OS X Port basado en el OpenJDK ya creado.
En julio de 2011, SAP AG anunció que se unía oficialmente al proyecto OpenJDK.
Máquinas virtuales Java ( comparación ) | |
---|---|
sol , oráculo |
|
Implementaciones principales | |
Incrustado |
|
Otro | |
no soportado |
Java | |
---|---|
Plataformas | |
Tecnologías solares | |
Tecnologías clave de terceros | |
Historia |
|
Propiedades del lenguaje | |
Lenguajes de secuencias de comandos |
|
Conferencias Java |
|