# 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.