licences logiciel libre

Les licences d’utilisation en data science

Emmanuel Jakobowicz méthode Laissez un commentaire

Cet article fait suite à de nombreux échanges liés aux licences d’utilisation dans le logiciel libre. Même s’il s’agit d’un thème plutôt juridique il est central pour de nombreux acteurs de la data science. Je parle ici des licences liées aux outils logiciels et non des licences liées aux documents (comme Creative Commons).

    Qui est concerné par la licence d’utilisation ?

    Nous nous intéressons ici aux licences libres (open-source) et non aux licences commerciales.

    La première personne concernée par la licence, c’est le développeur et les contributeurs à un projet open-source. Mais pas uniquement ! Les utilisateurs sont aussi concernés. Avec l’apparition de nombreux data scientist, l’utilisateur devient aussi développeur et pourra contribuer à des projets ou créer ses propres projets open-source ou non.

    Le choix de la licence d’utilisation

    La première personne concernée par la licence, c’est le développeur et les contributeurs à un projet open-source. Dans le domaine de la data science, 4 licences sont généralement choisies :

    • La licence BSD modifiée
    • La licence Apache
    • La licence GPL
    • La licence L-GPL

    Ces licences ont été mises au point par la communauté et concernent la plupart des outils open-source en data science. On trouve aussi souvent des licences dites MIT, mais il faut être prudent avec ces licences, il s’agit souvent d’un raccourci car le MIT utilise différentes licences.

    De nombreux courants de pensées prévalent sur le choix des licences pour les développeurs, je les résumerais ainsi :

    • « J’ai pas envie de me prendre la tête ! Je choisis la licence la plus simple. » : Dans ce cas, c’est généralement la BSD modifiée qui est sélectionnée.
    • « J’ai pas envie que des développeurs fassent du business sur mon dos sans enrichir la communauté » : Dans ce cas, c’est la GPL qui est généralement sélectionnée.
    • « J’ai regardé les projets similaires au mien, j’ai cherché le mode en terme de choix de licence et j’ai fait mon choix » : Dans ce cas, la communauté aura un impact important.
    • « J’en ai aucune idée donc je vais voir un conseil » : Dans ce cas, on peut se retrouver avec des licences d’utilisation « sur mesure » qui servent bien souvent surtout à enrichir le conseil en question.

    Il y a bien sûr pleins d’autres cas mais ces 4 cas illustrent bien les premières réactions des développeurs.

    Globalement, j’aurais quelques conseils à suivre afin de bien choisir une licence d’utilisation :

    • S’agissant d’un projet open-source, utilisez une licence existante.
    • Si votre projet dépend d’autres projets, essayez d’être cohérent avec ceux-ci (compatibilité de licence).
    • L’open source est basé sur le partage et sur la communauté, mais il ne s’oppose pas à la notion de business donc ne soyez pas trop rigide sur les conditions d’utilisation.

    Besoin de plus de détails sur les licences ? Alors, on continue !

      Description des 4 licences principales

      Licence GNU-GPL v3

      Points clés

      C’est la licence la plus utilisée pour les logiciels applicatifs. En data science, elle est surtout connue comme étant la licence de R. Elle se base sur 4 libertés des utilisateurs :

      • la liberté d’utiliser le logiciel à n’importe quelle fin,
      • la liberté de modifier le programme pour répondre à ses besoins,
      • la liberté de redistribuer des copies à ses amis et voisins,
      • la liberté de partager avec d’autres les modifications qu’il a faites.

      Ces libertés amènent des devoirs aussi. Ce qui est le plus marquant est le quatrième point qui force à publier une version modifiée du logiciel à partir du moment où celui-ci est distribué.

      Par ailleurs, cette licence est aussi considérée comme contaminante. C’est-à-dire que si vous utilisez du code sous licence GNU-GPL v3, votre code devient automatiquement sous licence GNU-GPL v3.

      On comprend aisément pourquoi certains développeurs et utilisateurs issu du développement propriétaire peuvent être frileux avec cette licence. C’est néanmoins la meilleure licence pour assurer un développement cohérent des communautés open source.

      Logo

      licence GPL-V3

      Projets

      logo R logo tidyverse

      Licence BSD modifiée

      Points clés

      Cette licence est une licences extrêmement permissive.  Elle est proche du domaine publique avec quelques protections.

      Le code source publié sous licence BSD peut être incorporé dans des logiciels propriétaires. La licence BSD n'est pas contaminante.

      Ces principes sont les suivants :

      • la licence BSD impose certaines contraintes lors de la redistribution,
      • elle protége les auteurs quant à l'emploi de leur nom dans des produits dérivés,
      • elle décharge les auteurs des éventuels problèmes connus ou inconnus liés à l'utilisation du code.

      La licence BSD est GPL compatible. Ceci implique que l'on peut intégrer du code sous licence BSD dans un outil sous licence GPL. Le résultat est alors automatiquement sous licence GPL.

      Logo

      licence BSD

      Projets

      logo scikit learn logo numpy logo julia logo pandas logo matplotlib

      Licence L-GPL

      Principe

      Il s'agit d'une évolution de la licence GPL pour la rendre plus souple à l'utilisation en combinaison avec des logiciels propriétaires.

      La LGPL autorise à lier le programme sous cette licence à du code non LGPL, sans pour autant révoquer la licence. Cette Licence LGPL permet donc de s'affranchir du caractère contaminant de la licence GPL. Elle est surtout présente dans des bibliothèques.

      Logo

      licence LGPL-V3

      Licence Apache 2

      Points-clés

      La licence Apache 2 est une licence très permissive. Elle a été développé par la fondation Apache et s’applique à tous ses projets. Elle peut être utilisée par des développeurs externes à la fondation. Elle n’est pas contaminante et elle est GPL v3 compatible.

      Le logiciel sous licence Apache 2 peut être librement utilisé, reproduit, modifié, distribué ou vendu.

      Les produits dérivés ou modifiés à partir d’un logiciel sous licence peuvent être distribués sous d’autres licences. Par contre, les logiciels sous licence Apache ne peuvent pas être redistribués sans attribution. Une copie de la licence doit être redistribuée avec tout logiciel Apache.

      Logo

      licence apache 2

      Projets

      logo spark logo openrefine logo hadoop logo H2O

        Aller plus loin

        J’espère vous avoir donné quelques clés pour comprendre les licences d’utilisation des logiciels libres. Pour aller plus loin voici quelques liens intéressants :

        Si vous avez besoin de conseil sur ces sujets, n’hésitez pas à contacter STAT4DECISION, nous nous ferons un plaisir de vous guider dans ces questionnements.

        Partager cet article

        Laisser un commentaire

        Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *