Comment réaliser un standard Internet
Christian Huitema
20 janvier 1994
Pour réaliser un standard Internet, il faut bien évidemment suivre une
procédure précise. Les étapes principales sont:
- La création d'un ``Working Group'' de l'IETF,
- La publication d'une première version comme ``Proposed Standard''
quand le groupe de travail a convergé,
- La progression du standard par les étapes ``Draft'' puis ``Internet
Standard'' ou ``Full Standard''.
Pour créer un groupe de travail à l'IETF, il faut tout d'abord:
- Avoir identifié un problème bien délimité,
- Que ce problème ait un rapport avec l'Internet, et qu'il concerne une
``communauté'' d'utilisateurs,
- Avoir ``une idée'' de la solution ou au moins un pouvoir
démontrer que le problème est rapidement soluble.
Il est de bon ton, pour démarrer:
- De publier un mémo décrivant le problème et la solution proposée
sous forme soit d'``Internet draft'' soit de
``Experimental RFC'',
- De susciter une discussion préalable, par exemple sur la liste de
distribution de l'IETF ietf@cnri.reston.va.us,
- De réunir les personnes potentiellement intéressées par le
problème dans une séance de discussion informelle (BOF, Birds Of a
Feather) lors d'une réunion de l'IETF.
Il faudra ensuite rédiger la charte du groupe de travail, présentant
son objet et les présidents et vice-présidents proposés, ainsi que les
étapes prévues pour arriver au résultat - qui normalement ne doivent
pas être étalées sur beaucoup plus d'un an. Cette charte sera soumise
pour approbation à l'IESG (Internet Engeneering Steering Group) et à l'IAB
(Internet Architecture Board). L'IESG regroupe les directeurs des différents
``secteurs'' de l'IETF (areas, area directors); un des objets de cette
procédure sera
d'assigner le groupe de travail à un secteur, et donc à un directeur. On
vérifiera que la charte ``tient debout'', que le président désigné est
acceptable (raisonnablement ``neutre'') et que la solution proposée est en
ligne avec l'architecture Internet.
La liste de distribution IETF est ``ouverte'': pour s'y abonner, il suffit
d'envoyer une demande par message électronique à l'adresse
ietf-request@cnri.reston.va.us. L'ensemble du processus de
standardisation est réalisé à l'aide du courrier électronique: pour
élaborer un standard Internet, il faut bien évidemment être raccordé
à l'Internet.
Un groupe de travail doit être ouvert. Ceci implique que:
- Il doit y avoir une liste de distribution à laquelle tous peuvent
s'abonner en envoyant un message, sans barrière d'aucune sorte, et en
particulier sans avoir à payer de frais d'abonnement ou de droits d'entrée
dans le groupe.
- Les messages échangés sur la liste doivent être archivés, et
l'archive doit être publiquement accessible (FTP anonyme).
- Les réunions doivent être ouverte à tous, et en principe se tenir
dans le cadre des rénuions tri-annuelles de l'IETF. Les groupes ne se
réunissent pas forcément durant tous les meetings de l'IETF, et des
réunions intermédiaires sont autorisées. Celles-ci doivent également
être ouvertes et annoncées suffisamment longtemps à l'avance.
- Les minutes des discussions doivent être fournies sous forme
électronique (texte ASCII simple) au secrétariat de l'IETF. Elles sont
publiées sur les serveurs de fichier de l'IETF.
- Les documents de travail doivent être soumis comme ``Internet draft''
(format similaire au RFC). Ils sont annoncés sur la liste de distribution du
groupe, sur celle de l'IETF, et publiés sur les serveurs de fichier de
l'IETF (comme les RFC).
Quand le groupe a atteint un ``consensus'' sur un document, il le soumet pour
publication au directeur du secteur de l'IESG. Celui-ci déclenche une
relecture,
par exemple par des experts indépendants, et annonce la publication
imminente du standard sur la liste de distribution de l'IETF. Les participants
à l'IETF ont alors 15 jours pour soulever des questions. Le président du
groupe de travail devra être en mesure d'y répondre, ou alors devra faire
préparer une modification du document. Quand le délai est écoulé, que
les réponses aux questions et les relectures ont été satisfaisantes,
l'IESG vote la publication du document comme ``proposed standard''.
Il suffit pour faire publier un ``proposed standard'' que le texte du document
soit ``satisfaisant''. Pour passer à l'étape suivante, il faudra justifier
de deux implémentations indépendantes et démontrer qu'elles
interopèrent.
Le passage à l'étape ``draft standard'' survient au moins 6 mois et au
plus 2 ans après la publication comme ``proposed standard''. Il est normal
à ce stade de faire des corrections mineures du document pour préciser des
points laissé ouverts, mais une révision majeure, par exemple un
changement d'algorithme, renverrait le document à l'état de ``proposed
standard''.
Un ``proposed standard'' est encore largement sujet à révision, mais un
``draft standard'' est sensé être à peu-près dans l'état
définitif. Il est logique pour des fournisseurs de produits commerciaux de
l'implémenter et de fait le standard ne sera validé que si des produits
existent: pour passer à l'état de standard Internet, il faudra
justifier de plusieurs implémentations indépendantes, dont
l'interopérabilité
aura été démontrée. Il faudra aussi montrer que toutes les
fonctionalités prévues dans le ``draft standard'' ont été
implémentées et sont utilisées. Tout cela laisse place à un certain
empirisme, mais l'idée générale est de pouvoir démontrer la
stabilité de la spécification, et d'appuyer cette démonstration par une
expérience opérationelle ``suffisante''.
L'élévation d'un standard à l'état ``Internet Standard'', comme
d'ailleurs à l'état ``draft'', est soumise au mêmes règles que la
publication initiale: annonce publique, relecture, discussion, vote par l'IESG.
L'élevation doit la encore survenir au moins 6 mois et au plus
deux ans après la publication du ``draft standard''. Si elle ne se produit
pas dans les délais, le standard est ``déchu'', et les documents
correspondants reclassifiés ``historiques''.
La préparation d'une nouvelle version est soumise aux mêmes règles que
la préparation initiale: création d'un groupe de travail, étapes
``proposed'', ``draft'' puis ``internet standard''. L'ancienne version reste
valable tant que la nouvelle n'a pas acquis le même niveau: par exemple, on
ne peut remplacer un ``draft standard'' que par un autre ``draft standard'',
et non pas par un ``proposed standard''. Après ce ``croisement'', l'ancienne
version est ``déchue'' et reclassifiée ``historique''.