Petit essai sur le logiciel libre

A l’occasion de mon premier anniversaire d’adhésion à l’April (pas tout à fait…), j’ai écrit ce petit essai sans prétention.

La lecture des listes de l’April m’a permis de parfaire la vision du mouvement du logiciel libre et de ses enjeux. Je suis passé d’un état d’esprit (il y a 3-4 ans) où le libre « c’est bien car les logiciels sont bons » à un profond sentiment d’humanisme et d’enjeu contemporain.

J’ai écris ce bout de texte d’une traite (aussi j’espère ne pas avoir dit trop de bêtises), parce que coucher sur le papier les idées, ça aide à progresser. Ceci n’est pas sans lien avec le thématique de présentation du logiciel libre au sein de l’April, mais n’est pas une réécriture de la page de travail.

Le plan que j’ai adopté est le suivant. Après avoir présenté les éceuils générés par le logiciel privateur, je montre que le logiciel libre permet de surmonter ces difficultés. Je montre aussi que le logiciel libre peut avoir une réalité économique, réalité qui est simplement différente de la réalité du logiciel privateur. Je discute du caractère social/humaniste du mouvement du logiciel libre et je cloture par la réfutation brèves de certains détracteurs du logiciel libre.

On pourrait tout étoffer pour en faire un livre de 200 pages sans problème et ce qui est ci-dessous est sans doute trop léger. Disons que si ce document permet de rassembler des idées chez les plus jeunes convertis ou vous donner envie d’y réflechir un peu plus et d’adhérer à l’April, ce sera très bien. :)

Qu’est ce qu’un logiciel libre ?

Il y a sans doute de nombreuses ressources définissant le logiciel libre sur internet et dans les bibliothèques. Je ne vais pas raconter ici son histoire, ce ne serait que répétition. Très succintement, qu’est ce qu’un logiciel libre ?

On peut dire qu’un logiciel est libre à condition qu’il respecte les quatre libertés qui sont :

  • La liberté d’exécuter le programme — pour tous les usages ;
  • La liberté d’étudier le fonctionnement du programme — ce qui suppose l’accès au code source ;
  • La liberté de redistribuer des copies — ce qui comprend la liberté de donner ou de vendre des copies ;
  • La liberté d’améliorer le programme et de publier ses améliorations — ce qui suppose, là encore, l’accès au code source.

Pour comprendre ceci, il faut savoir qu’un logiciel est d’abord écrit dans un langage (dit de programmation) compréhensible par l’humain. Puis, selon le langage, il sera (généralement) converti en un fichier qui lui est compréhensible par la machine.

Notre discussion va sans cesse faire référence (de manière explicite ou non) à ces quatre libertés. Il est donc important de les avoir en tête.

Le logiciel privateur

Les logiciels privateurs (de liberté) par excellence ne fournissent pas le code source, le texte écrit par l’homme. Il ne fournisse qu’un code compréhensible par la machine (binaire). Bon nombre de logiciels privateurs vous empêche d’installer le programme sur plusieurs machines, de le donner à quelqu’un… Bien sûr, pour de tels logiciels, loin est l’idée d’obtenir le code source et de pouvoir le modifier à sa guise.

Pourquoi le logiciel privateur existe ?

Le logiciel privateur repose sur un système économique qui est le suivant. Une personne ou un groupe de personne écrit un logiciel. Ce logiciel peut et sera sans doute d’aucune utilité pour les auteurs. Le seul intérêt étant économique. Une fois ce logiciel réalisé, ils décident de le rentabiliser en vendant des copies sans en donner la recette de fabrication. Ils obligeront sans doute les éventuels clients à ne pas diffuser ces copies par le biais de divers sytèmes de protection afin de maximiser les ventes. L’achat de chaque client contribuera à payer le logiciel et donc les développeurs.

Quels sont les avantages et les inconvénients pour l’utilisateur ?

Les avantages sont peu nombreux, pour ne pas dire inexistant pour notre utilisateur. Disons qu’avec un peu de chance, le logiciel répondra à la majorité de ses besoins. Mais cela n’est pas du tout assuré. En effet, les développeurs ont écrit le logiciel en prévoyant tel ou tel besoin et donc telle ou telle fonctionalité, et c’est à l’utilisateur de se plier au logiciel qu’il a devant lui et « de faire avec ». L’utilisateur devient esclave de sa machine. Généralement, ce type de développement se préoccupe peu du retour utilisateur, et quand bien même le client arriverait à se faire entendre, rien ne lui assure qu’il sera écouté et il ne peut rien faire de plus de son coté.

Par ailleurs, généralement, le logiciel devra écrire des fichiers. Afin de conserver une emprise sur le client, ces fichiers seront fermés. C’est-à-dire ? On ne sait pas comment les lire (du moins, sans jouer aux devinettes). Donc, seul le logiciel vendu permettra de lire les données. Il y a plusieurs risques pour le client dans ce cas. Le premier est de dépendre at vitam eternam du logiciel (et de la société qui le produit) si l’utilisateur veut jouir de ses propres données. On peut alors se poser la question : les données de l’utilisateur lui appartiennent-elles encore réellement ? Le second risque est de perdre un jour ces données. Que se passera-t-il si, un jour, mon logiciel n’est plus capable de fonctionner sur les nouvelles machines ? ou que la société ne produit plus le logiciel ? ou décide d’abandonner le format ? Le client est confronté à un format fermé, ce qui ne peut pas assurer la pérénnité des données.

Enfin, il arrivera un moment ou un autre où le client souhaitera communiquer ce fichier à un tiers. Ce tiers n’a sans doute pas le logiciel et ne possède aucun moyen de le lire sans celui-ci. De plus, rien n’assure que le logiciel utilisé par notre client fonctionne sur le système d’exploitation et/ou la machine de la personne tiers. Ici, nous sommes confronté au problème de l’interopérabilité. Ajoutons que même si cette personne avait un système permettant de faire fonctionner le logiciel, il est fort à parier que notre client ne puisse transmettre une copie de son logiciel, ce qui oblige à un achat.

Le logiciel libre, la solution ?

Nous venons de voir que le logiciel privateur ne peut être viable dans le temps (pérénnité), dans la diversité (des systèmes d’exploitation et du matériel) et dans la transmission des données (copie du logiciel, format fermé des données). La question qui nous appartient désormais de répondre est la suivante : le logiciel libre permet-il d’outrepasser ces écueuils ?

Le fait même que le code source d’un logiciel est disponible permet de comprendre la manière dont les données sont écrites et lues. Dans certains cas, cela fera même l’objet de ce que l’on appelle un standard. Un standard décrit la structure des données tout en étant indépendante de son implémentation, c’est-à-dire du code qui va effectivement lire les données. La lecture d’un standard permet d’écrire un tel code. On comprend alors que divers logiciels pourront être écrits pour lire un même format. C’est le cas, par exemple, du format de document odt. Ce point éradique naturellement le problème de la transmission des données car le standard est indépendant de la machine et du système d’exploitation ce qui laisse la possibilité à chacun d’être capable, de droit, de lire les données. On assure l’interopérabilité. La pérénnité des données est elle aussi assurée car rien n’empechera, avec le standard, d’écrire dans le futur un logiciel capable de relire les données.

Le logiciel libre permet d’aider son voisin en lui fournissant une copie du logiciel que vous utilisez. Généralement, ce logiciel sera capable de fonctionner sur bon nombre de systèmes d’exploitation et de machines, c’est une conséquence du caractère libre du code. Il est fort probable que quelqu’un ait déjà adapté (si c’était nécessaire) le code pour votre situation.

Attaquons-nous maintenant au rapport entre l’utilisateur et le logiciel dans le cas où se logiciel est libre. Nous avons vu que l’utilisateur était dépendant des choix des développeurs dans le cas de la solution privatrice. Dans le cas de la solution libre, la situation est tout autre. Déjà, le logiciel est fabriqué par des personnes intéressées par le logiciel. En effet, un logiciel libre naît d’un besoin, souvent celui de l’auteur lui-même. Ceci nous assure que le programme est donc adapté au moins à un besoin réel, et non à un besoin imaginé. Le choix de l’auteur pour une licence libre indique aussi une certaine ouverture d’esprit et donc une certaine écoute des besoins d’autres utilisateurs. Ces utilisateurs ont souvent une foule d’idées pour améliorer le logiciel, idées qui n’avaient pas été pensées par l’équipe de développement et qui sont tout à fait pertinantes. On remarque donc la possibilité qu’à l’utilisateur à faire évoluer le logiciel. L’utilisateur est moteur du développement : il cherche à faire du logiciel, un logiciel utile à son activité.

Si les auteurs sont peu enclins à prendre telle ou telle directions dans le développement, l’utilisateur possède la liberté d’adapter ou de faire adapter le logiciel à partir de la base existante. Dans le cadre du logiciel privateur, il aurait fallu réinventer la roue en partant de zéro. Même si l’utilisateur n’ayant pas les connaissances requises doit payer une personne, cela sera nécessairement moins couteux d’adapter que de refaire.

Le logiciel libre a t-il une existence économique ?

Nous venons de voir que les différents problèmes auquel l’utilisateur était confrontés sont résolus grâce au caractère libre du logiciel libre. Il faut maintenant se demander si de tels logiciels peuvent exister ou relèvent d’une pure utopie.

Vendre un logiciel libre

Avant toute chose, il est important de remarquer que les quatre libertés ne nous empêche pas de vendre un logiciel libre, au contraire. En effet, on se doit de fournir le code source avec un éventuel binaire, mais cela ne nous oblige de mettre à disposition ce code sur la place publique. Il est tout à fait possible de vendre notre logiciel libre, le client achetera la code source et il pourra utiliser le logiciel à sa guise, le modifier, le donner ou le revendre à d’autres. La différence avec le logiciel privateur tient au fait que le logiciel n’est pas rentabilisé sur la vente de N licences s’étalant dans le temps. L’éditeur texte Emacs a été vendu par Richard Stallman, mais maintenant, chacun peut l’obtenir gratuitement.

Illustration

La paragraphe précédent peut parraitre difficile à réaliser en pratique, mais il n’en est rien. Imaginez que vous êtes à la tête d’une entreprise. Vous avez besoin d’un programme pour développer votre activité. Si vos moyens internes ne permettent pas de le produire, vous vous tournerez vers une autre entreprise, un prestataire. Ce prestataire peut tout à fait vous vendre une solution libre, c’est à dire vous vendre la code source du logiciel qui est bien plus riche qu’un simple binaire. Vous l’acheterez, car il répondra à vos besoins et il vous est nécessaire : un logiciel libre a été vendu. Nous reprendrons cette illustration dans la suite.

Fournir un service à un logiciel libre

Lorsqu’un logiciel est téléchargeable librement et gratuitement, il n’y a bien sûr plus de possibilité de vendre le code source. Mais cela n’empêche pas de vendre un service autour de ce code. Une personne souhaite une nouvelle fonctionnalité ? Elle peut être vendue. Une autre souhaite un support pour se prémunir des problèmes techniques ? Il peut être vendu. De cette manière, Red Hat, une distribution GNU/Linux utilisée principalement en entreprise vend les services autour de sa distribution dont le code est disponible.

Illustration

Dans la suite de notre illustration de votre entreprise, sans doute souhaiterez-vous ajouter des fonctionnalités à votre logiciel au fil du temps, ou encore ne pas vous retrouver entravé dans votre activité pour cause de problème technique ? Dans ce cas, vous chercherez à obtenir des services qui vous dégageront des freins dans votre activité.

Le prestataire a aussi des avantages à vendre un logiciel libre. Pour le produire, ses équipes peuvent réutiliser du code libre, ce qui minimise les coûts. De plus, ce prestataire connait bien le logiciel, car il l’a produit. Il sera donc à même de répondre efficacement aux demandes de son client : la qualité de son travail lui assure de futures collaborations.

Mais, on reste dépendant d’une entreprise alors ?

Non, pas du tout. Si vous avez acheté un logiciel libre, vous avez le code source. Rien ne vous empêche d’aller voir un autre prestataire si le premier vous fait défaut : prix excessif des services, fermeture du prestataire… Vous avez le code source, c’est un avantage crucial pour vous : vous êtes libre d’en faire ce que vous voulez. Vous pouvez même le revendre, voir le mettre à disposition. Votre intérêt ? Que d’autres se mettent à améliorer le logiciel. Ces améliorations ne vous génèreront pas (ou si peu) de coûts supplémentaires et vous profiterez de ces bénéfices.

L’économie du logiciel libre est différente, mais pas inconnue

Chacun aura remarqué que les théorèmes mathématiques sont écrits dans de nombreux ouvrages disponibles en librairies, il en est de même pour les lois et théories physiques etc. Pour autant, cela a-t-il empêché toute économie liée à ces domaines (ou à d’autre) ? Nullement. Des millions d’enfants ou d’étudiants vont chaque jour dans des écoles ou des universités suivre les cours de leurs enseignants. De même, le code civil et autres textes de loi sont disponibles à qui souhaite l’obtenir. Ce n’est pas pour autant que dans la très grande majorité des cas, nous n’utiliserons pas les services d’un avocat. Bien au contraire.
Le fait que le code d’un logiciel libre soit librement accessible, modifiable, réutilisable ne rend pas caduque l’existence d’une économie liée à ce logiciel.

Le logiciel libre est-il une fin en soi ?

Nous venons de voir tous les bénéfices du logiciel libre et la réalité qu’il peut avoir. Là où le mouvement Open Source cherche avant tout la qualité du code ouvert, le mouvement du logiciel libre fait primer l’aspect philosophique. L’idée maîtresse est celle des humanistes : partager la connaissance et rendre l’Homme libre.

Diffuser le savoir

L’informatique est une science. On n’imaginerait pas que les démonstrations des théorêmes mathématiques, l’élaboration des théoriques physiques ou les modèles sociologiques soient gardés secrets. Il doit en être de même pour l’informatique car ce serait une perte de temps considérable que de réinventer sans cesse ce qui a déjà été fait dans le passé. Cela ne peut en outre que freiner l’innovation. L’accès au savoir doit se faire à tous et doit être possible à ceux dont les moyens sont les plus réduits.

La liberté de chacun

C’est parce que le monde numérique est omniprésent que les libertés numériques prennent une part de plus en plus considérables sur la liberté du citoyen. D’un point de vue numérique, outre la liberté associé au logiciel, ce sont les questions d’accès aux données publiques (de nos administrations par exemple) ou de la neutralité du réseau (liberté d’expression sur internet) qui sont en jeu.

Les personnes utilisant, favorisant, développant le logiciel libre sont généralement sensibles aussi aux autres choses que l’on peut trouver sous licence libre : des photographies, des illustrations, de la musique, des vidéos, du contenu textuel (cours, documentations, romans…). Des licences libres sont spécialisés pour ce type de contenu. Là encore, l’idée force est de développer le patrimoine et de favoriser l’accès aux connaissances et technologies.

Ce que les détracteurs du logiciel libre pourraient vous dire…

Publier sous licence libre, c’est perdre la reconnaissance (paternité)

C’est sans doute tout à fait le contraire. Lorsqu’un auteur décide de mettre un contenu sous licence libre, il utilise son droit d’auteur. Vous trouverez souvent un copyright avec la licence. L’ouverture s’accompagne d’une large diffusion et permet de se faire reconnaitre par ses paires. La reconnaissance envers les développeurs de logiciels libres est sans doute bien plus grande que celle des développeurs travaillant dans des entreprises produisant des logiciels privateurs.

Ouvrir le code source, c’est être plus exposé à la découverte de failles de sécurité

En effet, un code source ouvert peut-être lu de tous ses utilisateurs. C’est cette raison qui permet lorsqu’une faille est découverte, de corriger au plus vite le problème car il y a potentiellement plus de personnes à même d’y remédier et de proposer une solution. Le correctif peut alors être proposé très rapidement. Si la code source fermé permettait de s’affranchir des failles de sécurité, il n’y aurait aucune vulnérabilité dans les logiciels privateurs, ce qui n’est pas le cas dans les faits. Le logiciel libre permet aussi de vérifier ou faire vérifier la qualité du code, ce qui donne une idée de ce que l’on utilise… Le logiciel libre est plus à même de faire face aux problèmes de sécurité.

Copier, c’est voler

La copie n’est pas un vol. Voler, c’est prendre quelque chose à quelqu’un. Si je vous prends quelque chose, vous ne l’avez plus. Par contre, si vous avez une idée et que vous me la donnez, on réalise une copie de cette idée. Dans ce cas, nous sommes deux à l’avoir.

Au contraire du monde matériel, le monde numérique permet la réalisation d’une copie très simplement. Ce n’est que la suite de l’invention du langage, de l’écriture, du travail des moines copistes, de l’invention de l’imprimerie par Guttemberg, de l’apparition des photocopieuses… L’Homme a toujours eu besoin de dupliquer l’information.

Le monde du libre, c’est se perdre dans des débats interminables

Certains pensent aux débats : GNOME ou KDE, Debian ou Ubuntu ou Fedora ou Opensuse ou Gentoo… et encore Linux ou GNU/Linux et j’en passe. Dans le jargon, on appelle cela des trolls : ce sont des débats interminables car il n’existe pas de réponse universelle. Mais ces débats sont le fruit d’une chose : la liberté de choisir. Lorsque l’on choisit, on souhaite ce qu’il y a de mieux, et cet idéal dépendant de chacun d’entre nous. Nos besoins et nos goûts sont tous différents, c’est ce qui fait la richesse de l’humanité, et c’est pour cela que l’on trouve des partisans de tel ou tel « camp ». Il est sans doute préférable de voir des personnes débattre de leurs choix que d’assister à un asservissement dû à la solution unique imposée par une minorité, ce à quoi on assiste bien plus pour les logiciels privateurs.


Vus : 550
Publié par François : 67