Une licence pour un simple script ?

Est-ce que vous pensez qu'il en faut une ?

a marqué ce sujet comme résolu.

Bonjour,

J’ai écrit quelques scripts en Bash, Python, etc. Je compte les publier quelque part dans un dépôt, pour des raisons de visibilités pour un futur employeur éventuellement. Il pourrait aussi servir à d’autres gens.

Tous les scripts sont de moi (et aucune fonction ne vient d’ailleurs) et répondent à des besoins particuliers que j’ai eus. Mais du coup je me posais la question, est-ce que vous pensez qu’il faudrait que je mette une licence sur ces scripts ? C’est-à-dire que ce ne sont pas non plus des gros projets et que je ne sais donc pas si c’est légitime… Qu’en pensez-vous ?

Merci d’avance pour vos réponses ;)

+0 -0

Sans licence, personne à part toi n’a le droit de les utiliser. Si tu souhaites qu’ils puissent servir à d’autres gens, il faut mettre une licence.

+7 -0

Il y a des licences pour absolument tous les types de projets, le fait que ce soit un "petit script" ne retire absolument aucune légitimité au fait de lui appliquer une licence.

Si tu ne sais pas laquelle licence choisir, je peux te conseiller d’aller regarder sur Choose a license (publié par GitHub), qui liste les plus populaires parmi elles.

+5 -0

Sans licence, personne à part toi n’a le droit de les utiliser. Si tu souhaites qu’ils puissent servir à d’autres gens, il faut mettre une licence.

Gabbro

Sans licence, ça veut dire que tout le monde peut les utiliser, mais ne le dira pas. Et comme personne ne pourra savoir que les scripts sont utilisé, personne ne pourra contester le non respect des droits d’auteur.

Avec une licence, personne ne lira la licence, tout le monde utilisera les scripts sans le dire et personne ne pourra contester un non respect de la licence.

#RealWorld

gbdivers

Je pense que RDTL se posait surtout la question de la légitimité de mettre une licence à un "petit" travail, pas des recours possibles en cas de non-respect des licences (qui mériteraient de se pencher dessus, cela dit, en effet, mais je pense que ce n’est pas le meilleur endroit pour en parler).

+0 -0

Merci pour vos réponses, je pense donc après quelques recherches, que je vais mettre la licence "LGPL 3" pour mes scripts (elle me semble pas mauvaise en caractéristiques).

Pour faire appliquer la licence, il suffit juste de l’écrire dans le script ?

Tout à fait. :)

La plupart des licences (dont celles de la Fondation GNU) nécessitent uniquement que tu fournisses leur texte avec ton code, donc généralement ça va être un fichier texte à joindre avec (dans ton cas, celui-ci). Certaines (comme la AGPL notamment) recommandent également de préfixer ton code d’un commentaire rappelant la licence (ce qui permet de rappeler ladite licence lorsque ton code est inclus dans celui des autres, ces derniers devant alors conserver l’information).

N’hésite pas à bien prendre le temps qu’il te faut pour lire les textes entièrement. C’est important de bien comprendre ce que la licence autorisera tes utilisateurs à faire de ton travail. Et n’hésite pas à demander ici même si tu as la moindre interrogation ;)

+2 -0

Pour les en-têtes de licence, il y a la spécification SPDX.

Par exemple avec LGPL 3, on peut mettre en début de fichier le commentaire suivant:

// SPDX-License-Identifier: LGPL-3.0-only

ou

// SPDX-License-Identifier: LGPL-3.0-or-later

La liste des identifiants se trouve ici: https://spdx.org/licenses/

La spéc définit également d’autres champs comme celui du copyright (SPDX-FileCopyrightText: 2021 Dupont Dupond <exemple@mail.com>).

@viki53 C’est bien gentil de masquer mon message pour "troll", mais ma réponse était très sérieuse. Se poser la question de mettre une licence implique qu’on se pose la question de à quoi cela sert.

Et rappeler que dans la majorité des cas, pour les petits projets, cela ne sert à rien en pratique, parce que : personne ne respecte les licences + on n’a aucun moyen de vérifier si la licence est respectée + on n’a pas les moyens de faire un recours légal si la licence n’est pas respectée.

Réfléchir à pourquoi on fait les choses, c’est une démarche saine, pas du troll.

Donc pour que ma réponse soit plus claire :

est-ce que vous pensez qu’il faudrait que je mette une licence sur ces scripts ?

Non, ce n’est pas indispensable pour un petit projet, ca sert a rien en pratique.

+1 -4

@gbdivers : Ce n’est pas parce qu’il y a des gens qui ne respectent pas les licences que ça ne sert à rien d’en mettre une. C’est d’ailleurs la base légale qui servira si besoin de se protéger d’une utilisation non autorisée.

Donc non, choisir une licence ne sert pas à rien, au contraire. Ton message ne se base que sur du cynisme, pas des faits.


P.S. : si tu as une remarque sur un acte de modération n’hésite pas à passer en privé (avec moi ou toute autre modérateur) pour ne pas polluer ce sujet.

personne ne respecte les licences

gbdivers

Et je rajoute que ceci est faux. Outre mon cas personnel, celui de Zeste de Savoir, beaucoup d’autres projets libres, j’ai travaillé pour au moins trois entreprises qui faisaient assez attention aux licences pour refuser d’intégrer des outils en GPL dans du code non compatible.

Malgré tout, s’il y a une véritable volonté de faire reconnaître cette licence/contrat devant une juridiction française ou européenne, je pense que m’orienterais plutôt vers des équivalents du genre CeCILL :

  • CeCILL (compatible GNU GPL)
  • CeCILL-B (compatible BSD)
  • CeCILL-C (compatible LGPL)

La GNU GPL (et d’autres licences libres classiques) souffrent de quelques soucis que la FAQ CeCILL expliquera mieux que moi :

La GNU GPL comporte des stipulations problématiques au regard du droit français :

  • non respect des mentions obligatoires prévues à l’article L.131–3 du Code de la propriété intellectuelle (CPI) qui imposent notamment que le domaine d’exploitation des droits cédés soit délimité ;
  • présence de clauses d’exonération totale de responsabilité et de garantie à l’égard de tout licencié, non valides au regard de :
    • l’article L.132–1 du Code de la consommation qui déclare nulles ces clauses lorsque le licencié est un utilisateur "consommateur" ou non professionnel,
    • l’article 1386–15 du Code civil qui interdit ces clauses en cas de dommages causés par la défectuosité d’un logiciel à un consommateur ou non professionnel.

De plus, la GNU GPL, en faisant le choix de ne pas citer le droit auquel elle se réfère, introduit un élément important d’insécurité juridique. Le jugement d’un tribunal de Munich en 2004 a ainsi dû l’interpréter au regard de la loi allemande et n’a pas pu déterminer exactement si certaines clauses étaient valides ou non. CeCILL, par la mention du droit français et le respect des directives et règlements européens, est, de ce point de vue, juridiquement beaucoup plus robuste.

http://www.cecill.info/faq.fr.html

Avec la GNU GPL, j’ai un peu l’impression qu’on joue au petit bonheur la chance et que chaque juridiction non américaine est toujours dans un certain embarras quand il faut l’interpréter. Je pense notamment à une récente affaire entre Orange et Entr’ouvert qui s’est enfin réglé en Cour d’appel. Du coup, me baser sur des anciennes affaires me paraît quand même hasardeux.

Avec la GNU GPL, j’ai un peu l’impression qu’on joue au petit bonheur la chance et que chaque juridiction non américaine est toujours dans un certain embarras quand il faut l’interpréter. Je pense notamment à une récente affaire entre Orange et Entr’ouvert qui s’est enfin réglé en Cour d’appel. Du coup, me baser sur des anciennes affaires me paraît quand même hasardeux.

J’ai vu passer l’affaire, en effet. Je peux me tromper, mais j’ai l’impression que le compte-rendu (je ne me souviens plus du terme exact, désolé ^^ ) indique que Entr’Ouvert a reproché à Orange d’avoir utilisé leur framework LASSO sans leur demander leur accord pour l’intégration à un logiciel propriétaire… sauf que cet usage est autorisé par la GPLv2. Ce que la GPL interdit, c’est le fait de redistribuer une version modifier du programme sans en distribuer les sources.

Il existe d’ailleurs une "faille" dans la GPL qui fait que si tu modifies le logiciel mais ne la redistribues pas (par exemple, si elle est simplement exécutée sur un serveur sous sa forme modifiée), alors tu n’es pas obligé de redistribuer son code. C’est un problème qui a reçu une réponse avec la AGPL, qui oblige de partager le code dès lors que l’on met en ligne une version modifiée d’un logiciel (il y a eu le cas il y a quelques temps avec certains forks de Mastodon, notamment, dont Eugen avait obtenu la publication du code modifié en accord avec la licence).

+1 -0

Les gros inconvénients des licences CeCILL c’est qu’elles sont inconnues et franco-françaises, donc elles sécurisent le cas en France au prix d’une plus grande insécurité partout ailleurs. Elles peuvent être intéressantes selon avec qui tu travailles, ou en double licence, mais j’ai un doute sur leur pertinence en licence seule pour le cas général.

Les gros inconvénients des licences CeCILL c’est qu’elles sont inconnues et franco-françaises, donc elles sécurisent le cas en France au prix d’une plus grande insécurité partout ailleurs. Elles peuvent être intéressantes selon avec qui tu travailles, ou en double licence, mais j’ai un doute sur leur pertinence en licence seule pour le cas général.

SpaceFox

Je me permets de citer ce passage de la FAQ de la CeCILL qui évoque cet aspect, mais à titre informatif (je n’ai pas les compétences pour me prononcer sur la pratique) :

Le fait que les licences de la famille CeCILL soient soumises au droit français signifie-t-il qu’elles ne sont utilisables qu’en France ?
Non. Les licences CeCILL, CeCILL-B et CeCILL-C sont des licences mondiales, c’est à dire qu’elles concèdent des droits pour tous les pays. Ce caractère mondial n’est pas du tout incompatible avec la désignation du droit applicable et de la juridiction compétente. Le fait qu’un contrat se réfère à une loi nationale ne signifie nullement qu’il n’est valable que sur le territoire du pays concerné

http://www.cecill.info/faq.fr.html#international

Mais quand je vois le casse-tête juridique des licences « à l’américaine » quand on sort des USA, j’aurais quand même peur que ça ne sécurise finalement pas grand chose en dehors du pays d’origine (ou du moins en dehors des pays en Common Law).

Reste peut-être l’option des licences multiples, au pire.

Sinon, il y aussi les European Union Public Licence qui ont une portée au moins européenne. Elles sont traduites en 22 langues et sont compatibles GPL. Cependant, elles ont l’air plus générales, même si l’on parle bien de « logiciel » dans le texte du contrat/licence.

En fait face à une licence inconnue, tu vas avoir deux types de réaction :

  1. Tu arrives à la comprendre assez (ou tu as une équipe juridique pour la comprendre assez) pour lui faire confiance et l’accepter ;
  2. Tu regardes ce qui est déjà passé en justice et ce qui est conseillé par les autorités et tu tapes là-dedans.

Ça revient à choisir entre une interprétation théorique de la licence (avec risque de se planter, surtout en étant non spécialiste), et une interprétation validée par la justice du pays (avec risque que l’interprétation change). D’ailleurs, de mémoire, l’une des causes de la création des licences CeCILL était qu’à l’époque, il n’y avait aucune décision de la justice française sur des licences libres (cas 2 inexistant et aucune garantie d’interprétation des licences existantes, entre autres parce que rédigées en anglais uniquement).

Dans le cas particulier de la France, le gouvernement donne explicitement une liste des licences utilisables par les administrations – la licence Apache, les BSD 2 et 3 clauses, la MIT, GPL/AGPL/LGPL en v3, MPL et bien sûr les 3 CeCILL. Ça apporte une certaine garantie sur leur utilisation.

Bonsoir,

Je pense que vous êtes tous des grands utilisateurs de logiciel libre dans vos projets, et que vous faites attention aux licences. Et je ne peux faire que vous en félicité.

Cependant, en revenant au contexte de ce post, je me permets 2 remarques :

  • Je suis de l’avis de GBDivers. Si ces scriptes n’ont que peu de valeurs techniques et commerciales, on peut les diffusés et tout le monde les utiliser même s’il n’y a pas de licence. Il n’est pas impératif de mettre une licence pour mettre à disposition du soft. La licence, c’est pour protéger l’auteur.
  • Cependant, si l’objectif est d’impressionner un employeur, là, c’est différent : Choisis bien ta licence et prépare-toi à défendre ton choix, surtout si tu tombes sur un employeur qui comme nos amis est strict sur ce point particulier.

Cordialement

Si ces scriptes n’ont que peu de valeurs techniques et commerciales, on peut les diffusés et tout le monde les utiliser même s’il n’y a pas de licence. Il n’est pas impératif de mettre une licence pour mettre à disposition du soft. La licence, c’est pour protéger l’auteur.

En fait, non. On ne peut pas. C’est une pratique courante, mais pas du tout légale, attention à ne pas confondre les deux (et c’est là tout le point de discussion).

D’autre part, la licence n’existe pas seulement pour protéger l’auteur du script : elle est aussi là pour protéger les utilisateurs. Elle évite que tu utilises un code en te disant « c’est OK, j’aie le droit », et que l’auteur te demande des dommages et intérêts parce qu’il est autorisé à te les demander. Avec une licence, tu peux prouver que tu étais dans ton droit.

Alors, OK, sur des petits scripts, le risque que l’auteur vienne t’emmerder avec ça est faible.

Cela dit, @gbdivers et @Dedeun, la question que je vous poserait est plutôt la suivante : puisque ça ne coute littéralement rien de mettre une licence à ces scripts pour autoriser officiellement à les réutiliser, pourquoi ne pas le faire ? Quel serait l’intérêt (pour l’auteur des scripts) à les laisser publics mais sans licence ?

Cela dit, @gbdivers et @Dedeun, la question que je vous poserait est plutôt la suivante : puisque ça ne coute littéralement rien de mettre une licence à ces scripts pour autoriser officiellement à les réutiliser, pourquoi ne pas le faire ? Quel serait l’intérêt (pour l’auteur des scripts) à les laisser publics mais sans licence ?

SpaceFox

Je ne pose pas de question, mais fait plutôt une remarque générale : les licences, ce n’est pas un truc magique, on met un licence et le code est automatiquement protégé. Il y a un gouffre entre la théorie et ce qu’il se passe concrètement.

Ce n’est pas suffisant de dire "on ne peut pas" si la réalité est "c’est une pratique courante". Honnêtement, qui a deja copier-coller un code d’internet (StackOverflow, GitHub, Zeste de Savoir, etc) en vérifiant les CGU du site ?

Et bien sûr qu’il y a des exemples où les licences ont été utilisée. Mais cela ne change rien au fait que dans la majorité des cas, si on copier-colle quelques lignes de script, c’est impossible à détecter. (Je serais incapable de vérifier dans ma propre boite si quelqu’un ne respecte pas la licence de quelques lignes de code qu’il aurait copier-coller. Alors une personne extérieure, c’est impossible à vérifier)

Et surtout il y 0 chance que le PO se lance dans un procès coûteux pendant des années pour faire respecter une licence sur son code.

puisque ça ne coute littéralement rien de mettre une licence à ces scripts pour autoriser officiellement à les réutiliser, pourquoi ne pas le faire ?

Et pour répondre à ta question : je fais pareil que tout le monde, je mets une licence. Parce que c’est automatique (dans GitHub ou dans les template de fichier que j’utilise).

Mais cela reste purement symbolique, ca n’a aucun intérêt en pratique.

Et cela ne me semble pas un mauvaise chose d’expliquer les enjeux concrets derrière les licences.

+0 -0

Dans ma boite, on a l’obligation de vérifier les licences, et on a déjà dû recoder des trucs parce que des fichiers de 50 lignes n’avait pas de licence, ou pas la bonne pour notre projet (GPL). Donc en milieu pro, il faut qu’une licence soit précisé.

Dans de nombreuses distributions, typiquement Debian, mais aussi Fedora, je crois, les logiciels pour lesquels on a le moindre doute de licence sautent des dépôts. Par effet de bord, il faut que les logiciels soient propres sur la question. Si on commence à se demander si les scripts de l’un ne viennent pas, en fait, d’un script sans licence (donc propriétaire / tous droits réservé), je parie qu’il quitte les dépôts Debian très rapidement.

Donc, que ce soit d’un point de vue professionnel, ou du monde de l’Open Source, une licence est indispensable.

Si tu t’en fiche de ce que devient ton petit script, tu mets une licence permissive du genre MIT ou Apache, et c’est fini.

Concernant le côté troll, mettre un tag #RealWorld façon « moi je sais comment marche le monde », alors qu’en entreprise, copier un script sans licence est un coup à se faire salement engueuler… J’ai, personnellement, provoquer l’arrêt d’un projet professionnel en me rendant compte d’un changement de licence. Si je n’avais rien dit, on aurait continué à fond perdu (car au final, projet inexploitable).

+6 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte