Pendant des années, j'ai été un grand fan de mettre des licences sur des choses partagées en ligne pour permettre aux autres de déterminer plus facilement si et comment ils peuvent réutiliser ces choses. Avant que GitHub ne commence à `` pousser '' doucement ses utilisateurs à inclure des fichiers de LICENCE avec leurs dépôts, je ne savais pas vraiment comment le faire avec du code - en particulier le code partagé publiquement sur GitHub! - mais j'ai essayé de faire bon usage des fichiers de LICENCE depuis.
Je suis maintenant dans la situation où j'ai travaillé sur un petit projet avec d'autres personnes, ce qui nécessite la mention de plusieurs licences (en raison de code et de bibliothèques tiers ainsi que de fichiers non-code). Alors que mes partenaires abordent la question plutôt «négligemment» - il a été suggéré de «simplement mettre le code en ligne tel quel, personne ne s'en souciera» -, je préfère le faire correctement. Le problème est: je ne sais pas comment on est censé mentionner plusieurs licences (différentes) sur GitHub.
J'ai vu plusieurs solutions différentes sur GitHub, c'est pourquoi il est difficile pour moi de juger si cette réponse à une question légèrement différente fait autorité. Ce que j'aimerais savoir, c'est laquelle des options suivantes - le cas échéant - est la plus courante, ou s'il existe d'autres moyens supplémentaires de procéder.
- Créez un seul fichier de LICENCE et insérez-y les descriptions de toutes les différentes licences. ( Questions : Doit-on les placer dans un ordre particulier? Est-ce que je commencerais le dossier en mentionnant les noms de toutes les licences contenues dans, pour une meilleure vue d'ensemble)?
- Créer un fichier de licence par licence utilisée et de les nommer
LICENSE.md
,LICENSE.LibNameA.md
,LICENSE.AssetsB.md
etc. , comme le suggère la réponse liée. ( Question : La dénomination serait basée sur les noms de projet? Pas sur les noms de licence? Si j'utilisais plus d'une licence pour du matériel auto-fourni, est-ce que je les mentionnerais tous dans le 'principal'LICENSE.md
? Sinon, que ferais-je à la place?) - Créez deux fichiers de LICENCE : l'un répertoriant la (les) licence (s) pour le contenu «principal», c'est-à-dire l'ensemble du code / des actifs que vous avez créé; un pour tout le matériel tiers. ( Questions comme ci - dessus : existe-t-il un schéma de nommage particulier que l'on utiliserait et l'ordre dans lequel on répertorierait les matériaux tiers?)
Enfin, si j'ai bien compris les différentes explications et projets de GitHub concernant leur API Licences, seul le fichier de LICENCE `` principal '' sera pris en compte lors de la détermination de la licence d'un référentiel (bien que je n'aie pas pu déterminer quelle licence serait choisie si plusieurs ont été mentionnés).
Réponses:
Vous pouvez utiliser n'importe quel mécanisme pour inclure les licences que vous aimez, tant qu'il devient clair pour un visiteur de votre projet quelle licence est applicable à quelle partie du projet.
Ma préférence serait:
la source
Dans une présentation des créateurs SPDX ( diapo 12 ), il est très clair:
Contenu de
LICENSE
:Vous pouvez ensuite ajouter deux fichiers de LICENCE supplémentaires:
LICENSE.Apache-2.0
etLICENSE.GPL-2.0-or-later
.Dans tous les cas, le
README.md
doit contenir un identifiant de licence SPDX :Vous pouvez le faire comme ça:
Notez cela
Apache-2.0 OR GPL-2.0-or-later
etApache-2.0 AND GPL-2.0-or-later
fait une grande différence. Le premier signifie que l'utilisateur peut choisir entre les deux (ce qui est le cas normal!) Et le second indique que l'utilisateur doit se conformer aux deux licences. Voir aussi multi licences sur Wikipedia.Notez que j'utilise la nouvelle liste de licences SPDX 3.0 (en date du 28/12/2017 ) ici. Les versions de 2017 avaient un
GPL-2.0
identifiant pour GPL 2.0, mais il n'était pas clair si cela signifiait "GPL 2.0 uniquement" ou "GPL 2.0 ou toute version ultérieure".la source
J'ai finalement contacté le support GitHub directement en ce qui concerne ma question et ils ont dit qu'il était OK de les citer si je précisais que leurs réponses n'étaient que des suggestions, pas des recommandations.
Leur réponse originale avait à offrir:
la source