Compatibilités de licences

Qu’est ce qu’une incompatibilité ?

Pour bien comprendre ce qu’est la compatibilité, un préalable est de comprendre les cas où on se trouve face à une incompatibilité de licence.

L’incompatibilité entre deux licences survient lorsque qu’il est impossible de remplir toutes les obligations qu’imposent les licences auxquelles sont soumises l’œuvre.

Par exemple, en présence de plusieurs licences sous lesquelles les différentes briques de code sont distribuées, et doivent être fusionnées pour pouvoir être distribuées à leur tour dans un projet logiciel plus grand.

Le licencié se trouve dans une situation où il ne peut pas respecter les deux — ou plusieurs autres — licences en même temps.

Étant donné que le licencié n’arrive pas à remplir l’ensemble de ses obligations, cela aura pour conséquence de rendre impossible la distribution du code ainsi fusionné.

Le multilicenciement peut être une solution pour évacuer les problèmes d’incompatibilité entre licences en laissant le choix au licencié de choisir la licence qu’il devra respecter pour pouvoir utiliser l’œuvre.

Certaines licences comportent des clauses de compatibilité expresse avec d’autres licences pour éviter ces problèmes.

La compatibilité une voie à sens unique


On pourrait définir la compatibilité comme étant la caractéristique qu’ont deux licences (ou plus) sous lesquelles du code est distribué, à pouvoir être réunies ensemble, en vue d’être distribuées dans une création logicielle plus grande.

Mais cette définition ne prend pas en compte le résultat de la combinaison des contributions sous les différentes licences et revient à donner une fausse image de réciprocité.

La compatibilité des licences libres est donc habituellement un chemin à sens unique.

Par exemple, la licence BSD est compatible avec la GPL, au sens où du code distribué sous licence BSD pourra être ajouté à un programme distribué sous GPL. Mais la GPL n’est pas compatible avec la BSD, un code sous GPL ne pourra pas être ajouté à un programme distribué sous BSD.

Il arrive parfois que des licences soient réciproquement compatibles, mais ce n’est pas le cas général. (La BSD est compatible avec la MIT, et la MIT est compatible avec la BSD.)

La compatibilité entre licences qui se superposent

Dans une situation de chevauchement des licences, une compatibilité doit être recherchée, puisque le licencié est aussi bien contraint à l'une qu'à l'autre des licences. Deux compatibilités existent, la première se trouve à la lecture des licences, et la seconde à leur examen.

La compatibilité expresse

De plus en plus les rédacteurs de licences libres viennent à prendre conscience que leur licence n'est ni la seule, ni même l'unique licence libre légitime. Fleurissent alors les clauses de compatibilité expresses qui permettent de relicencier l'œuvre soumise sous plusieurs autres licences.

Le relicenciement peut être inconditionné, ou soumis à la présence d'autres licences.

Ce qui est notamment le cas de  l'EUPL : « Clause de compatibilité : Si le Licencié distribue ou communique des Œuvres Dérivées ou des copies de celles-ci basées à la fois sur l'Œuvre Originale et sur une autre œuvre concédée en licence selon les termes d'une Licence Compatible, la Distribution et/ou Communication peut se faire sous les termes de cette Licence Compatible ».

La compatibilité logique

Deux principes gouvernent la compatibilité entre licences, et contrats :

  • on ne peut donner plus de droits que l'on en possède (ainsi, une personne qui passe du statut de licencié à celui de concédant, tire ses droits de la première licence et est donc limité par celle-ci).
  • on ne peut pas contraindre à moins d'obligations que ce à quoi on est contraint nous même

En dehors des cas de licence copyleft (qui imposent la redistribution sous la même licence, et donc qui confèrent des droits identiques), il est toujours possible de ne conférer qu'une partie des droits dont on dispose.

Si l’on ne transmet pas tous les droits, le nouveau licencié aura alors des droits moins étendus sur l’œuvre modifiée que ce que la personne redistribuant l’œuvre n’en possédait sur l’œuvre d’origine.

D'un point de vue juridique, la condition de compatibilité est atteinte si l'ensemble des droits accordés par la licence absorbante B est inclus dans l'ensemble des droits conférés par la licence compatible A et que l'ensemble des obligations imposées par la licence compatible A est inclus dans l'ensemble des obligations imposées par la licence absorbante B.

Avec ces idées en tête, il suffit de lire attentivement les diverses licences pour retrouver les divergences et les accointances.