Files
ki-fwi/docs/adr/0001-licences.md
OKIandClaude Opus 5 945a524b44 feat(session-0): cadre juridique, porte de validation et dataset vérifié
Session 0 du plan — aucun code applicatif.

Cadre
- 5 ADR : licences, Phaser 4 hors budget initial, frontière Svelte/Phaser,
  filières A/B des assets, kréyòl langue principale (norme gwadloupéyenne).
- LICENSE (AGPL-3.0-or-later, texte canonique gnu.org), LICENSE-CONTENT
  (CC BY-SA 4.0). Le jeu est une œuvre collective : aucun compositing sur un
  média SA ou NC, contrainte vérifiée par script.
- Audit des 7 sources avec endpoints réellement appelés. TRAMIL vérifié en
  direct : « all rights reserved » et page de mentions légales en 404.
  iNaturalist mesuré à 93 % de CC BY-NC sur un échantillon de 305 photos.

Outillage (tools/data/, hors bundle, zéro appel réseau au runtime)
- verify:taxa, ingest:commons, build:dataset, validate:data, test:porte,
  build:credits, check:audio.
- validate.mjs est la porte exigée par le brief §2 : le build échoue si une
  épreuve s'appuie sur un média non validé, non photographique ou de filière B,
  sur une attribution sans auteur, sur un compositing SA/NC, ou sur une entrée
  publiée sans relecture kréyòl. test:porte prouve les 9 refus + 1 témoin.

Données
- 13 entrées (8 fruits + 5 plantes du module Pa touché) vérifiées contre
  Wikidata ET GBIF : 13/13 ACCEPTED, 0 divergence avec la graine.
- 130 candidats Commons sous licence libre, 39 pré-inscrits, 0 validé —
  aucun agent ne peut valider un média.

Écarts signalés, non corrigés en silence
- Le champ danger de la graine a deux formes (note vs resume) : normalisé.
- 3 identifiants divergent du nom kréyòl au-delà des accents : non tranchés.
- comestible:false sur akée et pomme-cajou : sous-estimation prudente assumée.
- Le mancenillier n'a aucune photographie moderne dans ses 3 premiers
  candidats — l'entrée la plus critique est la moins bien servie.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 23:47:27 -04:00

4.3 KiB

ADR 0001 — Licences du code, du contenu et des médias

  • Statut : accepté
  • Date : 2026-07-27
  • Session : 0 — cadre et données
  • Décideur : le porteur (ORGANISATION KA INTERNATIONALE)

Contexte

Le pack d'origine parlait de « ressources libres de droit ». L'expression n'a pas d'existence juridique et masque quatre régimes très différents :

  • Wikimedia Commons n'héberge que du libre, mais majoritairement du CC BY-SA, qui impose l'attribution nominative et le partage à l'identique. Le partage à l'identique contamine les œuvres dérivées.
  • iNaturalist publie beaucoup de CC BY-NC, incompatible avec toute distribution commerciale.
  • TRAMIL (tramil.net) n'accorde aucune licence dans ses mentions légales. Par défaut : tous droits réservés.
  • CIRAD / INRAE appliquent des régimes mixtes, majoritairement propriétaires, avec des usages pédagogiques négociables au cas par cas.

Le projet vise des enfants de 7 à 12 ans dans un cadre scolaire. Une erreur de licence sur un support diffusé en classe n'est pas rattrapable par un correctif.

Décision

Code — AGPL-3.0-or-later

LICENSE contient le texte canonique récupéré depuis gnu.org. L'AGPL plutôt que la GPL parce qu'une version future pourrait exposer une face serveur (export de progression pour un enseignant, tableau de classe) : l'AGPL couvre l'usage en réseau, la GPL non.

Contenu rédigé par OKI — CC BY-SA 4.0

Textes, fiches, indices botaniques, module « Pa touché », données structurées. Cohérent avec Commons, donc réutilisable par le projet lui-même et par les enseignants.

Médias tiers — licence d'origine conservée, œuvre collective

Chaque média garde sa licence. Le jeu est une œuvre collective, pas une œuvre dérivée. C'est cette qualification qui permet à des médias CC BY-SA et CC BY-NC de coexister dans un même produit.

Clause non commerciale — acceptée, et irréversible

Le porteur a tranché en session 0 : le CC BY-NC est accepté pour élargir le fonds photographique, en échange d'un engagement non commercial définitif sur le jeu.

Le code reste réutilisable commercialement sous AGPL une fois séparé des médias.

Conséquences

Ce que cette décision interdit, techniquement

  1. Aucun compositing. Un média sous partage à l'identique ou sous clause non commerciale ne peut être ni fusionné, ni détouré puis recombiné, ni fondu dans un atlas de textures partagé avec d'autres médias. C'est ce qui préserve la qualification d'œuvre collective.
  2. Aucune vente, aucune version payante, aucune licence à un éditeur tant qu'un seul média NC est embarqué.
  3. Aucun fichier TRAMIL. TRAMIL se cite comme source de vérification factuelle, dans sources_factuelles, jamais comme source d'images.

Ce qui applique la décision

  • npm run validate:data refuse tout média composite: true portant une clause SA ou NC, et tout média à attribution dont l'auteur est absent.
  • npm run test:porte prouve que ces refus se produisent réellement.
  • npm run build:credits régénère CREDITS.md depuis les données, avec une section distincte pour les médias NC. Un fichier de crédits tenu à la main se désynchronise, et une attribution fausse est une violation.
  • Le schéma impose licence, auteur, url_fichier et url_description sur chaque média.

Condition de réexamen

Si le projet devait un jour être distribué commercialement, il faudrait retirer tous les médias NC et régénérer les crédits. CREDITS.md liste ces médias dans une section dédiée précisément pour rendre cette opération possible. À ce jour, aucun média NC n'est embarqué : les 39 médias candidats proviennent tous de Commons, sous CC0, domaine public, CC BY ou CC BY-SA. L'engagement non commercial n'est donc pas encore consommé — il ne le sera qu'au premier média iNaturalist retenu.

Alternatives écartées

  • Refuser le NC. Aurait gardé une porte de sortie commerciale, au prix d'un fonds photographique plus pauvre sur les espèces mal couvertes (zikak, pòm-sitè).
  • Isoler le NC dans un pack séparé retirable par flag. Meilleur des deux mondes sur le papier, mais complexifie le pipeline d'assets et le service worker pour une option dont le porteur a jugé qu'il ne l'exercerait pas.