Sia OpenJDK che GCJ sono disponibili per l'installazione su Debian e ora mi chiedo cosa stia succedendo. Non forniscono le stesse funzionalità?
Risposta accettata:
La posizione di Debian è che, al di là di alcuni componenti di sistema critici che sono considerati necessari¹, non esiste un software preferito. Se due programmi forniscono funzionalità simili, ed entrambi sono adatti per Debian², e c'è uno sviluppatore Debian disposto a mantenere ogni pacchetto, allora entrambi i programmi finiranno in Debian. L'idea è che spetta all'utente scegliere quale programma utilizzare.
Su un dato sistema, al massimo un'implementazione Java può essere /usr/bin/java
. Questo viene deciso attraverso il meccanismo delle alternative:ogni implementazione Java ha una priorità (decisa di comune accordo tra i manutentori dei pacchetti Debian coinvolti), e qualunque implementazione installata su un particolare sistema abbia la priorità più alta diventa /usr/bin/java
. L'amministratore di sistema può ignorarlo modificando manualmente il /etc/alternatives/java
collegamento simbolico. E se sono installate diverse JVM, gli utenti possono scegliere caso per caso di eseguire /usr/lib/jvm/java-6-openjdk/jre/bin/java
, /usr/lib/jvm/java-6-sun/jre/bin/java
, ecc.
¹ O almeno fortemente consigliato.
² Il requisito più noto è che il programma deve essere software libero, con alcune eccezioni (non-free
); un altro è che non deve essere troppo difettoso.