Tutoriel : Comment devenir conforme à REUSE
Vous lisez une traduction non officielle de original page.
Ce tutoriel explique les bases permettant de rendre un projet logiciel conforme à REUSE. L’objectif est de déclarer de manière simple, exhaustive et sans ambiguïté vos droits d’auteur et votre licence, dans un format lisible par machine. À l’issue de ce tutoriel, vous maîtriserez les trois étapes fondamentales de la norme REUSE :
- Choisir et fournir des licences
- Ajouter les informations de droit d’auteur et de licence pour chaque fichier
- Confirmer la conformité REUSE
Pour les besoins de ce tutoriel, nous supposerons que le répertoire de votre projet ressemble à ceci :
project/
├── src/
│ └── main.c
├── Makefile
└── README.md
Si vous souhaitez reproduire les étapes de ce tutoriel sur votre propre
ordinateur, vous pouvez cloner le répertoire
d’exemple. La branche
non-compliant correspond à la structure ci-dessus, tandis que la branche
compliant est le résultat réussi de ce tutoriel.
Pour chacune de ces étapes, vous apprendrez d’abord à les réaliser manuellement. Cependant, l’utilitaire REUSE vous assiste dans la plupart des tâches, et les commandes nécessaires seront également répertoriées dans les cases réductibles. Nous vous recommandons de comprendre d’abord le principe de base avant d’exécuter simplement les commandes de l’outil.
1. Choisir et fournir des licences
La première chose à faire est de choisir une licence. Pour ce tutoriel, nous supposons que vous avez choisi la GNU Licence publique générale (GPL) v3.0 ou toute version ultérieure. Plus que simplement en choisissant une licence, vous devez mettre la licence dans le répertoire de votre projet.
Trouvez votre licence dans la Liste des licences
SPDX. SPDX est une norme ouverte pour la
communication des informations de licence et de droit d’auteur. Chaque
licence est identifiée de manière unique par un raccourci identificateur de
licence SPDX. L’identifiant de licence SPDX de la licence que vous avez
choisie est GPL-3.0-or-later.
Create a LICENSES/ directory in your project root which will contain all
the licenses that you use in your project. In your case, this means creating
a file GPL-3.0-or-later.txt in this directory, which will contain the full
license text. The name of the file is an SPDX License Identifier. You can
find the license text for many Free Software licenses in the
license-list-data
repository.
reuse download
vous permet de télécharger une licence spécifique. reuse download GPL-3.0-or-later remplirait la tâche décrite dans les instructions du
manuel ci-dessus. L’exécution de reuse download --all télécharge
automatiquement toutes les licences que l’outil REUSE détecte comme étant
utilisées dans votre projet.
2. Ajouter des informations sur les droits d’auteur et les licences à chaque fichier
Maintenant que vous disposez d’une licence, vous devez indiquer dans les
fichiers correspondants que ces fichiers relèvent de cette licence. Modifiez
l’en-tête de commentaire de src/main.c comme tel :
/*
* SPDX-FileCopyrightText: 2024 Jane Doe <jane@example.com>
*
* SPDX-License-Identifier: GPL-3.0-or-later
*/
La balise SPDX-FileCopyrightText enregistre les années de publication et le titulaire du droit d’auteur du
contenu du fichier. Vous pouvez en savoir plus sur les années de publication à
utiliser et quels sont les titulaires de droits
d’auteur dans la FAQ.
La balise SPDX-License-Identifier est suivie d’une expression de licence
SPDX valide, généralement juste
l’identifiant de licence SPDX de la licence.
Chaque fichier doit toujours contenir ces deux balises dans l’en-tête. Vous
êtes autorisé à utiliser la balise SPDX-FileCopyrightText plusieurs fois
si vous avez plusieurs détenteurs de droits d’auteur.
Dans l’exemple de projet, vous modifiez également Makefile et README.md
en utilisant ces informations d’en-tête, mais bien sûr avec la syntaxe de
commentaire correspondante.
La commande reuse annotate
aide à ajouter des informations de licence et de droit d’auteur à vos
fichiers. Pour la tâche ci-dessus, la commande suivante fera le travail :
reuse annotate --copyright="Jane Doe <jane@example.com>" --license="GPL-3.0-or-later" src/main.c Makefile README.md
3. Confirmer la conformité REUSE
Having added a license to your repository and having added copyright and licensing information to each file, your project tree will now look like this:
project/
├── LICENSES/
│ └── GPL-3.0-or-later.txt
├── src/
│ └── main.c
├── Makefile
└── README.md
Pour être sur que vous n’avez rien manqué, vous devriez confirmer la conformité à REUSE avec l’outil. Suivez les instructions d’installation disponibles pour plusieurs plates-formes. Allez ensuite dans le répertoire du projet et exécutez le linter.
$ reuse lint
# RÉSUMÉ
* Licences invalides : 0
* Licences obsolètes : 0
* Licences sans extension de fichier : 0
* Licences manquantes : 0
* Licences inutilisées : 0
* Licences utilisées : GPL-3.0-or-later
* Erreurs de lecture : 0
* Fichiers contenant des informations de droits d'auteur : 3 / 3
* Fichiers contenant des informations de licence : 3 / 3
Félicitations ! Votre projet est conforme à la version 3.2 de la spécification REUSE :-)
Comme vous pouvez le voir dans la dernière ligne, l’outil confirme que votre projet est maintenant conforme à REUSE ! Pour savoir ce que signifient les différentes critères, veuillez consulter la documentation de la commande lint.
Plus d’informations
This tutorial was a lightning-quick introduction to REUSE. Not all use-cases are covered here, especially how to annotate uncommentable files, how to bulk-annotate files, and how to use a license not on the SPDX list. In order to learn about these and more practical use-cases, see the ‘How do I …’ section in the Frequently Asked Questions.
D’autres références complémentaires :
- Notre Foire Aux Questions couvre les questions courantes ainsi que les cas extraordinaires et sera constamment mise à jour.
- La spécification REUSE pourra sans doute vous aider à comprendre pleinement REUSE.
- La documentation de l’outil REUSE décrit l’installation et l’utilisation de l’outil REUSE.
- Notre aide aux développeurs répertorie diverses ressources pour les programmeurs comme l’outil, l’API ou comment inclure des vérifications dans les flux de travail CI/CD.
Si aucun des liens ci-dessus ne répond à votre question, veuillez nous contacter par :
- créer un ticket sur reuse-website pour des questions sur le tutoriel, la FAQ ou la spécification ;
- créer un ticket sur reuse-tool pour des questions sur l’outil REUSE ;
- ou envoi d’un e-mail à la FSFE. Veuillez noter que nous préférerions les issues car elles peuvent être recherchées publiquement pour d’autres personnes.
Merci pour votre précieuse contribution à la réutilisation des logiciels !