Comment utiliser les licences GNU pour vos logiciels
Voici une brève explication sur la manière de placer un programme sous la licence publique générale GNU (GNU GPL), la licence publique générale GNU amoindrie (LGPL) ou la licence publique générale GNU Affero (AGPL). Pour la licence GNU de documentation libre (GNU FDL), nous avons une page séparée.
Si vous recherchez une information plus détaillée, consultez notre liste de questions fréquentes concernant nos licences.
Si vous envisagez d'utiliser la licence publique générale amoindrie, veuillez auparavant lire l'article « Pourquoi vous ne devriez pas utiliser la LGPL pour votre prochaine bibliothèque ». Cet article explique pourquoi il serait peut-être mieux d'utiliser la GPL ordinaire, et comment nous prenons ce genre de décision.
Voici un bref résumé de ce que vous devez faire pour publier un programme sous une de nos licences.
- Faites signer à votre employeur ou établissement d'enseignement une déclaration de renoncement au copyright.
- Mettez dans chaque fichier les avis de copyright appropriés et faites en sorte d'identifier clairement à quelles versions de la licence les utilisateurs peuvent se référer.
- Ajoutez un fichier COPYING contenant une copie de la GNU GPL ou de la GNU AGPL.
- Ajoutez également un fichier COPYING.LESSER contenant une copie de la GNU LGPL si c'est ce que vous utilisez.
- Mettez un avis de licence dans chaque fichier.
- (Éventuellement) arrangez-vous pour que le programme affiche une annonce au démarrage.
- (Si vous utilisez l'AGPL) arrangez-vous pour que votre programme propose des copies de son code source.
Cela suppose d'ajouter deux éléments dans chaque fichier source : un avis de copyright (par exemple, « Copyright 1999 Marie Dupont ») et une autorisation de copie précisant que le programme est distribué sous les termes de la licence publique générale GNU (ou de la GPL amoindrie, ou de la GPL Affero).
Table des matières
Le renoncement au copyright
Si vous êtes salarié ou étudiant, il est prudent de demander à votre employeur ou établissement d'enseignement de signer un renoncement au copyright sur votre programme, pour qu'il ne puisse pas ensuite prétendre que le copyright lui appartient et que vous n'aviez aucun droit de publier le programme. En fait, cela n'a rien à voir avec la GNU GPL. C'est valable quelle que soit la licence utilisée pour publier le programme.
Voici un exemple de renoncement au copyright ; changez seulement les noms, le titre et la description du programme :
Yoyodyne, Inc., hereby disclaims all copyright interest in the program “Woodpecker” (which deconstructs trees) written by James Hacker.
<signature of Moe Ghoul>, 1 April 1989 1
Moe Ghoul, Président du Vice
Si vous êtes étudiant à l'université, nous vous recommandons de demander une renonciation à un stade précoce de l'écriture du programme pour minimiser les résistances. Si vous n'êtes pas research assistant ou teaching assistant,2 il est possible que l'université ne puisse pas réclamer de copyright sur vos travaux, mais posez la question à un juriste pour vous en assurer.
Si vous travaillez, le meilleur moment pour négocier la permission de publier du logiciel libre est lorsque vous négociez votre contrat d'embauche.
L'avis de copyright
L'avis de copyright doit inclure l'année au cours de laquelle vous avez fini de préparer la version publiée (donc, si vous l'avez terminée en 1998 mais que vous ne l'avez pas mise en ligne avant 1999, mettez 1998). Vous devez indiquer l'année correspondant à chaque version publiée : par exemple, « Copyright 1998, 1999 Marie Dupont » si certaines ont été terminées en 1998 et d'autres en 1999. Si plusieurs personnes ont aidé à écrire le code, mettez le nom de chacune d'elle.
Pour les logiciels dont plusieurs versions sont publiées sur une période de plusieurs années, il est acceptable d'indiquer la période (2008-2010) plutôt que de mentionner chaque année séparément (2008, 2009, 2010) si, et seulement si, chaque année de la période (bornes comprises) est vraiment une année de copyright qui pourrait être mentionnée individuellement, et si vous mentionnez explicitement cette manière de procéder dans votre documentation
Utilisez toujours le mot anglais Copyright ; par convention internationale, ce terme est utilisé partout dans le monde, même pour des travaux en d'autres langues. Le symbole du copyright « © » peut être ajouté si vous le souhaitez (et que votre jeu de caractères le gère), mais il n'est pas nécessaire. Il n'y a aucune signification juridique à l'utilisation de la séquence de trois caractères « (C) », mais elle ne pose pas problème.
Si vous avez copié du code d'autres programmes régis par la même licence, copiez aussi leurs avis de copyright. Rassemblez tous les avis de copyright d'un même fichier au tout début de ce fichier.
Les fichiers de licence
Vous devez aussi inclure une copie de la licence en question quelque part dans la distribution de votre programme. Tous les programmes, qu'ils soient publiés sous GPL ou LGPL, doivent inclure la version texte de la GPL. Dans les programmes GNU, nous mettons par convention la licence dans un fichier intitulé COPYING.
Si vous publiez votre programme sous la GNU AGPL, utilisez la version texte de la GNU AGPL au lieu de la GNU GPL.
Si vous publiez un programme sous la GPL amoindrie, vous devez aussi inclure la version texte de la LGPL, habituellement dans un fichier intitulé COPYING.LESSER. Veuillez noter que, puisque la LGPL est un ensemble de permissions s'ajoutant à la GPL, il est essentiel d'inclure les deux licences de sorte que les utilisateurs aient toutes les informations nécessaires pour comprendre leurs droits.
Les avis de licence
La déclaration autorisant la copie (également appelée avis de licence) doit être mise dans chaque fichier, juste après les avis de copyright. Pour un programme ne comprenant qu'un seul fichier, cette autorisation doit ressembler à ceci (pour la GPL, version 3 ou ultérieure) :
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. 3
Pour les programmes comprenant plusieurs fichiers, il est mieux de remplacer this program par le nom réel du programme et de débuter la déclaration par une ligne indiquant This file is part of <NOM>. Par exemple :
This file is part of Foobar.
Foobar is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Foobar is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with Foobar. If not, see <https://www.gnu.org/licenses/>. 4
Pour utiliser une autre version des licences du groupe GPL, il faut modifier la fin de premier long paragraphe. Par exemple, pour mettre un logiciel sous la version 2 ou ultérieure, il faut remplacer « 3 » par « 2 ».
Cette déclaration doit être placée au début de chaque fichier source, à côté des avis de copyright. Pour utiliser la GPL amoindrie, insérez le mot Lesser avant General aux trois endroits. Pour utiliser la GNU AGPL, insérez le mot Affero avant General aux trois endroits.
Pourquoi des avis de licence ?
La raison d'être d'une licence de logiciel libre est de donner certains droits à tous les utilisateurs d'un programme. Si les droits que vous leur donnez ne sont pas clairs, cela va à l'encontre du but recherché. Nos pratiques sont conçues pour éviter toute incertitude.
Si un programme a une copie d'une licence FOO à côté des fichiers sources mais n'a pas de déclaration explicite disant que « ce programme est publié sous la licence FOO », cela laisse planer une incertitude sur l'applicabilité de la licence au code de ce programme.
Si une version publiée contient, dans un endroit bien visible comme le fichier README, une déclaration unique disant que « ce programme est publié sous la licence FOO », cela ne clarifie la situation que pour cette version. En effet, les programmeurs copient souvent les fichiers sources d'un programme libre à un autre. Si un fichier source ne contient pas de déclaration disant quelle est sa licence et qu'on le déplace dans un autre contexte, toute trace de ce renseignement est éliminée. C'est source de confusion et d'erreur.
L'annonce au démarrage
Pour les programmes interactifs, il est de bon aloi que le programme affiche au démarrage une courte annonce concernant le copyright et l'autorisation de copie. Ce point est détaillé à la fin de la GNU GPL.
L'annonce Affero
Si vous publiez votre programme sous la GNU AGPL et qu'il peut interagir avec les utilisateurs sur un réseau, le programme doit leur offrir son code source d'une façon ou d'une autre. Par exemple, si votre programme est une application web, son interface pourrait afficher un lien « Source » qui mènerait les utilisateurs vers une archive du code. La GNU AGPL est suffisamment flexible pour que vous choisissiez une méthode convenant à votre programme (consulter l'article 13 pour plus de détails).
Divers
Il est très important pour des raisons pratiques d'inclure des informations de contact permettant de vous joindre, le mieux étant probablement de les écrire dans le fichier README. Mais cela n'a rien à voir avec les questions juridiques entourant la mise sous licence.
Il n'y a rien dans la loi qui vous oblige à enregistrer votre copyright où que ce soit ; le fait même d'écrire votre programme entraîne sa mise sous copyright. Toutefois, aux États-Unis, il est conseillé d'enregistrer ce copyright auprès du Bureau du copyright [US Registry of Copyrights] car cela vous met en meilleure position pour vous défendre contre quiconque violerait la licence aux États-Unis. La plupart des autres pays n'ont pas de système d'enregistrement de copyright.
Nous voudrions référencer tous les logiciels libres dans le Répertoire du logiciel libre [Free Software Directory], en particulier tous ceux qui sont sous licence GPL (toute version). Nous espérons qu'une fois votre programme arrivé à maturité, vous demanderez son insertion. Merci d'avance. Vous trouverez les renseignements nécessaires ainsi que le formulaire de soumission en ligne sur le wiki du Répertoire.
Il est aussi possible de faire de votre programme un paquet GNU, c'est-à-dire lui faire une place au sein du projet GNU. Au cas où cela vous intéresserait de rejoindre le projet GNU de cette manière, veuillez consulter notre page Évaluation des logiciels GNU, qui contient des renseignements supplémentaires ainsi qu'un bref questionnaire. Nous vous répondrons et pourrons ensuite en discuter.
N'hésitez pas à utiliser une de nos licences, même si votre programme n'est pas un paquet GNU ; c'est tout ce que nous souhaitons. Elles sont disponibles pour tout le monde. Si vous voulez faire savoir que vous utilisez telle ou telle licence, vous pouvez utiliser un de nos logos.