Quelques questions sur le multilicenciement et les doubles licences
Le multilicenciement est notamment une technique utilisée pour gérer les problèmes de compatibilité entre licences. 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 à cumuler 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 (pour les cumuler ou proposer une utilisation alternative).
Une remarque s'impose : le terme ” relicencier ” peut prêter à confusion. En effet, il n'est pas question de changer la licence de l'œuvre, mais d'utiliser une nouvelle licence conformément à la première. Une brique sous BSD prise dans un ensemble sous GNU GPL pourra être distribuée sous GNU GPL (mais restera aussi sous BSD — pour la version d'origine, pas les contributions ultérieures).
À 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 doivent être mis en avant :
-
Le contenu sous licence est dès lors compatible avec la totalité des licences qui lui sont adjointes1, auxquelles se rajoutent les licences avec lesquelles elles sont déjà elles-mêmes compatibles. Malgré sa précarité, le dispositif assure donc une meilleure compatibilité. 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 à celle-ci seule2. 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.
-
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).
-
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'emportent3.
-
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'autre4. 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é.
L'utilité du mécanisme
De " bons " exemples
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).
Des situations inutiles
Par souci 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 permet d'affirmer que les licences multiples 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é
(voir le billet spécifique sur la compatibilité entre
licences) : la réunion d'un ensemble avec un autre qui lui est
inclus est égale au premier ensemble5.
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. En réalité, la seule condition est que les licences ne soient pas exclusives6.
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 FLOS7.
S'il y en a trois sociétés à citer8,
ce serait : MySQL AB, Sleepycat Software Inc. et TrollTech AS.
MySQL
AB9 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 acquièrent 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.10
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 source11.
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ême12.
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 GNU GPL / Artistic, la distribution du logiciel doit se faire conformément à l'une au moins des licences. La distribution sous GNU GPL contraindra à la distribution du code notamment, la distribution sous licence Artistic aura d'autres exigences.
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 conforme 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/GNU 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) situation néanmoins fréquente ; ne serait-ce que lorsque l'on donne une exclusivité dans un domaine ou une durée
7) Raison pour laquelle les licences FLOS choisies sont assez contraignantes pour les licenciés.
8) Liste non exhaustive, nous pourrions tout autant citer Digium, OSAF, MandrakeSoft, Technical Pursuit, etc.
9) Qui s'autoproclament la « Base de données open-source la plus célèbre au monde », @ http://www-fr.mysql.com/.
10) Base de données étant « the leading open source developer database in the world »,@ http://www.sleepycat.com/.
11) « The Sleepycat open source license permits you to use Berkeley DB, Berkeley DB Java Edition or Berkeley DB XML at no charge under the condition that if you use the software in an application you redistribute, the complete source code for your application must be available and freely redistributable under reasonable conditions. If you do not want to release the source code for your application, you may purchase a license from Sleepycat Software. », http://www.sleepycat.com/company/licensing.html.
12) « The main licensing options available are: 1) Commercial Licensing. This is the appropriate option if you are creating proprietary applications and you are not prepared to distribute and share the source code of your application. 2) Open Source Licensing. This is the appropriate option if you want to share the source code of your application with everyone you distribute it to, and you also want to give them the right to share who uses it. », http://www.trolltech.com/products/qt/licenses/licensing/licensingoverview.