stringtranslate.com

Te helado

IcedTea es un proyecto de construcción e integración para OpenJDK lanzado por Red Hat en junio de 2007. [3] IcedTea también incluye algunas bibliotecas complementarias: IcedTea-Web es una implementación de software gratuita de Java Web Start y el complemento del subprograma del navegador web Java . IcedTea-Sound es una colección de complementos para el subsistema de sonido Java, incluido el proveedor PulseAudio que solía incluirse con IcedTea. La Free Software Foundation recomienda que todos los programadores de Java utilicen IcedTea como entorno de desarrollo. [4]

Históricamente, el objetivo inicial del proyecto IcedTea era hacer que el software OpenJDK, que Sun Microsystems lanzó como software libre en 2007, fuera utilizable sin necesidad de ningún software propietario y, por lo tanto, hacer posible agregar OpenJDK a Fedora y otras distribuciones de Linux que insisten en software libre. Este objetivo se cumplió y en noviembre de 2007 se incluyó una versión de IcedTea basada en OpenJDK con Fedora 8. En abril de 2008 se lanzó el primer lanzamiento [5] de una nueva variante, IcedTea6, que se basa en la versión de Sun de OpenJDK6, una bifurcación. del OpenJDK con el objetivo de ser compatible con el JDK6 existente. Se lanzó en Ubuntu y Fedora en mayo de 2008. El paquete IcedTea en estas distribuciones pasó a llamarse OpenJDK utilizando el aviso de marca registrada OpenJDK. En junio de 2008, la versión de Fedora pasó las rigurosas pruebas TCK de Sun [6] en x86 y x86-64 . IcedTea 2, la primera versión basada en OpenJDK 7, se lanzó en octubre de 2011. [7] IcedTea 3, la primera versión basada en OpenJDK 8, se lanzó en abril de 2016. [8] El soporte para IcedTea 1 se eliminó en enero de 2017. [9]

Historia

Este proyecto se creó tras el lanzamiento por parte de Sun bajo licencias de código abierto de su HotSpot Virtual Machine y su compilador Java en noviembre de 2006, y la mayor parte del código fuente de la biblioteca de clases en mayo de 2007. Sin embargo, partes de la biblioteca de clases, como la representación de fuentes, La gestión del color y el soporte de sonido solo se proporcionaron como complementos binarios propietarios. Esto se debía a que el código fuente de estos complementos tenía derechos de autor de terceros, en lugar de Sun Microsystems. [10] [11] Las partes publicadas se publicaron bajo los términos de la Licencia Pública General GNU , una licencia de software libre .

Debido a estos componentes faltantes, no fue posible construir OpenJDK sólo con componentes de software gratuitos . Sun pretendía negociar con los titulares de las licencias para permitir que este código se publicara bajo una licencia de software libre o, en su defecto, reemplazar estos elementos propietarios con implementaciones alternativas. Con los complementos reemplazados, la biblioteca de clases sería completamente gratuita. Sun ha seguido utilizando el código propietario en sus versiones binarias certificadas. [12]

Tras el anuncio, se inició el proyecto IcedTea y se anunció formalmente el 7 de junio de 2007 [13] con un repositorio de compilación proporcionado por el equipo GNU Classpath . El equipo no pudo llamar a su producto de software " OpenJDK " porque es una marca registrada propiedad de Sun Microsystems . En su lugar, decidieron utilizar el nombre temporal "IcedTea" . [14]

El 5 de noviembre de 2007, Red Hat firmó el Acuerdo de colaborador de Sun y la licencia del kit de compatibilidad tecnológica (TCK) de la comunidad OpenJDK. El comunicado de prensa sugirió que esto beneficiaría al proyecto IcedTea. [15] Simon Phipps sugirió la posibilidad de que IcedTea se aloje en openjdk.java.net, [16] y Mark Reinhold señaló que firmar la cesión de derechos de autor podría permitir a Red Hat contribuir con partes de IcedTea a Sun para su inclusión en el JDK principal. [17] [18]

Desde entonces, varios parches de IcedTea han llegado a OpenJDK. [19] [20]

En junio de 2008, se anunció que IcedTea6 (como la versión empaquetada de OpenJDK en Fedora 9 ) pasó las pruebas (TCK) y puede afirmar que es una implementación de Java 6 totalmente compatible. [21] El proyecto continúa rastreando el desarrollo de OpenJDK 6, OpenJDK 7 y OpenJDK 8 en repositorios separados, y aporta parches en sentido ascendente [22] cuando sea posible; El estado actual de cada parche de IcedTea se mantiene en la wiki de IcedTea.

Objetivos

El proyecto IcedTea comenzó con dos objetivos:

  1. para hacer posible que el compilador GNU para Java pueda compilar el código OpenJDK. OpenJDK presentó una cuestión inicial de estar escrito en Java. Por lo tanto, los desarrolladores necesitaban un compilador y un tiempo de ejecución de Java que ya estuvieran funcionando para poder construir OpenJDK. Originalmente, sólo el Sun JDK propietario existente cumplía ese requisito. Las distribuciones gratuitas como Fedora no pueden depender de herramientas propietarias para crear paquetes, por lo que el proyecto IcedTea tenía que hacer posible compilar el código utilizando software libre. Una vez hecho esto, la versión IcedTea resultante de OpenJDK podría usarse para compilarse a sí misma, evitando así la necesidad de utilizar software que no sea libre para futuras compilaciones. [13] [23]
  2. proporcionar equivalentes gratuitos de los complementos binarios que existían en OpenJDK porque Sun no pudo publicar todo el código fuente. A partir de marzo de 2008, esto ya no es necesario para IcedTea6, ya que las versiones de compilación de OpenJDK 6 se pueden crear sin complementos binarios. Con el lanzamiento de b10, [24] que reemplaza el soporte de sonido propietario con el del proyecto Gervill, se puede construir una implementación completa de Java 1.6 sin complementos binarios. El único complemento binario que queda es para soporte SNMP , que es un proveedor opcional para la arquitectura JMX y no forma parte de la especificación. A partir de b53 en abril de 2009, [25] lo mismo ocurre con OpenJDK 7. Fuera del núcleo de OpenJDK, todavía se requieren complementos binarios para utilizar los subprogramas Java Web Start que se ejecutan utilizando el complemento del navegador (distintos de los complementos principales discutidos anteriormente). ; A partir de 2013, el único código fuente disponible que logra este objetivo es el proyecto IcedTea-Web.

Otros beneficios

IcedTea también proporciona un sistema de compilación más familiar al proporcionar un contenedor alrededor de los archivos MAKE de OpenJDK utilizando GNU Autotools . Esto elimina la necesidad de recordar numerosas variables de entorno para configurar la compilación. (Las compilaciones actuales de IcedTea establecen aproximadamente cuarenta variables de este tipo para la compilación OpenJDK subyacente). También ha proporcionado un lugar para el trabajo inicial en características que eventualmente aparecerán en las compilaciones principales de OpenJDK, como Gervill [26] y para trabajar en puertos a otros. plataformas.

IcedTea-Web

Complemento IcedTea NPR (basado en IcedTea6) incluido en Debian Iceweasel 6.0.2 (Knoppix 6.7.1)

IcedTea-web proporciona un complemento de software gratuito para el navegador web Java. Fue el primero en funcionar en navegadores de 64 bits bajo Linux de 64 bits, una característica que JRE, propiedad de Sun, abordó más tarde. [27] Esto lo hace adecuado para habilitar el soporte para subprogramas de Java en Mozilla Firefox de 64 bits , entre otros. IcedTea-web también proporciona una implementación gratuita de Java Web Start ( Java Network Launching Protocol (JNLP) ). Sun había prometido lanzar su complemento y la implementación de Web Start como parte de OpenJDK. [28] A pesar de la presión de la comunidad, [29] Sun Microsystems no logró hacerlo antes de que Oracle adquiriera la empresa . El desarrollo del complemento web IcedTea continúa, y la última versión del complemento de próxima generación es compatible con Chromium de Google [30] además de Firefox. Desde 2011, el desarrollo se lleva a cabo en el proyecto independiente IcedTea-Web. [31] A partir de abril de 2013, Oracle ha mantenido el código base del complemento Java totalmente propietario, [32] en contraste con el resto de OpenJDK. A partir de diciembre de 2017, IcedTea-Web 1.7.1 agrega soporte para jdk9.

En octubre de 2018, Oracle anunció que el soporte público de Java Web Start finalizará con Java SE 11 . [33] En marzo, el código fuente de icedtea-web fue donado al proyecto AdoptOpenJDK . [34] En base a esto, las fuentes y la gestión de problemas de IcedTea-Web se migraron a GitHub. Uno de los objetivos de la migración es proporcionar una integración para las versiones Java 8 de AdoptOpenJDK y proporcionar instaladores independientes del proveedor de JDK para IcedTea-Web. El proyecto de integración es una cooperación entre la comunidad AdoptOpenJDK, Red Hat y Karakun AG. El proyecto para los instaladores se llama OpenWebStart y la primera información se puede encontrar aquí.

Progreso y disponibilidad

Desde junio de 2007, IcedTea pudo construirse y pasar una parte significativa de Mauve , el conjunto de pruebas GNU Classpath. [35] En mayo de 2008, se añadió soporte a IcedTea para ejecutar las pruebas de regresión Sun jtreg . [36]

IcedTea se ha vuelto popular entre los mantenedores de paquetes para las siguientes distribuciones de Linux. Actualmente (a abril de 2012):

Arquitectura

OpenJDK contenía aproximadamente (en su lanzamiento en mayo de 2007) un 4% de código gravado, [14] que sólo estaba empaquetado como complementos binarios. Estos eran necesarios para construir y utilizar el JDK. OpenJDK 6 se lanzó con solo un 1% de código gravado y desde entonces también se reemplazó el soporte de sonido gravado. IcedTea6 se basa en esta versión. IcedTea todavía proporciona su propio complemento de navegador web y soporte Web Start, ya que la implementación de Sun sigue siendo propietaria .

IcedTea 1.x y 2.x pueden compilar OpenJDK usando soluciones basadas en GNU Classpath como GCJ y, opcionalmente, se inician usando la máquina virtual Java HotSpot y el compilador javac Java que acaba de crear. [45] Por ahora, construir IcedTea 3.x requiere usar IcedTea 2.x o 3.x, o una compilación OpenJDK 7 u 8 de otra fuente.

Soporte de plataforma

Las adaptaciones entre arquitecturas de HotSpot (la máquina virtual de OpenJDK) son difíciles porque el código contiene mucho lenguaje ensamblador , además del núcleo C++ . [46] El proyecto IcedTea ha desarrollado un puerto genérico del intérprete HotSpot llamado Hotspot de ensamblador cero (o cero ), [47] casi sin código ensamblador. [48] ​​[49] Este puerto está destinado a permitir que la parte del intérprete de HotSpot se adapte muy fácilmente a cualquier arquitectura de procesador Linux . [50] El código de Hotspot de ensamblador cero se utilizó para todos los puertos no x86 de HotSpot ( PPC , IA-64 , S390 y ARM ) desde la versión 1.6 de IcedTea7. [51] [52] [53]

El proyecto IcedTea también ha desarrollado un compilador justo a tiempo independiente de la plataforma llamado Shark for HotSpot, utilizando LLVM , para complementar Zero . [49] [54] Esto se incluyó en OpenJDK ascendente en agosto de 2010. [55] Un JIT para ARM32 se incluyó por primera vez en 1.6.0 [56] y 2.1.1. [57] Un puerto nativo para AArch64 de Red Hat [58] apareció en 2.4.6 [59] y un puerto nativo PPC64 de SAP/IBM [60] se incluirá en 2.5.0. [61] El puerto PPC/AIX se incluye en OpenJDK desde la versión 8u20, [62] y el puerto AArch64 se incluirá a partir de la versión 9. [63]

Ver también

Referencias

  1. ^ "[SEGURIDAD] ¡Lanzamiento de IcedTea 3.27.0 para OpenJDK 8!". correo.openjdk.java.net . 28 de abril de 2023 . Consultado el 3 de mayo de 2023 .
  2. ^ "[SEGURIDAD] ¡Lanzamiento de IcedTea 2.6.28 para OpenJDK 7!". correo.openjdk.java.net . 8 de noviembre de 2021 . Consultado el 26 de abril de 2022 .
  3. ^ Fitzsimmons, Thomas (8 de junio de 2007). "Créditos" . Consultado el 8 de junio de 2007 .
  4. ^ "Libre pero encadenado - La trampa de Java - Proyecto GNU - Fundación de Software Libre".
  5. ^ Ángel, Lillian (4 de abril de 2008). "Lanzamiento de IcedTea6 1.1". Archivado desde el original el 31 de octubre de 2008 . Consultado el 12 de julio de 2008 .
  6. ^ Sharples, rico (19 de junio de 2008). "Java es finalmente libre y abierto". Archivado desde el original el 20 de junio de 2008 . Consultado el 19 de junio de 2008 .
  7. ^ Hughes, Andrew John (19 de octubre de 2011). "¡Lanzamiento de IcedTea 2.0!". Archivado desde el original el 14 de febrero de 2012 . Consultado el 31 de enero de 2012 .
  8. ^ Hughes, Andrew John (10 de abril de 2016). "¡Lanzamiento de IcedTea 3.0!". Archivado desde el original el 21 de abril de 2016 . Consultado el 12 de abril de 2016 .
  9. ^ Hughes, Andrew John (11 de enero de 2017). "Interrupción del soporte para IcedTea 1.x". Archivado desde el original el 13 de enero de 2017 . Consultado el 12 de enero de 2017 .
  10. ^ "¡Open JDK ya está aquí!". Microsistemas solares. 2007-05-08 . Consultado el 9 de mayo de 2007 .
  11. ^ Consulte también Licencias de biblioteca de clases Java
  12. ^ "Preguntas frecuentes sobre OpenJDK de Sun". Archivado desde el original el 26 de mayo de 2007. Ahora Sun ofrece código abierto para la mayoría de los componentes restantes del JDK, con la excepción de algunos componentes gravados que esperamos, con la ayuda de la comunidad, puedan volver a implementarse para que el 100% del código común de OpenJDK esté disponible como software gratuito. ... Sun continuará usando ese código en lanzamientos comerciales hasta que sea reemplazado por alternativas de código abierto completamente funcionales.
  13. ^ ab Haley, Andrew (7 de junio de 2007). "Repositorio de compilación experimental en icedtea.classpath.org". Archivado desde el original el 20 de agosto de 2007 . Consultado el 9 de junio de 2007 .
  14. ^ ab Fitzsimmons, Thomas (18 de mayo de 2007). "Planes para OpenJDK" . Consultado el 22 de mayo de 2007 .
  15. ^ "Red Hat y Sun colaboran para avanzar en la tecnología Java de código abierto". Sombrero rojo . 2007-11-05. Archivado desde el original el 25 de agosto de 2007 . Consultado el 6 de noviembre de 2007 .
  16. ^ Phipps, Simon (5 de noviembre de 2007). "Red Hat se une a OpenJDK". Archivado desde el original el 22 de febrero de 2008 . Consultado el 14 de noviembre de 2007 .
  17. ^ Reinhold, Mark (5 de noviembre de 2007). "¡Bienvenido, Sombrero Rojo!". Archivado desde el original el 22 de febrero de 2008 . Consultado el 14 de noviembre de 2007 .
  18. ^ Haley, Andrew (16 de mayo de 2008). "Proyecto de código abierto: OpenJDK". Archivado desde el original el 10 de octubre de 2008 . Consultado el 21 de mayo de 2008 .
  19. ^ "ID de error 6523403: OSS CMM: es necesario proporcionar la biblioteca lcms con perfiles ICC del sistema operativo PYCC y LINEAR_RGB" . Consultado el 12 de julio de 2008 .
  20. ^ "ID de error 6604044 Java falla al hablar con la segunda pantalla X" . Consultado el 12 de julio de 2008 .
  21. ^ Sharples, rico (19 de junio de 2008). "Java es finalmente libre y abierto". Archivado desde el original el 20 de junio de 2008.
  22. ^ Haley, Andrés (1 de abril de 2009). "Nuevo proyecto: deshacerse de los parches locales de IcedTea" . Consultado el 5 de septiembre de 2009 .
  23. ^ Wielaard, Mark (7 de junio de 2007). "Repositorio de compilación experimental en icedtea.classpath.org". Archivado desde el original el 19 de junio de 2007 . Consultado el 9 de junio de 2007 .
  24. ^ Wielaard, Mark (30 de mayo de 2007). "Se publicó la fuente de OpenJDK6 b10" . Consultado el 12 de julio de 2008 .
  25. ^ "Cambios en OpenJDK7 b53". 2009-04-02. Archivado desde el original el 6 de abril de 2009 . Consultado el 5 de septiembre de 2009 .
  26. ^ "Gervill: Wiki: Inicio - Proyecto Kenai". Archivado desde el original el 28 de junio de 2013.
  27. ^ Notas de la versión de Java SE 6 Actualización 12. Java.sun.com. Recuperado el 18 de julio de 2013.
  28. ^ Darcy, Joe (8 de junio de 2009). "OpenJDK y el nuevo complemento" . Consultado el 5 de septiembre de 2009 .
  29. ^ Hughes, Andrew John (21 de agosto de 2009). "Complemento de código abierto y inicio web: ¿cuándo?" . Consultado el 5 de septiembre de 2009 .
  30. ^ Bhole, Deepak (26 de agosto de 2009). "Complemento Java IcedTea con Chromium y Firefox 3.6A1" . Consultado el 5 de septiembre de 2009 .
  31. ^ Bhole, Deepak (2 de febrero de 2011). "¡Primer lanzamiento de IcedTea-Web!" . Consultado el 4 de abril de 2011 .
  32. ^ "¿Dónde encontrar la fuente del complemento del navegador de código cerrado?". 14 de abril de 2013.
  33. ^ "Actualización de la hoja de ruta del cliente Java" (PDF) . Marzo de 2018 . Consultado el 29 de diciembre de 2018 . Oracle no incluirá Java Web Start en Java SE 11 (18.9 LTS) y versiones posteriores.
  34. ^ Adams, George (30 de abril de 2019). "¿Qué pasa en AdoptOpenJDK?". Medio . Consultado el 30 de abril de 2019 .
  35. ^ Kung, Francis (12 de junio de 2007). "Resultados de la prueba de color malva" . Consultado el 12 de junio de 2007 .
  36. ^ Wielaard, Mark. "Pruebas jtreg integradas" . Consultado el 12 de julio de 2008 .
  37. ^ "Paquetes de Ark Linux". Arca Linux. Archivado desde el original el 14 de marzo de 2008 . Consultado el 23 de febrero de 2008 .
  38. ^ "JRE y JDK se trasladaron a la comunidad". Arco Linux . Consultado el 30 de julio de 2009 .
  39. ^ "Instrucciones de construcción de Debian". Wiki Té helado. Archivado desde el original el 23 de mayo de 2008 . Consultado el 21 de mayo de 2008 .
  40. ^ "Debian - Resultados de la búsqueda de paquetes - icedtea".
  41. ^ "java-1.6.0-openjdk.git". Archivado desde el original el 28 de marzo de 2014 . Consultado el 28 de marzo de 2014 .
  42. ^ "java-1.7.0-openjdk.git". Archivado desde el original el 28 de marzo de 2014 . Consultado el 28 de marzo de 2014 .
  43. ^ "Ubuntu - Detalles de icedtea-java7-jre en valiente". Paquetes de Ubuntu . Consultado el 26 de octubre de 2007 .
  44. ^ "Ubuntu: detalles del paquete openjdk-6-jre en hardy". Paquetes de Ubuntu . Consultado el 12 de julio de 2008 .
  45. ^ Wielaard, Mark (7 de junio de 2007). "Te helado" . Consultado el 9 de junio de 2007 .
  46. ^ Benson, Gary (6 de noviembre de 2007). "Guía de Gary para portar IcedTea". Archivado desde el original el 12 de julio de 2012 . Consultado el 26 de enero de 2008 .
  47. ^ "Proyecto Ensamblador Cero" . Consultado el 22 de agosto de 2008 .
  48. ^ "Preguntas frecuentes sobre ZeroShark". icedtea.classpath.org. Archivado desde el original el 23 de agosto de 2009 . Consultado el 30 de mayo de 2009 .
  49. ^ ab Benson, Gary (28 de mayo de 2008). "28 de mayo de 2008". Sombrero rojo . Consultado el 30 de mayo de 2008 . Shark es un JIT independiente de plataforma para HotSpot, para complementar el intérprete de ensamblador cero que hemos estado usando
  50. ^ Benson, Gary (21 de mayo de 2009). "Zero y Shark: un puerto de ensamblaje cero de OpenJDK". java.net. Archivado desde el original el 31 de mayo de 2009 . Consultado el 30 de mayo de 2009 . Comenzamos una versión experimental de OpenJDK sin lenguaje ensamblador, utilizando bibliotecas de software gratuitas para cerrar las brechas. Este experimento evolucionó hasta convertirse en el puerto de ensamblaje cero de OpenJDK (Zero) y su compilador justo a tiempo Shark.
  51. ^ Benson, Gary (1 de febrero de 2008). "1 de febrero de 2008". Archivado desde el original el 10 de julio de 2012 . Consultado el 3 de febrero de 2008 .
  52. ^ Haley, Andrés (31 de enero de 2008). "Hacer del ensamblador cero el valor predeterminado en ppc" . Consultado el 3 de febrero de 2008 .
  53. ^ Ángel, Lillian (13 de febrero de 2008). "¡Lanzamiento de IcedTea 1.6 con compatibilidad con Zero-assembler y JNLP!". Sombrero rojo . Consultado el 13 de febrero de 2008 .
  54. ^ Benson, Gary (31 de marzo de 2008). "31 de marzo de 2008". Sombrero rojo . Consultado el 30 de mayo de 2008 .
  55. ^ "6976186: integrar los cambios de Shark HotSpot". hg.openjdk.java.net . Consultado el 28 de marzo de 2014 .
  56. ^ Haley, Andrés (9 de septiembre de 2009). "¡Lanzamiento de IcedTea6 1.6!" . Consultado el 28 de marzo de 2014 .
  57. ^ Hughes, Andrés (13 de junio de 2012). "[SEGURIDAD] ¡Lanzados IcedTea 2.1.1 y 2.2.1!". Archivado desde el original el 29 de marzo de 2014 . Consultado el 28 de marzo de 2014 .
  58. ^ "Proyecto Puerto AArch64" . Consultado el 28 de marzo de 2014 .
  59. ^ Hughes, Andrés (28 de marzo de 2014). "IcedTea 2.3.14 y 2.4.6: ¡Se considera lanzado ARMful!". Archivado desde el original el 29 de marzo de 2014 . Consultado el 28 de marzo de 2014 .
  60. ^ "Puerto OpenJDK PowerPC/AIX". Archivado desde el original el 28 de marzo de 2014 . Consultado el 28 de marzo de 2014 .
  61. ^ Hughes, Andrés (23 de enero de 2014). "Puerto PPC disponible en IcedTea 2.x HEAD". Archivado desde el original el 20 de febrero de 2014 . Consultado el 28 de marzo de 2014 .
  62. ^ Simonis, Volker (25 de septiembre de 2015). "JEP 175: Puerto PowerPC/AIX" . Consultado el 13 de abril de 2016 .
  63. ^ Haley, Andrés (16 de diciembre de 2015). "JEP 237: puerto Linux/AArch64" . Consultado el 13 de abril de 2016 .

enlaces externos