La diferencia entre openjdk y jdk
Históricamente, openjdk es una versión de código abierto de jdk, publicada bajo la GPL. Cuando se lanzó JDK7, openjdk se había convertido en la columna vertebral del desarrollo de jdk7. sun jdk7 se lanza en base a openjdk7, la mayor parte de su código original permanece sin cambios y solo una pequeña parte del código original ha sido reemplazada. Publicado bajo la JRL (Licencia JavaResearch).
En cuanto a openjdk6, la situación es más complicada. En primer lugar, openjdk6 es una rama de jdk7 y las nuevas características de Java SE7 se han eliminado tanto como sea posible para que sea lo más consistente posible. Estándares Java6.
La diferencia entre JDK y OpenJDK se puede resumir de la siguiente manera:
La diferencia en el acuerdo de licencia:
openjdk se publica bajo el acuerdo GPL V2, mientras que JDK se publica bajo Publicado por JRL. Ambas licencias son de código abierto, pero la diferencia en el uso es que GPL V2 permite el uso comercial, mientras que JRL solo permite el uso de investigación personal.
OpenJDK no incluye implementación:
Las funciones de implementación incluyen complementos del navegador, Java Web Start y Panel de control de Java, que no están disponibles en OpenJDK.
El código fuente de OpenJDK está incompleto:
Es fácil pensar en esto en Openjdk usando GPL, parte del código fuente de Sun JDK no se puede abrir debido a problemas de derechos de propiedad. La parte más importante es el código de la parte SNMP del componente opcional de JMX. Por lo tanto, el código fuente que no se puede abrir se convertirá en un complemento compilado por OpenJDK. También puede optar por no utilizar el complemento. Icedtea también ha desarrollado la misma función (OpenJDK6) para estos códigos fuente parciales incompletos. lo que hace que OpenJDK sea más completo.
Parte del código fuente fue reemplazado por código fuente abierto:
Debido a problemas de derechos de propiedad, muchos códigos fuente cuyos derechos de propiedad no pertenecían a SUN fueron reemplazados por algunos códigos fuente abiertos. con las mismas funciones, como el motor de rasterización de fuentes, utilice Free Type en su lugar.
openjdk solo contiene el JDK más optimizado:
OpenJDK no contiene otros paquetes, como Rhino Java DB JAXP..., los paquetes que se pueden separar están separados tanto como posible, pero la mayoría de ellos son software gratuitos y puedes descargarlos y unirte a ellos tú mismo.
No se puede utilizar el indicador de Java:
Esto es fácil de entender en una máquina con openjdk instalado, al ingresar "java -version" se mostrará openjdk, pero si está parcheado. Icedtea openjdk, lo que se muestra es java. (Sin verificar)
En resumen, en el sistema Java todavía hay muchos componentes que no son gratuitos y el desarrollo del código fuente no es lo suficientemente completo. Espero que Oracle pueda hacer que JCP sea más libre y abierto, que es lo que quiere toda la comunidad Java.