Public ≠ autorisé
Même publié dans un dépôt GitHub public, un code sans fichier LICENSE n'est pas open source. Le droit d'auteur naît automatiquement dès l'écriture du code (dans la plupart des pays signataires de la Convention de Berne) et, sans autorisation particulière, seul le titulaire peut copier, modifier, distribuer ou créer des œuvres dérivées. La documentation de GitHub indique elle aussi qu'en l'absence de licence, le droit d'auteur par défaut s'applique : le titulaire conserve tous les droits et les autres ne peuvent ni copier, ni distribuer, ni créer d'œuvres dérivées.
Ce que permettent les conditions de GitHub
Selon les conditions d'utilisation de GitHub (D.5 « Licence accordée aux autres utilisateurs »), la personne qui publie du contenu dans un dépôt public accorde aux utilisateurs de GitHub le droit d'utiliser, d'afficher et d'exécuter ce contenu au sein du service GitHub, et de le reproduire dans la mesure permise par les fonctions de GitHub comme le fork. Autrement dit, les actions suivantes sont possibles.
- Consulter et lire le code sur le web
- Le forker au sein de GitHub
Mais les conditions n'accordent aucun droit au-delà, par exemple l'intégrer dans votre produit et le distribuer, ou publier une version modifiée ailleurs.
Si vous voulez utiliser un code sans licence
- Demander au titulaire : demandez-lui par une issue ou un e-mail d'ajouter une licence. Souvent, il a simplement oublié et ajoutera volontiers la MIT ou une autre.
- Obtenir une autorisation écrite : si l'ajout d'une licence est difficile, obtenez séparément une autorisation précisant l'étendue de l'usage et conservez-la.
- Chercher une alternative : trouvez une bibliothèque open source offrant la même fonction.
- L'implémenter vous-même : réécrivez-le sans regarder le code, en vous référant seulement à la spécification ou au comportement (implémentation dite en salle blanche). Recopier le code d'origine pouvant constituer une reproduction, soyez prudent.
Le cas où le README dit seulement « utilisez-le comme vous voulez » est ambigu. Même si l'intention semble claire, l'étendue (modification, redistribution, usage commercial) reste floue ; il est plus sûr de demander l'ajout d'une licence standard.
Cas ambigus fréquents
- Pas de LICENSE mais
"license": "MIT"dans package.json : l'intention semble être la MIT, mais la MIT exige d'inclure la mention de droit d'auteur et le texte d'autorisation dans les copies ; sans le texte intégral, il est difficile de respecter l'obligation de mention. Mieux vaut demander l'ajout d'un fichier LICENSE au dépôt. - Code des réponses Stack Overflow : le contenu publié par les utilisateurs est fourni sous Creative Commons BY-SA (2.5, 3.0 ou 4.0 selon la date de publication). Comme il comporte des conditions d'attribution et de partage dans les mêmes conditions, vérifiez la politique de votre entreprise avant de l'intégrer dans du code de production.
- Code de blogs et de tutoriels : sauf indication dans les conditions du site ou l'article, le droit d'auteur est par défaut réservé.
Comment ajouter une licence à votre dépôt
- Dans le générateur, choisissez une licence, saisissez l'année et le titulaire, et téléchargez le fichier
LICENSE. - Commitez-le à la racine du dépôt. GitHub reconnaît ce fichier et affiche la licence dans les informations du dépôt.
- Indiquez l'identifiant SPDX dans le champ license de
package.json,Cargo.toml,pyproject.toml, etc. (guide SPDX). - Si le code contient du code d'autrui, recensez séparément la licence et les mentions de ces parties (mise en pratique).
Ne pas mettre de licence volontairement
Pour un portfolio ou un devoir dont on veut seulement montrer le code sans en permettre la réutilisation, ne pas mettre de licence est aussi un choix. Dans ce cas, indiquer « Tous droits réservés (All rights reserved) » et un contact dans le README réduit les malentendus. Toutefois, s'agissant d'un dépôt public, vous ne pouvez pas empêcher la consultation ni le fork permis par les conditions de GitHub.
Cet article est fourni à titre d'information générale et ne constitue pas un conseil juridique. Pour toute décision importante, consultez un professionnel.
Sources
- GitHub Docs, Licensing a repository — https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository
- GitHub Terms of Service, D.5 — https://docs.github.com/en/site-policy/github-terms/github-terms-of-service
- choosealicense.com, No License — https://choosealicense.com/no-permission/
- Licence du contenu de Stack Overflow — https://stackoverflow.com/help/licensing