Comment j'ai lutté pour obtenir mon diplôme sans utiliser de logiciel non libre
par Wojciech Kosior [1]Étudiant à l'université, j'ai galéré durant la pandémie comme tout le monde. Beaucoup ont déploré des décès dans leur famille ou ont perdu leur travail. Alors que j'étudiais l'informatique à l'Université des sciences et de la technologie (AGH) de Cracovie, en Pologne, j'ai mené une autre bataille, apparemment moins importante, mais dont je sens passionnément qu'elle est vitale pour l'avenir de nos libertés. Ce qui suit est une description de mon combat qui peut servir d'encouragement et d'inspiration à d'autres.
Plateformes sans éthique
La liberté du logiciel est un enjeu énorme mais caché de notre temps. Les technologies de communication numérique comme la visioconférence ont pris une place centrale dans notre vie et ont sauvé la mise pour beaucoup de gens. Mais ces derniers n'ont pas remarqué le danger qui se dissimule dans son fonctionnement : qui contrôle cette technologie contrôle nos vies. Récemment, on a vu le pouvoir des Gafam subvertir la démocratie, contrôler la parole publique, exclure des groupes et envahir notre vie privée.
La liberté du logiciel est une lutte pour redonner le contrôle aux gens. C'est un combat contre le logiciel « non libre », également appelé logiciel privateur, qui soumet ses utilisateurs à des dommages injustes et envahissants. Dans la poursuite de leur mission libératrice, les militants de la liberté du logiciel comme moi exigent d'utiliser du logiciel libre.
C'est particulièrement important de diffuser ces idéaux parmi les nouvelles générations. Malheureusement, on voit souvent la tendance opposée. Dans mon pays, le système d'exploitation par défaut trouvé dans la plupart des labos d'informatique est Microsoft Windows, qui est privateur, et certaines universités fournissent même des licences gratuites aux étudiants. J'ai fini par me rendre compte que cette pratique ne bénéficie qu'au fournisseur du système d'exploitation privateur. Le niveau de dépendance de l'organisation des cours envers Google Sheets et Google Forms, privateurs également, est tout aussi terrifiant.
Pendant la pandémie, on a vu les établissements d'enseignement adopter à la hâte des outils privateurs comme Microsoft Teams, Zoom et WhatsApp, sous la pression du réseau qu'ils génèrent. Les écoles et universités ont ensuite essayé de les imposer à leurs étudiants, les exposant ainsi à la perte de liberté due à l'utilisation de programmes que les utilisateurs ne contrôlent pas, ainsi qu'à des failles de sécurité et à des violations de leur vie privée.
Comme je refuse d'utiliser des logiciels à l'éthique douteuse, la dépendance complète à des plateformes privatrices a créé un conflit éthique. Mon but était d'obtenir mon diplôme sans céder aux services non libres qu'on m'imposait, en convainquant mes professeurs [2] de me permettre de remplacer toutes les applications privatrices par du logiciel libre. Je n'espérais pas gagner la bataille contre un tel pouvoir, mais maintenant, grâce à des démarches fermes mais néanmoins courtoises, je pense avoir réussi. J'espère que cette histoire vous aidera à résister, vous aussi.
Étudier de manière éthique
Avec le temps, je suis devenu de plus en plus déterminé à éviter le logiciel non libre. Entre autres défis, cela s'est traduit par l'acquisition d'un ThinkPad équipé de LibreBoot et la migration vers des distros GNU/Linux uniquement constituées de logiciel libre. Vous allez me poser la question :
Et pour tes études ? Est-ce que tu n'étais pas obligé d'utiliser Windows ? Ou MS Office ? Ou d'autres outils privateurs ?
En fait, la plupart des devoirs pouvaient être effectués avec du logiciel libre. Aujourd'hui, on bénéficie d'excellents systèmes d'exploitation libres, ainsi que d'outils libres pour la plupart des tâches. La majorité des langages de programmation ont des implémentations libres. Dans les rares cas où un outil privateur était strictement exigé, j'ai été en mesure, ou bien de convaincre le professeur de me laisser le remplacer – par exemple, faire les exercices avec une base de données PostgreSQL au lieu d'une base Oracle – ou bien de faire le travail au labo, sur un ordinateur de l'université. J'admets que faire tourner un logiciel non libre sur l'ordinateur de quelqu'un d'autre ne résout pas entièrement le problème éthique. Cela semblait une solution raisonnable, mais ce n'est pas quelque chose dont je suis fier.
Maintenant, je prends aussi plus au sérieux le problème du JavaScript (js) dans le navigateur. Le js du web s'exécute dans un bac à sable isolé du reste, ce qui conduit beaucoup de gens à penser qu'il est acceptable, bien que non libre. Le bac à sable peut effectivement résoudre des problèmes de sécurité, mais le vrai problème que posent les logiciels privateurs réside ailleurs, dans leur refus de laisser le contrôle aux utilisateurs. Actuellement, il n'est pas facile de préserver notre liberté logicielle dans le domaine de la navigation web. Souvent les sites fonctionnent mal quand js est désactivé. J'ai dû demander à des collègues de m'aider à saisir des données pour un cours dans une feuille de calcul Google Sheets parce que je ne pouvais pas le faire sans activer js. De plus, le code js est utilisé pour déterminer l'empreinte numérique du navigateur, qui sert à pister les utilisateurs.
Persuader en douceur
J'ai terminé mon cinquième semestre sans trop de problèmes. C'est au début du sixième semestre que la pandémie a commencé. Les universités ont fermé leurs locaux, et donc la plupart des étudiants sont retournés chez eux et les professeurs ont commencé à organiser des cours à distance. Sans surprise, ils ont tous choisi des plateformes privatrices, surtout Cisco WebEx, Microsoft Teams, ClickMeeting et Skype. Je n'ai pu trouver de client libre pour aucun d'entre eux. De plus, comme les professeurs ne se rendaient pas compte que le js non libre pose problème, ils s'attendaient à ce que tout le monde puisse facilement rejoindre les sessions vidéo sur n'importe quelle interface web.
Quelle a été ma réponse à ces exigences ? J'ai envoyé un courriel très poli à chacun des professeurs ayant annoncé que quelque chose aurait lieu sur une plateforme problématique, pour lui expliquer qu'il n'existait pas de client libre adéquat. J'y ai souvent ajouté un lien vers Costumed Heroes, une vidéo populaire (créée par la Free Software Foundation) qui explique le problème de la liberté du logiciel dans les universités, ainsi que d'autres liens vers des programmes libres de vidéoconférence comme Jami et Jitsi Meet.
Bien que les plateformes centralisées aient beaucoup de problèmes notoires de surveillance et d'insécurité, j'expliquais que, pour moi, le principal souci était la liberté du logiciel. Des réponses me pressant de « faire tourner le programme dans une machine virtuelle » ou disant que je n'avais « pas besoin du code source pour utiliser le service » étaient la preuve que certains de mes professeurs ne comprenaient pas ces questions, ou ne les comprenaient que partiellement. Si j'avais étudié autre chose que l'informatique, je soupçonne que la fraction de ceux qui comprenaient aurait été beaucoup plus faible.
Ce que j'ai perdu
J'avais deux sujets distincts de préoccupation. Le premier était d'accéder aux documents pédagogiques et de participer ; par exemple, dans un cours sur l'apprentissage automatique [machine learning], j'ai trouvé quelqu'un pour me communiquer ce que le professeur avait dit. Le second était l'inscription et l'évaluation. Dans certains cours à distance, la présence des étudiants n'était pas vérifiée. Je les ai sautés. Je n'ai pas eu de problème non plus pour mettre mes devoirs en ligne sur Moodle.
Le premier vrai problème s'est présenté dans le cours d'intelligence artificielle, qui faisait intervenir tout à tour plusieurs professeurs. Le premier a donné un exercice qui exigeait l'application privatrice Framsticks, mais m'a permis de le remplacer par un exercice sur les réseaux neuronaux. Un autre professeur a consenti à me laisser utiliser Webots au lieu de Choreographe pour un exercice de simulation. Un autre encore nous a demandé de suivre un cours en ligne sur NVIDIA qui nécessitait du js non libre. Ce professeur n'a pas répondu à mon courriel.
Un devoir sur les systèmes distribués devait être envoyé par WebEx, mais le professeur a donné son accord pour que j'utilise Jami à la place.
Incertitude et doute
D'autre part, j'étais rongé par l'incertitude due au manque de politique claire. De ne pas savoir si l'université prendrait en compte mes principes était cause de stress permanent. Malgré ma petite victoire du début, il y avait d'autres cours où plusieurs professeurs intervenaient, et cela voulait dire que trois personnes ou plus devaient donner leur accord pour que je sois reçu ; je suis donc resté dans l'incertitude jusqu'au mois de juin. En mars, le cours de programmation système a commencé. Le professeur, qui ne voulait pas perdre son temps à se connecter à une plateforme libre pour noter mon travail, m'a donné peu d'espoir, de sorte que j'ai dû vivre dans l'incertitude pendant les vacances de Pâques et au-delà.
Je crois que chaque classe devrait au minimum se voir offrir des moyens d'interopérer avec des outils libres, afin que les étudiants puissent au moins utiliser des plateformes libres pour lire le texte des devoirs et envoyer leurs réponses. Faute d'interopérabilité, la dépendance au logiciel privateur a un coût pour les étudiants et les professeurs, en temps et en maux de tête. Une fois, j'ai écrit à deux professeurs à propos de l'utilisation de plateformes non libres pour les cours magistraux. L'un d'eux n'a pas répondu et l'autre a répondu sans y mettre les formes. Ils n'avaient pas l'air de comprendre, mais je soupçonne qu'ils s'évitaient du travail supplémentaire. Cela a eu un effet corrosif sur mon implication et je ne me suis plus occupé des cours magistraux. J'ai perdu un temps considérable et pris du retard dans mes études pour éviter un gestionnaire de paquets spécifique d'un certain langage, qui me semblait poser des problèmes de sécurité et de liberté. Le temps est précieux pour tout le monde.
Friction au sujet des libertés
Bien que stressantes, les choses s'étaient plutôt bien passées jusque-là. Mais le premier gros problème s'est présenté après Pâques dans un cours d'ingénierie logicielle. Le professeur a d'abord ignoré mes courriels, mais finalement répondu longuement en menaçant de me coller à l'examen si je ratais encore un cours. Le ton de ce message dénotait une grande irritation, confinant à la colère. Il suggérait que je me fasse aider par un collègue pour participer au cours. Je me suis connecté par Mumble avec un camarade, qui a servi d'intermédiaire avec le professeur. Pas parfait, mais ça a marché !
Les questions de liberté du logiciel, qui sont d'ordre éthique, doivent être distingués d'autres considérations auxquelles les partisans de l'open source donnent souvent la priorité. Par exemple, les défenseurs de l'open source évitent de mettre l'accent sur ces problèmes important de liberté et disent seulement qu'un logiciel dont les sources sont disponibles publiquement va atteindre une meilleure qualité avec l'aide de la communauté. En même temps, nos opposants affirment que le logiciel privateur peut générer plus de profit, ce qui permet de recruter plus de développeurs pour travailler à son amélioration.
L'examen final du cours sur les compilateurs devait se passer sur Microsoft Teams. À nouveau, j'ai pensé que l'adhésion à mes principes me conduirait à l'échec. Le plus amusant, c'est que c'est Teams qui a échoué. Il ne pouvait pas gérer la connexion de douzaines d'étudiants. Nous avons donc passé l'examen par courriel. D'un autre côté, pendant un contact avec mon directeur de thèse en juillet, c'est Jami qui a lâché pendant la réunion. Aucun logiciel n'est parfait. Mais avec un logiciel libre on peut au moins garder les morceaux quand il casse.
Ce ne sont pas nécessairement les aspects fonctionnels du logiciel qui créent de la friction autour du manque de liberté du logiciel. Pendant l'été il a fallu que je fasse un stage. J'ai refusé une offre rémunérée après avoir appris que l'employeur rendrait mon code non libre. J'ai finalement fait un autre stage, non rémunéré.
Après toutes ces vicissitudes, j'ai finalement été reçu à mon semestre d'été et même obtenu des notes décentes. Ce qui à un moment donné semblait impossible était désormais réalité.
Le privateur imposé à tous les niveaux
Avant le semestre d'hiver, une liste de plateformes de vidéoconférence respectant la loi sur la protection des données a été donnée aux professeurs. Elle contenait Teams, Cisco WebEx, ClickMeeting et Google Meet. Vous voyez sûrement l'ironie !
Un professeur a accepté d'utiliser Jitsi Meet pour tous ses cours et suggéré que je demande au conseil des étudiants de le recommander au doyen, mais le conseil n'a jamais répondu à mes courriels. Un logiciel de qualité, meilleur sur le plan de la protection des données, était délibérément mis de côté en faveur de solutions commerciales non libres dans ce qui ressemblait à un cas de main-mise de la grosse entreprise sur un établissement d'enseignement, sur fond de corruption. Le logiciel libre n'a pas été approuvé et le professeur a continué à communiquer avec les autres étudiants via WebEx.
Malentendus
Comme je l'ai dit plus haut, bien que hautement compétents en science informatique et très expérimentés, beaucoup d'universitaires ont fait montre d'une compréhension généralement médiocre de la politique et de l'éthique entourant le logiciel libre.
Le professeur qui donnait le séminaire a soutenu qu'une plateforme libre « ne peut pas être plus sûre » puisqu'elle tourne aussi sur un autre serveur. J'ai répondu que Jitsi Meet autorise la création d'instances indépendantes, ce qui élimine la dépendance à une seule entreprise. J'ai aussi noté que le manque de clients libres est le principal problème avec les autres services. C'est une honte que des professeurs de ce niveau, qui comprennent en profondeur la différence entre chiffrement intermédiaire et chiffrement de bout en bout, l'enseignent dans leurs cours mais ne la mettent pas en pratique au quotidien dans leur profession.
Une autre fois, j'ai protesté contre l'utilisation d'une machine virtuelle sous Windows pour un exercice de test de pénétration. Le professeur a fait remarquer qu'on ne devient pas bon en test de pénétration si on restreint les tests aux serveurs libres. J'ai renoncé à lui répondre, mais je pense que les plateformes privatrices doivent être considérées comme mal sécurisées par défaut, entre autres à cause des portes dérobées qu'elles pourraient éventuellement avoir.
Avoir de la détermination
Un jour, j'ai eu une dispute avec mon directeur de thèse, qui m'a donné un ultimatum pour que j'utilise Microsoft Teams. Je n'étais pas d'accord et mon directeur de thèse était censé informer le doyen qu'il renonçait à diriger mon travail. Peut-être que le doyen n'a pas lu ce courriel ? Je n'en sais rien. Toujours est-il qu'après quelques semaines j'ai été jusqu'à emprunter du matériel électronique à mon professeur, comme si la dispute n'avait jamais eu lieu.
Plus tard, un professeur qui n'était pas d'accord pour que je suive un cours sans utiliser Teams voulait me coller à l'examen pour mes « absences », bien que j'aie envoyé les devoirs pendant tout le semestre. Après un long débat, il m'a offert de le rencontrer en ligne le 8 janvier… sur Teams ! J'ai refusé poliment une fois de plus et répété mes arguments. Le professeur a finalement mis le doyen associé en copie dans un message. Entre-temps, la date limite pour déposer ma thèse en vue d'une soutenance en janvier avait expiré. Après de nombreux courriels de rappel, une réponse est finalement arrivée, et grâce à l'intercession du doyen j'ai obtenu une note, terminé mon septième semestre et soutenu ma thèse en mars avec succès.
Conclusions
Rétrospectivement, je suis fier de ce que j'ai fait. J'ai pris le risque de rater mes études et récolté une note finale inférieure à celle que j'aurais eue si je m'étais soumis à l'utilisation de logiciels sans éthique et mal sécurisés. Mais je m'en satisfais. Je ne pense pas que de capituler devant les plateformes non libres m'aurait apporté des avantages sur le long terme – seulement plus de compromis.
Cela montre que certaines personnes sont intolérantes aux principes de liberté du logiciel, mais tout compte fait il y n'en a pas eu beaucoup ; en réalité, la plus grande partie du personnel d'AGH m'a montré de la bienveillance. Grâce à eux, j'ai maintenant la preuve qu'il est possible d'étudier, d'obtenir un diplôme… en un mot, de vivre sans dépendre de logiciels privateurs. Après cette expérience éprouvante, je me sens plus indépendant que jamais et le célèbre RMS [3] m'a même exprimé sa reconnaissance. J'espère que mon histoire aidera d'autres étudiants à arriver là où j'en suis.
De me battre pour n'utiliser que des programmes libres m'a forcé, et continue à me forcer, à acquérir de nouvelles compétences. J'en connais assez maintenant sur les technologies du web pour faire fonctionner plusieurs sites sans JavaScript. Mais le mieux, c'est que je pourrai partager mes correctifs avec d'autres et rendre une partie du World Wide Web utilisable en toute liberté.
[1] Merci à Andy Farnell, Andy Oram et Richard Stallman for leur aide.
[2] Dans cet essai, je désigne tous les enseignants de l'université comme « mes professeurs », bien que seuls certains possèdent officiellement ce titre académique.
[3] Dr. Richard M. Stallman, fondateur de la Free Software Foundation et Chief GNUisance (nuisance en chef) du projet GNU.