Java è gratuito / open source o no?

33

Il 13 novembre 2006, Sun ha rilasciato gran parte di Java come software libero e open source (FOSS), sotto i termini della GNU General Public License (GPL). L'8 maggio 2007, Sun ha terminato il processo, rendendo tutto il codice base Java disponibile sotto termini di distribuzione software / open source , a parte una piccola porzione di codice a cui Sun non detiene il copyright .

OpenJDK (Open Java Development Kit) è un'implementazione gratuita e open source del linguaggio di programmazione Java. È il risultato di uno sforzo iniziato da Sun Microsystems nel 2006. L'implementazione è concessa sotto licenza GNU General Public License (GNU GPL) con un'eccezione di collegamento.

  • Perché ci sono ancora persone che dicono che Java non è open source o libero come nella libertà di parola?
  • Mi manca qualcosa?
  • Java è ancora proprietario?
posta Tulains Córdova 24.10.2012 - 07:08
fonte

3 risposte

37

Il problema è che per chiamare qualcosa "Java" è necessario ottenerlo certificato come conforme alle specifiche Java.

Uno dei prerequisiti per ottenere questa certificazione è eseguire JVM attraverso una suite di test - Java Kit di compatibilità tecnologica (TCK ) . Questa suite di test NON è open source.

Quindi puoi costruire una JVM che si comporta in modo molto simile a Java ed essere completamente open source, ma, se vuoi chiamarla una "JVM Java", devi acquistare la suite di certificazione con una licenza non open source. Per molti sostenitori dell'open source questo è un non start completo.

    
risposta data 24.10.2012 - 08:19
fonte
14

Dovresti leggere questa risposta prima che venisse rimosso su quale utilizzare. La risposta principale ha dichiarato:

About Java 7, note that JDK7 and OpenJDK7 will have (nearly) identical code base.

Notare quasi che ho evidenziato.

Dall'articolo collegato da quella risposta:

[…] but there is some code where there are open source replacements where we still use the old closed source code. This is primarily in font and graphics rasterization. The old closed source rasterisation code, while being encumbered, has had 10+ years of bug fixing and fine tuning etc and, for any open source replacement to displace that code in productized JDK builds, it would have to be provably as fast and stable and good quality as the existing closed code.

Inoltre, dalle Domande frequenti Java :

The Java Development Kit (JDK) is free to download and use for commercial programming, but not to re-distribute.

Quindi non open source . Quasi quasi.

Inoltre, anche se fosse completamente open source, il modello di sviluppo e governance non lo farebbero. Tuttavia, non è un problema di licenza.

    
risposta data 24.10.2012 - 08:28
fonte
1

Nel 1997 Sun Microsystems si avvicinò all'ECMA per formalizzare Java, ma presto si ritirò dal processo. Lo standard Java è effettivamente controllato tramite Processo della comunità Java .

Anche se nel 2006, la maggior parte di Java è stata rilasciata da Sun Microsystems sotto i termini di GPL, ma l'attuale implementazione ufficiale è di proprietà di Oracle.

Poiché Java non ha alcuna standardizzazione formale riconosciuta da ECMA, ISO / IEC, ANSI o altra organizzazione di standard di terze parti, l'implementazione Oracle è lo standard defacto. Tuttavia, esistono implementazioni alternative come GNU Compiler per Java, GNU Classpath, IcedTea-Web, ecc.

    
risposta data 10.12.2013 - 23:23
fonte

Leggi altre domande sui tag