PDA

View Full Version : [java] licenze


krasky
02-05-2011, 11:40
Buongiorno a tutti,
sono piuttosto 'nuovo' nel mondo della programmazione, e vorrei capire cosa sta accadendo attorno a java (linguaggio che pratico da circa 8 mesi).

Se ho correttamente inteso, JDK6 e OpenJDK sono tuttora rilasciati sotto licenza GPL. Questo implica in sostanza l'obbligo di fornire agli utenti i sorgenti.

I JDK 'proprietari' (jrockit?) in cosa differiscono? Permettono di scrivere e distribuire software senza fornire i sorgenti, e offrono anche migliori prestazioni?

Qualcuno mi può aiutare?

Grazie, buona giornata a tutti.

PGI-Bis
02-05-2011, 13:28
La licenza di openjdk è la gpl con la classpath exception, che esclude la necessità di pubblicare i sorgenti delle applicazioni che scrivi usando openjdk (sei invece obbligato a pubblicare le modifiche ai sorgenti di openjdk nel caso in cui tu ne faccia).

Per quanto riguarda il jdk/jre di oracle, è free come in free beer. Le limitazioni che esistono riguardano le modifiche al jre/jdk stesso nel caso in cui si voglia distribuirlo insieme al programma (in generale il jre/jdk devi includerlo così com'è salvo qualche file che riguarda la localizzazione).

Lo stesso vale sia per il java di ibm che per quello di oracle (che si dice sarà fuso con quello di sun adesso che è tutto in mano ai quaranta compagni di Alì Babà).

In sintesi, non sei obbligato a pubblicare i sorgenti del tuo programma java a prescindere dal jre/jdk che usi, anche per scopi commerciali, e non devi pagare una lira ad alcuno.

krasky
02-05-2011, 17:20
Grazie mille per la risposta rapida e cortese.

Ma allora, mi chiedo, a cosa è dovuta la polemica che "monta" contro Oracle?
Proprio al fatto che i programmi scritti in java non debbano più essere necessariamente opensource?

PGI-Bis
02-05-2011, 20:52
Se non vado errato, i problemi riguardano la possibilità di sviluppare piattaforme Java basate sul codice dell'openjdk che non siano gpl e la licenza delle patch sviluppate per il progetto openjdk o una cosa del genere. Poi c'era una questione che riguardava le specifiche della piattaforma java 7 che sun/oracle non avevano portato davanti al java community process perchè Apache faceva ostruzionismo (per una questione riguardante il tck e harmony). Da profano ho sempre avuto l'impressione che si parlasse di grosse segone mentali.