pour passer le temps…

« on te fait comprendre que ton combat est nul, inutile, et que tu es stupide de t’en faire pour des choses pareilles »
l’elfe, Militer n’est pas sale

Vous avez sans doute entendu parler de Linux ; mais qui sait donc ce qu’est GNU/Linux ? On vous a vanté les avantages de programmes open source ; vous a-t-on parlé du logiciel libre ?
En ce moment, c’est un sujet qui m’intéresse ; aussi, je vous résumerai brièvement ce qu’est le logiciel libre, pourquoi vous vous en foutez au point de ne pas lire l’article, et pourquoi vous auriez tort de le faire.

D’abord, qu’est-ce que c’est que le logiciel libre ?
l’open source ;
un peu d’Histoire… ;
Logiciel libre, projet GNU et open source.
Où je veux en venir : pourquoi tout le monde s’en fout, et pourquoi il ne faudrait pas.

Logiciel libre ? Qu’est-ce que c’est ?

Commençons par le principe d’open source

Il est fort possible que vous ayez déjà entendu l’expression « open source » ; mais pour ceux qui ne savent pas ce que c’est, je fais un petit rappel : « open source » signifie que le code source du programme est accessible à tout le monde.

Un code source, c’est un peu la recette de fabrication du programme. Pour créer des programmes, les programmeurs n’écrivent pas des suites de 0 et de 1 : depuis les années 60, on a inventé des langages de programmation compréhensibles par les humains, et que des programmes peuvent changer en 0 et en 1. Le Java, le C, le C++ en sont des exemples populaires.
Le travail du programmeur, c’est d’écrire ce que devra faire la machine en C (par exemple) dans un bête fichier texte (ou dans plusieurs, pour mieux organiser son travail). Pour info, voici un exemple, tiré de la fonction main de VLC :

#ifndef ALLOW_RUN_AS_ROOT
if (geteuid () == 0)
{
fprintf (stderr, « VLC is not supposed to be run as root. Sorry.\n »
« If you need to use real-time priorities and/or privileged TCP ports\n »
« you can use %s-wrapper (make sure it is Set-UID root and\n »
« cannot be run by non-trusted users first).\n », ppsz_argv[0]);
return 1;
}
#endif

Ouais, quand je disais « compréhensibles par un humain », il va sans dire que ça ne va pas de soi 😛 Ça, c’est un message d’erreur, on comprend à peu près ; mais allez savoir ce qu’est ppsz_argv[0] si vous n’êtes pas programmeur !

Donc, pour un programme « open source », tout le monde a le droit de télécharger, lire, et même modifier le code source. Pour vlc, par exemple, c’est sur le site officiel.

Logiciel libre != Open source
(Ce titre est une blague. Dans de nombreux langages de programmation, != est utilisé pour noter le symbole ≠ dans certaines conditions)
Hé bien, je vais vous révéler un secret : open source ne signifie pas logiciel libre !
Encore des batailles compliquées ?
Un peu, oui. La nuance est d’autant plus difficile à saisir que :

  • La plupart des logiciels open source sont aussi des logiciels libres
  • Historiquement, « open source » a en fait été inventée pour mieux promouvoir le mouvement du logiciel libre*
    *En effet, le nom anglais du logiciel libre, free software, inclut une ambiguïté entre la notion de gratuité et de liberté, ce qui fait qu’il fallait à chaque fois expliquer « When you hear of free software, think of free seech, not of free beer. » Or, quand on est une entreprise, difficile de ne pas penser tout de même à free beer
  • La différence entre ces deux mouvements est en fait philosophique : les objectifs sont différents, mais en pratique, les moyens se rejoignent (les développeurs travaillent souvent conjointement).

Conclusion : c’est un joli bazar ! Pour bien comprendre la différence entre les deux, il faut d’abord que je vous explique ce qu’est, historiquement, le logiciel libre.

Un peu d’Histoire…

Simplifiée, bien sûr…Si vous voulez la version complète, faites comme moi, lisez la (semi-auto)biographie Richard Stallman et la révolution du logiciel libre.
Une génération de hackers
Dans les années 60, 70, l’informatique était un secteur de pointe. Si le matériel était vendu par les industries qui le mettaient au point, les programmeurs qui écrivaient les logiciels n’hésitaient pas à se filer les codes sources, à réparer eux-mêmes les bugs, à donner à l’entreprise un retour qui permettait d’intégrer leurs idées au software qu’elle avait fourni : en dépit des copyrights (qui théoriquement s’appliquaient aux codes sources), ces pratiques semblaient aller de soi.
C’est dans cette ambiance que Richard Stallman, programmeur génial, a découvert l’informatique. Les hackers (= bidouilleurs) du AI Lab au MIT formaient une « communauté » particulière où ne pas partager les idées, innovations, améliorations, était mal vu.

Richard Stallman en 2010

Richard Stallman en 2010

L’anomalie propriétaire
Sauf que de plus en plus, les fabricants de matériel eurent l’idée de ne pas fournir le code source des drivers : ainsi, en cas de problème, le client était dépendant de l’entreprise.
De plus, certains programmeurs commençaient à se plaindre de ce système, se considérant propriétaires du code source qu’ils avaient produit. Parmi eux, un homme célèbre, s’il en est, dont la lettre Computer Hobbyists affirme sur un ton vindicatif que le logiciel est un bien marchand, dont le créateur doit être récompensé, et que le présent système de partage ne peut produire que des logiciels de mauvaise qualité.
Les hackers terminant leurs études quittèrent le cadre universitaire, pour se lancer dans des carrières dans le secteur privé. À contrecœur, ils laissèrent le code source se transformer en secret industriel, le logiciel en produit marchand.
La résistance : Stallman prend le maquis !
Au début des années 80, le hacker Richard Stallman, qui voyait sa communauté de programmeurs atomisée, fut placé devant un choix : rejoindre une entreprise, ou partager envers et contre tout.
Il choisit de partager.
Célèbre pour avoir créé Emacs, l’un des outils les plus appréciés des programmeurs (je me demande même si Emacs n’a pas une fonction servant à préparer le café intégrée quelque part :P), il fit des prouesses surhumaines quand il fallut lutter contre le logiciel propriétaire (comme la bataille pour réécrire tous les logiciels Symbolics). En fait, Stallman avait acquis le statut de légende vivante.
C’est pourquoi il était le seul à pouvoir théoriser le logiciel libre, et annoncer des projets d’une aussi grande ambition que le projet GNU, sans qu’on lui rie au nez.

Logiciel libre, projet GNU

Un logiciel libre, c’est un logiciel qui garantit certaines libertés à son utilisateur :

  • la liberté (0) d’exécuter le programme pour tous les usages
  • la liberté (1) de redistribuer le programme
  • la liberté (2) d’accéder au code source pour savoir comment il fonctionne et ce qu’il fait
  • la liberté (3) de modifier le code source, pour l’améliorer, le personnaliser, y implémenter de nouvelles fonctionnalités…et redistribuer le tout !

Dans la mesure où less logiciels propriétaires nous retirent ces libertés, Stallman les nomme privateurs.
Aussi étonnant que cela puisse paraître, même la première liberté est parfois limitée, voire retirée, dans les Conditions d’Utilisations (le long texte en petit). J’ai un vieux jeu, Dungeon Keeper II, qui spécifie qu’on ne peut pas exécuter ce jeu sur un système autre que ceux créés par Microsoft – outre les contraintes techniques, surmontables, nous n’avons même pas le droit de disposer de notre programme comme nous l’entendons !
Que dire aussi des « versions craquées » de Windows ou Microsoft Office, ou d’innombrables jeux vidéos…c’est bien la preuve que ces libertés, la comunauté n’a pas envie de les céder !

S’il y a bien une notion centrale dans la philosophie de Stallman, c’est justement la communauté. L’intérêt commun, le bien commun sont au cœur de l’éthique du logiciel libre.
Ainsi, à Bill Gates, qui disait dans lettre ouverte aux amateurs (cf. ci-dessus) que le travail d’un développeur mérite salaire, Stallman oppose l’idée que le travail d’un développeur ne mérite salaire que s’il apporte quelque chose à la communauté. Or, le logiciel privateur, par essence, nuit à tous les utilisateurs, et la communauté.
tête de GNU (constrastée)
Et GNU ? C’est quoi ? Et pis, qu’est-ce que ça veut dire ?

Désolé, mais je vais pas tout de suite vous dire ce que veut dire GNU, car ça va plus vous embrouiller qu’autre chose ^^
GNU, c’est le projet qui consiste à créer un sytème d’exploitation autonome 100% libre. Et ça inclut de nombreux logiciels comme un traitement de texte (GNU Emacs), un compilateur (le très puissant gcc), une interface graphique (X11), un shell (sh et bash)…Un projet colossal, pour ne pas dire titanesque.
Pourquoi avoir appelé ce projet GNU ? Ok, un gnou, c’est gros, mais…
En fait, je vais vous révéler la vérité : GNU, c’est un acronyme (ex : N.A.S.A. = National Aeronautics and Space Administration), et pas n’importe quel type d’acronyme : un acronyme récursif ! C’est-à-dire que dans GNU, la lettre « G » signifie… »GNU » ! Quant au reste ? « GNU N‘est pas Unix » (« GNU is Not Unix »)
Mais pourquoi dire que GNU n’est pas UNIX ?…D’abord, c’est quoi, Unix ?
UNIX, c’est un système d’exploitation qui existait à l’époque (et qui a lui-même eu des descendants). Pour créer son système d’exploitation, Stallman n’est pas parti de rien : il a décidé de s’appuyer sur une architecture existante, pour la recréer brique par brique. Ce n’est pas de la copie, puisqu’il n’avait pas le code source ; ce qui fait que GNU ressemble à Unix, mais qu’il n’est pas Unix 😛 C’est une sorte de tradition, en fait 😛
Pour la petite histoire, retenez que ça ne se prononce pas « gé est nu », mais « nou » ou « niou » en anglais, car gnu signifie gnou ^^ Néanmoins, Stallman insiste pour casser son jeu de mot en prononçant le g dur (de sorte qu’on sache qu’il est là), ce qui donne « g-nou« . En fait, ça se prononce « gnou » en français, mais en anglais.

Et l’Open Source dans tout ça ?
C’est vrai : on n’a pas fini notre petite affaire historique. Un logiciel libre diffusera forcément son code source (libertés 2 et 3) : par définition, il sera open source. Sauf que l’open source, idéologiquement, met la liberté au second plan, et insiste sur l’efficacité. Et ça, pour Stallman et la Free Software Fondation, c’est nul.
Reprenons notre histoire au début des années 90.

Linus, et la nouvelle génération de développeurs
Non, vous avez bien lu : Linus 😀 En fait, c’est le prénom du gars qui a bricolé Linux, le noyau des systèmes d’exploitation GNU/Linux. Comme il savait pas comment appeler son projet, il avait pris son propre prénom, collé un X à la fin (convention pour un nom de noyau) ; sauf que quand il a voulu trouver un vrai nom au projet, tout le monde voulait garder Linux.
Enfin, le type était étudiant, il développait pour s’amuser un noyau pour le système GNU (provisoire), et…comme c’était la dernière pièce du puzzle, quand il l’eût fini, le projet GNU était fini (leur propre noyau, Hurd, n’était toujours pas terminé…en fait, il est toujours en développement actuellement XD).
Sauf que Linus ne voyait pas les choses du même œil que Stallman, et avec lui, beaucoup de jeunes programmeurs créant des programmes libres. Pour eux, publier le code source pendant le développement, pour recevoir des idées, des améliorations, des suggestions, des conseils, c’était bien avant tout parce que c’était payant, efficace. C’était un modèle de développement utile. Mais la liberté n’était là que comme un « plus ».
Ces deux éthiques étaient si différentes qu’un libriste aurait installé un système GNU sans rien de propriétaire ; un partisan de l’open source aurait installé autant des programmes sources que propriétaires : rien à faire que ce soit propriétaire, l’important est l’efficacité du programme. Et il ne faut pas se leurrer : il y a des bons programmes dans les deux camps.

Le mot open source s’est détaché de la liberté des utilisateurs et de la communauté. C’est du marketing, qui vise à convertir les entreprises à une façon de programmer. Mais pas au logiciel libre. Selon l’article de Richard Stallman, l’Open Source passe à côté du problème.

Logiciel libre ? On s’en fout !

C’est vrai. C’est une dispute de spécialistes. Un truc de programmeurs. Ça ne fait pas une grosse différence pour l’utilisateur final. Regardons encore une fois les libertés :

1. Exécuter le programme. Ben ça, je le fais tout le temps. Windows s’exécute pas sans restriction, là ? (en fait, non :p)
2. Redistribuer le programme. Bon, c’est dommage, c’est payant. Mais c’est pas comme s’il n’y avait pas de version craquée.
3. Regarder comment fonctionne le programme. Même si j’avais le code source sous les yeux, j’y comprendrais rien. Je connais pas le C++, moi ; ces histoires de liberté, c’est une dispute de spécialistes, de concepteurs.
4. Modifier le programme. Idem, mais en pire 0_o

En effet, peut-on parler de « libertés » quand ce ne sont que des libertés en droit ? Quand leur application est soumise à un coût d’entrée trop élevé (équivalent, en fait, à une formation de développeur professionnel), pour ne pas dire un véritable investissement ?
Pour moi, savoir que je peux regarder le code source de VLC ne m’apporte rien, si ledit code source est surtout une suite incompréhensible de déclarations de constantes absconces, où je ne parviens même pas à identifier une seule véritable fonction écrite par le programmeur. Je ne pourrai jamais voir que l’extérieur du programme.
C’est peut-être le raisonnement premier qui préside à l’indifférence envers le logiciel libre. Le second, à mon avis, est le bon vieux troll de la hiérarchie des priorités ; j’y reviendrai.

Pourquoi la liberté n’est pas une affaire de spécialiste
Faisons une analogie avec la vie citoyenne. De nos jours, la loi est créée par une classe politique ; la plupart du temps, les citoyens ne savent pas ce qui se passe dans l’Assemblée Nationale et dans les institutions internationales, à moins d’être directement concernés par la loi.
La théorie dit pourtant que nul n’est censé ignorer la loi, et que les élus représentent la volonté de ce même ensemble de citoyens. Faut-il abandonner ces principes parce qu’ils ne sont pas respectés ?
Ma réponse serait oui, car je préférerais une démocratie directe, et un peuple éclairé ; mais à défaut de cela, le système actuel a quelques avantages : les citoyens ont le droit d’être informés sur les débats actuels et de les influencer, de choisir leurs camps politiques. C’est tout de même mieux que si la loi était produite par une espèce de grosse entreprise qui refusait de vous laisser votre mot à dire, non ?
Ce que je veux dire, c’est que, même si c’est un domaine auquel vous ne connaissez rien, outre les avantages pratiques de la communauté (entraide en cas de problème), ce que vous choisissez, c’est la transparence.

En outre, n’oubliez pas : si vous ne connaissez rien de l’informatique, c’est aussi parce que vous avez grandi sur un système qui ne vous encourageait pas à en savoir plus.

Une affaire de valeurs

À partir du moment où vous avez un ordinateur, les programmes que vous utilisez définissent qui vous êtes. Ce n’est pas un simple comportement de consommateur, c’est aussi une question d’identité et de conscience politique. Rester dans le giron du logiciel privateur, ignorant et dépendant d’une entreprise qui cherche à vous contrôler et à vous restreindre, c’est un choix différent que de chercher l’open source, c’est-à-dire un modèle de développement efficace, qui met en avant ses qualités compétitives sur le marché, le logiciel libre.
Les batailles d’identité entre les utilisateurs de différents OS sont si violentes :P…Microsoft, BSD (un UNIX), Linux (les « vieux » du logiciel libre vs. les « jeunes »), Apple, Google…c’est une vraie guerre d’images XD C’est que derrière le choix de ses programmes, on porte souvent des valeurs, des traditions, des idées. C’est une question de loyauté, de camp, d’idées.
Ah oui. Quand on n’est pas sous Windows, ses programmes, on les choisit. Que préférez-vous ? la pensée unique, ou la diversité ? La prison, ou le choix conscient ? La connaissance, ou l’obscurantisme ?

Pas de priorités
Il n’est certes pas question de vie ou de mort. Il n’est pas question de directement lutter pour la fin d’un conflit, ou contre une dictature. Mais songez-vous à l’impact que peut avoir l’idée de logiciel libre dans un pays dénué de liberté ? Songez-vous à la puissance des valeurs que porte ce mouvement dans une économie du tout-capitaliste ?
Certes, le domaine de l’informatique, bien qu’il constitue notre principal environnement de pensée, qu’il soit notre premier loisir, qu’il représente le seul média qui ne soit pas (encore) à sens unique, pour ne pas dire le plus sérieux espoir de démocratie directe – malgré tout cela, le domaine de l’informatique n’est pas vital. Ce n’est pas très important, ce n’est pas un lieu qui vaille que nous nous y attardions. Est-ce un lieu où nous pouvons exprimer et défendre nos valeurs, est-ce un lieu où informer nos concitoyens, et ceux du monde, de l’esprit de notre génération ? Est-ce un lieu qui aide à combattre contre toute une logique systémique de la censure et de la consommation ?
Que nenni, voyons !

Non de moi l’idée d’exagérer l’importance de ce combat. C’est un combat parmi d’autres (y compris pour moi). Un soldat sur une ligne de front. Mais qu’il soit première ligne, deuxième ligne ou médic, qu’importe ! pourquoi se battre entre nous, si nous sommes tous ici pour la même raison ? N’attaquez pas mes convictions comme étant « secondaires » ! Frères, quel est le plus « grand » d’entre vous ? hé bien, que gagnerait-il à ce que tous, vous vous suicidiez pour lui ? il trouverait seul face à l’adversaire.
Pour finir, laissons la parole à Richard Stallman.
« En effet, de quoi la société a-t-elle besoin ? D’une information vraiment disponible pour ses citoyens. Par exemple, des programmes que les gens peuvent lire, réparer, adapter, améliorer, et pas seulement faire marcher. Or ce que les propriétaires de logiciels livrent généralement est une boîte noire que personne ne peut étudier ni modifier.
La société a aussi besoin de liberté. Quand un programme a un propriétaire, ses utilisateurs perdent la liberté de contrôler un des aspects de leur vie.
Surtout, la société a besoin d’encourager l’esprit de coopération volontaire de ses citoyens. Quand les propriétaires de logiciels qualifient de « pillage » le fait d’aider notre voisin d’une façon simple et naturelle, ils polluent l’esprit civique de notre société.
»
Richard Stallman wrote the first version of Emacs using Emacs.

Publicités

Commentaires sur: "Pourquoi le logiciel libre n’intéresse personne." (2)

  1. Eh bien, je me suis toujours foutu du logiciel libre, pour toutes les raisons que tu énonces ^^ Il faudrait peut-être que je me réveille…

    • Someone actually DID read my article !!!
      Ce soir, c’est la fête. Je crois que je vais me prendre une cuite 😀

      Si tu veux commencer (enfin, moi aussi je “commence”) à t’ouvrir à l’univers Linux, le tuto du site du Zéro est parfait. Simplement, fais absolument une sauvegarde de tes fichiers importants avant toute manipulation sur tes partitions…
      Si j’ai converti quelqu’un à Linux, et qu’il devient dans les faits plus libriste que moi, ma vie est complète à 25%.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s