OpenJDK

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 22 de abril de 2019; las comprobaciones requieren 12 ediciones .
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.

Historia

Promesa de Sun y primer lanzamiento

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] .

Publicación de una biblioteca de clases

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] .

Mejoras a la comunidad

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] .

Estado de desarrollo

Versiones de JDK compatibles

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.

Compilador y máquina virtual

El compilador de Java y la máquina virtual HotSpot están disponibles bajo la licencia GPL .

Inclusión en distribuciones de Linux

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.

Véase también

Notas

  1. https://openjdk.java.net/legal/openjdk-trademark-notice.html
  2. El proyecto de código abierto OpenJDK en Open Hub: página de idiomas - 2006.
  3. 1 2 3 4 Directorio de software libre
  4. https://openjdk.java.net/legal/gplv2+ce.html
  5. https://github.com/openjdk/jdk/tree/master/src/utils/hsdis
  6. Schwartz, Jonathan Busy Week... (enlace descendente) . Sun Microsystems (23 de mayo de 2006). Consultado el 9 de mayo de 2007. Archivado desde el original el 12 de marzo de 2012. 
  7. Sun abre Java ( OGG Theora(enlace descendente) . Microsistemas Sun. Archivado desde el original el 12 de marzo de 2012.
  8. Sun abre Java (enlace descendente) . Sun Microsystems (13 de noviembre de 2006). Consultado el 9 de mayo de 2007. Archivado desde el original el 21 de abril de 2007. 
  9. Stallman, Richard Free But Shackled—The Java Trap (enlace no disponible) . Consultado el 4 de diciembre de 2007. Archivado desde el original el 12 de marzo de 2012. 
  10. Sun 'lanza' Java al mundo (enlace descendente) . Noticias de la BBC (13 de noviembre de 2006). Consultado el 9 de mayo de 2007. Archivado desde el original el 12 de marzo de 2012. 
  11. ¡Open JDK está aquí! (enlace no disponible) . Sun Microsystems (8 de mayo de 2007). Consultado el 9 de mayo de 2007. Archivado desde el original el 12 de marzo de 2012. 
  12. Algún código gravado[ aclarar ] permanece en el JDK; Sun declaró que continuará usando dicho código en lanzamientos comerciales hasta que lo reemplacen alternativas libres y de código abierto totalmente funcionales.
  13. El acuerdo de colaborador amplio y la licencia TCK allanan el camino para un kit de desarrollo de Java totalmente compatible, gratuito y de código abierto para Red Hat Enterprise Linux . Consultado el 11 de noviembre de 2010. Archivado desde el original el 28 de febrero de 2010.
  14. Grupo de porteadores . Consultado el 11 de noviembre de 2010. Archivado desde el original el 6 de noviembre de 2010.
  15. James Gosling (octubre de 2006), James Gosling sobre Open Sourcing Implementaciones de la plataforma Java de Sun, Parte 1 . Entrevista con Robert Eckstein , < http://java.sun.com/developer/technicalArticles/Interviews/gosling_os1_qa.html > . Consultado el 11 de noviembre de 2010. . 
  16. O'Hair, Kelly Mercurial OpenJDK Questions (enlace inactivo) (12 de diciembre de 2007). Archivado desde el original el 12 de marzo de 2012. 
  17. Sun Microsystems Inc. Acuerdo de Colaborador (enlace descendente) . Archivado desde el original el 12 de marzo de 2012. 
  18. Arnés de prueba de regresión para la plataforma OpenJDK: jtreg (enlace descendente) . Consultado el 26 de agosto de 2008. Archivado desde el original el 12 de marzo de 2012. 
  19. Tripp, Andy Hackers de Classpath frustrados con el proceso lento de OpenJDK (enlace descendente) (16 de julio de 2007). Consultado el 20 de abril de 2008. Archivado desde el original el 12 de marzo de 2012. 
  20. Kennke, Roman Un pequeño paso para mí (enlace descendente) (29 de septiembre de 2008). Consultado el 19 de octubre de 2008. Archivado desde el original el 3 de octubre de 2008. 
  21. Darcy, Joe Backporting conjunto de cambios de 7 a 6 para corrección de errores (enlace descendente) (10 de junio de 2010). Archivado desde el original el 12 de marzo de 2012. 
  22. Oracle e IBM colaboran para acelerar la innovación de Java a través de OpenJDK (enlace muerto) (11 de octubre de 2010). Archivado desde el original el 12 de marzo de 2012. 
  23. Anuncio de la certificación OpenJDK 6 para Ubuntu 9.04 (jaunty) . Consultado el 14 de julio de 2009. Archivado desde el original el 29 de septiembre de 2011.

Enlaces