Alors, le sujet des licences libre est extrêmement compliqué et dépend potentiellement des législations nationales.
À notre niveau néanmoins nous pouvons simplifier un peu.
Pour commencer, ont peut considérer qu’il existe deux grandes catégories de licences libres, les licences à copyleft et celles sans copyleft.
Une licence à copyleft implique que toute modification du code, en cas de distribution du programme, devra elle même être distribuée sous copyleft. Cela n’exclue pas d’utiliser le code dans un projet qui lui même n’est pas copyleft, mais toute modification du code de base devra, elle être publiée.
Finalement, wikipédia explique assez bien le copyleft :
La GPL ne donne pas à l’utilisateur des droits de redistribution sans limite. Le droit de redistribuer est garanti seulement si l’utilisateur fournit le code source de la version modifiée. En outre, les copies distribuées, incluant les modifications, doivent être aussi sous les termes de la GPL.
Cette condition est connue sous le nom de copyleft, et il obtient son origine légale du fait que le programme est « copyrighté ». Puisqu’il est copyrighté, l’utilisateur n’a aucun droit de le modifier ou de le redistribuer, sauf sous les termes du copyleft. On est obligé d’adhérer à la GPL si on souhaite exercer des droits normalement limités (voire interdits) par le copyright, comme la redistribution. Ainsi, si on distribue des copies du travail sans respecter les termes de la GPL (en gardant le code source secret par exemple), on peut être poursuivi par l’auteur original en vertu du copyright.
LA licence à copyleft la plus connue c’est clairement la GNU/GPL. Selon les cas d’autres licences peuvent êtres compatibles et donc permettre de re-distribuer un code sous licence GNU/GPL sous une autre licence (c’est notamment le cas de la licence Creative Commons, dans certaines de ses formes).
À cause de l’aspect copyleft des licences GNU, de nombreux acteurs de type entreprise, Facebook, Twitter, Google et de nombreux autres, préfèrent publier leurs projets sous d’autres licences qui ne sont pas copyleft, leurs évitant par exemple de devoir publier les modifications de codes pour leurs partenaires. Parmi les plus utilisées tu as la licence BSD, MIT ou la licence Apache.
De façon plus générale, ont peut résumer le choix de licence avec ou sans copyleft à la question suivante :
Quel est le but de la publication sous licence libre ?
Si publication est envisagée comme un combat politique pour la diffusion du logiciel libre, non pas pour un aspect technique, mais pour un aspect tenant profondément à l’éthique liée au logiciel libre (liberté des utilisateurs, défense de la vie privée, etc.). Alors une licence copyleft est plus pertinente. Elle protège de fait le produit d’une utilisation malveillante cachée et participe à « répandre le cancer du logiciel libre » comme l’avait dit à une époque le patron de Microsoft (à noter que ça a été très mal pris mais que le parallèle est extrêmement pertinent).
Si à l’inverse la publication est envisagée comme un moyen de simplifier la distribution du code, mais sans intérêt politique pour le logiciel libre en tant que tel, alors une licence sans copyleft sera plus pertinente.
Par ailleurs, l’utilisation d’une licence sans copyleft peut aussi être un choix politique. J’ai par exemple un ami qui est relativement opposé à la licence GNU car lui considère le logiciel libre comme devant offrir une liberté absolue à l’utilisateur, ce qui inclurait donc la liberté de transformer un logiciel libre en logiciel privateur. C’est un point de vue que l’on pourrait rapprocher d’une vision libertarienne du logiciel libre.
Dans ce cas, il existe deux licences adaptées. La Creative Commons 0, qui est très compliquée, et la WTPFL qui a ma connaissance est ce qui se rapproche le plus aujourd’hui en France du renoncement volontaire au droit d’auteur et au droit morale (ce qui est techniquement impossible en Europe), potentiellement trop pour être admis dans le cadre du droit Européen.
La CC0 a l’avantage d’être largement reconnue et juridiquement assez béton, la WTPFL a l’avantage de faire 10 lignes et d’être compréhensible par tous, ce qui n’est vraiment pas à négliger pour moi et fait parti de l’aspect libertaire de cette licence.
Quand à rajouter des termes interdisant l’utilisation d’un logiciel à des entreprises en particulier, ça me semble théoriquement possible, à condition éventuellement de viser des secteurs d’activité et des critères mesurables (à condition de ne pas être discriminants) plutôt que des entreprises, puisqu’il s’agirait simplement de rajouter des conditions au copyright.
Néanmoins, je pense qu’il peut être utile de s’interroger sur trois points.
Premièrement, la fiabilité et l’utilisabilité de telles restrictions. Par exemple interdire à Total d’utiliser aujourd’hui le logiciel pour leur exploitation du pétrole pourrait demain les empêcher de l’utiliser pour exploiter des énergies renouvelables. De même, lister tous les cas d’utilisation malveillante est impossible.
Deuxièmement, l’opportunité d’une restriction. Considères-tu que la diffusion libre de ton code est là pour donner tous les droits aux utilisateurs, ou bien pour protéger ton code ?
Le paragraphe si dessous n’est pas une attaque, mais un réel questionnement que je t’invites à te poser, avec d’autant plus de bienveillance que mon travail de développeur m’a moi même amené à devoir me poser ces questions.
Enfin, la situation de « juge » dans laquelle cela te place. Car après tout, qui es-tu pour choisir qui est digne d’utiliser ou non du code libre (fût-ce le tiens) ?
Es-tu certain que le toi de demain sera d’accord avec les opinions et décisions du toi d’aujourd’hui ? Penses-tu que la haute probité de ton jugement est si fiable, pour décider ainsi à toi seul de ce qui est bien et mal ? Ou bien, considères-tu ton droit à disposer moralement de l’œuvre de ton travail comme bon te sembles, comme supérieur à la vision sociétale de bon et de mauvais ?
Comme tu le vois, cela pause des questions. C’est de ces questions que dépendront le choix final de la licence.
Enfin, comme je l’ai signalé précédemment, le droit Européen ne permet pas le renoncement au droit morale ou la mise volontaire dans le domaine public. Aussi, tu pourrais toujours à ce titre interdire la diffusion de ton œuvre (je ne sais pas en revanche s’il te serait possible d’interdire l’utilisation à certaines entreprises ou entités en particulier).