• # Rappel sur Java !

    Posté par . En réponse à la dépêche Sun et le logiciel libre : deux nouveaux épisodes du feuilleton de l'été. Évalué à 10.

    Pour éviter les trolls et les incohérence de certains post voici un petit rappel nécessaire pour tous.

    Java englobe deux choses : une plateforme (VM et livrairie) et un language. Parler uniquement du "langage Java" est aussi réducteur que de parle de Linux et oublier GNU !

    Ensuite, il faut savoir que l'ensemble des spécifications de Java (plateforme & langage) est librement acessible et disponible, voir http://www.jcp.org.(...)

    De plus comme décrit dans les derniers licenses qui englobe le processus de specification de Java (JSPA) et grâce au travail de l'Apache Group. Une implementation opensource complète et intégrale de la spec est possible.

    Chaque Spec Java comporte une fois crée deux principaux éléments, l'implementation de référence (aide à implementer d'autre versions): le RI, et le kit de test de compatibilité (aide à certifier l'implementation comme compatible) : le TCK !

    Si l'on prend par exemple la spec de la toute dernière vesion de la plateforme de base (J2SE 1.5), est définie en tant que JSR176 et comporte par exemple un point trés important de précision :


    Section 4: Additional Information (Optional)

    4.1 This section contains any additional information that the submitting Member wishes to include in the JSR.

    Sun plans to adhere to the proposed new JSPA licensing model for this JSR, including allowing independent implementations, licensing the TCK separately from the RI, minimizing shared code, and licensing any remaining shared code (such as the verifier) on simple non-restrictive licensing terms. In addition Sun plans to make it easier for academic and non-profit groups to obtain access to the RI and TCKs.


    En clair, toute implementation par un tier est possible sans préjuger du type de license à appliquer !!! De plus, les TCK et RI peuvent êtr obtenus sans rétribution (la JSPA est plus précise sur ce point !) et de façon indépendante. En clair, si la FSF désire avoir uniquement la spec et le TCK et ne pas avoir le RI, pour sortir une version GPL de la Java, alors il n'y a aucun problème légal ou restriction possible par Sun, IBM, ou tout autre membre de la JSR.

    Ainsi par exemple, demain, la FSF pourrait bien décider de faire passer au projet GNU Classpath ce test. S'il réussissent, alors ce sera la premère VM compatible et GPL :)

    Concernant le débat IBM / Sun, il faut savoir qu'il porte au départ sur le fait qu'IBM voulait que le RI soit aussi opensource par défaut. Ce point pose pas mal de difficulté. Car mettre la "référence" en opensource, c'est augmenter fortement le risque de voir les différentes implémentation divergés. Et sur ce point aucune licenses accepté comme open source, ne permet de résoudre le problème :(

    En résumé à ce jour, l'implementation de référence de Java n'est pas opensource (mais les source sont disponible), mais disponible publiquement. Oui, on peut faire une implementation opensource de Java et s'assurer de sa compatibilité sans aucune limitation sur le mode de license à appliquer.

    Si MS n'existait pas je pense que 100% de la communauté Java serait pour mettre le RI en opensource, mais étant donné le comportement de passéde MS envers Java, le risque d'éclatement de la plateforme est réel. C'est un point à mettre en balance ... et cela complique les dicussion.