Hier, sentant la pénurie de podcast estivale arriver, j’ai écouté une interview de Richard Stallman passé le 22 avril dernier sur la radio Libre@Toi. Forcément, le propos, même déjà entendu fait réfléchir et réagir.
Mon but ici n’est pas de revenir sur le personnage et ses extravagances ou ses jusqu’au-boutismes, chacun a déjà son opinion. A la fois véritable gourou à qui l’on doit la naissance du mouvement du logiciel libre et en même temps personnage qui ne vit pas vraiment dans la société actuelle, on oscille facilement entre l’admiration et le rejet. Quand il dit par exemple qu’en tant que parents, il ne faut pas accepter que les enseignants utilisent des logiciels privateurs, on voit bien qu’il ne connaît ni notre éducation nationale, ni le fait d’avoir des enfants.
Mais bon commençons déjà par notre propre utilisation et les fameuses libertés. Car, d’un côté, il va parfois trop loin sur le mode d’utilisation des technologies qui devraient être bannies dès qu’elles ne sont pas utilisables avec du logiciel libre (ce qui veut dire qu’il devrait aussi arrêter de prendre l’avion et tout moyen de transport fonctionnant avec une interface logicielle et bientôt purement et simplement tout appareil électronique) ; d’un autre côté, je trouve que les libertés ne sont basées que du point de vue du développeur.
La liberté 0 est celle de pouvoir exécuter librement un programme pour tous les usages que l’on souhaite. Mais il commence à être pointé du doigt qu’avant de pouvoir l’exécuter, il faut déjà en avoir les capacités physiques (droit revendiqué par l’association Liberté 0) mais aussi les capacités de l’installer. Et généralement, plus un programme est facile à installer, plus le système est privateur (appli Android ou Apple, exécutable Windows) et dépend directement de l’accessibilité donnée à ce programme. Sur un système libre, les applications disponibles dans les dépôts sont facilement installables aussi mais lorsqu’elles n’y sont pas, c’est beaucoup moins évident et la compilation à partir du code source (qui est l’idéal absolu pour quelqu’un voulant tourner sur un code dont il est maître) n’est clairement pas à la portée de tout le monde.
La liberté 1 est la liberté d’étudier le fonctionnement du programme et de l’adapter à ses besoins. Là, elle ne s’applique qu’à celui qui a les capacité de comprendre le code. Elle n’est encore pas au niveau de l’utilisateur.
La liberté 2 est de pouvoir redistribuer des copies du programmes. On va dire que c’est la plus accessible car elle permet de mettre le logiciel que l’on aime sur un support et de le diffuser. Alors que l’on imagine facilement cette utilisation du temps des disquettes et des CD-ROM, elle n’est plus aussi utilisée depuis que l’internet haut-débit généralisé puisqu’on a facilement accès à ces programmes. La plus grande difficulté est maintenant de trouver une copie qui n’a pas été vérolée.
La liberté 3 est d’améliorer et de distribuer ces améliorations. C’est un stade au-dessus de la liberté 1 puisque si on peut imaginer aller bricoler un peu dans le code pour faire une adaptation, pour l’améliorer, il faut vraiment savoir coder ou apprendre à le faire.
L’utilisation d’un logiciel libre pour quelqu’un ne sachant pas programmer consiste donc, s’il est capable de l’installer et de le faire fonctionner, à pouvoir l’utiliser et éventuellement le distribuer (sachant que les autres aussi y ont accès). On ne peut pas dire que ça le libère énormément et on comprend qu’ils ne soient pas si nombreux à se ruer dessus. Bon, ils ont aussi l’avantage que ce programme n’est pas censé faire autre chose que ce qu’il doit faire et que d’autres peuvent vérifier que c’est bien le cas.
Donc mon propos était de dire que si on peut qualifier sur ces critères le fait qu’un logiciel est libre ou non, il est beaucoup plus difficile de dire qu’il apporte ou pas plus de liberté à l’utilisateur si celui-ci n’arrive pas à l’installer ou à l’utiliser. C’est là qu’entre en jeu l’aspect philosophique et tous les débats sans fins sur la "libriste attitude".
Pour ne pas s’y embourber, je vais poser un préalable et faire chauffer vos neurones en partant du principe qu’être libre ce n’est pas faire ce que l’on veut mais vouloir ce que l’on fait ou même vouloir ce que l’on peut.
Je ne vais pas détailler ici, l’épreuve de philo est passée mais vous pouvez me remettre votre copie dans 4h ou faire une petite recherche à ce sujet et en principe vous ne devriez pas être trop en désaccord.
Ça évite de dire de toutes façons je fais ce que je veux, si j’ai envie d’installer un logiciel non libre, c’est ma liberté
. Oui, mais est-ce ma volonté ? Et suis-je capable de quelque chose correspondant mieux à mes souhaits ?
Si je ne suis pas capable d’installer quoi que ce soit, j’utilise ce que j’ai à ma disposition ; cas du simple utilisateur mais aussi de libristes dans leurs activités professionnelles.
Si je n’ai aucune alternative parce que la fonctionnalité n’existe pas en libre ; cas d’un logiciel spécifique ou de drivers non disponibles.
Si j’ai une alternative mais moins efficace ou vraiment moins adaptée ; cas du driver de carte graphique et du coup vaut-il mieux jouer avec un driver non libre ou sur un OS non libre ?
En fait, plutôt que d’offrir l’alternative habituelle du puriste contre le pragmatique, je voudrais proposer la réflexion sur une troisième voie : celle de l’apprentissage.
- Apprendre à chercher des alternatives plutôt que d’opter pour la facilité de ce qu’on me propose tout cuit (probablement avec des contreparties même cachées).
- Apprendre à trouver le programme qui représente le meilleur compromis entre mon besoin, mon système, mes capacités d’utilisation.
- Apprendre à installer ce programme et si cela s’avère difficile revenir à la case précédente.
- Apprendre, pour celui qui en a les capacités ou la volonté, à étudier le programme et éventuellement le modifier.
Voilà pour moi où mène la liberté de vouloir qui augmente notre liberté de pouvoir.
Mais cette démarche est totalement personnelle et la seule personne que l’on peut critiquer, c’est nous-même. Et si l’autre n’y arrive pas, à nous de l’y aider mais pas de faire à sa place, lui donner des pistes pour qu’il apprenne lui aussi.
Ça me rappelle l’histoire de celui à qui on donne du poisson ou à qui on apprend à pêcher...
1 De vincent -
« être libre ce n’est pas faire ce que l’on veut mais vouloir ce que l’on fait ou même vouloir ce que l’on peut. »
Tout à fait d'accord. Hop, dans mon shaarli ! :)
2 De Magic Banana -
Tout d'abord, félicitations pour ton blog.
La liberté 0 est la liberté de faire (ou de ne pas faire : une liberté, pas une obligation) quoi que soit que le programme nous permet de faire.
Cette liberté est parfois niée par certains programmes, privateurs donc. Avec, par exemple (réel), une licence qui peut spécifier qu'il est interdit d’utiliser le programme pour en critiquer ses auteurs. Une attaque directe à la liberté d’expression. Plus commun : un logiciel que l’on est autorisé à n’utiliser que dans des buts éducatifs n’est pas libre. Ou jamais dans buts commerciaux. Ou militaires. Bref une clause du type « tu n'utiliseras mon logiciel que pour le bien » rend le logiciel privateur. Le développeur n'a pas à imposer sa vision du bien et du mal aux utilisateurs.
L'accessibilité et la facilité d'utilisation sont des fonctionnalités. Elles sont certes hautement désirables mais elles ne changent pas l'aspect libre/privateur du logiciel. Ce n'est pas parce que le programme n'est pas accessible ou n'a pas d'interface graphique ou n'est utilisable que par des experts (ou qu'il n'est pas stable, ou qu'il souffre de faille de sécurité, ou qu'il n'est pas traduit en français, ou [insérer ici sa fonctionnalité préférée]) qu'il porte atteinte aux libertés de ses utilisateurs. Imperfection ne veut pas dire oppression : https://www.gnu.org/philosophy/impe...
Le logiciel que je ne peux pas utiliser (parce qu'il est en chinois, parce qu'il nécessite un matériel spécifique, parce qu'il nécessite des talents artistiques ou des connaissances avancés dans un domaine précis, etc.) ne m'apporte rien. Mais il n'enfreint pas mes libertés pour autant.
Au final, nous avons là deux dimensions orthogonales : la dimension éthique (seul le logiciel libre respecte les libertés fondamentales de l'utilisateur) et la dimension fonctionnelle (plus il y a de fonctionnalités dans le logiciel libre, plus il est utile).
Autres choses :
* seul le propriétaire de l'ordinateur mérite son contrôle : rms n'est pas propriétaire des moyens de transport publics qu'il utilise;
* utiliser des programmes pré-compilés (je parle de "reproducible builds") ne retire aucun contrôle sur son ordinateur et ne représente aucun gain si l'on n'étudie pas le code source que l'on compile : ce qui importe c'est d'être libre d'étudier et de modifier ce code et ce même si l'on en est incapable car, comme tu l'écris, d'autres en sont capables et leur travail profite à la communauté entière;
* l'utilisateur même non programmeur peut prendre part au développement du logiciel libre (proposer des fonctionnalités, rapporter des bogues, financer un développement, etc.).
3 De Cyrille -
Et la moralité de l'histoire qui est un peu toujours la même, si tu veux être réellement libre, il faut savoir coder. Le gars qui sait coder, il peut tout faire, n'a besoin de personne, n'est tributaire de personne à pas grand chose.
4 De alterlibriste -
@Magic Banana : merci pour ces compléments
En fait, je crois que l'on se trompe (moi y compris) lorsque l'on pense que les logiciels libres nous rendent plus libres. Ils ne font que ne pas nous enlever de liberté d'en faire ce que l'on souhaite.
Ceci dit, comme le résume bien Cyrille, le fait de savoir coder aide bien.
5 De antistress -
J'ai lu en diagonale par manque de temps aussi désolé si je me plante...
J'ai cru comprendre que tu distinguais les libertés qui bénéficient aux développeurs de celles qui bénéficient de l'utilisateur. Si c'est le cas je ne suis pas d'accord, c'est trop artificiel. Car il y a des libertés qui sont collectives, un peu comme quand Snowden dit : ce n'est pas parceque je n'ai rien à dire que je la liberté d'expression ne m'est pas importante.
La liberté tournée vers le développeur, si je reprends ton classement, permet en réalité de créer une communauté et augmente nos libertés individuelles d'utilisateurs.
(cf http://libre-ouvert.toile-libre.org...)
A plus
6 De lapineige -
> une liberté, pas une obligation
Exactement. Une liberté c'est une potentialité, pas forcément un acte. On peut être libre de s'exprimer et ne rien dire.
C'est pareil pour la programmation. En effet pour avoir un réel contrôle il faut pouvoir programmer (et encore, écrire un bout du noyau n'est pas donné à tout le monde), mais avec un logiciel libre on en a la possibilité. Avec du privateur, on est privée de cette liberté, on n'en a même pas le potentiel de l'utiliser.
Il n'empêche que le fait que d'autres puissent contribuer, ça ouvre déjà bien plus de possibilités que d'être dépendant d'un groupe plus petit de personne (= une entreprise, ...) dont les objectifs ne sont pas toujours alignés avec les utilisateurs.
Comme tu le dis alterlibriste, un logiciel libre ne rend pas plus libre, il ne prive pas d'une liberté. À nous de l'exploiter si on le souhaite.
7 De Magic Banana -
Je suis aussi d'accord : les logiciels libres "ne font que ne pas nous enlever de liberté". La liberté est définie négativement : "qui n'est pas soumis à une ou des contrainte(s) externe(s)", "qui n'est pas soumis à la puissance contraignante d'autrui", "qui n'appartient pas à un maître", etc. (http://www.cnrtl.fr/lexicographie/l...). Le mouvement pour le logiciel libre est bien une lutte pour la liberté, telle que définie dans le dictionnaire, de l'homo numericus.
C'est, de mon point de vue, une erreur de définir la liberté comme l'amplitude des possibles. En tout cas, ce n'est pas comme cela que le dictionnaire la définit. On est donc pas moins libre lorsque l'on ne sait pas programmer. Celui utilise du logiciel libre est en contrôle de sa vie numérique. Simplement, il exerce ce contrôle indirectement, via la communauté. Et même celui qui sait programmer s'appuie avant tout sur le contrôle collectif du logiciel : personne n'est capable d'étudier seul tout le code source des programmes qu'il ou elle exécute et encore moins de tous les faire évoluer selon ses besoins. La liberté 3 est ainsi essentielle non seulement pour qui ne sait pas programmer mais pour tous les utilisateurs.
8 De Vincent Gay -
@Magic Banana
> tu n'utiliseras mon logiciel que pour le bien » rend le logiciel privateur.
Si je poursuis ton raisonnement jusqu'au bout les licences virales style GPL, qui interdisent la diffusion de programmes modifiés si la même licence n'est pas reconduite, me privent donc d'une liberté au nom d'une vision de la liberté que je ne suis pas obligé de partager. Ce sont donc des licences privatrices ?
9 De Magic Banana -
Non. Car il ne s'agit pas là d'utiliser le logiciel (la liberté 0 ne traite que de l'"utilisation", de l'"exécution" du logiciel). Il s'agit de profiter du travail réalisé par l'auteur du logiciel libre pour développer à moindre coût un programme qui, possiblement, ne respecte pas les libertés d'autrui.
Remarque que le logiciel libre se réfère aux libertés de l'utilisateur, pas à celles du développeur (ou du redistributeur). L'utilisateur mérite le contrôle du travail qu'il réalise au travers d'un programme informatique. Il n'y a, en revanche, pas d'impératif éthique qui commanderait d'autoriser quiconque à changer la licence de l'œuvre que l'on a écrite. Surtout pas pour une licence privatrice, injuste envers les utilisateurs.
La GNU GPL interdit une telle pratique tout en donnant pleinement les quatre libertés aux utilisateurs. Pour le "coup" il me semble juste d'écrire que la licence "donne" des libertés puisque la convention de Berne impose par défaut des restrictions injustes.