Skip to content

Licence : page AGPLv3 comme le jeu, GPLv3 renvoie vers elle (#370) - #381

Open
ohugonnot wants to merge 4 commits into
mainfrom
370-licence-agplv3
Open

ohugonnot wants to merge 4 commits into
mainfrom
370-licence-agplv3

Conversation

@ohugonnot

@ohugonnot ohugonnot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Constat

Le code du jeu est en AGPLv3 depuis décembre 2017 (commit 44695c8 « Moved from GPL to A-GPL ») ; le code d'avant ce commit reste en GPLv3 (README du jeu). Le dépôt du jeu avait gardé par erreur un docs/GPLv3.md, corrigé le 1er novembre 2025 en docs/AGPLv3.md (unitystation/unitystation#11004). Le wiki avait copié l'ancien fichier faux : il affichait la GPLv3, alors que notre CONTRIBUTING.md dit déjà AGPLv3. Décision de Fr_Dae le 26/10 : suivre le jeu.

Ce qui change

  • Nouvelle page docs/5_Dev/Introduction/AGPLv3.md : texte complet repris du dépôt du jeu, identique, sauf le titre « LICENSE » remplacé par « Licensing » (comme l'ancienne page).
  • GPLv3.md garde son adresse. Elle ne contient plus que le renvoi : « This page used to show the GNU GPLv3 text. Unitystation's code is licensed under the AGPLv3: see the AGPLv3 page. Code committed before commit 44695c8 (December 2017) remains under the GNU GPLv3. » Son titre devient « GPLv3 (old page) », pour ne pas se confondre avec la page AGPLv3 dans la recherche et dans l'onglet.
  • L'ancienne page sort du menu et des boutons précédent/suivant : elle ne sert qu'aux vieux liens. Docusaurus 2.4.3 n'a pas unlisted (c'est en v3), donc un petit sidebarItemsGenerator dans docusaurus.config.js retire du menu les pages qui ont unlisted: true en front matter. Elle reste joignable à la même adresse et reste dans la recherche.
  • Menu : il est trié par nom de fichier, AGPLv3 serait passé en premier. sidebar_position sur les 3 pages voisines (Code of Conduct 1, Contribution 2, Documentation-Guide 3) et AGPLv3 (4) : AGPLv3 prend l'ancienne place de la GPLv3, le reste du menu ne bouge pas.
  • Aucun lien interne ne visait GPLv3 (grep sur docs, i18n, src, docusaurus.config.js, sidebars.js). Pas de traduction fr/ru/de de ces pages.

Pourquoi

Éviter qu'un contributeur lise une licence fausse, sans casser les liens venant de l'extérieur, et sans laisser dans le menu une page d'une phrase.

Comment c'est testé

  • Build 4 langues + service busybox comme la prod (port 3032) : /Dev/Introduction/AGPLv3 et /Dev/Introduction/GPLv3 répondent 200 en en, fr, ru, de.
  • Menu de CONTRIBUTING : Code of Conduct, Contribution, Documentation-Guide, AGPLv3, puis les dossiers ; aucun lien vers GPLv3. Boutons de la page AGPLv3 : Documentation-Guide / Building and Testing.
  • Page GPLv3 : titre d'onglet « GPLv3 (old page) », lien vers AGPLv3 juste dans les 4 langues (/fr/Dev/Introduction/AGPLv3…).
  • Texte AGPLv3 comparé avec diff au fichier du jeu : seule la ligne du titre diffère.
  • python3 scripts/check_links.py : même nombre d'erreurs que sans le changement (toutes déjà présentes sur main), aucune sur ces pages.
  • Pas de conflit avec les PR ouvertes au moment de l'ouverture (git merge --no-commit puis --abort dans une copie jetable).

Captures

Avant (prod, menu et page GPLv3) :
avant

Après, page AGPLv3, l'ancienne page n'est plus dans le menu :
apres

Après, ancienne adresse GPLv3 avec le renvoi :
renvoi

Closes #370

@ohugonnot ohugonnot self-assigned this Oct 26, 2026
#370)

La page GPLv3 ne sert qu'aux vieux liens : elle sort du menu et des
boutons précédent/suivant (front matter unlisted, lu par un
sidebarItemsGenerator), mais reste joignable à la même adresse.
Son titre devient « GPLv3 (old page) » pour ne plus se confondre avec
la page AGPLv3 dans la recherche et l'onglet.
Le renvoi dit maintenant ce que dit le jeu : AGPLv3 depuis le commit
44695c8 (décembre 2017), le code d'avant reste en GPLv3.
@ohugonnot

Copy link
Copy Markdown
Contributor Author

Relecture en boucle, 3 tours.

  • Tour 1 : le renvoi de GPLv3 disait « now » sans parler du code d'avant 2017, alors que le jeu est en AGPLv3 depuis le commit 44695c8 (déc. 2017) et que le code d'avant reste en GPLv3 ; la description datait le changement de nov. 2025 (c'est la date de la correction de la doc du jeu, #11004) ; les deux pages avaient le même titre « Licensing » ; l'ancienne page était dans le menu et dans les boutons précédent/suivant (« Suivant » de AGPLv3 menait à elle). Corrigé dans f3e3d4f : page sortie du menu (unlisted: true + sidebarItemsGenerator), titre « GPLv3 (old page) », renvoi exact. Description mise à jour.
  • Tour 2 : relecture du correctif ; seule limite réelle : ne marche pas pour une page d'index de catégorie (aucune aujourd'hui), notée en commentaire dans f15e07b.
  • Tour 3 : rien à changer.
    Tests : build 4 langues + busybox comme la prod, 8 adresses en 200, menu et boutons vérifiés par curl, check_links inchangé. Captures refaites.

@ohugonnot
ohugonnot marked this pull request as ready for review October 26, 2026 17:02

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Licence : passer la page GPLv3 en AGPLv3 comme le jeu

1 participant