Tanto OpenJDK como GCJ están disponibles para su instalación en Debian, y ahora me pregunto qué está pasando. ¿No proporcionan la misma funcionalidad?
Respuesta aceptada:
La postura de Debian es que, más allá de ciertos componentes críticos del sistema que se consideran necesarios¹, no existe un software preferido. Si dos programas brindan una funcionalidad similar y ambos son adecuados para Debian², y hay un desarrollador de Debian dispuesto a mantener cada paquete, ambos programas terminarán en Debian. La idea es que sea el usuario quien elija qué programa usar.
En un sistema dado, como máximo una implementación de Java puede ser /usr/bin/java
. Esto se decide a través del mecanismo de alternativas:cada implementación de Java tiene una prioridad (decidida de común acuerdo entre los mantenedores de los paquetes Debian involucrados), y cualquier implementación que esté instalada en un sistema en particular tenga la prioridad más alta será /usr/bin/java
. El administrador del sistema puede anular esto cambiando manualmente el /etc/alternatives/java
enlace simbólico. Y si hay varias JVM instaladas, los usuarios pueden elegir ejecutar caso por caso /usr/lib/jvm/java-6-openjdk/jre/bin/java
, /usr/lib/jvm/java-6-sun/jre/bin/java
, etc.
¹ O al menos fuertemente recomendado.
² El requisito más conocido es que el programa debe ser software libre, con algunas excepciones (non-free
); otra es que no debe tener demasiados errores.