On ne peut pas vraiment dire que les développeurs et utilisateurs de logiciels libres vivent dans un monde qui leur correspond totalement. Alors que leur liberté est certainement l'une de leurs principales préoccupations, les industriels actuels font tout pour limiter ne serait-ce que la liberté d'usage de leurs produits cloisonnants les utilisateurs et empêchent catégoriquement toute rediffusion ou modification de ceux ci. On est donc bien loin de vivre dans un monde merveilleux où les auteurs ne pourraient pas restreindre nos libertés que nous considérions comme basiques. En fait, les licences libres sont une alternative au système privateur (au sens de privation des libertés) actuel. Ces licences ont pour but d'accorder quatre libertés « fondamentales » à tous les « utilisateurs » de la chose publiée sous cette licence.

Dans cette optique, l'excès de zèle incarné par le choix d'une licence sans copyleft pourrait porter un coup très bas à notre mouvement.

Dans ce billet, je vais vous expliquer en quoi, selon moi, le copyleft est le seul garant du respect de la liberté des utilisateurs et est donc d'une importance primordiale. Mais d'abord, pour être sûr que tout le monde sache où j'aille, rappelons la définition du copyleft (prise sur Wikipédia) :

Le copyleft est la possibilité donnée par l'auteur d'un travail soumis au droit d'auteur (œuvre d'art, texte, programme informatique, etc.) de copier, d'utiliser, d'étudier, de modifier et de distribuer son œuvre dans la mesure où ces possibilités restent préservées. L'auteur n'autorise donc pas que son travail puisse évoluer avec une restriction de ce droit à la copie, ce qui fait que le contributeur apportant une modification (une correction, l'ajout d'une fonctionnalité, une réutilisation d'une oeuvre d'art, etc.) est contraint de ne redistribuer ses propres contributions qu'avec les mêmes conditions d'utilisation.

Ainsi, une licence comme la GNU General Public License oblige que les travaux dérivés redistribués le soient sous cette même licence. Ce que n'oblige pas la BSD License, par exemple. Et c'est là qu'est le problème principal.

Si l'on décide de protéger la liberté des utilisateurs, il faut aussi que cette liberté soit garantie dans la continuité et qu'elle ne soit jamais perdue par les utilisateurs. Si la liberté nous est retirée, alors le projet est raté et nous retombons dans le système privateur que (presque) tout le monde, pro ou anti copyleft, s'accorde à dénigrer.

Pour mieux comprendre mon propos, un exemple tout bête. Je crée un logiciel que je choisis de diffuser sous licence libre sans copyleft. À première vue, mon application garantit tout à fait la liberté des utilisateurs et j'ai donc rempli mon rôle de développeur libre. Cependant, on peut imaginer que j'avais dans ce projet développé une classe réutilisable par d'autres projets ; mon travail peut alors très bien être réutilisé au sein d'une application non-libre, faisant de moi un participant à part entière de l'enfermement des utilisateurs (et d'ailleurs, aurais-je écrit cette classe pour le projet en question, participant alors directement au développement d'un logiciel privateur ?). De plus, imaginons que j'arrête le développement de mon projet et que quelqu'un décide de créer son projet équivalent au mien : rien ne l'empêchera de réutiliser tout ou partie de mon code, même si il n'en fait pas un logiciel libre.

Dans les deux cas, donc, il y a une perte de liberté pour l'utilisateur. Et surtout, dès le départ, une absence de protection de l'utilisateur sur le long terme et un responsable : moi. En mettant ma création sous une licence sans copyleft, je l'ai fait en connaissance de cause.

Rappelons les termes de la licence BSD :

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright
      notice, this list of conditions and the following disclaimer in the
      documentation and/or other materials provided with the distribution.
    * Neither the name of the <ORGANIZATION> nor the
      names of its contributors may be used to endorse or promote products
      derived from this software without specific prior written permission.

Cela veut donc dire que les seules conditions aux deux réutilisations (des travaux dérivés, en l'occurrence) privatrices de libertés données en exemple plus haut sont de mentionner les informations de droit d'auteur, ces termes et une information sur l'absence de garanties. Rien, donc, n'empêchait de faire du non-libre avec du libre.

La liberté offerte aux utilisateurs de logiciels libres nécessite d'être protégée. Si, d'une création libre, on peut tirer un jus non-libre, alors la liberté n'est plus réellement un centre d'intérêt primordial. Pourtant, en publiant une œuvre sous licence libre, notre but n'est-il pas de permettre aux utilisateurs/bénéficiaires de cette œuvre de pouvoir l'utiliser à leur convenance, de pouvoir l'étudier, la modifier, la copier, l'améliorer ou la distribuer dans sa version améliorée ? Dans ce modèle, la mise à disposition de l'œuvre profite bien à tous. Mais ce modèle est précaire et il doit être, à mon sens, protégé par le copyleft.

D'après Wikipédia, des acteurs des projets BSD déplorent un degré de liberté moindre des licences avec copyleft. C'est tout simplement faux. Et cela a été rappelé à de maintes reprises sur ce blog, il n'existe pas de degré dans la liberté. Elle est ou elle n'est pas. Mais « si un programme est un logiciel libre au moment où il quitte les mains de son auteur, cela ne signifie pas nécessairement qu'il sera un logiciel libre pour quiconque en possédera une copie ». Et pour continuer de citer Richard Stallman :

L'exemple le plus frappant de ce problème est le système de fenêtrage X. Développé au M.I.T., et distribué sous forme de logiciel libre sous une licence permissive, il a rapidement été adopté par divers constructeurs. Ils ont ajouté X à leurs systèmes Unix propriétaires, sous forme binaire uniquement, en le frappant du même accord de non divulgation. Ces exemplaires de X n'étaient en rien du logiciel plus libre que le reste d'Unix.

Les développeurs du système de fenêtrage X ne voyaient là nul problème (ils s'attendaient à cela et souhaitaient un tel résultat). Leur but n'était pas la liberté, mais la simple « réussite », définie comme le fait d'« avoir beaucoup d'utilisateurs. » Peu leur importait la liberté de leurs utilisateurs, seul leur nombre revêtait de l'importance à leurs yeux.

C'est donc un point de vue qui s'oppose complètement à celui du projet OpenBSD résumé dans ce document :

La licence GNU impose comme restriction que les codes sources soient distribués ou disponibles pour toute oeuvre qui dérive du code sous copyright GNU.

Bien qu'il s'agisse d'une noble stratégie de distribution et de partage de logiciels, cette condition est considérée comme non-acceptable pour des usages commerciaux.

En somme, ils n'ont pas la même échelle de valeurs. Pour moi, la liberté de l'utilisateur (assurée par les 4 libertés) est un enjeu bien plus important que le profit d'une entreprise. D'autant qu'il n'y a aucune étude prouvant que vendre du copyleft mène à la catastrophe, Red Hat a l'air de plutôt bien s'en sortir. Crier à la nature contaminante et réduire la GNU General Public License à un « virus » est un petit peu trop facile. Après tout, comme l'a très bien dit Loïc Dachary, « on ne partage pas avec ceux qui ne sont pas prêts à partager ».

D'un autre côté, on peut lire sur Internet que certains considèrent le développement libre plus efficace que le développement non-libre, pourquoi pas. C'est basé sur cette considération qu'Eric Raymond affirmerait qu'en développant un produit non-libre basé sur un produit libre, on ne pourrait pas atteindre la qualité du produit libre en question (il parle de code moins efficace). Et d'en conclure que donc, « l'économie ferait le travail du copyleft sans décourager les nouveaux arrivants ». Ça fait quand même beaucoup d'hypothèses, de normalement-ça-marche-comme-ça et de faîtes-confiance-à-la-main-invisible, quand même. Face à tant d'imprévu, ne peut-on pas penser que la liberté des utilisateurs est plus importante que le courage des « nouveaux arrivants » ?

Bon, prenons un projet qui a réutilisé du code BSD… Mac OS X, par exemple. Alors, certes, Darwin, c'est libre. Mais c'est utilisé dans Mac OS X qui lui ne l'est pas. Donc, Mac OS X est un système d'exploitation non-libre utilisant du code libre. Pour autant, je n'ai pas vraiment l'impression qu'il soit « sanctionné par l'économie ». Rien n'empêche donc Apple de réutiliser du code libre et d'être un champion dans tout ce qui est cloisonnement des utilisateurs.

Ensuite, beaucoup de gens utilisent des licences libres très permissives en prétextant que de toute façon elles se moquent de ce qui sera fait plus tard de leur travail ou que ce n'est pas un problème important pour eux. Même si cette façon de voir les choses peut paraître séduisante et ressembler à un noble don de sa création, il faut quand même noter qu'en faisant ça, ces gens ne s'opposent pas à privation ultérieure des libertés des utilisateurs de travaux dérivés de leur création. Cela doit pourtant être un dilemme vu que sous couvert d'autoriser tous les droits, on permet aussi et surtout à quelqu'un de les restreindre tous par la suite.

Pour conclure, je dirais que libérer le logiciel n'est pas une finalité. C'est un moyen. Le but est de libérer les utilisateurs. Il est très important de noter cette nuance, dont découle l'incapacité des licences sans copyleft à assurer ce but sur le long terme.