Date de publication du RFC : Août 2020
Auteur(s) du RFC : A. Cooper (Cisco), P. Hoffman (ICANN)
Pour information
Réalisé dans le cadre du groupe de travail IETF github
Première rédaction de cet article le 29 août 2020
Certains groupes de travail IETF, ou bien certains participant·e·s à la normalisation au sein de cette organisation, utilisent le service GitHub de Microsoft pour gérer le processus de production des normes. Ce RFC donne des conseils pratiques aux groupes de travail qui utilisent GitHub. Il suit les principes généraux énoncés dans le RFC 8874, en étant plus concret, davantage orienté « tâches ».
Il s'agit cependant juste de conseils : des groupes peuvent parfaitement faire différemment, des individus peuvent utiliser GitHub (ou un service libre équivalent, ce que le RFC ne mentionne guère) en suivant d'autres méthodes. Le RFC concerne surtout les groupes de travail qui se disent que GitHub pourrait être intéressant pour eux, mais qui ne sont pas sûr de la meilleure manière de faire. Les groupes plus expérimentés qui utilisent GitHub parfois depuis des années savent déjà.
La section 2 du RFC décrit le processus recommandé pour le cycle de vie du groupe de travail. Ce processus peut s'automatiser, GitHub ayant une API documentée. Je ne sais pas si à l'heure actuelle cette automatisation est réellement utilisée par l'IETF Secretariat, mais le RFC suggère l'usage d'outils comme ietf-gh-scripts ou comme i-d-template.
Le RFC demande que l'interface utilisée par les directeurs de
zones IETF et les présidents des groupes de travail dans le
DataTracker
permette de créer une organisation GitHub. Elle doit être nommée
ietf-wf-NOMDUGROUPE
(en pratique, cette
convention semble rarement suivie), les directeurs de la zone doivent
en être les propriétaires et les présidents du groupe doivent avoir
le statut d'administrateur (voyez par exemple les membre du groupe GitHub
QUIC). Elle est ensuite indiquée depuis le
DataTracker (cf. par exemple pour le groupe
capport). Il n'est pas possible actuellement d'associer
clairement les identités GitHub aux identités IETF (ça a été
demandé mais l'identité sur l'Internet est un sujet
complexe).
De même qu'il faudrait pouvoir créer facilement une organisation
dans GitHub, il serait bien de pouvoir créer facilement un nouveau
dépôt, et de le peupler avec les fichiers minimaux
(LICENSE
- en suivant ces
principes, README
,
CONTRIBUTING
- en s'inspirant de ces
exemples, etc). L'outil i-d-template
fait justement cela.
Une fois organisation et dépôt(s) créés, le groupe peut se mettre
à travailler (section 3 du RFC). Un des points importants est la
sauvegarde. Il est crucial de sauvegarder
tout ce qui est mis dans GitHub au cas où, par exemple, Microsoft
déciderait tout à coup de limiter l'accès ou de le rendre
payant. Les listes de diffusion de l'IETF sont archivées via MailArchive, mais tout ce
qui se passe sur GitHub doit l'être également. Pour les documents,
c'est facile, git est un VCS décentralisé,
avoir une copie complète (avec l'historique) du dépôt est le
comportement par défaut. L'IETF n'a donc qu'à faire un git
fetch
toutes les heures pour stocker une copie.
Il reste les tickets et les pull requests. Ils (elles ?) ne sont pas gérés par git. Il faut alors utiliser l'API de GitHub pour les sauvegarder.
Ce risque de pertes, si on ne fait pas de sauvegarde, fait d'ailleurs partie des risques mentionnés dans la section 4, sur la sécurité. Par contre, ce RFC ne mentionne pas les risques plus stratégiques liés à la dépendance vis-à-vis d'un système centralisé. C'est pour cela que certains documents sont développés en dehors de GitHub, par exemple le RFC 9156, successeur du RFC 7816 était sur un GitLab, FramaGit.
Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)
Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)