web-dev-qa-db-fra.com

Java gratuit / open source ou non?

Le 13 novembre 2006, Sun a publié une grande partie de Java en tant que logiciel libre et open source, (FOSS), selon les termes de la licence GNU General Public License ( GPL). Le 8 mai 2007, Sun a terminé le processus en rendant tout le code de base de Java disponible sous des termes de distribution de logiciels libres/open-source, à l'exception d'une petite portion de code à laquelle Sun n'a pas détenez le droit d'auteur.

OpenJDK (Open Java) est une implémentation gratuite et open source du langage de programmation Java. C'est le résultat d'un effort que Sun Microsystems a commencé en 2006 L'implémentation est concédée sous la licence GNU General Public License (GNU GPL) avec une exception de liaison.

  • Pourquoi il y a encore des gens qui disent que Java n'est pas open source ou gratuit comme dans la liberté d'expression?
  • Suis-je en train de manquer quelque chose?
  • Java est-il toujours propriétaire?
37
Tulains Córdova

Le problème est que pour appeler quelque chose "Java", vous devez le faire certifier conforme à la spécification Java.

L'une des conditions préalables pour obtenir cette certification est d'exécuter votre JVM via une suite de tests - Java Kit de compatibilité technologique (TCK) . Cette suite de tests n'est PAS open source .

Vous pouvez donc construire une JVM qui se comporte de manière très Java et être complètement open source, mais, si vous voulez l'appeler une "Java JVM", vous devez acheter la suite de certification sous une licence non open source. Pour de nombreux défenseurs de l'open source, il s'agit d'une licence non starter complète.

39
James Anderson

Vous devriez avoir lu cette réponse avant de supprimer celui à utiliser. La réponse principale a déclaré:

À propos de Java 7, notez que JDK7 et OpenJDK7 auront ( presque ) une base de code identique.

Remarquez le presque J'ai mis en évidence.

De l'article lié de cette réponse:

[…] Mais il y a du code où il y a des remplacements open source où nous utilisons toujours l'ancien code source fermé. Il s'agit principalement de la pixellisation des polices et des graphiques. L'ancien code de rastérisation en source fermée, tout en étant encombré, a eu plus de 10 ans de correction de bogues et de réglage fin, etc. bonne qualité que le code fermé existant.

Aussi, à partir de la FAQ Java:

Le Java Development Kit (JDK) est gratuit à télécharger et à utiliser pour la programmation commerciale, mais de ne pas redistribuer .

Donc, pas open source . Presque.

De plus, même s'il était complètement open source, le modèle de développement et gouvernance ne le serait pas. Ce n'est pas un problème de licence, cependant.

15
Gallaecio

En 1997, Sun Microsystems a approché l'ECMA pour formaliser le Java mais il s'est rapidement retiré du processus. Java la norme est en fait contrôlée par Java Community Process .

Bien qu'en 2006, la plupart des Java aient été publiées par Sun Microsystems sous les termes de la GPL mais l'implémentation officielle actuelle appartient à Oracle.

Comme Java n'a pas de normalisation formelle reconnue par l'ECMA, l'ISO/CEI, l'ANSI ou toute autre organisation de normalisation tierce, l'implémentation Oracle est la norme de facto. Cependant, il existe des implémentations alternatives comme GNU Compilateur pour Java, GNU Classpath, IcedTea-Web, etc.

1
Sajad Deyargaroo