Java 9 sera encore repoussé à cause de la controverse autour de Jigsaw
Java 9 sera encore repoussé à cause de la controverse autour de Jigsaw
Mark Reinhold demande un délai supplémentaire de huit semaines
Sans surprise, Java 9 ne pourra pas être livré le 27 juillet prochain, la date de disponibilité générale qui a été annoncée dans le dernier calendrier proposé par Mark Reinhold, architecte en chef du JDK chez Oracle. C’est la conséquence des objections initiées par Red Hat et IBM et qui ont eu le soutien d’autres membres du comité exécutif du Java Community Process (JCP).
Red Hat a mis en avant plusieurs problèmes, notamment le fait que de nombreux cas de déploiement d'applications largement implémentées aujourd'hui ne sont pas possibles sous le système de modules implémenté dans Java 9 (Jigsaw), ou nécessiteraient une réarchitecture significative. L'éditeur de distributions GNU/Linux s'inquiétait également de la fragmentation de la communauté Java. En raison de capacités d'interopérabilité insuffisantes et d'autres restrictions, Red Hat craint que Jigsaw crée deux mondes de développement de logiciels Java : le monde Jigsaw et celui des autres technologies de l'écosystème (chargeurs de classes Java SE, OSGi, modules JBoss, Java EE, etc.). Pour ces différentes raisons, entre autres, Red Hat a décidé de ne pas soutenir le JSR 376 (Jigsaw) lors du vote du comité exécutif du JCP. Ayant reconnu les problèmes évoqués par Red Hat, IBM a également décidé de voter « Non » et demandé que les membres du groupe d’experts en charge du JSR 376 trouvent un meilleur consensus sur la spécification.
Le 8 mai dernier, par un vote de 13 « Non » contre 10 « Oui », les membres du comité exécutif du JCP n’ont pas approuvé le passage de la spécification à la prochaine étape du processus. « Ce vote ne signifie pas que le JSR 376 est mort ni que Jigsaw a été rejeté », explique Mark Reinhold dans un message dans la liste de diffusion OpenJDK. « Cela signifie seulement que le comité exécutif a soulevé un certain nombre de problèmes qu'ils veulent que le groupe d'experts du JSR 376 corrige. Les règles JCP donnent au groupe d’experts trente jours, jusqu'au 7 juin, pour soumettre une spécification révisée pour un deuxième vote du comité exécutif qui se terminera au plus tard le 26 juin », a-t-il ajouté.
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 par le comité exécutif, d’après Mark Reinhold. Et il semble que des modifications sont en train d’être faites pour que ces préoccupations soient dissipées. Vu les contraintes de temps cependant, l’architecte en chef du JDK chez Oracle propose de repousser la sortie de Java 9, ce qui n’est pas surprenant. « Je suggère que dans le projet JDK 9, nous continuons à travailler vers l'objectif actuel consistant à produire une première build RC le 22 juin, mais ajustons la date de disponibilité générale afin de tenir compte du temps supplémentaire requis pour terminer le processus JCP. Pour être précis, je propose que nous déplacions la date de disponibilité générale de huit semaines, en passant du 27 juillet au 21 septembre », a-t-il suggéré.
La nouvelle proposition de Mark Reinhold a été soumise aux commentaires des committers du JDK 9. S’il n’y a aucune objection (ce qui devrait être le cas), ce sera le nouveau calendrier pour JDK 9.
Source : Mark Reinhold
Java 9 : Mark Reinhold d’Oracle prépare le chemin pour la première release candidate
Java 9 : Mark Reinhold d’Oracle prépare le chemin pour la première release candidate
seuls les bogues bloquants seront désormais corrigés
Comme nous le savons, Java 9 a été une fois de plus reportée suite à la désapprobation de la spécification du système de modules (JSR 376) par le comité exécutif du Java Community Process (JCP). Depuis lors, le groupe d’experts du JSR 376 a eu une série de discussions sur la manière de corriger les problèmes qui ont entraîné le rejet de la spécification. À la demande de Mark Reinhold d’Oracle, la date de disponibilité générale de Java 9 a été déplacée de huit semaines, afin de tenir compte du temps supplémentaire requis pour terminer le processus JCP. Elle passe désormais du 27 juillet au 21 septembre.
L’architecte en chef du JDK chez Oracle a toutefois demandé le maintien de l'objectif d’avoir une première build RC, en principe prévue pour le 22 juin ; ce qui a été accepté par les commiters. À l’approche de la première release candidate, Mark Reinhold a donc défini il y a quelques jours ses nouvelles priorités en ce qui concerne la correction des bogues. Il a proposé de resserrer les objectifs définis pour la phase Rampdown 2, en se concentrant sur les bogues qui sont vraiment bloquants. Il propose notamment de :
- corriger tous les bogues P1 qui sont nouveaux dans le JDK 9 et critiques pour la réussite de cette version ;
- différer explicitement les bogues P1 qui sont nouveaux dans le JDK 9, mais qui ne sont pas critiques pour cette version ou qui ne peuvent pas, pour une bonne raison, être corrigés dans cette version ;
- et laisser la correction de tous les bogues P1 qui ne sont pas nouveaux dans le JDK 9 et qui ne sont pas critiques pour cette version, mais qui étaient auparavant ciblés pour le JDK 9.
La correction des bogues de priorité P2-P5 devrait également être reportée à des versions futures, que ce soit dans le code du produit, les tests ou la documentation. Mark Reinhold rappelle également aux personnes chargées de corriger les bogues qu'ils ne devraient pas changer la priorité d'un bogue afin de le retirer de la liste. La priorité devrait refléter l'importance de le corriger indépendamment d’une version particulière, comme cela a été une pratique courante pour le JDK depuis de nombreuses années.
Il faut aussi noter que les fonctionnalités ont été gelées depuis un bon moment, et aucune amélioration supplémentaire, quelle que soit la taille et le faible risque de la prendre en compte, ne sera approuvée après la build Release Candidate initiale. Si elle n’est pas déjà là, la première RC devrait être disponible dans les jours à venir.
Source : Open JDK mailing list
Et vous ?
:fleche: Attendez-vous impatiemment Java 9 ou vous ne prévoyez pas de l'utiliser de si tôt ?
Java 9 : le comité exécutif du JCP approuve la spécification révisée du système de modules Jigsaw
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 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 ?
:fleche: Que pensez-vous du vote et de la décision de Red Hat ?
:fleche: Êtes-vous optimiste au sujet de cette version de Java ?
Oracle annonce des changements pour Java SE
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 ?
:fleche: Que pensez-vous des changements annoncés pour Java SE ?
:fleche: Pensez-vous qu’Oracle envisage de céder Java SE à la communauté comme la société compte le faire pour Java EE ?
Voir aussi :
:fleche: Oracle envisage de transférer le développement de Java EE à une fondation open source, une preuve de l'abandon de la plateforme
:fleche: La spécification finale de Java EE 8 disponible en téléchargement, après son approbation par le comité exécutif du JCP