= Licence forgeron Ğ1
1000i100
v0.0.4, 2024-07-25: 15:50

Version {revnumber} du {revdate}

:toc: right
:toclevels: 1

== Gouvernance pour faire évoluer la licence

. Tout coproducteur de monnaie Ǧ1 (membre) peut proposer une version révisée du présent document.
(pour l'instant, merge-request sur le présent dépot, à terme, via gouvernance on-chain)

. Si les conditions d'adoption de cette nouvelle version ne sont pas réunies `1 mois` après proposition, celle-ci est rejetée.

Deux collèges sont considérés :

Le conseil citoyen (CC):: ''les règles de constitution, entrée, sorties de ce conseil mériterais probablement une charte dédiée.'' D'ici là font partie du conseil citoyen les personnes réunissant les conditions suivantes :
  * Être l'auteur d'au moins une version de licence qui ai été adoptée
  * Être toujours membre coproducteur de monnaie Ǧ1
  * Être joignable sous 15 jours. Est considéré comme non joignable une personne qu'au moins 2 membres tentent sans succès de contacter par différents canaux de communication (sms, email, forum, cesium+...) et cela avec au moins 15 jours d'écart entre les premières et dernières tentatives.

Les forgerons (F):: membres de la toile forgeron actuelle.

Pour qu'une nouvelle version de la licence soit adoptée, les conditions suivantes doivent être réunies :

* Au moins `ceil(pow(count(CC),0.7))` des membres du CC approuvent (pouce haut sur merge-request ou gouvernance on-chain)
* Au moins `ceil(pow(count(F),0.3))` de forgerons approuvent
* Seuls les membres du CC peuvent s'opposer à la proposition, les forgerons peuvent approuver ou s'abstenir.
* Chaque opposition augmente de `3` le quorum global à atteindre.

NOTE: L'intention de ce mode de gouvernance est de créer une séparation des pouvoirs : que ça ne soit pas les détenteurs du pouvoir qui définissent les règles du pouvoir. Pour autant décider sans les concernés peut mener à des choix dangereux, raison pour la quelle l'adhésion d'une fraction d'entre eux est nécessaire.

== Notice d'implémentation
À destination des développeurs de logiciels permettant de certifier :

. Les clauses de la license sont présentées une à une au certificateur.
. Il peut répondre *<-non* ou *oui->* à chaque clause.
. Le document de certification n'est émis qu'après avoir répondu correctement à chaque clause.
. Les clauses cochées ci-dessous doivent être validées par le certificateur pour que le document de certification soit émis.
. La validation d'une clause invalide interrompt la procédure de certification et déclenche le comportement piège.
. Chaque clause de la license doit être présentée dans un ordre aléatoire
  afin de s'assurer de la lecture attentive du certificateur de chacune de ces clauses.

== Clauses de la licence forgeron

* [ ] Je certifie sous la menace ou autre forme de pression.
* [ ] Je m'engage à réclamer un dessous de table au certifié.

* [x] Je sais joindre efficacement et rapidement la personne certifiée (téléphone généralement).
* [x] Je peux joindre le certifié par au moins 2 canaux (sms, email, xmpp, matrix...).
* [x] Le certifié m'assure avoir stocké son document de révocation membre sur plusieurs supports physiques (numérique ou non) récupérables indépendamment (vol, incendie, oubli de mot de passe... au moins une des versions lui reste accessible).
* [x] J'ai vérifié que le certifié savait où consulter https://git.duniter.org/documents/g1_monetary_license[la présente licence] dans son intégralité.

* [x] J'ai vérifié que le certifié gère déjà un noeud à jour et correctement synchronisé.
* [x] J'ai noté le style de configuration (packet debian, docker-compose...) qu'utilise le certifié pour son noeud (et cette configuration n'a pas de faille connue, notament n'exposer pas l'api unsafe publiquement)
* [x] Le certifié s'est engagé auprès de moi à m'informer de tout changement significatif de sa config (pour pouvoir transmettre les infos de manière ciblée si problème)
* [x] J'ai vérifié avec le certifié qu'il connait les risques pour le réseau d'être offline sans l'avoir annoncé, et qu'il se considère en mesure d'assurer un uptime suffisant.
* [x] J'ai informé le certifié que sans être validateur en ligne pendant https://doc-duniter-org.ipns.pagu.re/pallet_smith_members/pallet/trait.Config.html#associatedtype.SmithInactivityMaxDuration[`6 mois` (SmithInactivityMaxDuration)] il sera radié des forgerons.
* [x] J'ai vérifié que le certifié connait les délais de passage en ligne/hors ligne du validateur.
* [x] Je m'engage à contacter sous 24h max ce forgeron si j'apprends  qu'un défaut concerne son noeud validateur (désynchronisé, pas à jour, inaccessible...).
* [x] J'ai questionné l'intention du certifié à rejoindre les forgerons et je reste prêt à le certifier.
* [x] J'ai vérifié que le certifié savait où consulter les règles détaillées de la TdC forgeron.
* [x] J'ai demandé au certifié quelles étaient ses pratiques de sécurité et je les estime suffisantes pour le réseau actuel.

=== Renouvellement d'un forgeron que l'on a déjà certifié par le passé :
Mêmes questions.

== Annexes

=== Convention d'incrémentation du numéro de version vA.B.C :
* A : Refonte du document, changement de vision, changement majeur de gouvernance, changement impliquant de nouveaux développements pour les logiciels permettant de certifier.
* B : Evolution mineur de la gouvernance (changement de seuils), ajout/suppression/modification de clauses fesant évoluer le fond.
* C : Correction de typo, clarification/reformulation sans changer l'intension, traduction dans une autre langue