Copyleft : idéalisme pragmatique
par Richard StallmanToute décision prise par une personne découle de ses valeurs et de ses buts dans la vie. Les gens peuvent avoir beaucoup de buts et de valeurs différents ; la gloire, le profit, l'amour, la survie, l'amusement, ou la liberté, ne sont qu'une partie des buts qu'une personne normale peut avoir. Quand ce but est une question de principe, cela s'appelle de l'idéalisme.
C'est un but idéaliste qui motive mon travail pour le logiciel libre : propager la liberté et la coopération. Je veux encourager la diffusion des logiciels libres et le remplacement des logiciels privateurs1 qui interdisent la coopération, et rendre ainsi notre société meilleure.
C'est essentiellement pour cette raison que la licence publique générale GNU (GNU GPL) est écrite de cette manière – comme un copyleft. Tout code ajouté à un programme couvert par la GPL doit être un programme libre, même s'il est placé dans un fichier séparé. Je mets mon code à disposition pour qu'il soit utilisé dans des logiciels libres, et non dans des logiciels privateurs, afin d'encourager ceux qui programment des logiciels à les rendre libres également. Puisque les développeurs de logiciels privateurs utilisent le copyright pour nous empêcher de partager, j'estime que nous, coopérateurs, pouvons utiliser le copyright pour donner aux autres coopérateurs un avantage bien à eux : ils peuvent utiliser notre code.
Ceux qui utilisent la GNU GPL n'ont pas tous ce but. Il y a plusieurs années, on a demandé à l'un de mes amis de republier un programme copylefté sous des termes non copyleftés, et il a plus ou moins répondu ainsi :
« Parfois je travaille sur des logiciels libres et parfois sur des logiciels privateurs ; mais quand je travaille sur des logiciels privateurs, je m'attends à être payé. »
Il voulait bien partager son travail avec une communauté qui partageait les logiciels, mais ne voyait aucune raison d'aider une entreprise commerciale dont les produits seraient interdits à notre communauté. Son but était différent du mien, mais il a décidé que la GNU GPL le satisfaisait également.
Si vous voulez accomplir quelque chose dans le monde, l'idéalisme ne suffit pas ; le choix d'une méthode qui mène à l'accomplissement de ce but est nécessaire. En d'autres termes, vous devez être « pragmatique ». La GPL est-elle pragmatique ? Regardons ce qu'elle a accompli.
Considérons GNU C++. Pourquoi existe-t-il un compilateur C++ libre ? Uniquement parce que la GNU GPL indiquait qu'il devait être libre. MCC, un consortium industriel, a développé GNU C++ à partir du compilateur C de GNU. En temps normal, MCC rend sa production aussi privatrice que possible. Mais ils ont fait une interface C++ libre parce que c'était la seule possibilité de la publier que leur laissait la GNU GPL. L'interface C++ comportait beaucoup de nouveaux fichiers, mais comme ils étaient prévus pour être liés à GCC, la GPL s'appliquait à eux. Le bénéfice pour notre communauté est évident.
Considérons GNU Objective C. Au début, NeXT voulait rendre cette interface privatrice ; ils avaient l'intention de la publier sous forme de fichiers .o et de laisser aux utilisateurs le soin de les lier au reste de GCC, pensant pouvoir ainsi contourner les conditions de la GPL. Mais nos juristes ont dit que cela n'esquivait pas ses exigences et que c'était interdit. Et ainsi l'interface Objective C devint un logiciel libre.
Ces exemples datent de plusieurs années, mais la GNU GPL continue à nous apporter toujours plus de logiciels libres.
Beaucoup de bibliothèques GNU sont couvertes par la licence publique générale GNU amoindrie, mais pas toutes. Readline, qui met en œuvre l'édition de ligne de commande, est une des bibliothèques GNU couvertes par la GNU GPL classique. Un jour, j'ai découvert un programme non libre conçu pour utiliser Readline et j'ai dit au développeur que c'était interdit. Il aurait pu sortir du programme l'édition de ligne de commande, mais ce qu'il a fait, c'est de le republier sous la GPL. Maintenant, c'est un logiciel libre.
Les programmeurs qui conçoivent des améliorations pour GCC (ou Emacs, Bash, Linux ou tout programme couvert par la GPL) sont souvent employés par des entreprises ou des universités. Lorsque le programmeur veut remettre son amélioration à la communauté et voir son code dans la version suivante, il est possible que son patron lui dise : « Attendez un peu ; votre code nous appartient ! Nous ne voulons pas le partager ; nous avons décidé de placer votre version améliorée dans un logiciel privateur. »
C'est à ce moment qu'intervient la GNU GPL. Le programmeur montre à son patron que ce logiciel privateur serait une violation de copyright, et ce dernier réalise qu'il ne lui reste que deux possibilités : publier le code en tant que logiciel libre ou pas du tout. Il laisse presque toujours le programmeur faire ce qu'il voulait initialement et le code est inclus dans la version suivante.
La GNU GPL n'est pas M. Bonne Poire. Elle dit « non » à certaines choses qu'on aimerait parfois faire. Certains utilisateurs disent qu'il est dommage que la GPL « exclue » certains développeurs de logiciels privateurs qui « auraient besoin d'être amenés à la communauté du logiciel libre ».
Mais nous ne les excluons pas de notre communauté ; ils ont choisi de ne pas y entrer. Décider de concevoir des logiciels privateurs, c'est décider de rester en dehors de notre communauté. Appartenir à notre communauté signifie prendre part à notre coopération ; nous ne pouvons pas « les amener à notre communauté » s'ils ne le désirent pas.
Ce que nous pouvons faire, c'est les inciter à nous rejoindre. La GNU GPL est faite pour utiliser comme appâts les logiciels que nous possédons : « Si vous faites des logiciels libres, vous pourrez utiliser ces codes. » Bien sûr, cela ne les convaincra pas tous, mais nous en gagnerons un de temps en temps.
La réalisation de logiciels privateurs ne participe pas à notre communauté, mais leurs développeurs souhaitent souvent une aide de notre part. Les utilisateurs de logiciels libres peuvent offrir des satisfactions à l'ego des développeurs de logiciels libres – reconnaissance et gratitude – mais ils peuvent être tentés lorsqu'une entreprise leur dit : « Laissez-nous juste placer votre logiciel dans notre programme privateur et il sera utilisé par des milliers de gens ! » La tentation peut être forte, mais à long terme, nous nous sentirons tous mieux si nous y avons résisté.
Il est plus difficile de reconnaître les pressions et tentations quand elles viennent indirectement, au travers d'organisations pour les logiciels libres qui ont adopté une politique servant le logiciel privateur. Le Consortium X (et son successeur l'Open Group) en sont un exemple : fondé par des sociétés qui font des logiciels privateurs, ils se sont efforcés pendant des décennies de persuader les programmeurs de ne pas utiliser de copyleft. Maintenant que l'Open Group a fait de X11R6.4 un logiciel non libre, ceux d'entre nous qui ont résisté à cette pression sont heureux de l'avoir fait.
En septembre 1998, plusieurs mois après que X11R6.4 ait été distribué sous une licence non libre, l'Open Group a revu sa décision et l'a redistribué sous la même licence de logiciel libre non copylefté que X11R6.3. Merci, l'Open Group ; mais ce revirement ultérieur n'infirme pas les conclusions que nous avions tirées du fait que l'ajout de restrictions était possible.
Pour parler de manière pragmatique, avoir une vision à plus long terme affermira votre volonté de résister à cette pression. Si vous concentrez votre attention sur la liberté et la communauté que vous pouvez bâtir en restant ferme, vous trouverez la force de le faire. « Restez debout pour quelque chose ou vous tomberez pour rien. »
Et si des personnes cyniques ridiculisent la liberté, ridiculisent la communauté… si des « réalistes forcenés » disent que le profit est le seul idéal… ignorez-les et utilisez le copyleft tout de même.
Cet article est publié dans le livre Free Software, Free Society: The Selected Essays of Richard M. Stallman.