Vendre des exceptions

par Richard Stallman

La pratique consistant à vendre des exceptions aux licences est devenue un sujet d'actualité brûlant quand j'ai cosigné la lettre de Knowledge Economy International disant que le rachat par Oracle de MySQL (en même temps que du reste de Sun) pourrait ne pas tourner à l'avantage de MySQL.

Comme l'explique cet article, j'ai des sentiments mitigés sur la vente d'exceptions aux licences. Il est évidemment possible de développer des paquets logiciels puissants et complexes sous la GNU GPL sans recourir à la vente d'exceptions, et c'est ce que nous faisons. MySQL peut se développer ainsi également. Pourtant, les développeurs de MySQL se sont servis de la vente d'exceptions. Qui doit décider de continuer, ou non, cette pratique ? Je ne pense pas qu'il soit judicieux de faire prendre des décisions primordiales pour un projet de logiciel libre par un de ses gros concurrents privateurs,1 qui préférera probablement ralentir le développement du projet plutôt que l'accélérer.

Ce qui n'a absolument aucun sens, c'est l'idée de changer la licence de MySQL en une licence sans copyleft. Cela éliminerait la possibilité de vendre des exceptions, mais permettrait toutes sortes de modifications privatrices. Où que doive aller MySQL, ce n'est pas dans cette direction.

À propos de la vente d'exceptions à la GNU GPL

Quand j'ai cosigné la lettre soulevant des objections contre le rachat par Oracle de MySQL1 (en même temps que du reste de Sun), certains partisans du logiciel libre ont été surpris que j'approuve la vente d'exceptions aux licences, que les développeurs de MySQL ont pratiquée. Ils s'attendaient à ce que je la condamne sans équivoque. Cet article explique ce que je pense de cette pratique, et pourquoi.

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

Il faut distinguer la vente d'exceptions de quelque chose de radicalement différent : les extensions ou les versions privatrices d'un programme libre. Ces deux activités, même si elles sont pratiquées en même temps par une entreprise donnée, sont des sujets différents. En vendant des exceptions, le même code auquel s'applique l'exception est 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 du logiciel privateur, purement et simplement, et n'est pas meilleure que n'importe quel autre logiciel privateur. Cet article s'intéresse aux cas qui impliquent strictement et uniquement la vente d'exceptions.

Je considère la vente d'exceptions comme acceptable depuis les années 1990, 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 reconnut 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 logiciel 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 diffuser 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 diffusée sous cette licence ; c'est ce qui garantit que les versions étendues seront également libres. Ainsi, les utilisateurs qui veulent rendre le programme combiné privateur 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). Cela entraîne-t-il que le développeur qui a vendu l'exception fasse 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 diffuser quelque chose sous la licence X11 – une conclusion que je trouve inacceptable car trop radicale – ou nous devons rejeter cette implication. Utiliser une licence sans copyleft est faire preuve de faiblesse, et ce choix n'est pas optimal la plupart du temps, mais ce 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 la raison d'être de la GNU GPL, et le moyen d'atteindre ce but le plus complètement possible est de diffuser le code sous la version 3 de la GPL sans autoriser 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 GNU GPL.

Une autre raison pour laquelle nous ne publions que sous la GPL est d'éviter 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.

Mais il y a de rares cas où, pour des raisons particulières de stratégie, nous arrivons à la conclusion qu'utiliser une licence plus permissive pour un programme donné est meilleur pour la cause de la liberté. Dans ces cas-là, nous diffusons ce programme pour tout le monde sous cette licence permissive.

C'est à cause d'un autre 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 à 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 diffusons un programme, elle sont disponibles pour tout un chacun.

Mais nous n'avons pas besoin d'exiger que les entreprises suivent ce principe. Je considère que vendre des exceptions est acceptable pour une entreprise, et je le suggérerai, là où ce sera approprié, comme un moyen de libérer des programmes.

Note de bas de page

Il s'agit d'une copie locale du document original

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