Pourquoi la liberté d'exécuter un programme doit être totale

par Richard Stallman

« Logiciel libre » signifie logiciel contrôlé par les utilisateurs, et non l'inverse. Plus précisément, cela veut dire que le logiciel est fourni avec quatre libertés essentielles que les utilisateurs méritent de posséder. Au sommet de la liste, il y a la liberté zéro, la liberté d'exécuter le programme comme on le souhaite, afin de faire ce qu'on veut avec.

Certains développeurs se proposent de mettre des restrictions d'usage dans les licences de logiciel pour interdire l'utilisation du programme à certaines fins, mais aller dans ce sens serait désastreux. Cet article explique pourquoi la liberté zéro ne doit pas être limitée. Des clauses limitant l'utilisation d'un programme n'atteindraient que très partiellement leur but, mais seraient dévastatrices pour la communauté du logiciel libre.

Avant toute chose, soyons clair sur ce que signifie la liberté zéro. Elle signifie que les termes de distribution du logiciel ne limitent pas la manière dont on l'utilise. Elle ne dispense pas d'obéir aux lois. Par exemple, la fraude est un délit aux États-Unis. Quoi que dise la licence, utiliser un logiciel libre pour frauder ne vous protégera pas des poursuites.

Une clause de licence contre la fraude serait superflue dans un pays où c'est un délit. Mais pourquoi pas une clause contre l'usage à des fins de torture, activité que les États cautionnent fréquemment lorsqu'elle est pratiquée par les « forces de sécurité » ?

Une clause contre la torture ne fonctionnerait pas parce que c'est l'État qui est chargé de faire appliquer les licences de logiciel libre, quelles qu'elles soient. Un État qui voudrait pratiquer la torture ne tiendrait pas compte de la licence. Quand des personnes victimes de torture essaient d'attaquer le gouvernement américain en justice, les tribunaux prononcent un non-lieu au motif que le traitement qu'elles ont subi est un secret touchant à la sécurité nationale. Si un développeur de logiciel essayait d'attaquer le gouvernement américain en justice pour utilisation d'un programme à des fins de torture, en infraction avec les conditions de sa licence, ce procès aboutirait aussi à un non-lieu. En général, les États sont pleins d'astuce lorsqu'il s'agit de se donner des excuses légales pour les choses terribles qu'ils veulent faire. Il en est de même pour les entreprises pourvues de lobbies puissants.

Et si la clause s'opposait à quelque activité privée particulière ? Par exemple, PETA a proposé une licence qui interdirait l'utilisation du logiciel pour causer de la douleur à des animaux à colonne vertébrale. Ou bien il pourrait y avoir une clause contre l'utilisation d'un certain programme pour faire et publier des dessins de Mahomet, ou pour faire des expériences sur les cellules-souches embryonnaires, ou pour copier des enregistrements de manière illicite.

Il n'est pas sûr que ces clauses seraient applicables. Les licences de logiciel libre sont basées sur le droit du copyright, et essayer d'imposer des conditions d'usage de cette façon revient à repousser la limite de ce que permet le droit du copyright, la repousser de manière dangereuse. Est-ce que vous apprécieriez que les livres comportent des clauses de licence se rapportant à que vous pouvez faire avec l'information qu'ils contiennent ?

Et si de telles clauses étaient applicables ? Est-ce que ce serait une bonne chose ?

De fait, les gens ont des idées éthiques très différentes sur les activités qu'on devrait pouvoir pratiquer avec du logiciel. Il se trouve que, personnellement, je pense que les quatre activités précédentes sont légitimes et ne devraient pas être interdites. Je soutiens notamment l'utilisation de logiciel pour des expérimentations sur l'animal et pour l'industrie de la viande. Je défends les droits de l'homme des activistes des droits des animaux, mais je ne suis pas d'accord avec eux. Je ne voudrais pas que PETA ait gain de cause en ce qui concerne les restrictions d'usage du logiciel.

Comme je ne suis pas pacifiste, je ne serais pas non plus d'accord avec une clause interdisant son usage militaire. Je condamne les guerres d'agression mais je ne condamne pas la riposte. En fait, j'ai soutenu des actions visant à convaincre différentes armées de passer au logiciel libre, puisque qu'elles peuvent y vérifier l'absence de portes dérobées [backdoors] et de dispositifs d'espionnage qui pourraient mettre en péril la sécurité nationale.

Comme je ne suis pas contre les entreprises d'une manière générale, je m'opposerais à toute restriction de l'usage commercial. Un système qu'on pourrait seulement utiliser pour les loisirs, les travaux amateurs et l'école interférerait avec la plupart de nos activités.

J'ai déjà exposé certaines de mes idées sur d'autres questions politiques, sur les actions qui sont ou ne sont pas injustes. Votre point de vue est peut-être différent, et c'est précisément là que je veux en venir. Si nous acceptons de mettre des programmes comportant des restrictions d'usage dans un système d'exploitation libre comme GNU, les gens inventeront une multitude de restrictions d'usage. Il y aura des programmes interdits dans les abattoirs, des programmes interdits uniquement pour les cochon, des programmes interdits uniquement pour les bœufs, et des programmes réservés à la nourriture kascher. Une personne qui déteste les épinards pourrait écrire un programme autorisant la préparation de tous les légumes sauf les épinards, alors qu'un fan de Popeye autoriserait uniquement celle des épinards. Il y aurait des programmes de traitement audio réservés au rap et d'autres à la musique classique.

Il en résulterait un système qu'on ne pourrait pas considérer comme polyvalent. Pour chaque tâche qu'on se proposerait d'effectuer, on devrait vérifier un tas de licences pour voir quelles parties du système sont hors limites.

Quelle serait la réaction des utilisateurs ? Je pense que la plupart d'entre eux utiliseraient des systèmes privateurs (propriétaires). Permettre une quelconque restriction d'usage dans du logiciel libre aboutirait surtout à pousser les utilisateurs vers le logiciel privateur. Essayer d'empêcher les utilisateurs de faire quelque chose par le biais de restrictions d'usage du logiciel libre est aussi inefficace que de pousser un objet avec un long spaghetti bien cuit.

C'est pire qu'inefficace ; c'est aussi une mauvaise action, parce que les développeurs de logiciel ne devraient pas exercer un pouvoir de cette sorte sur ce que peuvent faire les utilisateurs. Imaginez ce que ça serait de vendre des stylos avec des clauses se rapportant à ce que vous pouvez écrire avec ; ce serait dégoûtant, et il ne faudrait pas le tolérer. Il en est de même avec le logiciel. Si vous faites quelque chose qui est d'usage universel, comme un stylo, les gens l'utiliseront pour écrire toutes sortes de choses, même des choses horribles, comme l'ordre de torturer un opposant ; mais vous ne devez pas avoir le pouvoir de contrôler les actions des gens par le biais de stylos. C'est la même chose avec un éditeur de texte, un compilateur ou un noyau.

Vous avez tout de même une chance de déterminer l'utilisation qui peut être faite de votre logiciel : quand vous décidez quelles fonctionnalités implémenter. Vous pouvez écrire des programmes qui se prêtent surtout aux usages que vous estimez positifs, et vous n'avez aucune obligation de programmer des fonctionnalités qui se prêtent à des actions que vous désapprouvez.

La conclusion est évidente : un programme ne doit pas restreindre les tâches que ses utilisateurs peuvent effectuer avec son aide. Nous devons arrêter la torture, mais nous ne pouvons pas le faire avec une licence de logiciel. Le rôle des licences de logiciel est d'établir et de protéger la liberté des utilisateurs.