Le Java Community Process

Romain Guy (Gfx)

Il existe un processus ouvert à tous permettant d'influer sur le développement de Java et appelé Java Community Process. Méconnu, il offre pourtant des perspectives intéressantes. ♪

- Titre : Le Java Community Process

- Auteur : Romain Guy (Gfx)

- Parution : 29 mai 2007

- Licence : Cette création est mise à disposition sous un contrat Creative Commons (Paternité - Partage des Conditions Initiales à l'Identique).

Sommaire

- I. Introduction

I - Introduction

Apparu en 1998, le JCP est donc processus de développement et d'amélioration de Java permettant à des entreprises aussi bien qu'à des particuliers de participer. Le JCP met en place un cadre de travail servant à entourer des propositions intitulées Java Specification Requests, ou JSR. Les sujets peuvent énormément varier d'une JSR à l'autre. Ainsi les generics, qui font leur apparition dans le J2SE 5 SDK 1.5, ont été définis dans la JSR 14, les spécifications de Java pour le temps réel sont décrites dans la JSR 1 et la version 2.6 du JCP lui-même correspond à la JSR 215.
Le JCP est composé du Process Management Office, le PMO, et de deux Executive Committee : l'un pour les plateformes mobiles, le ME EC, et l'autre pour les plateformes standard et entreprise, le SE/EE EC. Le PMO est une entité interne à Sun Microsystems dont le rôle est de gérer l'ensemble du programme. Ses préoccupations sont purement administratives et il n'intervient jamais dans le choix et la validation des JSR. À l'inverse, les deux comités exécutifs sont en charge de la gestion des JSR. Les comités sont composés de 15 membres, régulièrement élus par l'ensemble des membres du JCP, plus de Sun Microsystems. Afin de comprendre leur travail, nous devons découvrir la nature exacte d'une JSR.
À la réception d'une demande de JSR, le PMO lui assigne un numéro et lui ouvre une page web dédiée. Nous en sommes au stade de l'initialisation qui dure 14 jours pendant lesquels la JSR est accessible publiquement pour tout commentaire. Durant cette période, l'EC approprié doit l'examiner et la soumettre à un vote d'acceptation. En cas de décision favorable, l'auteur originel d'une JSR, le Specification Lead, doit former l'Expert Group qui sera responsable du développement de la JSR. Le groupe de travail ainsi formé peut ensuite rédiger un premier brouillon pour les spécifications et choisir la licence du TCK (Technology Compatibility Suite) et du RI (implémentation de référence). Débute ensuite une période de 30 à 90 jours, la Early Draft Review, durant laquelle les membres du JCP et toute personne extérieure peuvent communiquer leurs remarques au sujet de la JSR. Tout commentaire pris en compte pourra entraîner une modification des spécifications. À la fin de cette période, les auteurs peuvent continuer leur travail avant de le soumettre de nouveau au PMO pour entrer en période de finalisation. Durant cette dernière le public peut soumettre ses commentaires durant 30 à 90 jours. Des mises à jour peuvent être effectuées jusqu'aux 7 derniers jours durant lesquels l'EC décide au vote si la JSR est suffisamment aboutie. Si le vote est négatif, l'Expert Group dispose de 30 jours supplémentaires pour modifier le brouillon. Finalement, le document final est soumis à l'EC pour une période de 14 jours à l'issue de laquelle un vote final est effectué.
Une JSR doit fournir une RI, et une suite de tests de compatibilité, le TCK, sans lesquelles le vote final ne peut avoir lieu. Lorsqu'une JSR est approuvée, le RI et le TCK sont mis en téléchargement sur le site du JCP. Le TCK est indispensable pour toute entreprise ou personne souhaitant réaliser sa propre implémentation d'une JSR. Les serveurs d'application J2EE doivent par exemple être conformes au TCK associé.
Bien que le JCP ne soit pas totalement indépendant de Sun Microsystems, ce dernier ne possède qu'un siège au sein de chaque EC qui accueille non seulement de grandes entreprises comme Nokia ou IBM, mais également des particuliers. Si vous souhaitez vous impliquer dans le futur de Java, rendez-vous sur le site officiel, www.jcp.org.