Java Community Process
# Java Community Process

Le Java Community Process (JCP) est une organisation créée par Sun en 1998. Son but est de coordonner l'évolution du langage Java et des technologies qui lui sont associées (voir la plateforme Java). Le JCP s'est doté d'un processus formalisé permettant aux différentes parties intéressées d'être impliquées dans la définition des futures versions et fonctionnalités de la plateforme Java.

Le JCP émet des Java Specification Requests (JSR), qui décrivent les spécifications et technologies proposées pour un ajout à la plateforme Java. Des revues publiques formelles des JSRs sont menées avant qu'une JSR ne devienne finale et qu'elle ne soit votée par le comité exécutif du JCP. Une JSR finale fournit une implémentation de référence qui offre :

* une implémentation gratuite de la technologie sous la forme de code source ;
* un ensemble de tests - le Technology Compatibility Kit (TCK) - pour vérifier la compatibilité d'une implémentation avec la spécification.

Le JCP est composé d'entreprises du domaine Java, comme Sun, IBM, Oracle, Borland, BEA, Nokia, Sony, mais aussi de fondations du monde du logiciel libre, comme OW2, ainsi que des particuliers, pour lesquels l'adhésion est libre.

## Processus de spécification

La création d'une nouvelle spécification (JSR) se déroule en plusieurs étapes.

### Initialisation

L'nitialisation (initiation) permet de rendre publique, au sein du JCP uniquement, pour l'instant, différentes informations :

* les membres participants au projet ;
* une description du projet ;
* une justification du projet ;
* un échéancier prévisionnel ;
* un plan mettant en évidence les outils et techniques nécessaires ;
* tout document déjà existant utile pour la compréhension du projet.

### Ébauche préliminaire

L'ébauche préliminaire (early draft) a pour but la création d'un groupe d'experts chargé d'élaborer une première ébauche de la spécification qui sera soumise l'examen de la communauté, mais aussi du public.

### Release finale

Lors de la release finale (final release), la spécification est complétée en fonction des résultats de l'étape précédente. Cette spécification est rendue publique.

**Maintenance**

Pour l'étape de maintenance (maintenance), un expert est nommé afin de veiller au maintien à niveau de la spécification.

