Utiliser les multilicences

De Veni, Vidi, Libri :: Le Wiki

Cet article répond à des questions qui furent posées sur le multilicenciement et tente de tracer rapidement les grands axes de ce mécanisme. Il est issu en grande partie de l' étude juridique de Benjamain Jean portant sur la compatibilité entre contrats, et d'autres articles qui furent rédigés en leur temps sur la compatibilité entre la LAL et la CC-By-SA.

Le multi-, ou dual-, licenciement est l'une des solutions fréquemment avancées pour résoudre les conflits absurdes, et abscons, d'incompatibilités qui surgissent de toute part au sein des communautés du Libre (des licences copyleft identiques dans leur effet, le sont à tel point qu'elles en deviennent incompatibles).

Comment ça marche ?

Contrairement à ce que beaucoup semblent croire, le multilicenciement se trouve être une technique simple et efficace. Il consiste pour le(s) titulaire(s) des droits à consentir plusieurs licences non exclusives sur une même œuvre : technique habituelle au sein des licences classiques que rien n'interdit de transposer aux licences FLOS, afin de les cumuler ou de les rendre alternatives.

À quoi ça sert ?

Les droits conférés par chaque licence s'ajoutent au profit du licencié, celui-ci pouvant utiliser ses droits en conformité à l'une ou l'autre des licences. Plusieurs avantages peuvent être mis en avant :

  1. Le contenu sous licence est dès lors compatible avec la totalité des licences qui lui sont adjointes[1], auxquelles se rajoutent les licences avec lesquelles elles sont déjà elles-mêmes compatibles. Une faille existe cependant : si des contributions lui sont apportées sous l'une seule des licences, alors l'œuvre nouvelle devra limiter sa licence à cette seule licence[2]. Ainsi, un tel mécanisme n'est viable qu'autant que l'ensemble des contributions se fasse sous licence multiple, quitte à ce que le donneur de licence s'inspire d'éventuelles contributions ultérieures pour les réécrire lui-même dans son œuvre. En dépit de cette relative précarité, le dispositif de multilicenciement assure cependant une meilleure compatibilité.
  2. Le licencié dispose de beaucoup plus de droits dès lors qu'ils sont contenus dans au moins une des licences, même s'il est souvent adjoint d'une obligation et qu'il faut alors se conformer à celle-ci pour disposer du droit. En quelque sorte, le multilicenciement permet d'ajouter une liberté au licencié qui est celle du choix de la licence à laquelle il se soumet (sachant que ce choix est tout de même limité, mais de manière pragmatique).
  3. De plus, le multilicenciement permet de limiter le copyleft global qui s'applique à l'œuvre par cela même que, le licencié pouvant utiliser tout droit compris dans l'une au moins des licences, ce sont les dispositions de la licence la plus permissive qui l'emportent[3].
  4. Enfin, si l'une des licences devait être annulée par une juridiction nationale, le licencié pourrait toujours revendiquer les droits conférés par l'autre[4]. Pour finir, cette stratégie — à laquelle certains pouvaient préférer une licence très permissive comme la licence BSD — a l'avantage de cumuler copyleft et compatibilité.

Quand est-ce utile ?

Le multilicenciement est un remède qui peut être utilisé à bon escient par les auteurs afin de pallier les discordes entre les différentes communautés, en versant ainsi – toujours sous licences copyleft – dans divers pots communs.

Mais les doubles licences sont particulièrement intéressantes lorsqu'il s'agit de limiter par la même occasion l'une des licences : une double licence MPL/GNU GPL permet d'appliquer les deux licences, ou l'une au choix, dans les limites d'un copyleft standard. Par exemple, la double licence GFDL/LAL est un bon choix lorsque l'œuvre concernée est autre chose qu'une simple documentation de logiciel et qu'elle a vocation à être utilisée conjointement avec d'autres œuvres sous licences différentes (la GFDL disposant d'un copyleft fort, calqué sur la rédaction de la GNU GPL).

Quand est-ce inutile ?

Par soucis de compatibilité, certains développeurs ont tendance à cumuler les licences pour un même projet. Aussi louable que soit l'intention, une simple analyse logique nous permet d'affirmer que les licences multiples ne sont véritablement utiles que si elles permettent d'associer plusieurs licences qui sont originairement incompatibles. Dans le cas contraire, la licence compatible « contenant » déjà la seconde licence, la réunion des deux ne confère ainsi aucune prérogative spéciale au licencié : la réunion d'un ensemble avec un autre qui lui est inclus est égale au premier ensemble[5].

L'atout des licences multiples est en revanche indéniable lorsqu'il s'applique à plusieurs licences incompatibles tendant au même but. Les communautés peuvent alors ajouter leur force pour développer un logiciel en commun, le travail de l'une profitant à l'autre : c'est en quelque sorte un retour aux sources du libre, en construisant des ponts pour relier deux communautés qui se sont éloignées.

Ce mécanisme concerne-t-il uniquement les licences libres ?

Non, bien sûr : différent, mais impossible à passer sous silence, le cumul de licences FLOS et non-FLOS tend à se multiplier grâce au succès remporté par quelques grandes entreprises conceptrices de logiciels. La technique consiste à allier les atouts des licences libres pour permettre le développement des logiciels, tout en proposant aussi des licences commerciales à ceux qui désirent dépasser les limitations et obligations des licences FLOS[6]. Trois sociétés[7] illustrent tout à fait le propos : MySQL AB, Sleepycat Software Inc. et TrollTech AS. MySQL AB[8] est récemment passée de la GNU LGPL à la GNU GPL. Loin d'être neutre, ce changement de licence revient à imposer à tout programme auparavant non soumis à la GNU LGPL de se soumettre à la GNU GPL s'il désire bénéficier des versions postérieures. Dès lors, les titulaires de logiciels propriétaires acquirent des licences commerciales pour échapper à la réciprocité. D'un autre côté, la licence envisage une exception spéciale à la GNU GPL : l'exception FLOSS (Free Libre Open Source Softwares), qui permet aux autres logiciels FLOS (les licences sont listées dans l'exception) de se lier au programme sans avoir à passer en GNU GPL, ce qui aurait posé problème dans le cas de licences incompatibles. Bénéficiant d'un produit libre, la communauté FLOS permet le débogage du logiciel, ainsi que la soumission de contributions, intégralement réécrites par MySQL. Titulaire de l'ensemble des droits sur son œuvre, elle peut conserver la double licence, et de cette façon les partisans de systèmes propriétaires bénéficient, mais pas indûment — car sous forme de licence commerciale, permettant de financer d'autres contributions — d'un logiciel performant.

Sleepycat Software Inc.[9] développe pour sa part BerkleyDB (BSB), sous une licence spécifique qui ne permet son usage libre que si les logiciels l'utilisant distribuent aussi leur code source[10]. L'utilisation de la double licence GNU GPL/QPL pour la bibliothèque TrollTech AS ne nécessite pas plus de développement, le fonctionnement étant toujours le même[11]. Dans les deux cas, l'alternative reste de souscrire à une licence commerciale afin de s'affranchir des conditions de la licence libre dans un cadre propriétaire.

Des exemples ?

Les exemples sont nombreux dans l'histoire du Libre, et quelques-uns seulement furent cités, mais il est possible de citer – à notre échelle – la double licence que nous fûmes amenés à conseiller.

DéKiBulle est un logiciel « modulaire » en ce qu'il emprunte ces fonctionnalités à diverses autres briques logicielles, toutes sous des licences différentes (Apache, GNU GPL, etc.). Ces licences étaient manifestement incompatibles et aucune issue ne pouvait ressortir des contrats. La première phase fut donc de contacter l'auteur de la brique sous GNU GPL afin de lui proposer une exception sur son logiciel, ou une nouvelle licence avec un copyleft moins fort. La seconde étape fut de trouver une licence qui permet de maximiser la réutilisation, la distribution, et les contributions au logiciel libéré. Une licence avec un copyleft standard semblait donc nécessaire. Les possibilités sont alors multiples, et il fallait faire un choix : afin d'ouvrir un maximum de portes et d'en fermer un minimum, nous choisîmes la double licence CeCILL-C/GNU LGPL. La LGPL était un passage obligé pour ouvrir à un maximum de contributions, la CeCILL-C était l'assurance d'une licence très facilement compréhensible (elle est très inspirée de la MPL), un copyleft parfaitement défini, et la certitude d'une conformité à la loi française.

Dans ce cas précis, le choix d'une double licence CeCILL-C/GNU GPL aurait été sans conséquence en matière de droits accordés à l'utilisateur : la CeCILL-C étant la plus permissive des licences évoquées, elle définit la portée du copyleft aux dépends de la GNU GPL. L'utilisation de la GNU LGPL en lieu et place de la GNU GPL assure toutefois la compatibilité avec une licence supplémentaire – GNU LGPL/GNU GPL/CeCILL-C/CeCILL.

Pour conclure, le choix d'une double licence peut être nécessaire dans certaines situations, comme il peut être volontaire dans le but d'ouvrir un maximum de potentialités à son œuvre.

N'y a t'il pas d'autres solutions ?

Pour l'instant : non. En choisissant une licence copyleft, l'auteur peut être certain que la licence sera incompatible avec une autre ; en choisissant une licence permissive, l'auteur s'assure d'une relative compatibilité, mais sans que soit pour autant garantie la liberté de son œuvre[12]


  1. Le contenu d'une œuvre sous triple licence peut ainsi valablement être repris et inséré dans une œuvre sous licence simple, double ou triple.
  2. Ainsi, en cas de licence multiple, la distribution du logiciel doit se faire conformément aux termes de l'une au moins d'entre elles.
  3. Par exemple, une double licence GNU GPL/MPL n'est que copyleft standard du fait de celui de la MPL plus réduit.
  4. Un bon exemple serait de proposer les licences GNU GPL/CeCILL ou BSD/CeCILL-B, puisque les secondes sont expressément conformes au droit français.
  5. L'exemple révélateur est le navigateur Firefox, sous MPL, GNU LGPL et GNU GPL. Si la licence MPL/LGPL est sans conteste utile, l'ajout de la licence GNU GPL semble l'être beaucoup moins puisque tout code sous GNU LGPL peut expressément être licencié sous GNU GPL.
  6. Raisons pour lesquelles les licences FLOS choisies sont assez contraignantes pour les licenciés.
  7. Liste non exhaustive, nous pourrions tout autant citer Digium, OSAF, MandrakeSoft, Technical Pursuit, etc.
  8. Qui s'autoproclame la « Base de données open-source la plus célèbre au monde », http://www-fr.mysql.com/.
  9. Base de données étant "the leading open source developer database in the world", http://www.sleepycat.com/.
  10. Voir la page concernant la politique de Sleepycat en matière de licence.
  11. Voir la page concernant la politique de TrollTech AS en matière de licence.
  12. Une idée, certainement à creuser, serait de considérer une Licence permissive envers les copylefts.