Oracle farà pagare Java dal 2019?
Per OracleJDK 11, richiederanno una licenza a pagamento per gli sviluppatori che distribuiscono bytecode Java (non c'è più JRE, se non al momento del bind... le app usciranno come moduli, comprese quelle che sono state nella JRE).
Per OpenJDK 11... che girerà su Linux, macOS e Windows... non ci saranno costi di licenza da parte di Oracle e tutto sarà disponibile sotto GPL. [Mi chiedo se Linux su architetture diverse da X64 sarà supportato da OpenJDK.]
È possibile utilizzare OracleJDK 11 senza licenza solo per "sviluppo, test, prototipazione o dimostrazione". Se non sei un licenziatario di OracleJDK 11 e vuoi distribuire un programma "Hello, world" come binario, il suo bytecode deve essere compilato con OpenJDK 11 (o uno dei JDK Oracle pre-11).
OracleJDK 11 ha decomposto l'intero JDK, incluso quello che era il JRE, in moduli. Invece di distribuire un JRE, si affidano allo sviluppatore per creare file JAM (l'equivalente module-aware dei file JAR) e per usare lo strumento jlink per combinare i file JAM, i file JAR e i moduli che vivono nella Java home (del JDK) in un eseguibile standalone... così un eseguibile include la JVM con cui gira (ci sono utility di patching per installare fix di sicurezza, ecc. nei moduli di sistema all'interno delle applicazioni). Le aziende hanno distribuito una Java home con i loro prodotti per un po' di tempo e l'hanno indicata... questo semplicemente lo formalizza in qualcosa come l'app bundle di macOS.
Come ha fatto in OpenJDK 9 e OpenJDK 10, OpenJDK 11 ha una dichiarazione di intenti per rimuovere la JRE... un giorno. Quindi, quando uno sviluppatore crea dei moduli, non può metterli in file JAM... anche questo non è ancora stato fatto... i moduli in forma di directory devono essere sul percorso dei moduli (così come i file di classe Java in forma di directory possono essere sul percorso delle classi) e si cercheranno a vicenda e tutto cercherà la JRE. Così, gli utenti dei moduli OpenJDK 11 dovranno installare un JRE dopo tutto o spedirne uno con il loro prodotto e puntare ad esso.
RedHat sta andando all in su OpenJDK 11, pianificando una distribuzione autorizzata e GPL'ed RedHat con supporto mirato ai clienti enterprise. Sarà una distribuzione a pagamento sotto lo stesso tipo di termini di RHEL (se non avete bisogno di supporto, non dovete pagare). Presumo che ogni licenza RHEL includa una licenza RedHat OpenJDK in bundle.
JDK 11: Release Candidate Update e OpenJDK JDK 11 LTS - DZone Java
Oracle Java SE Support Roadmap
Articoli simili
- Come risolvere il messaggio 'Status: Failure -Test fallito: Errore IO: The Network Adapter could not establish the connection' da Oracle 12
- Cosa devo fare per risolvere l'errore di installazione di Oracle 'SID già esistente'?
- Cosa fa Oracle?
- Se conosco Java, e come creare applicazioni Android utilizzando Java, quali sono i passi per pubblicare una mia applicazione?