Quelle est la meilleure licence logicielle pour moi?

Chaque pratique de développement nous oblige à utiliser une sorte de licence pour notre code source à un moment donné. Il existe un grand nombre d’options de licence parmi lesquelles choisir. J’essaierai de donner mon analyse complète des licences les plus courantes que nous utilisons chez Shakuro dans différents projets de développement web / mobile / logiciel.

Licence du domaine public

Une licence équivalente du domaine public appartient aux licences qui accordent des droits similaires au domaine public et / et agissent comme des dérogations. Ils sont utilisés pour rendre les œuvres protégées par le droit d’auteur utilisables par quiconque sans conditions tout en évitant les complexités d’attribution ou de compatibilité de licence qui se produisent avec d’autres licences. Cependant, dans différents pays, le concept de domaine public peut ne pas être défini ou défini de manière différente, l’utilisation de cette licence peut donc présenter certains risques.

Zéro / domaine public (CC0)

CC0 a été créé pour améliorer la compatibilité avec les domaines juridiques qui n’ont aucun concept de dédier au domaine public. Ceci est réalisé par une déclaration de renonciation du domaine public et un retour à la licence tout-permissive.

Licence de logiciel permissive

La licence logicielle permissive, parfois également appelée licence de type BSD ou BSD, est une licence de logiciel libre avec des exigences minimales sur la façon dont le logiciel peut être redistribué. De telles licences nécessitent plus que d’attribuer les parties originales du code sous licence aux développeurs d’origine dans votre propre code et / ou documentation.

Les exemples de licences permissives sont la licence MIT, les licences BSD, la licence Apple Public Source et la licence Apache.

Licence de logiciel Copyleft

Le copyleft est une approche générale pour construire un programme de manière non contrainte qui nécessite que toutes les versions modifiées et étendues du programme soient également gratuites. Les licences Copyleft pour les logiciels nécessitent les informations nécessaires pour reproduire et modifier le travail, pour être mises à la disposition des destinataires des binaires. Mais qu’est-ce que cela signifie dans la pratique?

Si vous distribuez votre application et utilisez une bibliothèque Copyleft dans le cadre de votre application (même si ce n’est que la liaison d’exécution à une bibliothèque) même si vous ne chargez rien et même si vous ne changez pas cette bibliothèque dans de toute façon, vous devez mettre le code source de votre application à la disposition des utilisateurs finaux.

Rendre la source disponible ne signifie pas que les utilisateurs peuvent la télécharger automatiquement. Il se peut que vous deviez obtenir une demande écrite, puis envoyer des sources. Vous ne pouvez pas échapper à l’obligation de mettre votre propre code source à la disposition des utilisateurs finaux.

Les exemples de licences Copyleft: licences GPL, IBM Public License.

Les hybrides (combinaisons de licences permissives et copyleft)

MPL v2.0 (Mozilla Public License Version 2.0) est une licence copyleft facile à respecter. Vous pouvez combiner le logiciel MPL version 2.0 avec un code propriétaire.

  • Si vous ne le modifiez pas, vous devrez simplement fournir un lien vers les sources de la bibliothèque. Cela ressemble beaucoup à une licence permissive.
  • Si vous le modifiez, vous devrez fournir des sources pour les fichiers modifiés (pas le projet entier). Cela ressemble un peu à une licence Copyleft faible.

Compatibilité des licences

Les flèches vectorielles indiquent une compatibilité unidirectionnelle, donc une meilleure compatibilité du côté gauche («licences permissives») que du côté droit («licences copyleft»).

La comparaison des licences de logiciels libres et open source

Reportez-vous à Comparaison des licences de logiciels libres et open-source pour savoir si la licence est compatible avec votre projet.

Les licences logicielles en bref

En général, toutes les licences de logiciels ont un point commun: «Conservez la notice de copyright». Le moins que vous puissiez faire est d’inclure une notice de copyright dans votre documentation ou un contrat de licence utilisateur final (CLUF). Par exemple, «Ce logiciel utilise le nom de la bibliothèque. Voir library-license.txt ”.

La licence MIT

La licence MIT est une licence de logiciel libre créée par le MIT (Massachusetts Institute of Technology). Étant une licence permissive, elle impose des restrictions très limitées sur la réutilisation, ce qui signifie qu’elle a une grande compatibilité de licence.

Points clés:

  • Gardez l’avis de copyright.
  • Vous êtes libre de modifier, redistribuer et même sous-licencier le code sous une autre licence.
  • L’auteur original n’est pas responsable des dommages résultant de leur code.

La licence BSD

La licence BSD fait partie d’une famille de licences de logiciels libres permissives, imposant des restrictions minimales sur l’utilisation et la redistribution des logiciels couverts. Contrairement aux licences copyleft, avec des exigences de réciprocité de partage, la licence BSD est une licence simple qui nécessite simplement que tout le code sous licence BSD soit sous licence BSD si redistribué au format de code source.

Points clés:

  • Gardez l’avis de copyright.
  • Vous êtes libre d’utiliser, de redistribuer et de concéder sous licence le code sous une autre licence.

La licence Apache 2.0

La licence Apache 2.0 est une licence de logiciel libre permissive de la Apache Software Foundation. La version 2.0 nécessite la préservation de l’avis de copyright et de la clause de non-responsabilité. Il permet également à l’utilisateur du logiciel la liberté d’utiliser le logiciel dans n’importe quel but, de le modifier et de distribuer les versions modifiées du logiciel, selon les termes de la licence, sans souci de redevances.

Points clés:

  • Gardez l’avis de copyright.
  • Votre logiciel doit contenir une copie de la licence Apache 2.0.
  • Vous êtes libre d’utiliser, de modifier, de distribuer et de redistribuer le logiciel.
  • Si vous modifiez le code, vous devez notamment mentionner vos modifications.
  • S’il existe un fichier texte appelé AVIS, prenez le temps de le lire. Il contient des informations supplémentaires sur les parties spécifiques de la licence et l’objectif du logiciel.
  • Le fichier AVIS doit également être inclus dans votre version du logiciel.

La licence GPL

La licence GPL est la première licence copyleft à usage général. Une licence copyleft signifie que le travail dérivé ne peut être distribué que sous les mêmes conditions de licence. Cela se distingue des licences de logiciels libres permissives comme les licences BSD et la licence MIT.

Points clés:

  • Conservez l’en-tête de licence.
  • Votre version logicielle doit également être sous licence GPL.
  • Si quelqu’un le demande, vous devez rendre les sources disponibles.

La licence MPL 2.0

La licence publique Mozilla (MPL) est une licence logicielle gratuite et open source développée et maintenue par la Fondation Mozilla. C’est une licence de copyleft faible, caractérisée comme un compromis entre les licences de logiciel libre permissives et la licence publique générale GNU (GPL), qui cherche à équilibrer les préoccupations des développeurs propriétaires et open source. La version 2.0 présente des mises à jour majeures dans le but d’une plus grande simplicité et d’une meilleure compatibilité avec d’autres licences.

Points clés:

  • Gardez l’avis de copyright.
  • Fournissez le lien vers la source de code MPLed.
  • Si vous modifiez le code, vous devez mettre à disposition les parties sous licence MPL du code source et informer les destinataires de la manière de les obtenir.

Vous voudrez peut-être envisager une licence «d’utilisation perpétuelle».

Cela donne à vos clients une licence pour utiliser le logiciel pour toujours, (sans autres demandes de paiement) – mais ne transfère pas la propriété. Les mises à niveau suivantes sont publiées avec leur propre licence d’utilisation perpétuelle.

Microsoft et de nombreux autres fournisseurs utilisent ce modèle pour leurs logiciels de bureau et de serveur. Le contrat de licence utilisateur final (eula) contient des restrictions sur cette licence, comme vous ne pouvez l’utiliser que sur 2 machines, etc.

En bref, vous auriez besoin d’une licence de logiciel propriétaire.

Vous devez rédiger un contrat de licence utilisateur final (CLUF) ou, en d’autres termes, des termes et conditions pour l’utilisation de votre logiciel.

Voici un lien intéressant que j’ai trouvé sur le droit d’auteur:

10 grands mythes sur le droit d’auteur expliqués