[Traduit de l'anglais]

Vendre des exceptions à la GNU GPL

Vendre des exceptions veut dire que le détenteur du copyright sur le code le met à la disposition du grand public sous une licence de logiciel libre valide, puis offre séparément aux utilisateurs la possibilité de payer pour être autorisés à utiliser le même code sous des termes différents, par exemple des termes leur permettant de l'inclure dans des applications privatrices.

Il faut distinguer la vente d'exceptions de quelque chose de radicalement différent : le développement d'extensions ou de versions purement privatrices d'un programme libre. Ces deux activités, même pratiquées simultanément par une même entreprise, sont des sujets différents. Quand on vend des exceptions, le code auquel s'applique l'exception est également accessible au grand public en tant que logiciel libre. Une extension ou une version modifiée qui n'est disponible que sous une licence privatrice est purement et simplement du logiciel privateur ; elle est tout aussi mauvaise que n'importe quel autre logiciel privateur. Cet article s'intéresse aux cas qui impliquent strictement et uniquement la vente d'exceptions.

Il faut également faire la différence entre vendre des exceptions et mettre un programme sous double licence, c'est-à-dire le publier sous deux licences alternatives. Dans ce dernier cas, chaque utilisateur peut choisir de se servir du programme en respectant l'une ou l'autre des licences, ou bien les deux en parallèle lorsque ce qu'il fait correspond à chacune d'elle (ainsi, les redistributeurs transmettent normalement les deux licences). Par exemple, Perl a été distribué pendant des années sous une double licence dont les options étaient la GNU GPL et l'Artistic License. Ce n'est plus nécessaire, puisque la version 2 de l'Artistic License est compatible avec la GNU GPL.

Lorsqu'on vend des exceptions, les clauses de l'exception ne constituent pas une seconde licence sous laquelle le programme serait publié. En fait, elles ne sont disponibles que pour les utilisateurs qui ont acheté l'exception. La seule licence que porte la version publiée est la GNU GPL ; ce n'est donc pas une double licence.

Il faut aussi distinguer la vente d'exceptions et l'« exception à la GPL » au sens habituel, qui donne simplement la permission d'outrepasser les clauses de la GPL de manière spécifique. La vente d'exceptions est juridiquement indépendante de la GNU GPL. Afin d'éviter toute confusion, il vaut mieux ne pas utiliser le vocable « exceptions à la GPL » pour les exceptions qui font l'objet d'une vente.

Je considère la vente d'exceptions comme acceptable depuis les années 90 et à l'occasion je l'ai suggérée à des entreprises. Quelquefois cette approche a permis à des programmes importants de devenir libres.

Le bureau KDE a été développé dans les années 90 sur la base de la bibliothèque Qt. Qt était un logiciel privateur et TrollTech faisait payer la permission de l'incorporer dans des applications privatrices. TrollTech permettait l'usage gratuit de Qt dans des applications libres, mais ne l'avait pas rendue libre. Les systèmes d'exploitation entièrement libres ne pouvaient donc pas inclure Qt, ni par conséquent KDE.

En 1998, la direction de TrollTech se rendit compte qu'elle pouvait rendre Qt libre et continuer à faire payer la permission de l'incorporer dans du logiciel privateur. Je ne me rappelle pas si la suggestion venait de moi, mais j'ai certainement été content de ce changement, qui a rendu possible l'utilisation de Qt et donc de KDE dans le monde du libre.

Initialement, ils ont utilisé leur propre licence, la Q Public License (QPL) – très restrictive pour une licence de logiciel libre et incompatible avec la GNU GPL. Plus tard ils sont passés à la GNU GPL ; je pense que je leur avais expliqué qu'elle répondrait à leurs besoins.

Vendre des exceptions ne peut se faire que si l'on utilise une licence à copyleft, comme la GNU GPL, pour publier le programme en tant que logiciel libre. Une licence à copyleft ne permet de l'incorporer dans un programme plus grand que si la combinaison est publiée sous cette licence ; c'est ce qui garantit que les versions étendues seront également libres. Ainsi, les utilisateurs qui veulent rendre privateur le programme combiné ont besoin d'une permission spéciale. Seul le détenteur du copyright peut l'accorder et la vente d'exceptions est une manière de le faire. Quelqu'un d'autre, qui aurait reçu le code sous la GNU GPL ou une autre licence à copyleft, ne pourrait pas accorder d'exception.

Quand j'ai entendu parler pour la première fois de la vente d'exceptions, je me suis demandé si cette pratique était éthique. Si quelqu'un achète une exception pour incorporer un programme dans un programme privateur plus étendu, il fait quelque chose de mal (à savoir, créer du logiciel privateur). Est-ce que, de ce fait, le développeur qui a vendu l'exception fait aussi quelque chose de mal ?

Si cette implication était correcte, elle s'appliquerait également à la publication du même programme sous une licence de logiciel libre sans copyleft comme la licence X11 qui, elle aussi, permettrait une telle incorporation. Donc, ou bien nous devons conclure que c'est mal de publier quelque chose sous la licence X11 – une conclusion que je trouve inacceptable, car trop radicale – ou bien nous devons rejeter cette implication. Utiliser une licence sans copyleft est faire preuve de faiblesse ; ce choix n'est pas optimal la plupart du temps, mais il n'est pas contraire à l'éthique.

En d'autres termes, vendre des exceptions permet une incorporation limitée de code dans un logiciel privateur, mais la licence X11 va encore plus loin car elle permet un usage illimité de ce code (et de ses versions modifiées) dans du logiciel privateur. Si cela ne rend pas la licence X11 inacceptable, cela ne rend pas la vente d'exceptions inacceptable.

Il y a trois raisons pour lesquelles la FSF ne pratique pas la vente d'exceptions. La première est que cela ne va pas dans le sens de son l'objectif : garantir la liberté à chaque utilisateur de ses logiciels. C'est dans ce but que nous avons écrit la GNU GPL, et le moyen de l'atteindre le plus complètement possible est de publier le code sous « la version 3 ou toute version ultérieure » de la GPL sans permettre son incorporation dans du logiciel privateur. Vendre des exceptions serait contre-productif, de même que publier sous la licence X11. Donc normalement nous ne faisons ni l'un ni l'autre; nous ne publions que sous la GPL.

Notre deuxième raison pour publier uniquement sous la GPL est de ne pas autoriser les extensions privatrices qui présenteraient des avantages pratiques par rapport à nos programmes libres. Les utilisateurs pour lesquels la liberté n'a pas de valeur pourraient choisir ces versions non libres plutôt que les programmes libres sur lesquels ils sont basés – et perdre leur liberté. Nous ne voulons pas encourager cela.

Il existe des cas isolés où, pour des raisons particulières de stratégie, nous arrivons à la conclusion qu'utiliser une licence plus permissive pour un certain programme est meilleur pour la cause de la liberté. Dans ces cas-là, nous publions ce programme pour tout le monde sous cette licence permissive.

Cela découle d'un troisième principe éthique suivi par la FSF : traiter tous les utilisateurs de la même façon. Une campagne idéaliste pour la liberté ne doit pas faire de discrimination, aussi la FSF s'engage-t-elle à donner la même licence à tous les utilisateurs. La FSF ne vend jamais d'exception ; quelle que soit la licence ou les licences sous lesquelles nous publions un programme, elles sont disponibles pour tout un chacun.

Mais nous n'avons pas besoin d'obliger les entreprises à suivre ce principe. Je considère que vendre des exceptions est acceptable pour une entreprise et je le suggérerai, le cas échéant, comme un moyen de libérer des programmes.


Note de traduction
  1. Autre traduction de proprietary : propriétaire.