Java 9 : le comité exécutif du JCP approuve la spécification révisée du système de modules Jigsaw
Mais Red Hat s'abstient de voter

Le , par Michael Guilloux, Chroniqueur Actualités
Le 8 mai dernier, les membres du comité exécutif du Java Community Process (JCP) ont voté sur le système de modules Java (Jigsaw). Bien avant le vote, IBM et Red Hat avaient exprimé des préoccupations au sujet du système de modules Java (Java Platform Module System, en abrégé JPMS), et annoncé qu’ils allaient voter « Non ». Ils n’étaient toutefois pas les seuls parmi les membres du comité exécutif du JCP à désapprouver le JSR 376 (Java Platform Module System) et le vote l’a prouvé : le comité exécutif du JCP a rejeté la spécification par un vote de 13 « Non » contre 10 « Oui ».

Des commentaires des différents votants, on a pu retenir deux raisons principales à cette objection : la nécessité d’un consensus entre les membres du groupe d’experts travaillant sur le système de modules, mais aussi l’interopérabilité ou la compatibilité avec des outils et systèmes populaires de l’écosystème Java. Le comité exécutif du JCP a donc accordé un délai de 30 jours au Specification Lead, Mark Reinhold d’Oracle, pour tenter de trouver un consensus au sein du groupe d’experts, donc probablement régler les problèmes évoqués et soumettre une nouvelle proposition. Il faut également préciser que certains membres qui ont voté « Non » ont dit être prêts à soutenir la spécification révisée, si elle arrive à réconcilier les membres du groupe d’experts.

Depuis le vote du comité exécutif du JCP, le groupe d’experts du JSR 376 a eu une série de discussions sur la manière de corriger les problèmes évoqués et il semble que les modifications qui ont été faites ont permis de dissiper une bonne partie de ces préoccupations. Dans un nouveau vote du comité exécutif, la spécification révisée du système modules Java a en effet été approuvée presque à l’unanimité avec 24 des 25 membres ayant voté « Oui ». Red Hat a toutefois décidé de s’abstenir évoquant une satisfaction partielle.


« Red Hat s'abstient de voter en ce moment, car bien que nous pensons qu'il y a eu des progrès positifs au sein du groupe d'experts pour parvenir à un consensus depuis le dernier vote, nous croyons qu'il existe un certain nombre d'éléments dans la proposition actuelle, qui auront une incidence sur une adoption communautaire plus large, qui auraient pu être traités dans le délai de 30 jours pour cette version. Cependant, nous ne voulons pas retarder la sortie de Java 9 », explique Red Hat. L’éditeur de distributions Linux pense toutefois que les feedbacks sur le système de modularité seront « la clé pour comprendre si et où des changements doivent se produire. » Il espère donc que le responsable du projet et le groupe d’experts continueront à être aussi ouverts aux commentaires de la communauté Java plus large (utilisateurs et communautés au-delà de l’OpenJDK) qu'ils l'ont été au cours des 30 derniers jours de révision de la spécification.

IBM de son côté semble plus satisfait du travail qui a été fait ces derniers jours. Big Blue « approuve le passage de la spécification JPMS révisée […]. Comme décrit dans notre déclaration publique [mise en ligne en fin mai], IBM apprécie les nouvelles améliorations de compatibilité et de migration pour les applications d'entreprise qui ont ajoutées à la spécification », commente IBM.

En dehors de l’approbation de la spécification révisée du système de modules, la proposition de Mark Reinhold d’Oracle pour la phase Release Candidate de Java 9 a été validée, aucune objection n’ayant été faite. « Nous sommes maintenant dans la phase finale de la sortie [de Java 9] dans laquelle notre objectif sera de corriger uniquement les bogues vraiment bloquants pour la sortie de cette version », a-t-il annoncé. La build 175 du JDK 9 publiée le 22 juin devrait servir de point de départ pour préparer les releases candidates.

Sources : Vote du comité exécutif du JCP, Statut du JDK 9, Mark Reinhold (OpenJDK mailing list)

Et vous ?

Que pensez-vous du vote et de la décision de Red Hat ?
Êtes-vous optimiste au sujet de cette version de Java ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Michael Guilloux Michael Guilloux - Chroniqueur Actualités https://www.developpez.com
le 07/09/2017 à 12:44
Oracle annonce des changements pour Java SE
deux versions par an, licence GPL, des fonctionnalités commerciales du JDK d’Oracle en open source

Oracle vient d’annoncer de nombreux changements en ce qui concerne le développement et la distribution de Java SE ; lesquels changements devraient sans doute faire plaisir à la communauté.

Dans un billet de blog publié ce mercredi, Mark Reinhold, architecte en chef de la plateforme Java chez Oracle a expliqué la nécessité d’accélérer le cycle de publication du JDK. Il rappelle en effet que Java est en concurrence avec d'autres plateformes qui sont mises à jour plus souvent. « Pour que Java reste compétitif, il ne doit pas juste continuer à aller de l'avant – il doit progresser plus rapidement », a-t-il déclaré dans son billet. Ainsi, après Java 9, attendu le 21 septembre, Mark Reinhold propose une nouvelle version avec de nouvelles fonctionnalités tous les six mois, en mars et en septembre. Ces versions de fonctionnalités (feature release) seront suivies par des mises à jour (update release) chaque trimestre, comme c’est le cas maintenant en janvier, avril, juillet et octobre.

« En m’appuyant sur les modèles de publication utilisés par d'autres plateformes et par diverses distributions de système d'exploitation, je propose qu'après Java 9, nous adoptions un modèle strict et basé sur le temps avec une nouvelle version de fonctionnalités tous les six mois, des mises à jour chaque trimestre et une LTS tous les trois ans », peut-on lire dans son billet.

Les versions de fonctionnalités peuvent contenir n'importe quel type de fonctionnalités, y compris de nouvelles API ou des améliorations d'API, mais aussi les fonctionnalités de langage et JVM. Les versions de mises à jour seront strictement limitées aux corrections des problèmes de sécurité, de régressions et de bogues dans les nouvelles fonctionnalités. Chaque feature release recevra deux mises à jour avant la sortie de la prochaine feature release. Et tous les trois ans, à partir de septembre 2018, la feature release sera une version avec un support à long terme. Elle bénéficiera donc de mises à jour pendant au moins trois ans et peut-être plus longtemps, selon votre fournisseur, explique Mark Reinhold.

« Les développeurs s'attendent à des cycles de publication plus fréquents », mais aussi « à des licences flexibles », ajoute Donald Smith, directeur Product Management chez Oracle, dans un autre billet de blog. Il a noté que le modèle de développement, de publication, de licence et de distribution pour Java SE est vieux de plus d'une décennie. Cela dit, Oracle envisage également de changer les choses au niveau de la licence de Java SE.

En commençant par le JDK 9, Oracle envisage de publier les builds OpenJDK sous licence GPLv2, afin de rendre le code plus adapté aux environnements cloud. Oracle prévoit de publier d'abord les builds OpenJDK pour Linux/x64, puis celles pour macOS/x64 et Windows/x64.

Mais ce n'est pas tout, le géant des bases de données veut également publier en open source des fonctionnalités commerciales qui sont actuellement uniquement disponibles dans le JDK d'Oracle, telles que Java Flight Recorder. L'objectif est de rendre l'OpenJDK et le JDK d'Oracle interchangeables. « Bien que nous sachions qu'il y aura d'abord des différences, notre intention est que, après quelques versions, il n'y ait plus de différences techniques entre les builds OpenJDK et les binaires Oracle JDK », a déclaré Smith.

Sources : Blog personnel de Mark Reinhold, OpenJDK Mailing List, Oracle

Et vous ?

Que pensez-vous des changements annoncés pour Java SE ?
Pensez-vous qu’Oracle envisage de céder Java SE à la communauté comme la société compte le faire pour Java EE ?

Voir aussi :

Oracle envisage de transférer le développement de Java EE à une fondation open source, une preuve de l'abandon de la plateforme
La spécification finale de Java EE 8 disponible en téléchargement, après son approbation par le comité exécutif du JCP
Avatar de kilroyFR kilroyFR - Membre confirmé https://www.developpez.com
le 07/09/2017 à 13:57
tout est bon a prendre et assez surprenant d'oracle peu reputé a faire des "cadeaux".
Prochaine etape rendre gratos certaines fonctionnalités de leur SGBD vedette, voire une baisse des tarifs qui ont outrageusement explosés ces 2 dernieres années
Avatar de ParseCoder ParseCoder - Membre actif https://www.developpez.com
le 07/09/2017 à 14:29
Dommage qu'Oracle n'ai pas choisit une license aussi libérale que la license du .NET Compiler Platform (Roslyn).
Avatar de Matthieu Vergne Matthieu Vergne - Expert éminent https://www.developpez.com
le 07/09/2017 à 14:47
Citation Envoyé par Michael Guilloux Voir le message
« En m’appuyant sur les modèles de publication utilisés par d'autres plateformes et par diverses distributions de système d'exploitation, je propose qu'après Java 9, nous adoptions un modèle strict et basé sur le temps avec une nouvelle version de fonctionnalités tous les six mois, des mises à jour chaque trimestre et une LTS tous les trois ans », peut-on lire dans son billet.
Et c'est où qu'il prend en compte ce qui est faisable en interne ? Parce que bon, copier les autres a ses avantages, mais si c'est pour avoir en pratique le même rythme et se contenter de sortir des versions qui sont juste de moins en moins boguées, les utilisateurs resteront au rythme habituel pour éviter de perdre leur temps, en se contentant d'ignorer les versions intermédiaires.

Citation Envoyé par Michael Guilloux Voir le message
L'objectif est de rendre l'OpenJDK et le JDK d'Oracle interchangeables. « Bien que nous sachions qu'il y aura d'abord des différences, notre intention est que, après quelques versions, il n'y ait plus de différences techniques entre les builds OpenJDK et les binaires Oracle JDK », a déclaré Smith.
Ce qui veut dire qu'à terme il n'en restera qu'un seul. L'objectif, si on lit entre les lignes, et de supprimer l'un des deux. La question est alors de savoir lequel. Je vous le laisse en mille. Reste à voir ensuite l'évolution que ça engendrera, style pas en arrière sur les licences avec celui qui reste. En surface, ça semble génial, mais où sont les garanties ?
Avatar de adiGuba adiGuba - Expert éminent sénior https://www.developpez.com
le 07/09/2017 à 17:24
Citation Envoyé par Matthieu Vergne Voir le message
Et c'est où qu'il prend en compte ce qui est faisable en interne ? Parce que bon, copier les autres a ses avantages, mais si c'est pour avoir en pratique le même rythme et se contenter de sortir des versions qui sont juste de moins en moins boguées, les utilisateurs resteront au rythme habituel pour éviter de perdre leur temps, en se contentant d'ignorer les versions intermédiaires.
L'intérêt c'est que les versions intermédiaires pourront proposer de nouvelles fonctionnalités plus "simple", sans avoir à dépendre du temps de développement trop important d'une autre fonctionnalités.

Par exemple si cela aurait été le cas on aurait déjà pu avoir le REPL, HttpClient avec support d'HTTP2, l'évolution de la classe Process, etc.

Citation Envoyé par Matthieu Vergne Voir le message
Ce qui veut dire qu'à terme il n'en restera qu'un seul. L'objectif, si on lit entre les lignes, et de supprimer l'un des deux. La question est alors de savoir lequel. Je vous le laisse en mille. Reste à voir ensuite l'évolution que ça engendrera, style pas en arrière sur les licences avec celui qui reste. En surface, ça semble génial, mais où sont les garanties ?
Moi je vois plutôt çà dans le sens où çà leur permettra de proposer plus facilement leur JDK commerciale.

S'ils tuent l'OpenJDK ils se prendront un gros bad-buzz, se retrouveront éjecté des distributions, et risqueraient de voir un fork...

Citation Envoyé par ParseCoder Voir le message
Dommage qu'Oracle n'ai pas choisit une license aussi libérale que la license du .NET Compiler Platform (Roslyn).
C'est à dire ?
On est sur du GPLv2 là je ne vois pas où est le problème...

a++
Avatar de Matthieu Vergne Matthieu Vergne - Expert éminent https://www.developpez.com
le 07/09/2017 à 17:43
Citation Envoyé par adiGuba Voir le message
S'ils tuent l'OpenJDK ils se prendront un gros bad-buzz, se retrouveront éjecté des distributions, et risqueraient de voir un fork...
Fait converger les deux, après convergence tu justifies la suppression de l'un des deux avec les meilleurs arguments du monde : les deux sont équivalents, inutile de bosser deux fois, on est une structure solide et allons donc prendre en main le projet entièrement en embauchant les gens compétents qui travaillent sur l'autre. Cela passe donc notamment par l'acquisition des compétences clés de l'autre projet pour bosser sur le leur (pour rappel, on parle d'avoir OpenJDK en GPL, pas le JDK d'Oracle). De là, petite régression par petite régression, pour éviter que ça n'arrive trop vite, à coup de messages "oui mais comprenez, on fait de notre mieux mais c'est pas facile", le JDK officiel fini par perdre les attraits qu'on vend ici, et de là des voix recommencent à monter et à parler de forker le projet. Tu gères ça bien jusqu'à ce que la différence soit trop forte pour justifier la création d'un fork... sauf que trop tard, le JDK actuel n'est pas forkable, car c'est celui sous GPL qui a été arrêté il y a maintenant X années, et on doit donc repartir d'une version obsolète pour forker. Ajoute à cela que les experts du sujet sont désormais principalement chez Oracle et (potentiellement) contraint de par leur contrat de ne pas participer au projet concurrent, pour des raisons tout à fait normale de non concurrence, sous peine de licenciement, avec des poursuites judiciaires pour ceux qui n'auraient pas peur du licenciement.

Si tu t'organises pour tuer le projet à petit feu, d'ici à ce qu'un fork se recrée, tu auras déjà eu le temps de mettre à bas les forces vives concurrentes et d'établir une dépendance à ton propre JDK.

Évidemment, ce n'est que de la spéculation, qui plus est particulièrement pessimiste. Mais je ne vois pas ce qui l'empêcherai à l'heure actuelle.
Avatar de adiGuba adiGuba - Expert éminent sénior https://www.developpez.com
le 07/09/2017 à 19:20
Oui mais s'ils comptent "tuer" OpenJDK ils peuvent le faire dès maintenant.
Pas besoin d'y ajouter des fonctionnalités...

L'intérêt au contraire c'est de déployer OpenJDK au maximum, et de pouvoir proposer leur offre commerciale derrière.
Avatar de kilroyFR kilroyFR - Membre confirmé https://www.developpez.com
le 07/09/2017 à 20:38
Oracle ne faisant rien sans arriere pensée (il faut bien payer l'ile de l'insatiable ellison), du business, rien que du business dans cette strategie.
Avatar de Matthieu Vergne Matthieu Vergne - Expert éminent https://www.developpez.com
le 07/09/2017 à 20:54
Citation Envoyé par adiGuba Voir le message
Oui mais s'ils comptent "tuer" OpenJDK ils peuvent le faire dès maintenant.
Pas besoin d'y ajouter des fonctionnalités...
Est-ce qu'ils peuvent le faire sans risquer gros à l'heure actuelle ? Sa réputation n'est pas si bonne j'ai l'impression, alors que là on a l'occasion de lui redorer le blason, de quoi offrir une meilleure marge de manœuvre pour arriver à ces fins. Un peu comme quand le gouvernement propose un truc complètement irréaliste pour faire style qu'il a fait un geste en proposant un truc moins fort mais tout aussi scandaleux. L'idée elle est là : si on arrive à la fin avec dans un état équivalent à ce qu'on a aujourd'hui, mais avec un concurrent en moins bonne position, c'est tout bénèf.
Avatar de ParseCoder ParseCoder - Membre actif https://www.developpez.com
le 07/09/2017 à 23:29
Citation Envoyé par adiGuba Voir le message

C'est à dire ?
On est sur du GPLv2 là je ne vois pas où est le problème...
Le compilateur C# (et VB) est en license Apache. Tu peux parfaitement utiliser l'API d'analyse de code fournie avec dans des softs en license libre ou propriétaire.
Contacter le responsable de la rubrique Accueil