Le JDK 9 semble ne pas être sur la bonne voie pour sortir le 23 mars 2017
La date de sortie de Java 9 sera-t-elle une nouvelle fois repoussée ?

Le , par Michael Guilloux

0PARTAGES

9  0 
En décembre dernier, Mark Reinhold, architecte en chef du JDK chez Oracle, a proposé de repousser la date de sortie de JDK 9 de six mois, estimant qu’il faudrait plus de temps pour finaliser Jigsaw, un projet dont l’objectif est de concevoir et mettre en œuvre un système de modules standards pour Java SE. La date de sortie de Java 9 qui a été annoncée pour le 22 septembre 2016 a donc été repoussée au 23 mars 2017. La demande de report a été validée avec le nouveau calendrier de sortie proposé par Mark Reinhold.

Conformément à la nouvelle feuille de route, le développement du JDK 9 devait franchir une nouvelle phase le 1er septembre 2016 : le Rampdown Phase 1. D’après Oracle, cette étape permet d’appliquer « des niveaux de contrôles croissants » aux changements entrant dans la nouvelle version du JDK afin de corriger les bogues de priorité P1-P3.

Le 31 août, à la veille du début du Rampdown Phase 1, Mark Reinhold a envoyé un email de rappel à la liste de diffusion de l’OpenJDK, un email dans lequel il a donné ses objectifs pour cette étape :

« Selon le calendrier de JDK 9, la première phase du processus de Rampdown commence demain. L'objectif global de ce processus est de veiller à ce que nous corrigions les bogues qui doivent être corrigés, et que nous comprenions pourquoi nous ne corrigeons pas quelques bogues qui devraient être corrigés. Pour cette version, je propose que nos objectifs spécifiques pour cette phase soient :

- corriger tous les bogues P1-P3 qui sont nouveaux dans le JDK 9 ;
- corriger des bogues P1-P3 supplémentaires ciblés pour JDK 9 si le temps le permet, et ;
- reporter explicitement les bogues P1-P2 qui sont nouveaux dans le JDK 9, mais qui ne pourront pas, pour une bonne raison, être fixés dans le JDK 9.

Les bogues P4-P5 devraient, en général, être laissés pour les versions futures à moins qu'ils ne concernent seulement la documentation, les démos, ou les tests. Dans ces cas, ils doivent être identifiés comme tels avec les étiquettes "noreg-doc", "noreg-demo", et "noreg-self", respectivement. » A écrit l’architecte en chef du JDK chez Oracle.

À ceux qui sont responsables de la correction d’un bogue dans la liste de bogues à corriger au cours du Rampdown Phase 1, Mark Reinhold suggère de corriger le bogue (ce qui est souhaité). Si le bogue n’est pas nouveau dans le JDK 9 et que pour une raison il ne peut être corrigé, il demande au responsable du bogue de le retirer de la liste des bogues à corriger dans le JDK 9 ou de spécifier une version future dans laquelle il pourra être corrigé. S’il s’agit d’un bogue P1 ou P2 nouveau dans le JDK 9, le responsable peut faire une demande pour que la correction soit reportée à une prochaine version. Reinhold a exhorté les responsables de la correction des bogues à ne pas changer la priorité d'un bogue afin de le retirer de la liste. « La priorité d'un bogue 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 », dit-il.

Mark Reinhold a donné un délai d’une semaine (jusqu’au 7 septembre, 15 heures UTC) aux « committers » de Java 9 pour donner leurs avis au sujet de sa proposition sur la manière dont doit se dérouler le Rampdown Phase 1, en précisant que s’il n’y avait aucune objection sérieuse, le processus serait adopté.

En réponse à la proposition, Stephen Colebourne, développeur open source et architecte Java, a fait remarquer que les fonctionnalités majeures du JDK 9 n’ont pas encore été toutes finalisées, alors que la dernière feuille de route suggérait que les fonctionnalités du JDK 9 devraient être finalisées le 26 mai 2016, soit plus de trois mois de retard. Pour lui, il n’est donc pas réaliste de vouloir passer à la phase 1 du Rampdown alors que le projet Jigsaw est encore très débattu et loin d’être finalisé.

« Étant donné que la fonctionnalité majeure de JDK 9 (modules/jigsaw) a encore des problèmes majeurs non résolus en suspens et que le calendrier suggère encore que les fonctionnalités auraient dû être finalisées il y a plus de trois mois (26 mai 2016), le calendrier sur lequel cet email est basé est clairement profondément vicié », a-t-il répondu, en faisant référence à l’email de Mark Reinhold. Et d’ajouter : « Je suis également très mal à l'aise avec l'idée que les modules - une fonctionnalité complexe, difficile et encore très débattue - sont encore loin d'être finalisés, et pourtant sur le point d'être précipités pour répondre à un calendrier artificiel. »

Les remarques de Colebourne laissent donc croire que le JDK 9 n’est visiblement pas sur la bonne voie pour être livré le 23 mars 2017, notamment à cause du projet Jigsaw. En d’autres termes, les six mois supplémentaires demandés par Reinhold en décembre dernier n’ont pas suffi pour finaliser Jigsaw comme il l’espérait. Il voudrait tout de même livrer Java 9 conformément à la nouvelle feuille de route. Mais, même après avoir déjà été reportée, la date de sortie du JDK 9 ne devrait-elle pas une nouvelle fois être repoussée pour finaliser les fonctionnalités ?

Source : OpenJDK mailing list

Et vous ?

Qu’en pensez-vous ?
Doit-on livrer Java 9 selon le calendrier prévisionnel ou attendre la finalisation de Jigsaw ?

Voir aussi :

Java : Oracle va marquer l'API Applet obsolète dans le JDK 9, mais n'a pas l'intention de la supprimer de sitôt
Sans surprise, Oracle va repousser la date de sortie de Java EE 8, mais envisage de livrer une édition de Java SE chaque année
La date de sortie de JDK 9 sera-t-elle reportée à 2017 ? Reinhold demande un délai supplémentaire de six mois pour finaliser Jigsaw

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Songbird
Expert confirmé https://www.developpez.com
Le 08/09/2016 à 13:54
Pour moi, la vraie question serait: le JDK 9 va-t-il sortir un jour ?

Parce que jusqu'ici, Oracle a l'air de patauger bien comme il faut pour pondre un truc qu'ils sont incapables de ficeler en coulisse: pourquoi ne pas simplement admettre qu'ils n'ont pas le temps et sortir une version plus robuste de Java ?

S'acharner sur un projet qui ne verra pas le jour, c'est faire couler sa boîte à petit feu.
Avatar de esperanto
Membre éclairé https://www.developpez.com
Le 08/09/2016 à 15:03
Citation Envoyé par Songbird_ Voir le message
Pour moi, la vraie question serait: le JDK 9 va-t-il sortir un jour ?

Parce que jusqu'ici, Oracle a l'air de patauger bien comme il faut pour pondre un truc qu'ils sont incapables de ficeler en coulisse: pourquoi ne pas simplement admettre qu'ils n'ont pas le temps et sortir une version plus robuste de Java ?

S'acharner sur un projet qui ne verra pas le jour, c'est faire couler sa boîte à petit feu.
C'est marrant parce que quand j'ai dit la même chose il y a deux semaines, certes de façon un peu plus ironique, il ne s'est pas passé une heure avant qu'on m'envoie un démenti catégorique : mais non, évidemment, il suffit de voir les pré-versions du JDK 9 pour ne pas s'inquiéter...
C'est pas comme si Oracle était coutumier du fait de racheter des produits concurrents pour les couler...
Avatar de Songbird
Expert confirmé https://www.developpez.com
Le 08/09/2016 à 15:33
C'est marrant parce que quand j'ai dit la même chose il y a deux semaines, certes de façon un peu plus ironique, il ne s'est pas passé une heure avant qu'on m'envoie un démenti catégorique : mais non, évidemment, il suffit de voir les pré-versions du JDK 9 pour ne pas s'inquiéter...
C'est pas comme si Oracle était coutumier du fait de racheter des produits concurrents pour les couler...
Je peux toujours me tromper, mais, généralement, quand une boîte parle plus qu'elle ne montre de features ça sent pas très bon. (surtout quand le projet est relancé tous les quatre matins mais que personne n'en voit le bout)
Avatar de gros_bidule
Membre du Club https://www.developpez.com
Le 08/09/2016 à 19:13
Qui diable était assez crédule pour croire le calendrier de livraison du JDK9 ? On nous a fait le même coup avec le 7 et 8.
Mais ce n'est plus bien grave, aujourd'hui il n'est plus forcément nécessaire de passer à un nouveau JDK pour profiter de nouveautés niveau langage : il y a Scala, Groovy, Kotlin (qui est compatible Java6 !)...
Le seul truc que j'attends du JDK9, c'est la résolution d'un bug (affectant les perfs, et pas qu'un peu) introduit par Java8 et dont le correctif est prévu pour Java9 seulement. C'est à propos des types génériques (pour faire court, quand vous déclarer une classe class MaClasse<T>).
Avatar de Songbird
Expert confirmé https://www.developpez.com
Le 09/09/2016 à 0:04
Le seul truc que j'attends du JDK9, c'est la résolution d'un bug (affectant les perfs, et pas qu'un peu) introduit par Java8 et dont le correctif est prévu pour Java9 seulement. C'est à propos des types génériques (pour faire court, quand vous déclarer une classe class MaClasse<T>.
Ah, ça m'intéresse !
Aurais-tu un lien à poster ou saurais-tu expliquer ce qui cause une perte de performance en utilisant des classes génériques ?

Merci d'avance.
Avatar de Michael Guilloux
Chroniqueur Actualités https://www.developpez.com
Le 14/09/2016 à 11:03
Sortie de JDK 9 : Mark Reinhold d’Oracle demande encore un délai supplémentaire de quatre mois
estimant que Jigsaw a besoin de plus de temps

Comme c’était prévisible, le JDK 9 ne sera pas prêt pour être livré le 23 mars 2017, comme c’était prévu. La sortie initiale de Java 9 avait été annoncée pour le 22 septembre 2016. Mais en décembre dernier, Mark Reinhold, architecte en chef du JDK chez Oracle, a demandé un délai supplémentaire de six mois pour la finalisation de Jigsaw, un projet dont l’objectif est de concevoir et mettre en œuvre un système de modules standards pour Java SE. Après validation de sa proposition, la date de sortie de Java 9 a donc été repoussée au 23 mars 2017, avec donc un décalage dans le reste du calendrier.

Dans la nouvelle feuille de route qui a été adoptée, le développement du JDK 9 devait franchir une nouvelle phase le 1er septembre 2016 : le Rampdown Phase 1. D’après Oracle, cette étape permet d’appliquer « des niveaux de contrôles croissants » aux changements entrant dans la nouvelle version du JDK afin de corriger les bogues de priorité P1-P3. Le 31 août, Mark Reinhold a donc envoyé un email à la liste de diffusion OpenJDK pour donner ses objectifs pour cette nouvelle étape qui devait commencer le lendemain. Il a ensuite donné un délai d’une semaine (jusqu’au 7 septembre, 15 heures UTC) aux « committers » de Java 9 pour donner leurs avis au sujet de sa proposition sur la manière dont doit se dérouler le Rampdown Phase 1, en précisant que s’il n’y avait aucune objection sérieuse, le processus serait adopté.

En réponse à la proposition, Stephen Colebourne, développeur open source et architecte Java, a fait remarquer que les fonctionnalités majeures du JDK 9 n’ont pas encore été toutes finalisées, alors que la dernière feuille de route suggérait qu’elles devraient l’être le 26 mai 2016, soit plus de trois mois de retard. Pour lui, il n’est donc pas réaliste de vouloir passer à la phase 1 du Rampdown alors que le projet Jigsaw est encore très débattu et loin d’être finalisé.

« Étant donné que la fonctionnalité majeure de JDK 9 (modules/jigsaw) a encore des problèmes majeurs non résolus en suspens et que le calendrier suggère encore que les fonctionnalités auraient dû être finalisées il y a plus de trois mois (26 mai 2016), le calendrier sur lequel cet email est basé est clairement profondément vicié », avait-il répondu, en faisant référence à l’email de Mark Reinhold. Et d’ajouter : « Je suis également très mal à l'aise avec l'idée que les modules - une fonctionnalité complexe, difficile et encore très débattue - sont encore loin d'être finalisés, et pourtant sur le point d'être précipités pour répondre à un calendrier artificiel. »

Après la réponse de Stephen Colebourne, Mark Reinhold a jugé bon de ne pas précipiter la sortie du JDK 9 alors qu’il reste encore beaucoup de boulot, quand bien même d’énormes progrès auraient été faits après que la date de sortie initiale a été reportée.

« Quatre-vingt cinq JEP sont ciblés sur JDK 9. La plupart sont faits, ou presque. Nous ne sommes pas, malheureusement, où nous devons être par rapport au calendrier actuel », a-t-il dit dans un nouvel email envoyé à la liste de diffusion OpenJDK. Pour rappel, un JEP (JDK Enhancement Proposal) est un processus élaboré par Oracle pour recueillir des propositions d'améliorations pour le JDK et OpenJDK.

« Nous avons fait beaucoup de progrès sur le projet Jigsaw, l’élément clé de cette version, au cours des huit derniers mois. [...] Malgré ces progrès, à ce stade, il est clair que Jigsaw a besoin de plus de temps. Nous avons récemment reçu des commentaires critiques qui ont motivé une refonte de la fonctionnalité package-export du système de module, sans laquelle nous ne pourrions pas atteindre l'un de nos principaux objectifs. Il existe, en plus de cela, de nombreux problèmes de conception non encore résolus, qui nécessitent du temps pour y travailler », explique Reinhold qui ajoute encore que le nombre de bogues ouverts qui sont nouveaux dans le JDK 9 est également plus important que celui dans le JDK 8.

Pour ces raisons, l’architecte en chef de la plateforme Java chez Oracle propose que le calendrier du JDK 9 soit prolongé de quatre mois, ce qui fera passer la date de disponibilité générale du 23 mars au mois de juillet 2017. Il compte faire une proposition plus détaillée avec la date de sortie exacte et les dates correspondant aux autres jalons au cours des semaines à venir. Mais pour l'instant, Mark Reinhold suggère de reporter le début du processus de Rampdown et de continuer avec la finalisation des fonctionnalités déjà adoptées. « Notre objectif principal devrait être d'utiliser ce temps supplémentaire pour stabiliser, polir, et affiner les fonctionnalités que nous avons déjà plutôt que d'en ajouter des nouvelles », a-t-il rappelé, en précisant que des améliorations mineures et des propositions fortement justifiées seront toutefois prises en considération, tant qu’il n’y a pas de risque pour l’ensemble du JDK 9.

Cette nouvelle proposition de changement de calendrier devrait être validée par les committers du JDK 9. Elle sera adoptée si aucune objection n’est faite jusqu’au 20 septembre, 16 heures UTC.

Mise à jour le 19 / 10 / 2016 - JDK 9 : la nouvelle date de sortie est fixée au 27 juillet 2017, après acceptation de la demande de report de Mark Reinhold

Aucune objection n’ayant été enregistrée, la proposition de report de Mark Reinhold vient d’être acceptée. La sortie de Java 9 est donc prévue pour le 27 juillet 2017. Ce qu’il faut décider à présent, ce sont les dates qui seront retenues pour les étapes intermédiaires. Mark Reinhold a donc proposé un nouveau calendrier, avec plus de détails, ce qu’il n’avait pas encore fait lors de sa dernière proposition. Le calendrier proposé est le suivant :

  • 26/05/2016 - Feature Complete : toutes les fonctionnalités ont été implémentées et intégrées dans le master forest (où réside le code source officiel), avec les tests unitaires ;
  • 22/12/2016 - Feature Extension Complete : date à laquelle les JEP et petites améliorations qui ont reçu un délai supplémentaire doivent être implémentées et intégrées dans le master forest ;
  • 05/01/2017 - Rampdown Start : les Rampdown sont des étapes qui permettent d’appliquer « des niveaux de contrôles croissants » aux changements entrant dans la nouvelle version du JDK. Cette première phase de Rampdown vise à corriger les bogues de priorité P1-P3 ;
  • 2017/02/09 - All Tests Run : tous les tests prévus ont été exécutés, au moins une fois, sur toutes les plateformes supportées ;
  • 16/02/2017 - Zero Bug Bounce : le carnet de bug est complètement pris en compte. Aucun des bugs qui doivent être encore corrigés avant la disponibilité générale de la version ne date de plus de 24 heures, les autres bugs sont reportés à une prochaine version ;
  • 16/03/2017 - Rampdown Phase 2 : à cette deuxième Rampdown, seuls les bugs bloquants peuvent être corrigés ;
  • 06/07/2017 - Final Release Candidate : la date à laquelle la dernière RC doit être proposée et soumise aux tests. Une ou plusieurs RC seront proposées après le Zero Bug Bounce ;
  • 27/07/2017 - General Availability : la version finale, prête pour l'utilisation en production.

Sources : OpenJDK mailing list (proposition de report de la date de sortie), OpenJDK mailing list (nouveau calendrier)

Et vous ?

Qu’en pensez-vous ?

Voir aussi :

Java : Oracle va marquer l'API Applet obsolète dans le JDK 9, mais n'a pas l'intention de la supprimer de sitôt
Sans surprise, Oracle va repousser la date de sortie de Java EE 8, mais envisage de livrer une édition de Java SE chaque année
La date de sortie de JDK 9 sera-t-elle reportée à 2017 ? Reinhold demande un délai supplémentaire de six mois pour finaliser Jigsaw.
Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 14/09/2016 à 14:06
Qu'ils prennent le temps qu'il faut. Mieux vaut que ce soit bien fait plutôt que vite fait.
Avatar de Traroth2
Membre chevronné https://www.developpez.com
Le 14/09/2016 à 16:59
Je ne vois vraiment pas comment ça pourrait être "vite fait". C'était une fonctionnalité de Java 7, à la base. Version qui était elle-même déjà très en retard. Un truc qui n'a pas loin de 10 ans de retard n'est certainement pas "vite fait" !

De par mon expérience, des glissements successifs dans les délais, ça n'est pas bon signe. Je l'ai déjà dit, je suis inquiet du résultat.
Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 14/09/2016 à 18:04
Vu que je participe à un projet où on sait qu'il y a des changements de fonds à faire pour améliorer les choses mais qu'on a choisi d'autres priorités parce que pour l'instant on n'a pas de base solide pour le faire ni d'idée fiable de l'impact que ça aura sur le reste de l'architecture, je comprends tout à fait que certaines améliorations prennent des années à voir le jour.

Rien ne sert de courir, il faut partir à point, disait la chanson.
Avatar de Traroth2
Membre chevronné https://www.developpez.com
Le 05/10/2016 à 17:08
Je ne veux rien préjuger de ton projet, mais là, il s'agit de la plateforme la plus répandue du monde informatique. J'ose espérer que c'est une priorité pour Oracle. Dans le cas contraire, ça serait une mauvaise nouvelle, très clairement ! Et effectivement, il y a un certain nombre d'indicateurs qui semblent montrer qu'Oracle se détourne de Java, d'après un autre thread de discussion
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web