De l'importance du copyleft
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.
Publié le lundi 4 mai 2009, par xbright dans la catégorie : Divers - Lien permanent
Commentaires
9 commentaires
lundi 4 mai 2009
04:46
N'empêche que la GPL a un énorme défaut : elle est vraiment beaucoup plus chiante et moins drôle à lire que la WTFPL :(
— louiz'43 commentaire(s) - Petit floodeur
lundi 4 mai 2009
13:29
J'aime bien le principe de ne pas partager avec ceux qui ne se sont pas prêt à partager.
— pvincentCa me rappelle le principe du DonnantDonnant
http://fr.wikipedia.org/wiki/Donnan...
4 commentaire(s) - Trolleur égaré
lundi 4 mai 2009
16:01
L'argumentation est intéressante, mais tire un peut trop sur le troll GPL/BSD.
Personellement, à n'en pas douter, si les deux licences existent c'est bel et bien qu'elles répondent CHACUNE a des attentes et des aspirations certainement DIFFERENTES.
Et puis c'est un peu gratuit de prétendre que la BSD ne peut que disparaître, alors que la souche des *BSD est plus ancienne que celle de Linux (sous GPL).
Bref, article intéressant mais un peu simpliste et occultant (volontairement ?) certains aspects de la problématique.
— Guyou2 commentaire(s) - Trolleur égaré
lundi 4 mai 2009
16:11
Salut, je me permet de commenter ;)
"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"
En l'occurence avec la BSD, la liberté n'est pas perdue. Un logiciel BSD restera sous BSD. C'est une nuance importante, ça veut dire que seuls les intéréssés continueront de faire du BSD, qu'on ne cherchera pas à les obliger à donner leur code, et que les gens peuvent s'ils le souhaitent faire du proprio avec (et à la limite on s'en care : faites du proprio les amis, c'est pas vous qui allez nous empêcher de faire du libre).
"et d'ailleurs, aurais-je écrit cette classe pour le projet en question, participant alors directement au développement d'un logiciel privateur ?"
L'essentiel, c'est que le code soit libéré. Donc si tu peux travailler dans un environnement proprio, et qu'au final tout le code que tu as produit peut être soumi sous licence libre, ça convient aussi.
Dans le cas de BSD, si par la suite qqn reprend ton projet pour en faire du proprio, peut être n'aurait-il simplement jamais touché à ton projet si tu l'avais fait sous GPL, ou peut être même que ta boite ne t'aurais jamais demandé de bosser pour elle si tu voulais absolument faire du GPL, alors que du BSD elle veut bien (car elle peut en tirer profit), au final, la BSD t'aura permis de concevoir un logiciel libre, que tu n'aurais pas pu concevoir au sein de ta boite si tu t'étais restreint à la GPL.
Le problème de la GPL, c'est que la liberté est trop centrée sur le code, et pas assez sur les personnes. On cherche à faire en sorte que le code soit duplicable, modifiable, etc. Mais on oublie un peu qu'au final la liberté elle concerne l'homme. Ca n'est pas ton code qui est libre, c'est toi et tout ce que tu peux en faire. La liberté par exemple, c'est ce qui permet de choisir sa licence. Si une personne souhaite restreindre l'usage de ses créations, c'est son choix. Tu remarqueras qu'a ce niveau là, ça se tient : la BSD permet plutôt bien à l'homme de choisir sa licence, donc de le mettre son code sous GPL.
J'ai moins à commenter sur le reste de ton article, même si, sous mon angle, l'argumentation de Stallman sur X ne tient pas non plus. Désolé je suis un peu fainéant ;)
"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. [...] 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."
Je pense que les BSDistes que tu as déjà entendu n'ont pas assez poussé leurs revendications à ce niveau là. Au tout début de ma réponse même, je dis dans une parenthèse "et à la limite on s'en care". Je crois que c'est par nécessité pédagogique, et que c'est dans des circonstances précises qu'on en vient à dire ça. Ca n'est pas un "on s'en care" franc et global, mais un "à la limite on s'en care... qu'il arrive parfois que des gens bornés puissent s'entêter à vouloir faire du proprio si au moins ils ont la décence de nous laisser bosser".
Mais sinon, je ne me fiche pas de ce qu'il advient de mes oeuvres, et pas seulement des miennes d'ailleurs mais de toutes oeuvres. Je ne laisse donc pas pisser : je m'oppose à la privation des codes sources, mais pour moi cette opposition ne doit pas se faire sous un mode qui est l'interdiction.
Bon, désolé, c'est pas simple tout ça mais faire une réponse claire sur le BSD vs GPL, mais je crois que jusque là personne n'a encore vraiment réussi :D
Face aux problèmes que tu poses, la réponse pourrait presque être résumée en 2 mots : tolérance et opposition. C'est deux aspects sur lesquels pourraient insister les partisans BSD. Tolérance vis à vis du proprio, tout en y étant fermement opposé ;)
Bisous
— Cacatoes1 commentaire(s) - Trolleur égaré
lundi 4 mai 2009
16:31
@ Guyou
Hm, mon but n'était pas de sombrer dans le simple troll GPL/BSD. J'ai parlé de ces deux licences car ce sont les plus connues et que tout le monde sait de quoi je parle avec ces exemples.
Il est clair que les deux licences répondent à des attentes différentes, on le voit bien dans mon billet avec la différence de point de vue entre Richard Stallman sur la nécessité du copyleft et celle du projet OpenBSD.
Certes, la BSD est plus ancienne que la GPL. D'un autre côté, je ne remet pas en question le fait que les utilisateurs d'un système FreeBSD ou OpenBSD utilisent bien du logiciel libre. C'est juste sur le point de vue des travaux dérivés que je m'attarde pour montrer que selon moi, les licences à copyleft sont les seules qui apportent une bonne solution à cette problématique.
Ceci étant, si tu trouves que l'article ne va pas assez loin et qu'il occulte certaines choses, je t'invite à développer ton point de vue.
------
@ Cacatoes
« L'essentiel, c'est que le code soit libéré. »
Pas pour moi. L'essentiel pour moi est la liberté des utilisateurs. Le code n'est pour moi qu'accessoire. Petit exemple réel : une entreprise m'a proposé d'intégrer sa technologie dans un de mes projets. Le code d'intégration était libre, donc, au final, mon projet aurait toujours été considéré comme un logiciel libre. Cependant, pour utiliser ladite technologie, il fallait aussi utiliser - côté client - des composants logiciels non-libres, ce qui m'a amené à refuser l'intégration de cette technologie.
Sinon, y a beaucoup d'entreprises qui vivent de la GPL, comme d'autres qui vivent de la BSD. Et d'autres du privateur. Je ne pense pas qu'on puisse réduire un type de distribution ou un type de licence à un « commercialement acceptable ». De plus, au travail, on ne fait pas non plus ce qu'on veut, y a certainement des vrais libristes contraint de produire du non-libre pour gagner leurs vies (et coder du libre à la maison \o/).
« Le problème de la GPL, c'est que la liberté est trop centrée sur le code, et pas assez sur les personnes. »
Au contraire, je trouve que la GPL s'intéresse réellement à la liberté des personnes. Son but est d'assurer que chaque utilisateur de tout ou partie d'un logiciel publié sous GPL bénéficie de ses libertés fondamentales en tant qu'utilisateur. C'est, je trouve, formidable. Le fait que ça empêche quelqu'un de faire du non-libre avec du travail publié sous cette licence n'est pas à mon sens une atteinte à la liberté mais plutôt une règle du jeu permettant de garantir la liberté des utilisateurs sur le long terme.
Après, oui, si on utilise/réutilise/redistribue tout ou partie de mon code libre au sein d'une application non libre, je ne vais pas en mourir. D'un point de vue technique, ce n'est pas grave : je ne suis dépossédé de rien. Ceci étant, il y a un problème d'ordre moral et éthique, c'est le dilemme dont je parle : d'une certaine manière et indirectement, j'aurais participé à l'enfermement des utilisateurs par un logiciel non-libre. C'est cette idée que je n'apprécie pas et c'est pour ça que j'utilise des licences à copyleft.
— xbright366 commentaire(s) - Squatteur <3
lundi 4 mai 2009
16:39
Attend que je regarde ma montre, on est en 1989 ? Ah non, 2009, je ne me trompais pas. L'erreur doit donc être de ton côté.
— plopouille1 commentaire(s) - Trolleur égaré
mardi 5 mai 2009
11:37
Salut,
— lhbquoi qu'on puisse dire sur le contenu (côté « troll ou pas troll »), c'est encore un excellent article!
Ce n'est pas un commentaire très constructif, juste pour dire qu'il est très agréable de te lire...
1 commentaire(s) - Trolleur égaré
mardi 5 mai 2009
18:05
Eh bien, merci. :)
— xbright366 commentaire(s) - Squatteur <3
mardi 5 mai 2009
18:15
Les larmes aux yeux, je ne peux que sangloter
— fluonimous"Beatus qui prodest quibus potest, concordia civium murus urbium"
18 commentaire(s) - Trolleur égaré