Sun/Oracle JDK será eliminado de los repositorios de Ubuntu el 16-02-2012
Marc Deslauriers, ingeniero de Canonical Ltd., ha recordado a través de un email en una lista pública de Ubuntu que, como ya habían anunciado el año pasado, el 16 febrero próximo retirarán de sus repositorios ("Partner archive") el JDK 6 de Oracle. el motivo de este movimiento es que a partir del 24 agosto de este año la compañía no tiene permiso para redistribuir estos paquetes debido a que Oracle ha eliminado la licencia "Operating System Distributor License for Java" creada por Sun, que permitía a las distribuciones de Linux redistribuir el JDK propietario de la compañía.
Ubuntu no va a empujar estos cambios a las máquinas de los usuarios, por lo que no van a borrar los JDK que los usuarios puedan tener instalados en local. Pero a partir de esa fecha, los usuarios de Ubuntu deberán o bien emplear una alternativa como el OpenJDK, o bien descargarlo directamente de la web de Oracle el JDK.
Estos cambios sólo afectan al JDK 6, no al 7 ya que Este último nunca se llegó a distribuir bajo la "Operating System Distributor License for Java". según Oracle, el motivo de este cambio es que ahora el OpenJDK es suficientemente maduro para ser empleado en cualquier contexto. Yo no tengo experiencia reciente con el OpenJDK, pero tengo claro que hace un par de años la situación no era esa claramente.
¿Cuantos por aquí estáis empleando el OpenJDK? ¿Cuál es vuestra experiencia con él? Hagamos una pequeña encuesta sobre qué JDK usamos:
Reader Comments (16)
Java 6 de Oracle, bajado e instalado "a mano".
Cuando se selecciona una opción de descarga desde OpenJDK, en realidad la selección se redirige hacia java.net y de ahí a las usuales páginas de descarga de Oracle.
Actualmente no hay ninguna diferencia entre "ambas versiones", puesto que son la misma.
Obviamente me refiero a Oracle y OpenJDK.
Como digo siempre que sale esto (que ya son varias veces, incluso en javahispano), este cambio se debe a que OpenJDK, desde la version 7, es la version "oficial" que viene a suplantar a la de Sun. Se dice que Oracle sacara su propia version del jdk privativo optimizado, pero vayase a saber!
Es decir, hay bastante diferencia entre la madurez de OpenJDK 6 y la 7.
Soy usuario de Linux (Kubuntu) y solo Linux (no tengo Windows) y desde hace meses uso OpenJDK 7 y no he tenido ningún tipo de problema hasta ahora. Alguna diferencia hay, por ejemplo el uso de IcedTea en el navegador y Java WebStart, no hay (al menos no la veo o no se instala por defecto) la aplicación de administración de Web Start con todas las descargas y su correspondiente información. Supongo que habrá mas diferencias.
Yo no me atrevo a afirmar nada con cierta seguridad, pero me huele a mi que sí puede ser que Oracle saque una versión propia del JDK de pago, con optimizaciones y aplicaciones auxiliares.
Oracle, al igual que otras compañías, ya tiene una VM de pago desde hace años: JRockit.
Creo que se confunde con frecuencia la estrategia empresarial de las VM con el JDK.
OpenJDK es la implantación de referencia del lenguaje Java, por lo que ninguna compañía hará una versión propietaria, a menos que quiera correr el riesgo de que las aplicaciones Java no funcionen, a menos que usen sus especificaciones propietarias.
Otra cuestión es la VM, en la que sí se pueden incluir determinadas optimizaciones y servicios adicionales, que sin romper la compatibilidad del código, ofrezcan ventajas competitivas en términos de rendimiento.
Justamente es lo que han hecho Oracle, Azul, IBM y otras, con sus versiones de la VM desde hace años.
En el desarrollo actual de OpenJDK 8 se está integrando una parte de JRockit en el Hotspot, de la misma manera que existe una sinergia similar entre JDeveloper y NetBeans. Hay un trasvase de tecnología de Oracle hacia esos dos grandes proyectos, que solo puede beneficiar al lenguaje y su desarrollo.
No puedo usar el OpenJDK porque son distintos los paquetes para algunas claces..
Ejemplo: sun.org.mozilla.javascript.internal.Scriptable en OpenJDK tiene otra ruta.
Hcv
Huecuvu, ese paquete no forma parte pública del API. Nunca deberías emplearlo... en cualquier momento pueden cambiarlo sin avisar.
@Huecuvu
Precisamente el objetivo que persigue OpenJDK, entre otros, consiste en eliminar el código propietario de Sun, para que sea un auténtico proyecto Open Source.
Como bien dice Abraham, los packages sun.* no se deben usar, y nunca ha estado recomendado su uso, al margen de que exista OpenJDK.
Yo comencé a usar OpenJDK porque es el JDK oficialmente soportado en FreeBSD. Este sistema operativo es de mis favoritos, y la falta de JDK (hace tiempo que diablo dejó de ser soportado) me ha obligado a utilizar como plataforma a Linux (con el JDK de Sun/Oracle). Por lo mismo he seguido probando paralelamente las nuevas versiones de OpenJDK y al menos en esta plataforma he visto mejoras considerables en temas como velocidad y compatibilidad (ya corre Glassfish 3.x en FreeBSD). Dentro de lo malo está que me topé con un detalle en donde se pierden los ejb-timers al hacer deploy/redeploy de la aplicación.
Saludos
OK, pero necesito usarlos, lo que antes era el proyecto Rhino y lo incluyeron en la JDK. ¿Como hago?
Gracias
Hcv
Para eso está el API estándar (Java Scripting API).
Gracias gente,
Pruebo el API standar y puedo pasar a OpenJDK sin problemas ;)
Hcv
Mientras que su JDK no provea la sentencia GOTO <label>, seguiré con C o incluso Objective-C de GNUstep que sí la tienen.
@JCPM
El lenguaje Java ni tiene GOTO, ni lo tendrá, ni falta que le hace.
Java es un lenguaje Orientado a Objetos, por lo que las sentencias de ruptura de flujo como GOTO no tienen sentido.
Que trolls ...
De hecho, si quieres, puedes usar goto, solo tienes que usar una version de Java lo suficientemente antigua (de bastante antes del release), y a disfrutar ... Cuentanos como te va.
Yo he alucinado con lo del GOTO. Será una broma, supongo...