LTA n°2, De l'importance du travail libre
Les articles Let’s talk about sont un format qui permet aux membres d’IP7 de s’exprimer sur des sujets liés à l’informatique. Il va de soi qu’ils n’expriment aucune vérité absolue mais simplement leur avis. Bonne lecture !
La plus grande chance que nous ayons est d’être né au temps présent. Voilà seulement une vingtaine d’années que l’informatique prend une place centrale dans nos vies quotidiennes. Nous avons la chance de vivre ce moment de transition, assez vieux pour en être acteurs et assez jeunes pour le voir d’un oeil nouveau.
En opposition à la physique, où il a fallu beaucoup de courage à Galilée pour aller contre un millénaire de géocentrisme profondément ancré dans les esprits, aux mathématiques où il a fallu beaucoup d’audace à Poincaré pour remettre en cause l’intangibilité de la géométrie euclidienne et au droit où il a fallu tant de détermination à Simone Veil pour faire accepter l’IVG à une société aux moeurs bien ancrées. En informatique aucune pensée n’est encore trop profondément ancrée pour être défaite. Tout le monde peut faire de l’informatique de demain une informatique qui lui ressemble.
Voilà la thèse que j’avance et que je défends, que travailler pour le logiciel libre c’est se donner les moyens, à soi et à ceux qui nous suivrons, de ne plus être les esclaves de ceux qui les ont précédés.
Je vais commencer par expliciter ma pensée parce qu’ainsi formulée elle peut être trompeuse. Qu’est-ce que j’entends par esclave ? Très rapidement, notre pensée se contruit autour de l’environnement dans lequel on évolue. Environnement dont nous héritons, bien sûr, de nos parents et plus largement de tous les êtres humains qui nous ont précédés. Nous n’avons aucun contrôle sur ce qui a été – je pense que ce n’est une surprise pour personne qu’on ne puisse pas changer le passé –, mais nous pouvons en avoir sur ce qui est et sera, à condition de se donner les moyens d’être acteurs de notre environnement.
Il me semble bon de faire remarquer que le moteur du progrès est l’émancipation de la pensée, la capacité de cette dernière à imaginer et réfléchir des paradoxes. Attention, paradoxe ne veut pas dire contradictoire comme pourrait le laisser penser son usage majoritaire et erroné. Paradoxe veut dire contre la doxa, c’est à dire contre la pensée générale ; et si certains utilisent à tort paradoxe plutôt que contradictoire c’est essentiellement pour des raisons d’éloquence, la mysticité du terme n’étant plus à prouver. Pensons à Einstein qui révolutionna la physique moderne en remettant en cause l’immuabilité du temps; ou pensons encore à Galilée et son étude de la chute des corps ô combien surprenante. Que de pensées que nous comprenons aujourd’hui mais qui n’en furent pas moins des paradoxes autrefois.
Notre capacité à agir, à être vecteur de progrès est absoluement indissociable de notre capacité à penser des paradoxes.
Là où je veux en venir avec tout ça, c’est que participer, encourager des projets libres nous libère de la pensée que notre ordinateur est une boite noire qui nous est imposée – et c’est, je pense, d’autant plus important d’en prendre conscience quand on veut faire de l’informatique. Les communautés open source sont – comme leur nom peut le laisser entendre – ouvertes à tout le monde, n’importe qui peut participer à des discussions concernant l’évolution des outils qu’il utilise, et voir même de participer à son développement. C’est un premier pas pour devenir acteur de sa consommation, c’est un moyen simple se rendre compte que nous pouvons agir et décider de ce que le monde de demain sera.
Je me permet un aparté rapide pour illustrer mon propos avec un exemple historique qui n’a rien à voir avec l’informatique, qui je pense nous a tous concerné sans que nous nous en rendions forcément compte. J’entends parler de cinéma et plus spécifiquement de la Nouvelle Vague. La Nouvelle Vague est un courant cinématographique qui a commencé dans les années 60, fruit du mécontentement de quelques critiques cinéphiles Français dont les deux plus connus sont Jean-Luc Godard et François Truffaut. Ils étaient deux critiques de cinéma pour un magazine qui s’appelait Les Cahiers du Cinéma et pas satisfaits de la manière dont se faisaient les films à leur époque. Ce qui changea profondément le cinéma et donna naissance à ce que nous appellons la Nouvelle Vague fut quand ils passèrent de critiques à réalisateurs – c’est à dire d’observateurs investis à acteurs réalisant des films – pour faire un cinéma qui ressemblait plus à ce qu’ils pensaient qu’il devrait être – c’est à dire, grossièrement, plus émancipé de gros studios. Et bien qu’à mon plus grand désespoir, leurs films ne soient que peu connus aujourd’hui du grand public, ils ont indéniablement ouvert la porte à une génération de réalisateurs parmi lesquels on peut citer Martin Scorsese ou Quentin Tarantino – que, je pense, vous n’êtes pas, très chers lecteurs, sans connaître.
Ce que je voulais vous montrer à travers cette petite digression, c’est que nous n’avons pas à être les esclaves des images pré-existantes ; que nous pouvons changer les modes de pensées et quand bien même le succès ne serait pas total, peut-être que nous aurons donné à d’autres les images qu’ils leurs fallaient pour y arriver. Ce que je dis ici est absolument capital et d’autant plus général ; et je pense que si vous deviez ne retenir qu’une chose de ce long texte, c’est celle-ci. Nous n’avons pas à être les esclaves de notre consommation, en tant que spectateur de cinéma, lecteur, ou joueur de jeux vidéos, s’intéresser, participer activement non plus seulement à notre usage, mais plus largement au médium et aux outils, nous donnne les moyens de les changer.
L’open source est un facteur déterminant de l’industrie moderne. De plus en plus de logiciels très largement utilisés sont des projets open source soutenus par des fondations comme Mozilla (on peut citer Rust et leur célèbre navigateur) ou des entreprises comme Google ou Facebook (React, Haxl, Angular ou encore Go). Les projets libres offrent un bon compromis entre le développement d’outils fonctionnels et l’expérimentation. La connexion entre les utilisateurs des technologies avec lesquelles sont développées ces outils est beaucoup plus transparente que pour des projets propriétaires. C’est un bon moyen d’expérimenter des technologies encore expérimentales – entre la recherche et les applications pratiques.
De plus, quels que soient vos centres d’intérêts, il est quasiment certain que d’autres personnes ont déjà travaillé dessus, s’ils n’y travaillent pas encore. Les domaines les plus dynamiques, parmi lesquels on peut citer le Machine Learning, le Big Data, les langages de Programmation ou les technologies du Web, sont tous entourés des communautés collaboratives et très actives. Quels que soient vos centres d’intérêts, il y a des gens qui ont les mêmes ; rejoignez-les et travaillez ensemble sur un projet commun.
Pour clôre cet article, je vais tenter de vous montrer pourquoi, vous étudiant d’informatique, avez interêt à vous lancer dans des projets personnels ou dans des projets libres.
Vous devriez vous lancer dans des projets libres parce que c’est un exellent moyen d’étendre sa culture informatique. En effet, vous apprenez pleins de choses très intéressantes en cours mais vous n’avez pas idée de ce que vous n’apprenez pas en vous limitant à cela. Les professeurs ont des impératifs à vous apprendre en un temps fixé – et c’est tout à fait normal. De ce fait, il y a aussi pleins de choses que vous n’apprendrez que par vous même ; personne d’autre que vous ne peut faire l’effort d’aller les apprendre. Participer à un projet libre, préexistant ou plus personnel, est un très bon moyen d’étendre sa culture informatique. Ne vous imposez aucune barrière ! N’attendez pas qu’on vous montre les choses, contentez vous de les faire ! Et si vous bloquez, n’oubliez pas que vos professeurs pourront peut-être vous aider à condition que vous leur demandiez gentiment.
C’est aussi un exellent moyen de pratiquer et de s’entraîner. Si vous n’arrivez pas à comprendre comment quelque chose fonctionne, allez voir les outils open source qui existent, en somme soyez curieux ! Un cours trop théorique vous ennuie ? Lancez-vous un défi, programmez un outil autour de cette matière, allez voir les outils préexistants et à quoi ils servent !
L’essentiel est d’avoir une démarche pro-active, et c’est difficile mais pas impossible. N’oubliez pas que vous n’êtes pas tout seul, vous pouvez demander de l’aide aux membres d’IP7, peut-être que quelqu’un pourra vous aider ; et surtout n’oubliez pas que vous avez d’excellents (et très sympatiques) professeurs.
Je me permets également de faire une petite remarque. Essayez de vous intéresser à l’informatique en dehors du cadre académique : cela peut vous aider à savoir ce que vous aimeriez faire, et avoir une idée plus précise de ce vers quoi vous devriez vous orienter plus tard ; vous éviter les mauvaises surprises.
J’espère que cet article vous aura plu et vous amènera à réfléchir sur le logiciel libre. Une deuxième partie fera suite à cet article en fournissant les outils permettant de contribuer à des projets open source.