Implementaciones gratuitas de Java - Free Java implementations

Las implementaciones gratuitas de Java son proyectos de software que implementan las tecnologías Java de Oracle y se distribuyen bajo licencias de software libre , lo que los convierte en software libre . Sun lanzó la mayor parte de su código fuente de Java como software gratuito en mayo de 2007, por lo que ahora casi se puede considerar una implementación de Java gratuita. Las implementaciones de Java incluyen compiladores, tiempos de ejecución, bibliotecas de clases, etc. Los defensores del software libre y de código abierto se refieren al software de máquina virtual Java libre o de código abierto como tiempos de ejecución gratuitos o tiempos de ejecución de Java gratuitos .

Algunos defensores de este movimiento prefieren no utilizar el término "Java", ya que tiene problemas de marcas comerciales asociados. Por lo tanto, aunque se trata de un "movimiento de Java libre", ellos evitan el término "tiempos de ejecución de Java libres".

Mediados de la década de 1990 hasta 2006

El primer proyecto gratuito que ofreció partes sustanciales de la funcionalidad de la plataforma Java fue probablemente guavac, que comenzó algún tiempo antes de noviembre de 1995.

Desde entonces, el movimiento del software libre desarrolló otros compiladores de Java, sobre todo el compilador GNU para Java . Otros incluyen Eclipse Java Compiler (ECJ), que es mantenido por Eclipse Foundation , y Jikes , que ya no se mantiene activamente. Desde la versión 4.3 de GNU Compiler Collection , GCJ (su compilador Java) está utilizando el front-end del analizador ECJ para analizar Java.

Ejemplos de entornos de ejecución gratuitos incluyen Kaffe , SableVM y gcj .

GNU Classpath es la principal biblioteca de clases de software libre para Java. La mayoría de los tiempos de ejecución gratuitos utilizan GNU Classpath como su biblioteca de clases.

En mayo de 2005, se anunció Apache Harmony , sin embargo, el proyecto eligió la licencia Apache , que en ese momento era incompatible con todas las implementaciones gratuitas de Java existentes.

Otro evento en mayo de 2005 fue el anuncio de que OpenOffice.org 2.0 dependería de las características de Java que las implementaciones de software libre no podrían proporcionar. Tras la controversia, OpenOffice.org adoptó una directriz que requería que funcionara con implementaciones gratuitas de Java.

Las aplicaciones notables que ya funcionaban con implementaciones de software libre de Java antes de noviembre de 2006 incluyen OpenOffice.org y Vuze , las cuales funcionan cuando se compilan con GCJ.

Anuncio de Sun de noviembre de 2006

El 13 de noviembre de 2006, Sun lanzó su compilador, javac , bajo la Licencia Pública General GNU .

En septiembre de 2007, además de javac, Sun lanzó el código de HotSpot (la máquina virtual ) y casi toda la biblioteca de clases de Java como software gratuito.

Siguiendo su promesa de lanzar un JDK completamente compilable basado casi completamente en código fuente libre y abierto en la primera mitad de 2007, Sun lanzó el código fuente completo de la biblioteca Class bajo la GPL el 8 de mayo de 2007, excepto algunas partes limitadas que fueron con licencia de Sun de terceros que no querían que su código se publicara bajo una licencia de software libre. Sun ha declarado que su objetivo es reemplazar las partes que siguen siendo propietarias y de código cerrado con implementaciones alternativas y hacer que la biblioteca de clases sea completamente gratuita y de código abierto. Dado que hay algún código sobrecargado en el JDK, Sun continuará usando ese código en versiones comerciales hasta que sea reemplazado por alternativas totalmente funcionales, gratuitas y de código abierto.

Después del lanzamiento del código de mayo de 2007

En mayo de 2008, la única parte de la biblioteca Class que sigue siendo propietaria (4% en mayo de 2007 para OpenJDK 7 y menos del 1% en mayo de 2008 en OpenJDK 6) es la implementación de SNMP .

Desde el primer lanzamiento de mayo de 2007, Sun Microsystems , con la ayuda de la comunidad, ha lanzado como software libre (o reemplazado por alternativas de software libre) casi todo el código gravado:

  • Todo el código del motor de audio, incluido el sintetizador de software , se ha publicado como código abierto. El sintetizador de software de código cerrado ha sido reemplazado por un nuevo sintetizador desarrollado específicamente para OpenJDK llamado Gervill ,
  • Todas las clases de criptografía utilizadas en la biblioteca de clases se han lanzado como software gratuito,
  • FreeType ha reemplazado el código que escala y rasteriza las fuentes .
  • LittleCMS ha reemplazado el sistema de gestión del color nativo . Hay una capa enchufable en el JDK, de modo que la versión comercial puede usar el antiguo sistema de administración de color y OpenJDK puede usar LittleCMS.
  • El renderizador Piscis de código abierto utilizado en el proyecto phoneME ha reemplazado el código rasterizador de gráficos anti-aliasing . Este código es completamente funcional, pero aún necesita algunas mejoras de rendimiento,
  • El complemento de JavaScript ha sido de código abierto ( el motor de JavaScript en sí fue de código abierto desde el principio).

Debido a estos componentes previamente gravados, no fue posible construir OpenJDK solo con componentes de software gratuitos. Para poder hacer esto antes de que toda la biblioteca de clases sea ​​gratuita, y para poder empaquetar OpenJDK en Fedora Core y otras distribuciones gratuitas de Linux , Red Hat ha iniciado un proyecto llamado IcedTea . Básicamente es un híbrido OpenJDK / GNU Classpath que se puede usar para arrancar OpenJDK usando solo software libre.

En marzo de 2008, la distribución de Fedora 9 se lanzó con OpenJDK 6 en lugar de la implementación de IcedTea de OpenJDK 7. Algunas de las razones declaradas para este cambio son:

  • Sun ha reemplazado la mayoría de los gravámenes para los que IcedTea estaba proporcionando reemplazos (menos del 1% del código gravado permanece en la biblioteca de clases y este código no es necesario para ejecutar OpenJDK).
  • OpenJDK 6 era una rama estable, mientras que OpenJDK 7 era inestable y no se esperaba que lanzara una versión estable hasta 2009.
  • Sun ha obtenido la licencia de la marca comercial OpenJDK para su uso en Fedora.

En junio de 2008, se anunció que IcedTea 6 (como la versión empaquetada de OpenJDK en Fedora 9 ) había pasado las pruebas del Kit de compatibilidad tecnológica y puede afirmar que es una implementación de Java 6 totalmente compatible.

En septiembre de 2013, Azul Systems lanzó Zulu, una compilación gratuita de código abierto de OpenJDK para Windows Server y Microsoft Azure Cloud. Las versiones posteriores agregaron soporte para Mac OS X , múltiples versiones de Linux y Java Platform, Standard Edition versión 8. Zulu está certificado como compatible con Java SE 8, 7 y 6 usando el Kit de compatibilidad de tecnología de la comunidad OpenJDK .

Amazon ha lanzado Amazon Corretto, una distribución sin costo, multiplataforma y lista para producción del Open Java Development Kit. Se publica bajo GPL v2 con Classpath Exception . Hay disponibles versiones de soporte a largo plazo de Java 8 y Java 11. Se publicó por primera vez el 31 de enero de 2019.

Ver también

Referencias

enlaces externos