Chapitre 4. L'informatique vraiment libre

Au commencement était le code source, et le code source était libre. Les programmeurs (pour la plupart des scientifiques) partageaient fréquemment leur code pour s'entraider. Ainsi allait le monde à cette époque. Des gens décidèrent alors de rendre le code propriétaire, c'est-à-dire qu'ils ont retenu le code. En retenant le code, ils ont mis fin à la communauté du partage.

Le code source est le code que le programmeur tape lorsqu'il développe un programme. Tel quel, le code source ne fait rien. Lorsqu'il est transformé dans le format binaire que l'ordinateur comprend, celui-ci peut « l'exécuter » comme un programme. Au début, les gens se passaient simplement leur code source pour s'aider mutuellement. Ils le partageaient, le donnaient. Tous ceux qui l'obtenaient pouvaient le modifier à leur gré.

 

“...Mais l'intérêt pour le logiciel libre croît plus vite que la prise de conscience de la philosophie sur laquelle il se fonde, et cela provoque des problèmes. Notre capacité à relever les défis et à répondre aux menaces évoquées plus haut dépend de notre volonté à défendre chèrement notre liberté. Pour nous assurer que notre communauté partage cette volonté, il nous faut répandre ces idées auprès des nouveaux utilisateurs au fur et à mesure qu'ils rejoignent notre communauté.”

 
 --Richard M. Stallman “Le Projet GNU” http://www.gnu.org/gnu/thegnuproject.fr.html

Cela changea lorsque les gens devinrent plus malins et décidèrent de ne plus distribuer que le code binaire des programmes, en conservant le code source. Des entreprises commencèrent à exiger des développeurs (un mot chic pour appeler les programmeurs) qu'ils signent des accords de non divulgation (NDA en anglais), et des utilisateurs qu'ils acceptent des accords de licence utilisateurs (EULA en anglais). Cela empêchait les gens de modifier les programmes. Cela donnait aussi aux développeurs plus de contrôle sur leurs programmes.

 

« ...Cela signifiait que la première étape de l'utilisation d'un ordinateur était de promettre de ne pas aider son prochain. On interdisait toute communauté coopérative. La règle qu'édictaient ceux qui détenaient le monopole d'un logiciel propriétaire était "Qui partage avec son voisin est un pirate. Qui souhaite la moindre modification doit nous supplier de la lui faire". »

 
 --Richard M. Stallman “Le Projet GNU” http://www.gnu.org/gnu/thegnuproject.fr.html

Beaucoup d'utilisateurs (qui ne connaissent en général pas grand chose à la programmation) ne voyaient pas d'inconvénient à céder leur droit à modifier les programmes. Pour eux, c'est un simple marché. Payer beaucoup d'argent; laisser les développeurs modifier les programmes. C'est une équation assez simple. Cependant, ils n'ont pas abandonné que leur droit de modifier les programmes, mais aussi celui de redistribuer (partager) les programmes avec d'autres. En plus de cela, en délaissant leur droit au code source, ils ont choisi de placer un grande dose de confiance dans les mains des développeurs.

Le fondement moral du logiciel libre

Je ne suis pas un programmeur, c'est pourquoi le droit de modifier le code ne m'est pas d'une grande utilité. Cependant, si j'ai accès au code, je peux toujours trouver quelqu'un pour le modifier à ma place. Il se pourrait que je puisse modifier certaines petites choses pour faire fonctionner le programme à ma convenance. Par exemple, le fait de disposer du code source me permet de recompiler le programme pour tirer un éventuel bénéfice de certains aspects de mon système.

Ce sujet est déjà un peut trop technique pour le commun des mortels. Mais certains pourraient être bien étonnés de la facilité avec laquelle on peut recompiler un programme, même si cela paraît un peu acrobatique. Cela met toutefois en évidence que le fait de disposer du code source est important pour des raisons très concrètes. L'accès au code source n'est pas un simple idéal sans aucune implication pour les non techniciens; c'est réellement un moyen pratique d'avoir un contrôle sur votre système, même si vous ne vous considérez pas comme un technophile.

J'ai effectivement pu contribuer à quelques projets de développements par de simples moyens comme des suggestions de modifications que les développeurs ont réalisées. Ce genre de participation profite à tout le monde. Il y a bien des chances que le changement que vous proposez convienne également à d'autres. Certaines de ces autres personnes savent programmer. Il est alors possible qu'elles effectuent ces modifications et qu'elles vous en fassent profiter. Beaucoup de personnes n'ont pas les moyens de participer (par ex. parce qu'elles n'ont pas de connexion Internet ou pour d'autres raisons), mais elles pourront tout de même bénéficier des contributions faites par d'autres.

Un grand nombre de programmes informatiques sont gratuits aujourd'hui, mais pas forcément libres. Les développeurs mettent à votre disposition un programme que vous pouvez utiliser. Ce qu'ils ne vous disent pas pourrait vous nuire. Beaucoup informent leurs utilisateurs avec une minuscule écriture juridique que leur programme inclut un logiciel qui détecte tout ce que vous faites sur votre ordinateur, à l'exception du déversement de café sur le clavier.

Cela soulève une question. Jusqu'où faites-vous confiance à votre fournisseur de logiciel? Certains fournisseurs propriétaires respectés ont une réputation pas très nette. Même sans parler de confiance dans un fournisseur précis, dans la mesure où le code est propriétaire, votre confiance repose sur une fondation mouvante. Encore une fois, le fait d'avoir accès au code source est un avantage tout à fait réel. Cela vous permet de déterminer la convenance du code qui fonctionne sur votre système, même si cela implique de devoir faire appel à un consultant externe.

Le problème de la confiance envers les développeurs est que certains peuvent agir de manière immorale, tout en respectant la loi. De plus, comme ils sont les seuls à avoir accès à leur code propriétaire, ils sont les seuls à savoir si leur code est vraiment sûr, excepté les hackers hors-la-loi (plutôt appelés « crackers »). Dans le contexte d'un logiciel libre ou open source, tout le monde peut consulter la source, ce qui occasionne en général une découverte et une résolution plus rapide des failles de sécurité.

 

“Le bénéfice que l'on obtient en gardant son source secret est facilement compréhensible ; traditionnellement, les modèles de l'industrie du logiciel sont construits autour. Encore récemment, les avantages que l'on pouvait retirer des critiques de ses pairs n'étaient pas bien compris. Le système d'exploitation Linux nous a pourtant enseigné une leçon que nous aurions dû apprendre depuis plusieurs années à partir de l'histoire des logiciels qui sous-tendent le coeur de l'Internet et les autres branches de l'ingénierie — et c'est que la critique de ses pairs est la seule méthode robuste pour obtenir une fiabilité et une qualité élevées.”

 
 --Eric S. Raymond, Le Chaudron magique, édition révisée, section 10.1

J'ai mentionné le « droit » de redistribuer (partager) les logiciels à d'autres. Selon les Écritures, Jésus nous a commandé d'aimer notre prochain. À travers toute la Bible, cet amour est concrétisé par le don et le partage. Les accords de non divulgation et les accords de licence utilisateurs qui accompagnent la plupart des logiciels propriétaires interdisent l'accès au code source et l'acte de la redistribution. Cette interdiction est artificielle et non naturelle et elle contredit les enseignements de Jésus-Christ (et de bien d'autres).

Certains argumentent en disant que l'Écriture contient également de nombreux passages qui parlent de la rémunération du travailleur. Nous ne devons pas « museler le boeuf » est-il écrit. Cependant, cet argument ne tient pas compte du fait que le logiciel libre et open source peut être vendu. Il ignore également les bénéfices du modèle de développement collaboratif, aussi bien pour l'utilisateur que pour le développeur. Ironiquement, la plupart des développeurs ne sont pas payés par la vente du logiciel, mais par l'utilisation interne du logiciel qu'ils développent pour leurs employeurs.

Par exemple, je peux vendre un logiciel de traitement de texte sous une licence libre. Vous l'achetez et passez une copie à votre voisin. Votre voisin l'améliore puis redistribue la version améliorée. La licence libre du logiciel nous permet d'être tous bénéficiaires de la contribution de votre voisin. Nous bénéficions tous de la réutilisation du code source puisque personne ne doit réinventer la roue pour développer ce logiciel. Ainsi, je bénéficie directement de l'ouverture de mon code.

 

“Quand je donne une conférence sur le sujet, je commence mon discours en posant deux questions : combien de personnes dans l'audience sont payées pour écrire du logiciel et pour combien d'entre ces dernières le salaire est lié à la vente de leur logiciel. Généralement, une forêt de mains se dresse à la première question, et très peu ou pas du tout pour la deuxième, ce qui provoque toujours une grande surprise dans l'assistance.”

 
 --Eric S. Raymond, Le Chaudron magique, Section 3