Les geeks sont les nouveaux défenseurs des libertés publiques, par G. Coleman

Gabriella Coleman est une anthropologiste spécialisée dans la « culture hacker ». Elle a ainsi récemment publié le très remarqué livre Coding Freedom: The Ethics and Aesthetics of Hacking (PDF intégral Creative Commons By-Nc-Nd).

Elle nous livre ici le fruit de sa réflexion suite à la triste disparition d’Aaron Swartz.

Puisque le code devient pouvoir et que les geeks maîtrisent le code, on assiste en effet à l’émergence d’un nouveau mouvement…

Frédéric Bisson - CC by

Les geeks sont les nouveaux défenseurs des libertés publiques

Geeks are the New Guardians of Our Civil Liberties

Gabriella Coleman – 4 février 2013 – MIT Technology Review
(Traduction : Moosh, lamessen, heapoverflow, Sky, Pouhiou, KoS, monsieurab, Slystone, goofy, yazid, isinocin, axellemag1, zak, Penguin, Nodel, Vilrax + anonymes)

Les Geeks sont les nouveaux défenseurs des libertés publiques (NdT : « Civil Liberties », que l’on pourrait aussi traduire par libertés individuelles voire citoyenneté).

Des évènements récents ont mis en évidence le fait que les hackers, les développeurs et les geeks sont porteurs d’une culture politique dynamique.

Plus d’une décennie d’étude anthropologique dans leur milieu, a forgé ma conviction, que les hackers ont construit un très dynamique mouvement de défense des libertés individuelles et publiques. C’est une culture engagée à libérer l’information, sans contrôle excessif et sans surveillance par les gouvernements et les partenaires privés, à insister sur le droit au respect de la vie privée, et à combattre la censure, produisant un effet d’entraînement sans précédent pour la vie politique. Et 2012 a été à ce sujet une année faste.

Avant que je ne développe, il serait bon d’expliquer brièvement le mot « hacker ». C’est une source de débats, même parmi les hackers. Par exemple d’un point de vue technique : un hacker peut programmer, administrer un réseau, bidouiller, réparer et améliorer du matériel et du logiciel. D’un point de vue éthique et politique, cette diversité est tout aussi grande. Certains hackers font partie d’une tradition de la transgression et du non respect des lois ; leurs activités sont opaques et indétectables. D’autres hackers sont fiers d’écrire des logiciels open source, libres d’accès et transparents. Alors que certains restent loin de toute activité politique, un nombre croissant d’entre eux se lève pour défendre leur autonomie productive ; ou s’engage plus largement dans des luttes pour la justice sociale et les Droits de l’Homme.

Malgré leurs différences, certains sites web et certaines conférences rassemblent les divers clans de hackers. Comme tout mouvement politique, il y a des divergences internes mais, si les bonnes conditions sont réunies, des individus aux aptitudes distinctes travailleront à l’unisson pour une même cause.

Prenons par exemple la réaction à l’encontre de la loi Stop Online Piracy Act (SOPA), un projet de loi de grande envergure sur le droit d’auteur visant à réduire le piratage en ligne. SOPA a été stoppée avant qu’elle ne puisse être adoptée, et cela, grâce à une réaction massive et élaborée de la dissidence, menée par le mouvement des hackers.

L’élément central a été une journée de boycott dite « Blackout Day », sans précédent à l’échelle du web. Pour exprimer leur opposition à la loi, le 17 janvier 2012, des organisations à but non-lucratifs, quelques grandes entreprises du web, des groupes d’intérêts publics et des milliers d’individus ont décidé de rendre momentanément leurs sites inaccessibles ; des centaines d’autres citoyens ont appelé ou envoyé des courriels aux représentants politiques. Les journalistes ont par la suite beaucoup écrit sur le sujet. Moins d’une semaine plus tard, après ces évènements spectaculaires, le projet SOPA et le projet PIPA, son pendant au Sénat, ont été suspendus.

La victoire repose sur le soutien très large des hackers et des geeks. La participation de très grandes entreprises, comme Google, de personnalités reconnues du monde numérique, comme Jimmy Wales, et de l’organisation de défense des libertés individuelles Electronic Frontier Foundation (EFF) ont été cruciales au succès de l’action. Toutefois, la présence et le soutien constant et indéfectible des hackers et des geeks, fut palpable, y incluant bien sûr Anonymous. Depuis 2008 les activistes se sont ralliés sous cette bannière pour organiser des manifestations ciblées, faire connaître diverses malversations, organiser des fuites de données sensibles, s’engager dans l’action directe numérique et fournir une assistance technique pour les mouvements révolutionnaires.

Durant la protestation contre SOPA, les Anonymous ont publié des vidéos et des posters de propagande, tout en faisant régulièrement le point de la situation sur plusieurs comptes Twitter, dont Anonymous News, qui dispose d’un contingent important de followers. À la fin du blackout, les compagnies s’éloignèrent naturellement du feu des projecteurs, et se remirent au travail. La lutte pour les droits numériques continua, cependant, avec les Anonymous et les autres activistes.

En réalité , le jour suivant, le 18 janvier 2012, les autorités fédérales orchestrèrent le démantèlement du populaire site de partage de fichiers Megaupload. Kim Dotcom, le sympathique et controversé fondateur de la compagnie fut aussi arrêté dans un spectaculaire raid matinal en Nouvelle-Zélande. Le retrait de ce site populaire ne présageait rien de bon pour les Anonymous : il semblait confirmer que si les décrets tels que SOPA devenaient des lois, la censure deviendrait inévitable et commune sur Internet. Bien qu’aucune cour n’ait jugé Kim Dotcom coupable de « piratage », ses possessions sont toujours confisquées et son site web banni d’Internet.

Dès que la nouvelle fut connue, les Anonymous coordonnèrent leur plus grande campagne d’attaques par déni de service (DDOS) à ce jour. Elle mit à mal de nombreux sites web, incluant la page d’accueil d’Universal Music, le FBI, le bureau américain des copyrights (U.S Copyright Office), l’association américaine de l’industrie du disque (Recording Industry Association of America, RIAA) et l’association américaine du cinéma (Motion Picture Association of America, MPAA).

Quelques semaines plus tard, en Europe, les Anonymous firent encore parler d’eux, à l’occasion de mouvements de protestation massifs en ligne et hors-ligne contre ACTA, autre accord international sur le copyright, particulièrement au Danemark et en Pologne (voir Europeans Protest Anti-Piracy Treaty). Après que le gouvernement polonais fut d’avis de ratifier ACTA, les Anonymous mirent hors-service quelques-uns de ses sites officiels, et médiatisèrent les manifestations publiques à Cracovie notamment. Peu de temps après, les députés du parti polonais de gauche, le mouvement Palikot, siégèrent en portant le masque de Guy Fawkes, symbole des Anonymous, en signe de protestation contre ACTA. L’Union européenne a abandonné la proposition de loi en juillet 2012.

Anonymous s’est révélé être un acteur si important durant ces évènements que quelques temps après, j’ai reçu un coup de téléphone d’un investisseur en capital-risque impliqué dans l’organisation des protestations anti-SOPA. Il voulait savoir comment Anonymous opérait et si ses membres pouvaient être mis à contribution de façon plus directe. Ce qui est beau et frustrant à la fois dans le fonctionnement d’Anonymous est l’absence d’organisation et le caractère imprévisible des actions de ses membres. Comme ils aiment à le dire, « Nous ne sommes pas votre armée personnelle ». Mais son intuition qu’ils ont joué un rôle important dans cette histoire était bonne.

L’une des clés du succès de Anonymous réside dans sa nature participative, surtout quand on le compare au monde des hackers où agir demande des compétences techniques (et souvent une réputation). Des hackers doués sont en effet indispensables pour le réseau des Anonymous, ils mettent en place l’infrastructure de communication et décrochent la plupart des gros titres, par exemple quand ils s’introduisent dans des serveurs pour chercher des informations sur la corruption publique ou dans des entreprises. Mais le hacking n’en reste pas moins un outil parmi d’autres (et certains sous-groupes des Anonymous s’opposent au hacking et au défacement). Il y a d’autres choses à faire : des communiqués de presse percutants, des posters à dessiner, des vidéos à éditer. Les geeks et les hackers ont peut-être des compétences différentes, mais ils sont souvent compagnons de voyage sur internet, ils dévorent les mêmes journaux, ils suivent les mêmes cultures geek et ils défendent les libertés numériques même s’ils utilisent des méthodes et des organisations différentes.

L’importance, l’influence, et surtout la diversité de ce mouvement politique geek m’est apparu très récemment. Non pas à l’occasion d’un évènement politique officiel, mais au moment d’une commémoration doublée d’une réunion politique informelle. Plus d’un millier de personnes se sont rassemblées dans le majestueux Cooper Union Hall à New York pour honorer la mémoire d’Aaron Swartz, un hacker et activiste autoproclamé qui s’est suicidé récemment, en raison, selon certains, d’une ingérence du gouvernement dans son procès en rapport avec le téléchargement illégal de millions d’articles universitaires depuis le site de la bibliothèque du MIT (voir l’article « Why Aaron Swartz’s Ideas Matter »).

Ils parlèrent de la vie d’Aaron, de sa forte personnalité, et surtout de ses succès politiques et de ses désirs. Tout comme ses semblables, il détestait la censure, et avait donc naturellement rejoint le combat contre SOPA. Pendant la commémoration, on put entendre des extraits de son célèbre discours à la conférence Freedom to Connect en 2012, quand Swartz affirma que « SOPA a vraiment été stoppée par les gens eux-mêmes ». Il avait joué un rôle clé pour plusieurs raisons notamment en fondant l’association Demand Progress, une association à but non lucratif qui a participé à canaliser le mécontentement des citoyens à travers des pétitions et des campagnes contre SOPA.

Contrairement aux Anonymous qui n’ont pas de mission unique, d’adresse physique, ou de porte-parole officiel, Demand Progress est un organisme ayant un bureau de direction au cœur du pouvoir politique, à Washington. Néanmoins il canalise, de manière assez efficace, des initiatives de la base en faveur de la protection des libertés civiles, un groupe modéré qui peut coordonner des actions avec patience et précision.

De toute évidence, les geeks et les hackers en tout genre font usage d’une large variété de tactiques et de moyens d’expression politique. Demand Progress, ainsi que l’émergence du Parti Pirate en Europe, montrent la volonté des geeks et des hackers de s’exprimer et de travailler au sein des institutions en place. Tous les signes montrent qu’ils ont de plus en plus souvent recours à des modes d’expression politique plus traditionnels. Cependant cela va probablement coexister avec des actes plus ou moins organisés de désobéissance, de défi et de protestations qui sont également devenus plus fréquents et visibles ces dernières années, en grande partie grâce à Anonymous.

Mais en ce samedi après-midi, les différences ont été mises de côté au profit d’une posture unitaire, en commémoration, et avec la conviction que la bataille pour la préservation des libertés publiques individuelles n’en était qu’à ses débuts.

Crédit photo : Frédéric Bisson (Creative Commons By)




Non, je ne vais pas télécharger ton application mobile de merde !

C’était mieux avant ?

Tom Morris souhaite juste lire un article de presse. Sauf que la procédure pour y arriver n’est pas la même selon qu’il se trouve sur bon vieil ordinateur ou sur son clinquant smartphone (ici un iPhone).

Alors Tom Morris en a marre et nous le dit sur son blog dans un style qui ne fait pas dans la dentelle !

Daniel Hennemand - CC by

Non, je ne vais pas télécharger ton appli de merde

No, I’m not going to download your bullshit app

Tom Morris – 2 février 2013 – Blog personnel
(Traduction : Pouhiou, ehsavoie, Lapinosor + anonymes)

Comment lisions-nous les informations à l’époque du Web :

  1. Aller sur le site du journal.
  2. Cliquer sur l’article.
  3. Lire.

Voici comment nous lisons les informations à l’ère des saloperies d’applications iPhones inutiles :

  1. Aller sur le site web.
  2. Être informé que vous n’êtes pas autorisé à lire le site web.
  3. Être redirigé vers un App Store.
  4. Télécharger l’application.
  5. Attendre tandis qu’un fichier de plusieurs megaoctets se télécharge sur votre capricieuse et onéreuse connexion 3G.
  6. Ouvrir l’application.
  7. Se familiariser avec une interface dont les touches sont d’une intuitivité obscure qui ne nous a pas été dévoilée et d’une utilisation subtilement différente des autres applications similaires.
  8. Lutter contre l’indicateur d’état mal implémenté d’une roue dentée de chargement (sur iOS) ou une barre de progression clignotante (sur Android) parce que vous avez eu l’audace d’utiliser votre appareil mobile sur une connexion lente ou incertaine.
  9. Tenter de trouver l’article que vous souhaitiez lire dans une mise en page et une architecture informationnelle qui sont totalement différentes de la mise en page et de l’architecture informationnelle du site web auquel vous vous êtes habitué, parce qu’un enfoiré a décidé que lire l’équivalent électronique d’un journal doit être une « rupture technologique » (car il a lu bien trop de Seth Godin[1] et autres foutaises).
  10. Réaliser que l’application ne vous montre pas la même chose en mode paysage ou portrait. À vous les joies de passer pour un gros obsédé dans le métro en tournant votre iPad dans tous les sens pour mieux zoomer sur la pin-up de la page 3.
  11. Ne pas être capable de partager avec vos amis parce que ce n est pas une page web avec une URI. Parce que pourquoi avoir besoin d’URI quand vous avez de beaux et brillants boutons sur votre téléphone?
  12. Perdre du temps pour télécharger les fichiers binaires à la prochaine mise a jour (automatique) de l’application sur l’App Store, afin que vous ayez cette « nouvelle fonctionnalité », même s’il n’y a aucune putain de fonctionnalité qui vous intéresse, si ce n’est de pouvoir (enfin) lire ces putains d’articles.
  13. Si vous utilisez Android, installez d’abord un logiciel anti pub au cas où l’application s’installerait avec quelques délicieuses pubs qui s’introduisent dans vos données personnelles.
  14. Abandonner, aller au kiosque le plus proche, acheter la version papier, balancer son smartphone depuis la falaise la plus proche et démarrer une campagne de dénigrement contre tous les idiots qui pensent que mettre l’info dans une application mobile est une bonne idée.

Dans la guerre « Web contre Applications mobiles » (NdT : web vs. apps), je pense que vous pouvez aisément deviner de quel côté je suis.

Je ne voudrais pas télécharger une application de la BBC ou de la NPR (National Public Radio) pour mon ordinateur. Pourquoi en voudrais-je une sur mon téléphone ? Dois-je acheter un nouveau poste de radio à chaque fois que je veux écouter une nouvelle station ? Non. La fonctionnalité est la même, la seule chose qui diffère, c’est le contenu.

Les applications mobiles doivent fournir une fonctionnalité réelle, et pas seulement des bouts de contenu encapsulés dans des fichiers binaires.

Crédit photo : Daniel Hennemand (Creative Commons By)

Notes

[1] Seth Godin est un entrepreneur américain, ancien responsable du marketing direct de Yahoo, ainsi qu’un auteur et conférencier à succès sur des problématiques du marketing. Il a notamment popularisé le thème du permission marketing.




Geektionnerd : 140 euros

Geektionnerd - Simon Gee Giraudot - CC by-sa

Geektionnerd - Simon Gee Giraudot - CC by-sa

Crédit : Simon Gee Giraudot (Creative Commons By-Sa)




Faire un test à la fois vous met sur la bonne voie (Libres conseils 15/42)

Chaque jeudi à 21h, rendez-vous sur le framapad de traduction, le travail collaboratif sera ensuite publié ici même.

Traduction Framalang : lamessen, Sky, Kalupa, ga3lig, Wxcafe, goofy, Astalaseven, Slystone, okram, KoSLycoris, peupleLa, Julius22

La Voie des tests conduit à la Lumière

Jonathan “Duke” Leto

Jonathan Leto, dit « Le Duc » est un développeur de logiciel, un mathématicien dont les travaux sont publiés, un ninja de Git et un passionné de cyclisme qui vit à Portland, en Oregon. C’est l’un des développeurs principaux de la machine virtuelle Parrot et le fondateur de Leto Labs LLC.

Lorsque j’ai commencé à m’impliquer dans le logiciel libre et open source, je n’avais aucune idée de ce que pouvaient être les tests ni de leur importance. J’avais travaillé sur des projets personnels de programmation auparavant, mais la première fois que j’ai réellement travaillé sur un projet collaboratif (c’est-à-dire en faisant un peu de commit) c’était pour Yacas, acronyme de Yet Another Computer Algebra System, (NdT : encore un autre logiciel de calcul algébrique similaire à Mathematica).

À ce stade de mon parcours, les tests ne venaient qu’après coup. Mon méta-algorithme général était : bidouiller du code > voir si ça fonctionne> écrire (éventuellement) un test simple pour démontrer que ça fonctionne. Un test difficile à écrire n’était généralement jamais écrit.

C’est le premier pas sur la voie qui mène à la Lumière grâce aux tests. Vous savez que les tests sont probablement une bonne idée, mais vous n’en avez pas vu clairement les bénéfices, alors vous vous contentez de les écrire de temps en temps.

Si je pouvais ouvrir un trou de souris dans l’espace-temps et donner à mon moi plus jeune un conseil plein de sagesse sur les tests, ce serait :

« Certains tests sont plus importants, sur le long terme, que le code qu’ils testent. »

Il y a sans doute quelques personnes qui pensent en ce moment même que je mets mon casque de protection psychique (NdT : il s’agit d’un chapeau pour se protéger contre la manipulation à distance du cerveau) quand je m’assois pour écrire du code. Comment les tests pourraient-ils être plus importants que le code qu’ils testent ? Les tests sont la preuve que votre code marche réellement ; ils vous montrent le chemin vers l’écriture d’un code propre et vous apportent aussi la souplesse qui vous permettra de modifier le code tout en sachant que les fonctionnalités seront toujours là. En effet, plus votre code source grossit, plus vos tests sont importants, car ils vous permettent de changer une partie dudit code en sachant que le reste fonctionnera.

Une autre raison essentielle qui justifie l’écriture de tests est la possibilité de spécifier que quelque chose est un souhait explicite et non une conséquence imprévue ou un oubli. Si vous avez un cahier des charges, vous pouvez utiliser des tests pour vérifier qu’il est respecté, ce qui est très important, voire indispensable dans certaines industries. Un test, c’est comme quand on raconte une histoire : l’histoire de votre conception du code et de la façon dont il devrait fonctionner. Soit le code change et évolue, soit il mute en code infectieux (1).

Très souvent, vous écrirez des tests une première fois pour ensuite remettre totalement en cause votre réalisation voire la réécrire à partir de zéro. Les tests survivent souvent au code pour lesquels ils ont été conçus à l’origine. Par exemple, un jeu de tests peut être utilisé quel que soit le nombre de fois où votre code est transformé. Les tests sont en fait l’examen de passage qui vous permettra de jeter une ancienne réalisation et de dire « cette nouvelle version a une bien meilleure structure et passe notre jeu de tests ». J’ai vu cela se produire bien des fois dans les communautés Perl et Parrot, où vous pouvez souvent me voir traîner. Les tests vous permettent de changer les choses rapidement et de savoir si quelque chose est cassé. Ils sont comme des propulseurs pour les développeurs.

Les charpentiers ont un adage qui dit quelque chose comme ça :

« Mesurer deux fois, couper une fois. »

Le code serait la coupe, le test serait la mesure.

La méthode de développement basée sur les tests fait économiser beaucoup de temps, parce qu’au lieu de vous prendre la tête à bricoler le code sans but défini, les tests précisent votre objectif.

Les tests sont aussi un très bon retour d’expérience. Chaque fois que vous faites une nouvelle passe de test, vous savez que votre code s’améliore et qu’il a une fonctionnalité de plus ou un bogue de moins.

Il est facile de se dire « je veux ajouter 50 fonctionnalités » et de passer toute la journée à bricoler le code tout en jonglant en permanence entre différents travaux. La plupart du temps, peu de choses aboutiront. La méthode de développement basée sur les tests aide à se concentrer sur la réussite d’un seul test à la fois.

Si votre code échoue devant ne serait-ce qu’un seul test, vous avez pour mission de le faire réussir. Votre cerveau se concentre alors sur quelque chose de très spécifique, et dans la plupart des cas cela produit de meilleurs résultats que passer constamment d’une tâche à une autre.

La plupart des informations relatives au développement basé sur les tests sont très spécifiques à un langage ou à une situation, mais ce n’est pas une obligation. Voilà comment aborder l’ajout d’une nouvelle fonctionnalité ou la correction d’un bogue dans n’importe quel langage :

  1. Écrivez un test qui fait échouer votre code, mais qui, selon vous, sera passé quand la fonctionnalité sera implémentée ou que le bogue sera corrigé. Mode expert : pendant l’écriture du test, pensez à l’exécuter de temps en temps, même s’il n’est pas encore fini, et tentez de deviner le message d’erreur effectif que le test renverra. À force d’écrire des tests et de les faire tourner, cela devient plus facile ;
  2. Bidouillez le code ;
  3. Exécutez le test. S’il marche, passez au point 4, sinon retournez au point 2 ;
  4. C’est fini ! Dansez le sirtaki.

Cette méthode fonctionne pour n’importe quel type de test et n’importe quel langage. Si vous ne deviez retenir qu’une seule chose de ce texte, souvenez-vous des étapes ci-dessus.

Voici maintenant quelques directives plus générales de conduite de tests qui vous serviront bien et fonctionneront dans n’importe quelle situation :

  1. Comprendre la différence entre ce qu’on teste et ce qu’on utilise comme un outil pour tester autre chose ;
  2. Les tests sont fragiles. Vous pouvez toujours écrire un test qui contrôle la validité d’un message d’erreur. Mais que se passera-t-il si le message d’erreur change ? Que se passera-t-il quand quelqu’un traduira votre code en catalan ? Que se passera-t-il lorsque quelqu’un exécutera votre code sur un système d’exploitation dont vous n’avez jamais entendu parler ? Plus votre test est résistant, plus il aura de valeur.

Pensez à cela quand vous écrivez des tests. Vous voulez qu’ils soient résistants, c’est-à-dire que les tests, dans la plupart des cas, ne devraient avoir à changer que quand les fonctionnalités changent. Si vous devez modifier vos tests régulièrement, sans que les fonctionnalités aient changé, c’est que vous faites une erreur quelque part.

testing-comicmatics

Types de tests

Bien des personnes sont perdues quand on leur parle de tests d’intégration, tests unitaires, tests d’acceptation et autres tests à toutes les sauces. Il ne faut pas trop se soucier de ces termes. Plus vous écrirez de tests, mieux vous en distinguerez les nuances et les différences entre les tests deviendront plus apparentes. Tout le monde n’a pas la même définition de ce que sont les tests, mais c’est utile d’avoir des termes pour décrire les types de tests.

Tests unitaires contre tests d’intégration

Les tests unitaires et les tests d’intégration couvrent un large spectre. Les tests unitaires testent de petits segments de code et les tests d’intégration vérifient comment ces segments se combinent. Il revient à l’auteur du test de décider ce que comprend une unité, mais c’est le plus souvent au niveau d’une fonction ou d’une méthode, même si certains langages appellent ces choses différemment.

Pour rendre cela un peu plus concret, nous établirons une analogie sommaire en utilisant des fonctions. Imaginez que f(x) et g(x) soient deux fonctions qui représentent deux unités de code. Pour l’aspect concret, supposons qu’elles représentent deux fonctions spécifiques du code de base de votre projet libre et open source.

Un test d’intégration affirme quelque chose comme la composition de la fonction, par exemple f(g(a)) = b. Un test d’intégration consiste à tester la façon dont plusieurs choses s’intègrent ou travaillent ensemble, plutôt que la façon dont chaque partie fonctionne individuellement. Si l’algèbre n’est pas votre truc, une autre façon de comprendre est de considérer que les tests unitaires ne testent qu’une partie de la machine à la fois, tandis que les tests d’intégration s’assurent que la plupart des parties fonctionnent à l’unisson. Un bel exemple de test d’intégration est le test de conduite d’une voiture. Vous ne vérifiez pas la pression atmosphérique, ni ne mesurez le voltage des bougies d’allumage. Vous vous assurez que le véhicule fonctionne globalement.

La plupart du temps, il est préférable d’avoir les deux. Je commence souvent avec les tests unitaires puis j’ajoute les tests d’intégration au besoin puisqu’on a besoin d’éliminer d’abord les bogues les plus basiques, puis de trouver les bogues plus subtils issus d’un emboitement imparfait des morceaux, à l’opposé de pièces qui ne fonctionnent pas individuellement. Beaucoup de gens écrivent d’abord des tests d’intégration puis se plongent dans les tests unitaires. Le plus important n’est pas de savoir lequel vous écrirez en premier, mais d’écrire les deux types de tests.

Vers la Lumière

La méthode de développement basée sur les tests est un chemin, pas un aboutissement. Sachez apprécier le voyage et assurez-vous de faire une pause pour respirer les fleurs si vous êtes égaré. 

(1) Équivalent approché du terme bitrot qui en argot de codeur désigne ce fait quasi-universel : si un bout de code ne change pas mais que tout repose sur lui, il « pourrit ». Il y a alors habituellement très peu de chances pour qu’il fonctionne tant qu’aucune modification ne sera apportée pour l’adapter à de nouveaux logiciels ou nouveaux matériels.

Comic strip réalisé avec le Face-O-Matic de Nina Paley et Margot Burns

Copyheart ? 2011 by Margo Burns and Nina Paley. Copying is an act of love. Please copy!




Sans médias libres, pas de liberté de pensée – Conférence d’Eben Moglen

Une conférence d’Eben Moglen à Re:Publica (2012)

Version française par Aka, Nebu, Vincent, Alban, Benjamin, puis Moosh, peupleLa, Slystone, goofyLycorisbruno

Le texte ci-dessous a connu sa première publication sur le site de Benjamin Sonntag, où vous pourrez trouver la vidéo sous-titrée de la conférence à télécharger en divers formats ainsi qu’une présentation d’Eben Moglen et un excellent aperçu synthétique du contenu. Nous proposons une version mieux révisée (mais encore perfectible) de la traduction, à laquelle nous ajoutons les questions/réponses qui ont succédé à la conférence.

La vidéo étant assez longue (63 minutes) il nous a semblé utile de remettre en valeur les propos de Moglen par un texte lisible en une vingtaine de minutes. Vous pouvez le découvrir sur cette page ou bien télécharger le fichier disponible ici.

Conférence Eben Moglen à Re:Publica 2012 (format .ODT)

Conférence Eben Moglen à Re:Publica 2012 (format .PDF)

Bonjour.

C’est un plaisir d’être ici, et un honneur d’être à Re:publica.

Depuis maintenant mille ans, nos ancêtres se sont battus pour la défense de la liberté de pensée. Nous avons subi des pertes considérables, mais aussi remporté d’immenses victoires. Et nous sommes aujourd’hui à une époque charnière. Depuis l’adoption de l’imprimerie par les Européens au XVe siècle, nous étions essentiellement concernés par l’accès aux livres imprimés. Le droit de lire et le droit de publier étaient les principaux sujets de notre combat pour la liberté de pensée ces 500 dernières années. La principale inquiétude était celle de pouvoir lire en privé, penser, parler et agir sur la base d’une volonté libre et non censurée.

Le principal ennemi de la liberté de pensée, au début de notre combat, était l’Église Catholique universelle. Une institution basée sur le contrôle des pensées dans le monde européen, fondée sur une surveillance hebdomadaire de la conduite et des pensées de tout être humain ; basée sur la censure de tout matériel de lecture et finalement basée sur la faculté de prédire et punir toute pensée non-orthodoxe. Les outils disponibles pour le contrôle des pensées à l’aube de l’Europe moderne étaient pauvres, même selon nos standards du XXe siècle, mais ils marchaient. Ainsi, pendant des centaines d’années, la lutte était concentrée sur le premier objet industriel de masse, à l’importance croissante dans notre culture occidentale : « le livre ». Selon que l’on pouvait l’imprimer, le posséder, le vendre ou le lire, apprendre avec lui, sans l’autorisation ou le contrôle d’une autorité ayant le pouvoir de punir les pensées. À la fin du XVIIe siècle, la censure de l’écrit en Europe a commencé à craquer, tout d’abord en Hollande, puis au Royaume-Uni, et enfin, par vagues, à travers toute l’Europe. Et le livre devint un article de commerce subversif, et commença à grignoter le contrôle des pensées.

À la fin du XIXe siècle, cette lutte pour la liberté de lecture commença à attaquer la substance même du christianisme et le monde européen trembla sous les coups de la première grande révolution de l’esprit, qui parlait de « liberté, égalité, fraternité » mais qui signifiait en fait « liberté de penser autrement ». L’Ancien Régime commença à lutter contre la pensée et nous sommes alors passés dans une autre phase dans l’histoire de la liberté de pensée, qui présumait la possibilité de la pensée non-orthodoxe, et de l’action révolutionnaire. Ainsi, pendant 200 ans, nous avons lutté face aux conséquences de ces changements.

Cette génération décidera comment le réseau sera organisé

C’était hier et c’est aujourd’hui.

Aujourd’hui, nous entamons une nouvelle ère dans l’histoire de l’espèce humaine. Nous construisons un système nerveux unique qui englobera tout esprit humain. Nous sommes à moins de deux générations aujourd’hui du moment où tout être humain sera connecté à un réseau unique, où toute pensée, plan, rêve ou action sera un influx nerveux de ce réseau. Et le destin de la liberté de pensée, ou plus largement le destin de toute liberté humaine, tout ce pour quoi nous avons combattu pendant plus de mille ans dépendra de l’anatomie des neurones de ce réseau. Nous sommes la dernière génération d’êtres humains qui aura été formée sans contact avec le Net.

À dater de ce jour, tout nouvel être humain, et dans deux générations tout cerveau de l’humanité aura été formé, depuis sa plus tendre enfance, en connexion directe avec le réseau. L’humanité deviendra un super-organisme, dans lequel chacun de nous sera un neurone de ce cerveau. Et nous le construisons aujourd’hui, maintenant, nous tous, en ce moment, cette génération, unique dans l’histoire de l’humanité. Cette génération décidera comment le réseau sera organisé.

Hélas, nous commençons mal. Voici le problème.

Nous avons grandi en étant des consommateurs de médias, c’est ce qu’ils nous ont appris, que nous étions des consommateurs de médias, mais maintenant les médias nous consomment.

Les choses que nous lisons nous regardent en train de les lire. Les choses que nous écoutons nous écoutent les écouter. Nous sommes pistés, nous sommes contrôlés : les médias que nous utilisons nous prédisent. Le processus de construction du réseau a gravé dans le marbre les principes de bases de transport de l’information. Il détermine s’il existe quelque chose comme une lecture anonyme. Et il a choisi de se construire contre la lecture anonyme.

…mais personne n’est intéressé par l’anonymat désormais, n’est-ce pas ?

Il y a 20 ans, j’ai commencé à travailler comme avocat pour un homme nommé Philippe Zimmermann, qui avait alors créé une sorte de cryptographie à clé publique destinée au grand public, nommée Pretty Good Privacy (PGP). L’effort effectué pour créer PGP était équivalent à essayer de conserver la possibilité du secret à la fin de XXe siècle. Phil essayait alors d’interdire au gouvernement de tout surveiller. Conséquence de cela, il fut au moins menacé d’un procès par le gouvernement des États-Unis pour avoir partagé des secrets militaires, car c’est ainsi qu’on surnommait la cryptographie à clé publique à l’époque. Nous avions dit « Vous ne devriez pas faire cela, il y aura des milliards de dollars en commerce électronique, si tout le monde peut utiliser une cryptographie forte » mais personne n’était intéressé. Mais ce qui était important au sujet de Pretty Good Privacy, au sujet de la lutte pour la liberté que la cryptographie à clé publique représentait pour la société civile, ce qui était crucial devint clair quand nous avons commencé à gagner.

En 1995, il y a eu un débat à la faculté de droit de Harvard. Nous étions 4 à discuter du futur de la cryptographie à clé publique et de son contrôle. J’étais du côté que je suppose être celui de la liberté, c’est là que j’essaie toujours d’être. Avec moi, à ce débat se trouvait un homme nommé Daniel Weitzner, qui travaille aujourd’hui à la Maison Blanche, et s’occupe de la régulation de l’Internet pour Obama. En face de nous se trouvait le procureur général des États-Unis et avocat dans le privé, nommé Stewart Baker, qui était avant conseiller en chef de l’Agence de la Sécurité Nationale (NSA), ceux qui nous écoutent, et qui dans le privé, aidait des entreprises à gérer ceux qui les écoutent. Il devint ensuite responsable de la politique générale du Département de la Sécurité Intérieure (DHS), des États-Unis, et il est à l’origine d’une bonne partie de ce qui nous est arrivé sur Internet après 2001.

Et donc, nous venions de passer deux heures agréables à débattre du droit à la cryptographie et, à la fin, il y avait une petite fête au club de la faculté de droit d’Harvard, et enfin, après la fin du repas, quand il ne resta plus grand chose sur la table, Stuart dit :

« Allons messieurs, maintenant que nous sommes entre nous, telles des femmes, libérons nos chevelures ». Il n’avait déjà plus beaucoup de cheveux à cette époque mais il les a libérés… « Nous n’emmènerons pas au tribunal votre client, M Zimmermann. La cryptographie à clé publique sera bientôt libre. Nous avons mené une longue bataille perdue d’avance contre elle, mais ce n’était qu’un gain de temps ». Puis il regarda autour de la pièce et dit : « mais personne n’est intéressé par l’anonymat désormais n’est-ce pas ? »

Un frisson me parcourut la colonne vertébrale, et je pensais alors « ok Stuart, désormais je sais que tu passeras les vingt prochaines années à essayer d’éliminer l’anonymat dans la société humaine, et je passerai ce temps à essayer de t’empêcher de le faire, nous verrons bien où cela nous mènera ».

Et cela commence très mal.

Nous n’avons pas intégré l’anonymat quand nous avons construit le net. C’était une erreur dont nous payons maintenant le prix. Notre réseau présume que vous pouvez être suivis par des mouchards en permanence. Et en utilisant le Web, nous avons fabriqué Facebook. Nous avons mis une seule personne au milieu de tous les échanges. Nos vies sociales et nos vies privées sont sur le Web, et nous partageons tout avec nos amis mais aussi avec notre « super-ami ». Celui qui nous trahit à ceux qui le construisent, ceux qui le paient, ceux qui l’aident, ou ceux qui lui donnent les centaines de milliards de dollars qu’il désire.

Nous sommes en train de créer un média qui nous consomme et qui aime ça.

Le but principal du commerce au XXIe siècle est de prévoir comment nous faire acheter des choses. Et la chose principale que les gens veulent que nous achetions, c’est de la dette. Et nous nous endettons, nous nous chargeons de plus de dettes, de plus de doutes, de plus de tout ce dont nous avons besoin sans que nous le sachions jusqu’à ce qu’ils nous disent que nous pensions à ces choses car ils possèdent la barre de recherche, et nous mettons nos rêves dedans.

Tout ce que nous voulons, tout ce que nous espérons, tout ce que nous aimerions savoir est dans la barre de recherche, et ils la possèdent. Nous sommes surveillés partout, tout le temps.

Il y a une barre de recherche et ils la possèdent, nous y collons nos rêves et ils les dévorent !

Au XXe siècle, il fallait construire la Loubianka, il fallait torturer des gens, il fallait les menacer, il faillait les oppresser pour qu’ils vous informent sur leurs amis. Je n’ai pas besoin de parler de ça à Berlin. Au XXIe siècle, pourquoi se donner tant de mal ? Il suffit de construire un réseau social et tous les gens vous fournissent des informations sur tous les autres gens. Pourquoi gâcher du temps et de l’argent avec des immeubles pleins d’employés qui vérifient qui est qui sur les photographies ? Proposez à tout le monde de taguer les amis et bing ! Le travail est fait ! Oups, est-ce que j’ai utilisé ce mot ? Bing ! Le travail est fait !

Il y a une barre de recherche et ils la possèdent, nous y collons nos rêves et ils les dévorent !

Et ils nous renvoient immédiatement qui nous sommes. « Si vous avez aimé ça, vous allez adorer ceci ! » Et c’est le cas.

Ils nous calculent. Ce sont des machines qui le font. Chaque fois que vous créez un lien, vous apprenez quelque chose à la machine. Chaque fois que vous faites un lien à propos de quelqu’un, vous apprenez quelque chose à la machine à propos de cette personne. Il faut que nous construisions ce réseau, il faut que nous construisions ce cerveau, c’est le plus grand but de l’humanité, nous sommes en train de le réaliser mais nous n’avons pas le droit de le faire mal.

Autrefois, les erreurs technologiques étaient des erreurs, nous les commettions, elles étaient les effets non intentionnels de nos comportements fautifs, mais les choses ont changé aujourd’hui.

Les choses qui ne tournent pas bien ne sont pas des erreurs, elles sont conçues comme ça. C’est leur but et leur but, c’est de décoder la société humaine.

Je disais à un responsable du gouvernement des États Unis il y a quelques semaines de cela : « Notre gouvernement s’est mal conduit. Nous avons créé des règles après le 11 septembre. Ces règles disaient : nous garderons les données concernant les gens et parmi ces gens certains seront innocents, ils ne seront suspects de rien ». Ces règles conçues en 2001 disaient :

« Nous conserverons ces données sur des gens qui ne sont suspects de rien pour une durée maximale de cent quatre-vingt jours, après quoi nous les détruirons ».

En mars, au milieu de la nuit, un mercredi, après que tout était éteint, alors qu’il pleuvait, le Ministère de la Justice et le directeur du Renseignement National des États-Unis ont dit :

« Oh, nous changeons ces règles. Un petit changement. Nous disions avant que la durée de conservation des données concernant les personnes non suspectes était au maximum de cent quatre-vingt jours, nous passons à cinq ans. »

Ce qui correspond à l’éternité.

J’ai plaisanté avec l’avocat avec lequel j’étais à New-York, ils ont écrit « cinq ans » dans le communiqué de presse parce qu’ils n’arrivaient pas à avoir le 8 couché dans la police pour le communiqué de presse, sinon ils auraient simplement dit l’infini, qui est ce qu’ils pensaient.

Et donc, voici la discussion que j’ai eue avec un responsable gouvernemental que je connais depuis plusieurs années, qui travaille à la Maison Blanche :

— Vous voulez changer la société américaine.

— Eh bien, nous sommes arrivés à la conclusion que nous avons besoin d’un graphe social complet de la population des États-Unis.

— Vous avez besoin d’un graphe social complet de la population des États-Unis ?

— Oui

— Vous voulez dire que le gouvernement des États-Unis d’Amérique va, à partir de maintenant, tenir une liste des gens que chaque Américain connaît. Est-ce que vous ne pensez pas que cela nécessiterait une loi ?

Il a simplement ri parce qu’ils l’avaient fait dans un communiqué de presse au milieu de la nuit un mercredi pendant qu’il pleuvait.

La criminalisation de la lecture a bien avancé

Si nous n’agissons pas rapidement, nous allons vivre dans un monde où nos médias se nourriront de nous et nous balanceront au gouvernement. Cet endroit sera du jamais vu et si nous le laissons arriver, nous ne verrons plus jamais autre chose que cela. L’humanité aura été ligotée et les médias se nourriront de nous et nous balanceront au gouvernement. Et l’État possèdera nos esprits.

Le futur ex-président de la République française (NdT cette conférence a eu lieu pendant la campagne électorale de 2012 qui opposait MM. Hollande et Sarkozy) a fait campagne le mois dernier sur une proposition selon laquelle il devrait y avoir des peines criminelles contre la visite répétée de sites djihadistes. C’était une menace de criminaliser la lecture en France. Bon, il sera bientôt l’ancien président de la France, mais ça ne signifie pas que ce sera une idée périmée en France. Pas du tout.

La criminalisation de la lecture a bien avancé. Aux États-Unis d’Amérique dans ce que nous appelons les procès terroristes, nous voyons désormais souvent des recherches Google faites par des particuliers utilisées comme preuves de leur comportement criminel. La recherche de la connaissance est devenue une preuve dans les procès de terrorisme organisé. Nous rendons criminel l’acte de penser, lire et chercher. Nous le faisons dans des sociétés soi-disant libres, nous le faisons malgré le premier amendement, nous le faisons en dépit des leçons de notre histoire parce que nous oublions alors même que nous apprenons.

Nous n’avons pas beaucoup de temps. La génération qui a grandi hors du Net est la dernière qui peut le réparer sans violence.

Les gouvernements sont tombés amoureux du datamining

Tous les gouvernements de la planète sont tombés amoureux de l’idée qu’ils peuvent faire du datamining (captation et fouille des données) avec leur population. Je pensais auparavant que nous allions combattre le Parti Communiste Chinois durant la 3e décennie du XXIe siècle. Je n’avais pas prévu que nous aurions à combattre le gouvernement des États-Unis d’Amérique ET le gouvernement de la République Populaire de Chine et quand Mme Kroes sera ici vendredi, peut-être lui demanderez-vous s’il faudra la combattre elle aussi.

Les gouvernements sont tombés amoureux du datamining car ça fonctionne vraiment très bien. C’est efficace. C’est efficace pour les bonnes causes autant que pour les mauvaises causes. C’est efficace pour aider les gouvernements à comprendre comment fournir des services. C’est efficace pour aider les gouvernements à comprendre quels sont les problèmes futurs. C’est efficace pour aider les politiciens à comprendre comment les votants vont réfléchir. Mais ça rend aussi possible des types de contrôle social qui étaient auparavant très compliqués, très coûteux et très pénibles, avec des méthodes très simples et très efficaces.

Il n’est plus nécessaire de maintenir des réseaux imposants d’informateurs comme je l’ai déjà dit. La Stasi ne vaudrait plus rien si elle était de retour, car Zuckerberg fait le boulot à sa place.

Mais en dehors de la simple facilité à surveiller plus loin que la conservation des données, c’est la pérennité de la vie au-delà du temps de l’oubli : plus rien ne disparaît jamais. Ce qui n’est pas compris aujourd’hui le sera demain. Le trafic chiffré que vous utilisez aujourd’hui dans des conditions de sécurité relative est en attente jusqu’à ce qu’il y en ait suffisamment pour que la crypto-analyse marche, pour que les décodeurs réussissent à le décrypter. Il va falloir que nous revoyions toutes nos règles de sécurité en permanence, car aucun paquet chiffré ne sera plus jamais perdu.

Rien n’est déconnecté indéfiniment, seulement temporairement. Chaque bribe d’information peut être conservée et tout est éventuellement lié à quelque chose d’autre. C’est la logique des responsables gouvernementaux qui disent : « Il nous faut un graphe social robuste de la population des États-Unis d’Amérique. » Pourquoi en ont-ils besoin ? Parce que les points non connectés aujourd’hui seront connectables demain ou l’an prochain ou le suivant. Rien n’est jamais perdu, rien ne disparaît, rien n’est plus oublié.

Donc, la forme primaire de collecte qui devrait nous inquiéter le plus est que les médias nous espionnent pendant que nous les utilisons. Les livres qui nous regardent les lire, la musique qui nous écoute en train de l’écouter. Les moteurs de recherche qui surveillent ce que nous recherchons pour ceux qui nous recherchent et ne nous connaissent pas encore.

Les gens parlent beaucoup des données qui sortent de Facebook : Est-ce qu’elles sortent pour moi ? Est-ce qu’elles sortent pour lui ? Est-ce qu’elles sortent pour eux ? Ils veulent que vous pensiez que la menace est que les données se disséminent. Vous devriez savoir que la menace, c’est le code qui entre.

Sur les 50 dernières années ce qu’il s’est passé dans l’informatique d’entreprise, c’est l’addition de cette couche d’analyse de données au dessus des stockages de données. On la nomme dans l’informatique d’entreprise l’« informatique décisionnelle ». Ce qui signifie que vous avez construit ces vastes stockages de données dans votre entreprise depuis 10 ou 20 ans. Vous disposez uniquement d’informations au sujet de vos propres opérations, vos fournisseurs, vos concurrents, vos clients. Désormais, vous voulez que ces données fassent de la magie. En les combinant avec les sources de données ouvertes disponibles dans le monde, en les utilisant pour répondre à des questions que vous ne saviez pas que vous vous posiez. C’est ça, l’informatique décisionnelle.

L’informatique décisionnelle sur Facebook, c’est là que tous les services de renseignements du globe veulent être.

La menace réelle de Facebook, c’est l’informatique décisionnelle à l’intérieur des données de Facebook. Les stockages de données de Facebook contiennent les comportements, pas seulement la pensée, mais aussi le comportement de près d’un milliard de personnes. La couche d’informatique décisionnelle au-dessus de ça, laquelle est simplement tout le code qu’ils peuvent faire tourner en étant couverts par les règles d’utilisation qui disent « Ils peuvent faire tourner tout le code qu’ils veulent pour améliorer l’expérience ». L’informatique décisionnelle sur Facebook, c’est là que tous les services de renseignements du globe veulent être.

Imaginez que vous soyez une petite organisation de services secrets dans une quelconque pays sans importance. Mettons-nous à leur place et appelons-les je ne sais pas moi, disons, « Korghistan ». Vous êtes les services secrets, vous êtes dans le « business des gens », les services secrets sont le « business des gens »

Il y a plusieurs catégories de gens dont vous avez besoin. Vous avez besoin d’agents, de sources, vous avez des adversaires, vous avez des gens influençables, des gens que vous torturez et qui sont reliés aux adversaires : femmes, maris, pères, filles, vous voyez, ce genre de gens. Donc vous cherchez ces catégories de gens. Vous ignorez leurs noms, mais vous savez à quoi ils ressemblent, vous savez qui vous pourriez recruter en tant qu’agent, vous savez qui sont les sources potentielles, vous connaissez les caractéristiques sociales de vos adversaires, et dès que vous connaissez vos adversaires, vous pouvez trouver ceux qui sont influençables.

Donc ce que vous voulez entreprendre, c’est faire tourner du code dans Facebook. Ça va vous aider à trouver les personnes dont vous avez besoin, ça va vous montrer les personnes dont les comportements et cercles sociaux vous indiquent qu’ils sont ce dont vous avez besoin, qu’il s’agisse d’agents, de sources, quels sont leurs adversaires et qui vous pouvez torturer pour les atteindre.

Donc vous ne voulez pas sortir des données de Facebook. Le jour où ces données sortent de Facebook, elles sont mortes. Vous voulez mettre du code dans Facebook et le faire tourner là-bas et avoir les résultats, vous voulez coopérer.

Facebook veut être un média. Ils veulent posséder le Web, ils veulent que vous cliquiez sur les boutons « J’aime ». Les boutons « J’aime » sont effrayants même si vous n’appuyez pas dessus, ce sont des mouchards sur le Web parce qu’ils indiquent à Facebook toutes les autres pages Web que vous consultez contenant un bouton « J’aime ». Que vous cliquiez dessus ou non, ils ont un enregistrement qui indique : « Vous avez consulté une page, qui intégrait une bouton J’aime » et soit vous avez dit oui, soit vous avez dit non. Mais dans les deux cas, vous avez généré une donnée, vous avez informé la machine.

Or donc, ce média a envie de mieux vous connaître que vous ne vous connaissez vous-même. Or, nous ne devrions laisser personne faire ça. Nous avons combattu pendant mille ans pour l’espace intérieur, cette bulle privée dans laquelle nous lisons, pensons, réfléchissons et devenons non-orthodoxes à l’intérieur de nos propres esprits. C’est cet espace que tout le monde veut nous prendre. « Dites-nous quels sont vos rêves, dites-nous quelles sont vos pensées, dites-nous ce que vous espérez, dites-nous ce qui vous effraie ». Ce n’est pas une confession privée hebdomadaire. C’est une confession 24h/24.

Le robot mobile que vous transportez avec vous, c’est celui qui sait où vous vous trouvez en permanence et écoute chacune de vos conversations. C’est celui dont vous espérez qu’il ne rapporte pas tout à un centre de commande. Mais ce n’est qu’un espoir. Celui qui fait tourner tous ces logiciels que vous ne pouvez ni lire, ni étudier, ni voir, ni modifier, ni comprendre. Celui-là, celui-là même écoute vos confessions en permanence. Quand vous le tenez devant votre visage, désormais, il va connaître votre rythme cardiaque. C’est une appli Android, dès maintenant les changements minimes de la couleur de votre visage révèlent votre fréquence cardiaque. C’est un petit détecteur de mensonges que vous transportez avec vous. Bientôt je pourrai de mon siège dans une salle de classe observer la pression sanguine de mes étudiants monter et descendre. Dans bon nombre de salles de classes aux États-Unis d’Amériques, c’est une information de première importance Mais il ne s’agit pas de moi, bien sûr, il s’agit de tout le monde, n’est-ce pas ? Car il s’agit seulement de données et des gens qui y ont accès. L’intérieur de votre tête devient l’extérieur de votre visage, devient l’intérieur de votre smartphone, devient l’intérieur du réseau, devient le premier fichier du dossier au centre de commande.

Nous avons donc besoin de médias libres sinon nous perdons la liberté de pensée, c’est aussi simple que ça.

Que signifie un média libre ? Un média que vous pouvez lire, auquel vous pouvez penser, auquel vous pouvez faire des ajouts, auquel vous pouvez participer sans être suivi, sans être surveillé, sans qu’il y ait de rapports sur votre activité. C’est ça, un média libre. Et si nous n’en avons pas, nous perdrons la liberté de penser, et peut-être pour toujours.

Avoir un média libre signifie avoir un réseau qui se comporte conformément aux besoins des gens situés à la marge. Et pas conformément aux besoins des serveurs situés au cœur.

Construire un média libre nécessite un réseau de pairs, pas un réseau de maîtres et de serviteurs, pas un réseau de clients et de serveurs, pas un réseau où les opérateurs de réseaux contrôlent tous les paquets qu’ils font transiter. Ce n’est pas facile, mais c’est encore possible. Nous avons besoin de technologie libre. La dernière fois que j’ai donné une conférence politique à Berlin c’était en 2004, elle était intitulée “die Gedanken sind frei” (NdT : Les pensées sont libres — en allemand dans le texte). J’y disais que nous avons besoin de 3 choses :

  • de logiciels libres
  • de matériels libres
  • de bande passante libre.

Maintenant, nous en avons encore plus besoin. Huit années ont passé, nous avons commis des erreurs, et les problèmes sont plus conséquents. Nous n’avons pas avancé, nous avons régressé.

Nous avons besoin de logiciels libres, c’est à dire de logiciels que l’on peut copier, modifier et redistribuer. Nous en avons besoin parce que nous avons besoin que le logiciel qui fait fonctionner le réseau soit modifiable par les personnes qui utilisent ce réseau.

Les tablettes que vous utilisez, que M. Jobs a conçues, sont faites pour vous contrôler. 

La mort de M. Jobs est un événement positif. Je suis désolé de vous l’annoncer de la sorte. C’était un grand artiste et un monstre sur le plan moral, et il nous a rapprochés de la fin de la liberté à chaque fois qu’il a sorti quelque chose, parce qu’il détestait partager. Ce n’était pas de sa faute, c’était un artiste. Il détestait partager parce qu’il croyait qu’il avait tout inventé, même si ce n’était pas le cas. À l’intérieur de toutes ces coques fines portant un logo Apple que je vois partout dans la salle, il y a des morceaux de logiciels libres modifiés pour lui donner le contrôle; rien d’illégal, rien de mal, il respecte la licence, il nous a baisés à chaque fois qu’il pouvait et il a pris tout ce que nous lui avons donné et il a fait des choses jolies qui contrôlent leurs utilisateurs.

Autrefois, il y avait un homme ici qui construisait des choses, à Berlin pour Albert Speer (NdT : un haut responsable du Troisième Reich) son nom était Philip Johnson (NdT : un architecte américain) et c’était un brillant artiste mais un monstre sur le plan moral. Et il disait qu’il était venu travailler pour construire des immeubles pour les nazis parce qu’ils avaient tous les meilleurs graphismes. Et il le pensait, parce qu’il était un artiste, tout comme M. Jobs était un artiste. Mais être artiste n’est pas une garantie de moralité.

Nous avons besoin de logiciels libres. Les tablettes que vous utilisez, que M. Jobs a conçues, sont faites pour vous contrôler. Vous ne pouvez pas modifier le logiciel, il est même difficile de faire de la simple programmation. Ce n’est pas vraiment un problème, ce ne sont que des tablettes, nous ne faisons que les utiliser. Nous ne faisons que consommer le prestige de ce qu’elles nous apportent mais elles nous consomment aussi.

Nous vivons comme dans la science-fiction que nous lisions lorsque nous étions enfants et qui supposait que nous serions parmi les robots. À ce jour, nous vivons communément avec des robots, mais ils n’ont pas de bras ou de jambes. Nous sommes leurs bras et leurs jambes, nous transportons les robots partout avec nous. Ils savent où nous allons, ils voient tout ce que nous voyons, tout ce que nous disons, ils l’écoutent et il n’y a pas de première loi de la robotique. Ils nous font du mal, tous les jours. Et il n’y a aucun réglage pour empêcher ça.

Nous avons donc besoin de logiciels libres. À moins que nous ne contrôlions le logiciel du réseau, le réseau finira par nous contrôler.

Nous avons besoin de matériels libres. Cela signifie que lorsque nous achetons un bidule électronique, il devrait être le nôtre et pas celui de quelqu’un d’autre. Nous devrions être libre de le modifier, de l’utiliser comme il nous plaît, pour garantir qu’il ne travaille pas pour quelqu’un d’autre que nous-même. Bien sûr, la plupart d’entre nous ne modifiera jamais rien, mais le fait que nous pouvons le modifier nous met en sécurité. Bien sûr, nous ne serons jamais la personne qu’ils veulent le plus surveiller.

L’homme qui ne sera pas président de la France pour sûr, mais qui pensait qu’il le serait, dit à présent qu’il a été piégé et que sa carrière politique est détruite non pas parce qu’il a violé une femme de chambre mais parce qu’il a été manipulé après qu’on ait espionné son smartphone. Peut-être qu’il dit la vérité, peut-être que non. Mais il n’a pas tort pour ce qui est du smartphone. Peut-être que c’est arrivé, peut-être que non, mais ça arrivera.

Nous transportons des choses dangereuses avec nous partout où nous allons. Elles ne travaillent pas pour nous, elles travaillent pour quelqu’un d’autre. Nous acceptons cela. Nous devons arrêter.

Nous avons besoin de bande passante libre. Cela signifie que nous avons besoin d’opérateurs réseaux qui sont des transports en commun dont le seul travail est de déplacer les paquets réseaux d’un point A à un point B. Ce sont presque des tubes, et ils ne sont pas autorisés à être impliqués. Il était de coutume, lorsque qu’un colis était transporté d’un point A à un point B, que si le gars chargé du transport l’ouvrait et regardait ce qu’il contenait, il commettait un crime.

Plus maintenant.

Aux États-Unis d’Amérique, la chambre des représentants a voté la semaine dernière que les opérateurs réseaux, aux États-Unis d’Amérique, devaient être intégralement à l’abri des poursuites judiciaires pour complicité d’espionnage illégal avec le gouvernement, pour autant qu’ils l’aient fait « de bonne foi ».

Et le capitalisme signifie que vous n’avez jamais à dire que vous êtes désolé, que vous êtes toujours de bonne foi. De bonne foi, tout ce que nous voulons faire c’est de l’argent M. le Juge, laissez-nous dehors. — Très bien, vous êtes libres.

Nous devons avoir de la bande passante libre. Nous possédons encore le spectre électromagnétique, il appartient encore à nous tous, il n’appartient à personne d’autre. Le gouvernement est un mandataire, pas un propriétaire. Nous devons avoir un spectre que nous contrôlons également pour tous. Personne n’est autorisé à écouter quelqu’un d’autre, pas d’inspection, pas de vérification, pas d’enregistrement, cela doit être la règle. Cela doit être la règle de la même façon que la censure doit disparaître. Si nous n’avons pas de règle pour une communication libre, alors nous réintroduisons de la censure. Qu’on le sache ou non.

Nous avons donc très peu de choix maintenant, notre espace a rétréci et nos possibilités de changement ont diminué.

Nous devons avoir des logiciels libres. Nous devons avoir des matériels libres. Nous devons avoir de la bande passante libre. Ce n’est qu’avec eux que nous pourrons faire des médias libres.

Nous ne devrions pas commercer avec des gens qui vendent de la musique sous surveillance.

Mais nous devons travailler sur les médias aussi, directement, pas par intermittence, pas sans y faire attention. Nous devons demander aux organisations des médias d’obéir à des règles éthiques élémentaires. Une première loi des médias robotiques : ne fais aucun mal. La première règle pour nous est : ne surveille pas le lecteur. Nous ne pouvons pas vivre dans un monde où chaque livre signale chaque lecteur. Si c’est le cas, nous vivons dans une bibliothèque gérée par le KGB. Enfin : amazon.com ou le KGB, ou les deux ! Vous ne pourrez jamais savoir !

Le livre, cet objet imprimé merveilleux, ce premier produit du capitalisme de masse, le livre est en train de mourir. C’est dommage, mais il est en train de mourir. Et le remplaçant est une boîte qui surveillera le lecteur ou non.

Vous vous souvenez qu’amazon.com a décidé qu’un livre de Georges Orwell ne pouvait pas être distribué aux État-Unis d’Amérique pour des raisons de copyright. Ils sont venus et l’ont effacé de chacune de toutes les liseuses d’Amazon où le consommateur avait acheté des copies de La ferme des animaux. « Oh, vous l’avez peut-être acheté mais cela ne signifie pas que vous être autorisé à le lire ». C’est de la censure. C’est de l’autodafé. C’est tout ce que nous avons vécu au XXe siècle. Nous avons brûlé des gens, des maisons et des œuvres d’art. Nous avons combattu. Nous avons tué des dizaines de millions de personnes pour mettre un terme à un monde dans lequel l’État brûlerait les livres, et ensuite nous l’avons regardé se faire encore et encore, et maintenant nous nous préparons à autoriser que cela soit fait sans aucun feu.

Partout, tout le temps.

Nous devons avoir une éthique des médias et nous avons le pouvoir de faire appliquer cette éthique parce que nous sommes encore les personnes qui payent le fret. Nous ne devrions pas commercer avec des gens qui vendent des livres sous surveillance. Nous ne devrions pas commercer avec des gens qui vendent de la musique sous surveillance. Nous ne devrions pas commercer avec les sociétés cinématographiques qui vendent des films sous surveillance. Nous allons devoir dire cela même si nous travaillons sur la technologie.

Parce qu’autrement, le capitalisme va agir aussi vite que possible pour rendre nos effort de liberté caducs. Et il y a des enfants qui grandissent qui ne sauront jamais ce que « liberté » signifie.

Nous devons donc la promouvoir, cela va nous coûter un peu, pas beaucoup, mais un peu quand même. Nous allons devoir oublier et faire quelques sacrifices dans nos vies pour faire appliquer cette éthique aux médias. Mais c’est notre rôle. De même que faire des technologies libres est notre rôle. Nous sommes la dernière génération capable de comprendre directement ce que sont ces changements car nous avons vécu des deux côtés de ces changements et nous savons. Nous avons donc une responsabilité. Vous comprenez cela.

C’est toujours une surprise pour moi, bien que ce soit complètement vrai, mais de toutes les villes du monde où j’ai voyagé, Berlin est la plus libre. Vous ne pouvez pas porter de chapeau dans l’aéroport de Hong-Kong, plus maintenant. Je l’ai découvert le mois dernier en essayant de porter mon chapeau dans l’aéroport de Hong-Kong. « Vous n’y êtes pas autorisé, ça perturbe le système de reconnaissance faciale ». Il va y avoir un nouvel aéroport ici, sera-t-il tellement surveillé que vous ne serez pas autorisé à porter un chapeau parce que cela perturbe le système de reconnaissance faciale ?

Nous avons une responsabilité, nous savons. C’est comme ça que Berlin est devenue la ville la plus libre où j’ai pu me rendre parce que nous savons que nous avons une responsabilité, parce que nous nous souvenons, parce que nous avons été des deux côtés du mur. Cela ne doit pas être perdu maintenant. Si nous oublions, plus aucun oubli ne sera jamais possible. Tout sera mémorisé. Tout ce que vous avez lu, durant toute votre vie, tout ce que vous avez écouté, tout ce que vous avez regardé, tout ce que vous avez cherché.

Sûrement nous pouvons transmettre à la prochaine génération un monde libre de tout ça. Sûrement nous le devons. Que se passera-t-il si nous ne le faisons pas ? Que diront-ils lorsqu’ils réaliseront que nous avons vécu à la fin d’un millénaire de lutte pour la liberté de penser ?

Au final, alors que nous avions presque tout, on a tout laissé tomber, par commodité, pour un réseau social, parce que M. Zuckerberg nous l’a demandé, parce que nous n’avons pas trouvé de meilleur moyen pour parler à nos amis. Parce qu’on a aimé ces belles petites choses si chaleureuses dans notre main.

Parce que nous n’avions pas vraiment prêté attention à l’avenir de la liberté de pensée ?

Parce que nous avions considéré que c’était le travail de quelqu’un d’autre. Parce que nous avions pensé que c’était acquis. Parce que nous pensions être libres. Parce que nous n’avions pas pensé qu’il restait des luttes à terminer. C’est pourquoi nous avons tout laissé tombé.

Est-ce que c’est ce que nous allons leur dire ? Est-ce vraiment ce que nous allons leur dire ?

La liberté de pensée exige des médias libres. Les médias libres exigent une technologie libre. Nous exigeons un traitement éthique lorsque nous lisons, lorsque nous écrivons, lorsque nous écoutons, et lorsque nous visionnons.

C’est la ligne de conduite de nos politiques. Nous devons conserver ces politiques jusqu’à notre mort. Parce que dans le cas contraire, quelque chose d’autre va mourir. Quelque chose de tellement précieux que beaucoup, beaucoup, beaucoup de nos pères et de nos mères ont donné leur vie pour cela. Quelque chose de tellement précieux que nous sommes d’accord pour dire que c’est la définition de ce qu’est un être humain. Il mourra si nous ne maintenons pas ces politiques pour le restant de nos jours. Et si nous les maintenons, alors toutes les choses pour lesquelles nous avons lutté se réaliseront parce que partout sur la planète, chaque personne pourra lire librement. Parce que tous les Einstein des rues auront le droit d’apprendre. Parce que tous les Stravinsky deviendront des compositeurs. Parce que tous les Socks deviendront des chercheurs en physique. Parce que l’humanité sera connectée et que chaque esprit sera autorisé à apprendre et aucun esprit ne sera écrasé pour avoir mal pensé.

Nous sommes à un moment décisif où nous pouvons choisir de soutenir cette grande révolution que nous avons bâtie bit après bit depuis un millénaire, ou de tout laisser tomber, par commodité, par simplicité de parler avec nos amis, pour la rapidité des recherches, ou d’autres choses vraiment importantes…

Je disais en 2004 ici même et je le redis maintenant : « Nous pouvons vaincre. Nous pouvons être la génération des personnes qui ont terminé le travail de construire la liberté de pensée ».

Je ne l’ai pas dit alors, mais je dois le faire maintenant que nous sommes aussi potentiellement la génération qui l’aura perdue.

Nous pouvons régresser dans une inquisition pire que toutes les inquisitions qui ont jamais existé. Elle n’usera peut-être pas tant de torture, elle ne sera peut-être pas aussi sanguinaire, mais elle sera bien plus efficace. Et nous ne devons absolument pas laisser cela arriver. Trop de gens se sont battus pour nous. Trop de gens sont morts pour nous. Trop de gens ont espéré et rêvé pour ce que nous pouvons encore réaliser.

Nous ne devons pas échouer.

Merci beaucoup.

Questions / Réponses

Q  : Merci. Vous avez dépeint un possible avenir vraiment horrible. Pouvez-vous nommer des organisations ou groupes aux États-Unis d’Amérique qui soutiennent des actions allant dans votre sens, dans votre vision positive de transformer la société ?

R : Pas seulement aux États-Unis d’Amérique mais partout dans le monde, nous avons des organisations qui se préoccupent des libertés numériques. L’« Electronic Frontier Foundation » aux États-Unis d’Amérique, « La Quadrature du Net » en France, « Bits of Freedom » aux Pays-Bas et j’en passe.

Les mouvements pour la liberté numérique sont extrêmement importants. Les pressions sur les gouvernements pour qu’ils obéissent à des règles issues du XVIIIe  siècle concernant la protection de la dignité humaine et la prévention de la surveillance étatique sont cruciales. Malheureusement, le travail sur les libertés numériques contre les gouvernements n’est pas suffisant.

Le mouvement des logiciels libres, La FSF, « Free Software Foundation » aux États-Unis d’Amérique et la « Free Software Foundation Europe », dont le siège est en Allemagne, font un travail important pour maintenir ce système anarchique (sur le mode du “bazar”) producteur de logiciels, qui nous a apportés tant de technologies, et que nous-même ne pouvons contrôler. Et cela est crucial.

Le mouvement « Creative Commons » qui est très ancré non seulement aux États-Unis d’Amérique et en Allemagne mais aussi dans plus de 40 pays autour du monde est aussi extrêmement important parce que les licences « Creative Commons » donnent aux créateurs des alternatives au contrôle excessif qui existe avec le système du copyright, et qui profite à la surveillance des médias.

L’encyclopédie libre « Wikipedia » est une institution humaine extrêmement importante et nous devons continuer de soutenir la fondation « Wikimedia » autant que faire se peut. Sur les cent sites web les plus visités aux États-Unis d’Amérique dans une étude menée par le « Street Journal », sur les cent sites web les plus visités aux États-Unis d’Amérique, seulement un ne surveille pas ses utilisateurs. Je vous laisse deviner qui c’est ? C’est Wikipédia.

Nous avons un énorme travail qui se déroule maintenant à travers le monde dans l’enseignement supérieur. Maintenant que les universités commencent à réaliser que le coût de l’enseignement supérieur doit baisser et que  les esprits vont grandir dans la toile. La « UOC », l’« Open University of Catalonia » est l’université exclusivement en ligne la plus extraordinaire aujourd’hui. Elle sera bientôt en concurrence avec d’autres universités extraordinaires. « MITX », le nouveau programme d’éducation web de la « Massachussets Institute of Technology » va fournir des cours de la plus haute qualité technique, et rendre ses supports de cours existants, accessibles librement (au sens de la culture libre) pour tous, depuis n’importe-où et en permanence. Stanford va adapter une structure de e-learning privateur qui sera le Google de l’éducation supérieure, si Stanford a de la chance.

Nous devons soutenir l’éducation libre sur Internet, et chaque ministère de l’éducation national européen devrait y travailler. Il y a beaucoup d’endroits où chercher des logiciels libres, du matériel libre, de la bande passante libre, et des médias libres.

Il n’y a pas de meilleur endroit pour chercher des médias libres sur Terre, maintenant, que dans cette salle. Tout le monde sait ce qu’il peut faire. Ils le font. Nous devons juste faire comprendre à tous les autres que si nous arrêtons ou si nous échouons, la liberté de pensé en sera le prix et nous le regretterons pour toujours.

Q : Merci beaucoup. Je voulais vous poser une petite question. Est-ce que Facebook, l’iPhone et les médias libres peuvent coexister à long terme ?

R : Probablement pas. Il ne faut pas trop s’inquiéter, iPhone n’est qu’un produit Facebook, il n’est que la version commerciale d’un service. J’ai récemment dit dans un journal à New-York que je pensais que Facebook continuerait d’exister pour une durée comprise entre 12 et 120 mois. Je pense que c’est exact.

Les réseaux sociaux fédérés seront disponibles dans l’avenir. Les réseaux sociaux fédérés sous une forme qui vous permette de quitter Facebook sans quitter vos amis seront disponibles dans l’avenir. De meilleurs moyens de communication sans une tierce partie qui vous espionne seront disponibles dans l’avenir.

La question c’est : « est-ce que les gens vont les utiliser ?»

La Freedom Box vise à produire une pile logicielle qui tiendrait dans une nouvelle génération de serveurs à bas coût et de faible consommation de la taille d’un chargeur de téléphone mobile, et si nous réussissons cette tâche, nous serons capables de connecter des milliards de serveurs web au réseau qui nous serviront à fournir des services concurrents, qui ne violeront pas la vie privée, et qui seront compatibles avec les services existants.

Mais votre téléphone mobile change fréquemment, donc l’iPhone s’en ira, pas de problème. Et les services web sont moins rares qu’ils n’en ont l’air maintenant. Facebook est une marque, ce n’est pas quelque chose dont il faut nous soucier en particulier, il faut juste que nous fassions cela aussi vite que possible

Coexistence ?  Tout ce que j’ai à en dire c’est qu’ils ne vont pas coexister avec la  liberté. Je ne vois pas pourquoi je devrais coexister avec eux.

(applaudissements)

Q : Bonjour, je m’appelle […] du Bangladesh. Merci pour cette présentation formidablement informative et lucide. J’ai participé à l’introduction des emails au Bangladesh au début des années 90. À cette époque les connexions coûtaient très cher. Nous dépensions 30 cents par kB donc un 1MB nous coûtait 300 dollars. Ça a changé depuis, mais c’est toujours très encadré par les instances régulatrices et pour nous sur le terrain, c’est très difficile, car les pouvoirs en place (les gardiens des clefs) ont intérêt à maintenir cet état de fait. Mais dans ce réseau des gardiens des clefs, il y a aussi un réseau entre mon pays et le vôtre. Et à l’heure actuelle, la source de données la plus large en volume est le recensement du Bengladesh, et la société qui le fournit est en lien direct avec la CIA. En tant  qu’opérateurs, que pouvons-nous faire en attendant de pouvoir devenir  des acteurs majeurs ?

R : C’est pourquoi j’ai commencé en parlant des comportements récents des États-Unis d’Amérique. Mon collègue au Centre des Lois de Libertés Logicielles en Inde a passé beaucoup de temps le mois dernier à essayer de faire passer une motion par la chambre haute du Parlement Indien pour annuler la régulation par les services informatiques de la censure du Net Indien et bien sûr la bonne nouvelle c’est que la base de données la plus large en volume dans le monde sera bientôt les scans rétiniens que le gouvernement Indien va exiger, si vous désirez avoir une bouteille de gaz propane ou des choses telles que… l’énergie pour votre maison. Et les difficultés que nous avons rencontrées en parlant aux responsables gouvernementaux indiens sont qu’ils disaient : « Si les Américains peuvent le faire pourquoi pas nous ? » Ce qui est malheureusement vrai.

Le gouvernement des États Unis d’Amérique a réduit cet hiver le niveau des libertés sur Internet de par le monde, dans le sens qu’ils font du datamining (des fouilles de données) sur vos sociétés de manière aussi systématique qu’en Chine. Ils sont d’accord sur le principe. Ils vont tirer les vers du nez à leur population via le datamining et ils vont encourager tous les autres États sur Terre à en faire de même. Donc je suis entièrement d’accord avec vous sur la définition du problème.

Nous ne pouvons plus désormais vivre quelque part, à cette étape de notre histoire, en continuant à penser en termes de pays, à un moment de la mondialisation, où la surveillance des populations est devenue une question globale, et nous avons à travailler dessus en partant du principe qu’aucun gouvernement ne décidera d’être plus vertueux que les superpuissances.

Je ne sais pas comment nous allons pouvoir gérer le Parti Communiste Chinois. Je ne sais vraiment pas. Je sais comment nous  allons gérer le gouvernement américain. Nous allons insister sur nos droits. Nous allons faire ce qui fait sens aux États Unis d’Amérique, nous allons combattre légalement, nous allons mettre la pression, nous allons les bousculer, nous serons partout y compris dans la rue pour en parler.

Et je suspecte que c’est ce qui va se passer ici aussi. À moins que nous changions les structures qui fondent nos sociétés, nous n’avons aucune chance de convaincre les petits gouvernements qu’ils doivent abandonner leurs contrôles.

En ce qui concerne la bande passante, nous allons bien sur devoir utiliser la bande passante non réglementée. C’est à dire nous allons devoir construire autour des normes 802.11 et wifi, entre autres, que les lois ne nous empêchent pas d’utiliser. De quelle manière cela va-t-il permettre d’atteindre les plus pauvres ? Quand est-ce que le système de téléphone mobile sera créé pour atteindre  les plus pauvres ? Je ne sais pas. Mais j’ai un petit projet avec des enfants des rues a Bangalore, je suis en train d’y réfléchir.

Il le faut. Nous devons travailler partout. Si nous ne le faisons pas, nous allons détruire tout ça, et on ne peut pas se le permettre.

Q : Professeur Moglen, Je voudrais également vous remercier. Je reviens de « Transforming Freedom » à Vienne, et je peux vous dire qu’il y a quelques années, je vous ai vu parler sur une vidéo internet au Fosdem.  Et je vous avais vu attirer l’attention sur le rôle de Philipp  Zimmermann, que nous avons aussi essayé d’aider. Et à vous écouter aujourd’hui, je vois que c’est trop lent, et trop peu.

Et je suis stupéfait par deux choses  la première est que le système éducatif, celui de l’Europe, a été fondé par Platon et a été fermé par la force environ mille ans plus tard. Le second départ d’une université européenne était aux alentours du XIe siècle. On verra si on réussira à le faire fonctionner aussi longtemps qu’un millier d’années.

Ma question est : pourquoi est-ce que ce n’est pas profondément ancré dans les structures du système éducatif d’aider la cause dont vous avez parlé aujourd’hui ?

Et pourquoi n’avons nous pas des philanthropes aidant des petits projets fonctionnant avec 3-4000 euros ici et là, bien plus efficacement comme par exemple ce que M. Soros essaie de faire ?

R : Il y a quelques années à Columbia, nous avons essayé d’intéresser l’université à l’état de conservation de la bibliothèque, et j’ai vu plus d’intellectuels reconnus, engagés politiquement, dans ma propre université qu’à aucun autre moment pendant mes 25 ans ici. Leur principale inquiétude était le vieillissement du papier sur lequel était imprimé des doctorats allemands du XIXe siècle, qui contiennent plus de recherches philologiques qu’aucun autre endroit sur Terre.

N’est-ce pas ? Mais c’était des livres du XIXe siècle qu’ils devaient préserver.

Le problème avec la vie universitaire, c’est qu’elle est conservatrice par nature, car elle préserve la sagesse des anciens. Et c’est une  bonne chose à faire. Mais la sagesse des anciens est ancienne, et elle ne prend pas nécessairement en compte parfaitement les problèmes du moment. J’ai mentionné l’UOC parce que je pense que c’est important de soutenir l’Université quand elle se déplace vers Internet et qu’elle s’éloigne des formes d’apprentissage qui caractérise les universités du passé.

Pendant le dernier millénaire, nous avons principalement déplacé les intellectuels vers les livres, et l’université s’est développée autour de ce principe. Elle s’est développée autour du principe que les livres sont difficiles à déplacer, alors que les gens sont faciles à déplacer. Donc on y a amené tout le monde. Maintenant nous vivons dans un monde dans lequel il est beaucoup plus simple de déplacer le savoir plutôt que les personnes. Mais la continuité de l’ignorance est le désir des entreprises qui vendent le savoir.

Ce dont nous avons vraiment besoin est de commencer nous-mêmes à aider le système universitaire à se transformer en quelque chose d’autre. Quelque chose qui permet à chacun d’apprendre, et qui permet d’apprendre sans surveillance.

La Commissaire à la Société de l’Information sera ici. Elle devrait parler de ça. Cela devrait être la grande question de la Commission Européenne. Ils le savent, ils ont sorti un rapport d’il y a 18 mois qui dit que, pour le prix d’une centaine de kilomètres de routes, il peuvent scanner 1/6ème de tous les livres des bibliothèques européennes. Cela veut dire que pour le prix de 600 kilomètres de routes, nous pourrions tous les avoir !

Nous avons construit beaucoup de routes dans beaucoup d’endroits, y compris en Grèce, dans les dix dernières années. Et nous aurions pu scanner tous  les livres en Europe pendant ce temps, et nous aurions pu les rendre disponibles pour toute l’Humanité, sans surveillance.

Si Mme Kroes veut construire un monument à son nom, ça ne sera pas en tant que politicienne au rabais. Elle le fera de cette manière. Et vous allez le lui demander. Moi je serai dans un avion sur le chemin du retour à travers l’Atlantique. Sinon je vous promets que je lui aurais demandé moi même. Demandez-lui pour moi. Dites lui, « ce n’est pas notre faute, Eben veut savoir. Si vous devez blesser quelqu’un, c’est lui ». Vous devriez changer l’Université européenne. Vous devriez la modifier en une lecture sans surveillance. Vous devriez mettre en faillite Google Books et Amazon. C’est une manière capitaliste Nord-américaine anglo-saxonne de jouer des coudes.

Pourquoi est-ce que nous ne rendons pas libre le savoir en Europe, et ne nous assurons-nous pas qu’il n’est pas surveillé ? Cela serait le plus grand pas possible, et c’est en leur pouvoir.

Photo d’Eben Moglen, crédit Re:Publica (CC BY 2.0)




Remue-ménage dans le triage (Libres conseils 14/42)

Chaque jeudi à 21h, rendez-vous sur le framapad de traduction, le travail collaboratif sera ensuite publié ici même.

Traduction Framalang : lamessen, Sky, Kalupa, ga3lig, goofy, Astalaseven, okram, KoS, Lycoris, 4nti7rust, peupleLa + Julius22

Penser/Classer

Andre Klapper

Dans la vraie vie, Andre Klapper est maître ès débogage. Pendant sa pause déjeuner ou sa sieste, il travaille à divers trucs sur GNOME (bugsquad, équipe de release, traduction, documentation, etc.), ou Maemo, étudie ou mange de la crème glacée.


Au tout début, je n’avais qu’une seule et unique question : comment imprimer seulement une partie du courriel que j’ai reçu dans Evolution, le client de messagerie GNOME ? J’ai donc demandé sur la liste de diffusion.

Ça faisait exactement un an que j’étais passé sous Linux, frustré de ne pouvoir faire fonctionner mon modem après avoir réinstallé un OS propriétaire plutôt populaire à l’époque.

La réponse à ma question fut : « impossible ». Des petits génies auraient parcouru le code, l’auraient compilé, l’auraient bidouillé pour qu’il se comporte comme voulu, puis auraient soumis un correctif joint au rapport de bogue. Bon. Comme vous l’aurez deviné, je n’étais pas un petit génie. Mes talents de programmeur sont plutôt limités, donc sur le moment je suis resté coincé sur une solution de contournement plutôt lourde pour mon impression. La réponse que j’avais reçue sur la liste de diffusion signalait également que cette fonctionnalité était prévue, et qu’on avait complété pour moi un rapport de bogue — sans préciser où, mais je m’en fichais, j’étais content d’apprendre qu’il était prévu de corriger mon problème prochainement.

Il se peut que je sois resté abonné à la liste de diffusion par simple paresse. Certains mentionnaient le rapporteur de bogues de temps en temps, souvent comme une réponse directe aux demandes de fonctionnalités, alors j’y ai finalement jeté un coup d’œil. Mais les rapporteurs de bogue, en particulier Bugzilla, sont d’étranges outils avec beaucoup d’options complexes. Un domaine que vous préférez normalement éviter à moins que vous ne soyez masochiste. Ils contiennent maints tickets décrivant des bogues ou des demandes de fonctionnalités émanant d’utilisateurs et de développeurs. Il semblait également que ces rapports aient été en partie utilisés pour planifier les priorités (appeler cela « gestion de projet » aurait été un euphémisme ; moins d’un quart des problèmes qui étaient planifiés pour être résolus ou implémentés dans une version spécifique étaient réellement corrigés au bout du compte).

Au-delà d’une vision intéressante sur les problèmes du logiciel et sur la popularité de certaines demandes, ce que j’ai découvert, c’est beaucoup de choses incohérentes et pas mal de bruit, comme des doublons ou des rapports de bogues manquant d’éléments pour pouvoir être traités correctement. J’ai eu envie de nettoyer un peu en « triant » les rapports de bogues disponibles. Je ne sais pas bien ce que cela vous dit sur mon état d’esprit — ajouter ici des mots-clés bidon pour une caractérisation aléatoire, comme organisé, persévérant et intelligent. C’est assez ironique quand on pense à mon père qui se plaignait toujours du bordel dans ma chambre. Donc à cette époque lointaine de modems commutés, j’avais pour habitude de rassembler mes questions et de les faire remonter sur IRC une fois par jour afin de mitrailler de questions le responsable des bogues d’Evolution, qui était toujours accueillant, patient et soucieux de partager son expérience. Si jamais à l’époque il y avait un guide de triage qui couvrait les savoirs de base pour la gestion des bogues et qui exposait les bonnes pratiques et les pièges les plus courants, je n’en avais pas entendu parler.

Le nombre de signalements baissa de 20% en quelques mois, bien que ce ne fût bien évidemment pas grâce à une unique personne qui faisait le tri des tickets. Il y avait manifestement du travail en attente, comme diminuer le nombre des tickets attribués aux développeurs pour qu’ils puissent mieux se concentrer, parler avec eux, définir les priorités, et répondre aux commentaires non-traités de certains utilisateurs. L’open source accueille toujours bien les contributions une fois que vous avez trouvé votre créneau.

Bien plus tard, j’ai pris conscience qu’il y avait de la documentation à consulter. Luis Villa, qui fut probablement le premier des experts en bogues, a écrit un essai titré « Pourquoi tout le monde à besoin d’un expert en bogue » et la majorité des équipes anti-bogues sur les projets open source ont publié au même moment des guides sur le triage qui ont aidé les débutants à s’impliquer dans la communauté. De nombreux développeurs ont débuté leur fantastique carrière dans l’open source en triant les bogues et ont ainsi acquis une première expérience de gestion de projet logiciel.

Il y a aussi de nos jours des outils qui peuvent vous épargner beaucoup de temps quand arrive l’abrutissant travail de triage. Du côté serveur, l’extension « stock answers » de GNOME fournit les commentaires courants et fréquemment usités afin de les ajouter aux tickets en un clic pendant que, du côté client, vous pouvez faire tourner votre propre script  GreaseMonkey ou l’extension Jetpack de Matej Cepl, appelée  « bugzilla-triage-scripts » [2].

Si vous êtes un musicien moyen ou médiocre mais que vous aimez tout de même la musique par-dessus tout, vous pouvez toujours y travailler en tant que journaliste. Le développement de logiciels possède également ce genre de niches qui peuvent vous donner satisfaction, au-delà de l’idée première d’écrire du code. Cela vous prendra un peu de temps pour les trouver, mais ça vaut la peine d’y consacrer vos efforts, votre expérience et vos  contacts. Avec un peu de chance et de talent, cela peut même vous permettre de gagner votre vie dans le domaine qui vous intéresse personnellement… et vous éviter de finir pisse-code.

[1] http://tieguy.org/talks-files/LCA-2005-paper-html/index.html

[2] https://fedorahosted.org/bugzilla-triage-scripts

Crédit photo : Doug DuCap Food and Travel (CC BY-NC-SA 2.0)




Tests contre Bogues : une guerre sans fin (Libres conseils 13/42)

Chaque jeudi à 21h, rendez-vous sur le framapad de traduction, le travail collaboratif sera ensuite publié ici même.

Traduction Framalang : Floxy, ga3lig, goofy, Astalaseven, Slystone, okram, KoS, Lycoris, 4nti7rust, peupleLa, Luc Didry, + Julius22

Même en multipliant les regards, les bogues ne sautent pas aux yeux.

Ara Pulido

Ara Pulido est ingénieure d’essais pour Canonical, d’abord comme membre de l’équipe assurance qualité d’Ubuntu (QA team), et maintenant dans le cadre de l’équipe de certification du matériel. Même si elle a commencé sa carrière en tant que développeuse, elle a vite découvert que ce qu’elle aimait vraiment, c’était tester les logiciels. Elle est très intéressée par les nouvelles techniques d’analyse et tente d’utiliser son savoir-faire pour améliorer Ubuntu.

Les tests maison ne suffisent pas

Je me suis impliquée dans le logiciel libre dès le début de mes études à l’Université de Grenade. Là-bas, avec des amis, nous avons fondé un groupe local d’utilisateurs de Linux et organisé plusieurs actions pour promouvoir le logiciel libre. Mais, depuis que j’ai quitté l’université, et jusqu’à ce que je commence à travailler chez Canonical, ma carrière professionnelle s’est déroulée dans l’industrie du logiciel propriétaire, d’abord comme développeuse puis comme testeuse.

Lorsque l’on travaille au sein d’un projet de logiciel propriétaire, les ressources pour tester sont très limitées. Une petite équipe reprend le travail initié par les développeurs avec les tests unitaires, utilisant leur expérience pour trouver autant de bogues que possible afin de mettre à disposition de l’utilisateur final un produit aussi abouti que possible. Dans le monde du logiciel libre, en revanche, tout est différent.

Lors de mon embauche chez Canonical, hormis la réalisation de mon rêve d’avoir un travail rémunéré au sein d’un projet de logiciel libre, j’ai été émerveillée par les possibilités des activités de test dans le cadre d’un tel projet. Le développement du produit s’effectue de manière ouverte, et les utilisateurs ont accès au logiciel dès son commencement, ils le testent et font des rapports de bogues dès que c’est nécessaire. C’est un nouveau monde rempli de beaucoup de possibilités pour une personne passionnée par les tests. Je voulais en profiter au maximum.

Comme beaucoup de personnes, je pensais que les tests « maison », c’est-à-dire l’utilisation par soi-même du logiciel que l’on envisage de mettre à disposition, était l’activité de test la plus importante qu’on puisse mener dans le logiciel libre. Mais si, selon la formule de Raymond dans La cathédrale et le bazar « avec suffisamment d’observateurs, tous les bogues sautent aux yeux », alors comment se fait-il qu’avec ses millions d’utilisateurs Ubuntu comporte encore des bogues sérieux à chaque nouvelle version ?

La première chose dont je me suis aperçue quand j’ai commencé à travailler chez Canonical c’est que les activités de test organisées étaient rares ou inexistantes. Les seules sessions de test qui étaient d’une certaine façon organisées se présentaient sous la forme de messages électroniques envoyés à une liste de diffusion, manière de battre le rappel pour tester un paquetage dans la version de développement d’Ubuntu. Je ne pense pas que cela puisse être considéré comme une vraie procédure de test, mais simplement comme une autre forme de « test maison ». Cette sorte de test génère beaucoup de doublons, car un bogue facile à débusquer sera documenté par des centaines de personnes. Malheureusement le bogue potentiellement critique, vraiment difficile à trouver, a de bonnes chances de passer inaperçu en raison du bruit créé par les autres bogues, et ce même si quelqu’un l’a documenté.

En progrès

La situation s’améliore-t-elle ? Sommes-nous devenus plus efficaces pour les tests au sein des projets de développement libre ? Oui, j’en suis convaincue.

Pendant les derniers cycles de développement d’Ubuntu, nous avons commencé bon nombre de sessions de test. La gamme des objectifs pour ces sessions est large, elle comprend des domaines comme de nouvelles fonctionnalités de bureau, des tests de régression, des tests de pilotes X.org ou des tests de matériel d’ordinateur portable. Les résultats sont toujours suivis et ils s’avèrent vraiment utiles pour les développeurs, car ils leur permettent de savoir si les nouveautés fonctionnent correctement, au lieu de supposer qu’elles fonctionnent correctement à cause de l’absence de bogues.

En ce qui concerne les outils d’assistance aux tests, beaucoup d’améliorations ont été apportées :

  • Apport(1) a contribué à augmenter le niveau de détail des bogues signalés concernant Ubuntu : les rapports de plantage incluent toutes les informations de débogage et leurs doublons sont débusqués puis marqués comme tels ; les utilisateurs peuvent signaler des bogues sur base de symptômes, etc.
  • Le Launchpad(2), avec ses connexions en amont, a permis d’avoir une vue complète des bogues – sachant que les bogues qui se produisent dans Ubuntu se situent généralement dans les projets en amont, et permet aux développeurs de savoir si les bogues sont en cours de résolution.
  • Firefox, grâce à son programme et à son extension Test Pilot, mène des tests sans qu’on ait à quitter le navigateur(3). C’est, à mon sens, une bien meilleure façon de rallier des testeurs qu’une liste de diffusion ou un canal IRC.
  • L’équipe Assurance Qualité d’Ubuntu teste le bureau en mode automatique et rend compte des résultats toutes les semaines(4), ce qui permet aux développeurs de vérifier très rapidement qu’il n’y a pas eu de régression majeure pendant le développement.

Cependant, malgré l’amélioration des tests dans les projets de logiciel libre il reste encore beaucoup à faire.

Pour aller plus loin

Les tests nécessitent une grande expertise, mais sont encore considérés au sein de la communauté du le logiciel libre comme une tâche ne demandant pas beaucoup d’efforts. L’une des raisons pourrait être que la manière dont on les réalise est vraiment dépassée et ne rend pas compte de la complexité croissante du monde du logiciel libre durant la dernière décennie. Comment est-il possible que, malgré la quantité d’innovations amenées par les communautés du logiciel libre, les tests soient encore réalisés comme dans les années 80 ? Il faut nous rendre à l’évidence, les scénarios de tests sont ennuyeux et vite obsolètes. Comment faire grandir une communauté de testeurs supposée trouver des bogues avérés si sa tâche principale est de mettre à jour les scénarios de test ?

Mais comment améliorer la procédure de test ? Bien sûr, nous ne pouvons pas nous débarrasser des scénarios de test, mais nous devons changer la façon dont nous les créons et les mettons à jour. Nos testeurs et nos utilisateurs sont intelligents, alors pourquoi créer des scripts pas-à-pas ? Ils pourraient aisément être remplacés par une procédure de test automatique. Définissons plutôt une liste de tâches que l’on réalise avec l’application, et certaines caractéristiques qu’elle devrait posséder. Par exemple, « l’ordre des raccourcis dans le lanceur doit pouvoir être modifié », ou « le démarrage de LibreOffice est rapide ». Les testeurs trouveront un moyen de le faire, et créeront des scénarios de test en parallèle des leurs.

Mais ce n’est pas suffisant, nous avons besoin de meilleurs outils pour aider les testeurs à savoir ce qu’ils testent, où et comment. Pourquoi ne pas avoir des API (interfaces de programmation) qui permettent aux développeurs d’envoyer des messages aux testeurs à propos des nouvelles fonctionnalités ou des mises à jour qui doivent être testées ? Pourquoi pas une application qui nous indique quelle partie du système doit être testée ? en fonction des tests en cours ? Dans le cas d’Ubuntu, nous avons les informations dans le Launchpad (il nous faudrait aussi des données sur les tests, mais au moins nous avons des données sur les bogues). Si je veux démarrer une session de test d’un composant en particulier j’apprécierais vraiment de savoir quelles zones n’ont pas encore été testées ainsi qu’une liste des cinq bogues comptant le plus de doublons pour cette version en particulier afin d’éviter de les documenter une fois de plus. J’aimerais avoir toutes ces informations sans avoir à quitter le bureau que je suis en train de tester. C’est quelque chose que Firefox a initié avec Test Pilot, bien qu’actuellement l’équipe rassemble principalement les données sur l’activité du navigateur.

La communication entre l’amont et l’aval et vice-versa doit aussi être améliorée. Pendant le développement d’une distribution, un bon nombre des versions amont sont également en cours de développement, et ont déjà une liste des bogues connus. Si je suis un testeur de Firefox sous Ubuntu, j’aimerais avoir une liste des bogues connus aussitôt que le nouveau paquet est poussé dans le dépôt. Cela pourrait se faire à l’aide d’une syntaxe reconnue pour les notes de versions, syntaxe qui pourrait ensuite être facilement analysée. Les rapports de bogue seraient automatiquement remplis et reliés aux bogues amont. Encore une fois, le testeur devrait avoir facilement accès à ces informations, sans quitter son environnement de travail habituel.

Les tests, s’ils étaient réalisés de cette manière, permettraient au testeur de se concentrer sur les choses qui comptent vraiment et font de la procédure de test une activité qualifiée ; se concentrer sur les bogues cachés qui n’ont pas encore été découverts, sur les configurations et environnements spéciaux, sur la création de nouvelles manières de casser le logiciel. Et, in fine, s’amuser en testant.

Récapitulons

Pour ce que j’en ai vu ces trois dernières années, les tests ont beaucoup progressé au sein d’Ubuntu et des autres projets de logiciels libres dans lesquels je suis plus ou moins impliquée, mais ce n’est pas suffisant. Si nous voulons vraiment améliorer la qualité du logiciel libre, nous devons commencer à investir dans les tests et innover dans la manière de les conduire, de la même façon que nous investissons dans le développement. Nous ne pouvons pas tester le logiciel du XXIe siècle avec les techniques du XXe siècle. Nous devons réagir. Qu’il soit open source ne suffit plus à prouver qu’un logiciel libre est de bonne qualité. Le logiciel libre sera bon parce qu’il est open source et de la meilleure qualité que nous puissions offrir.

1 http://wiki.ubuntu.com/Apport

2 http://launchpad.net

3 http://testpilot.mozillalabs.com

4 http://reports.qa.ubuntu.com/reports/desktop-testing/natty




Comment s’attaquer aux problèmes (Libres conseils 10/42)

Chaque jeudi à 21h, rendez-vous sur le framapad de traduction, le travail collaboratif sera ensuite publié ici même.

Traduction Framalang : Sky, LIAR, lerouge, Goofy, peupleLa, lamessen LAuXKoS, Nys, Julius22, okram, kalupa, 4nti7rust, CoudCoud, zn01wr + Sinma

L’art de résoudre les problèmes

Thiago Madeira

Thiago Macieira est doublement diplômé. Il a une maîtrise en administration des affaires (MBA) et un diplôme d’ingénieur. Mais son implication dans le mouvement open source, depuis près de 15 ans maintenant, est antérieur à ses diplômes. Participant actif des communautés KDE, Qt et MeeGo, il a été ingénieur logiciel et responsable produit pour Qt, il a fait des conférences et il a écouté les gens. À présent, Thiago vit à Oslo en Norvège et quand il ne travaille pas sur Qt, il essaye — sans grande réussite — d’améliorer son skill à StarCraft 2.


Les problèmes forment une routine à laquelle nous sommes confrontés presque tous les jours ; nous les résolvons et c’est tellement habituel que bien souvent nous n’en avons même pas conscience. Cela peut être des situations aussi simples que chercher le meilleur chemin pour arriver à destination ou trouver la meilleure façon de tout faire tenir dans le réfrigérateur. Ce n’est que lorsque nous ne parvenons pas à les résoudre immédiatement que nous remarquons les problèmes car nous devons alors nous arrêter et y réfléchir. Notre vie professionnelle n’échappe pas à cette règle et la résolution de problèmes commence à faire partie de la description du poste à pourvoir.

La résolution de problèmes était le sujet de mon premier cours quand j’ai commencé ma formation d’ingénieur. Dans cet amphithéâtre bondé du siècle dernier, notre professeur expliquait à environ 700 étudiants de première année en quoi les ingénieurs étaient des solutionneurs de problèmes et comment nos vies professionnelles consisteraient à enchaîner les problèmes à résoudre. Certains seraient des problèmes faciles résolus en deux temps trois mouvements ; d’autres seraient tellement difficiles que nous aurions besoin d’une structure de projet et d’une équipe pour les résoudre — mais la plupart se situeraient entre ces deux extrêmes. Puis il commença à donner des exemples sur la façon dont sa propre mentalité de « solutionneur de problèmes » l’avait aidé dans sa vie professionnelle et personnelle, et nous offrit même un exemple en direct quand tout à coup le projecteur nous tomba dessus.

La faculté de résoudre des problèmes est un talent que nous pouvons affiner par la pratique et un travail de fond. La pratique est quelque chose que l’on ne peut acquérir que par l’expérience, par succession d’essais et d’erreurs (1) ; ce n’est donc pas quelque chose qu’on peut apprendre dans un livre. Se mettre en situation de résoudre des problèmes, en revanche, est quelque chose que l’on peut apprendre. Face au problème, l’expérience est comme notre boîte à outils, et les techniques de résolution le mode d’emploi des outils.

Formuler correctement la question

La question à laquelle nous essayons de répondre fournit la direction que nous allons prendre en essayant de résoudre le problème. Posez la mauvaise question et les réponses seront peu pertinentes, invalides ou juste complètement fausses. Par conséquent, poser la bonne question est essentiel. De plus, poser correctement la bonne question est important, car cela apporte des indices quant à ce que nous recherchons. La manière la plus inutile d’énoncer un problème qu’on puisse rencontrer est : « ça marche pas », c’est pourtant un grand classique. Certes, l’énoncé est juste, puisque manifestement quelque chose a planté. Néanmoins, cette façon de présenter le problème n’apporte aucun indice sur le point de départ pour rechercher des solutions.

Les systèmes de gestion de bogues imposent souvent au rapporteur du bogue de préciser les actions effectuées qui ont conduit à ce problème, la description de ce qui s’est passé (c’est-à-dire le symptôme) et une description du comportement attendu. La comparaison entre le symptôme et le comportement attendu est un bon point de départ pour poser la question fondamentale : «  pourquoi cela s’est-il produit, pourquoi cet autre comportement ne s’est-il pas produit ? ». Même si ce n’est pas la seule manière d’y arriver, appliquer cette technique à des problèmes peut certainement aider à formuler la question.

Formuler correctement le problème et la question, dans ses moindres détails, est aussi une manière de décrire davantage le problème tel qu’il s’est manifesté. En premier lieu, nous devons avoir conscience que le problème ne se trouve probablement pas où nous nous attendons à le trouver — si c’était le cas, nous l’aurions probablement déjà résolu. Présenter tous les détails du problème permet à l’assistance technique d’avoir plus d’informations pour travailler. De plus, même si c’est contre-intuitif, le fait de décrire le problème dans sa totalité conduit souvent à trouver la solution, si bien que de nombreux groupes de développement ont besoin que des développeurs se concentrent sur cette tâche, soit en discutant avec un collègue soit en s’adressant à un être innocent, tel qu’un canard en caoutchouc ou M. Patate.

De plus, il faut revenir régulièrement à la question afin de garder l’objectif dans le viseur. Lors de la résolution du problème, il convient de faire attention à ne pas se concentrer exclusivement sur l’une de ses parties en perdant de vue l’objectif global. Pour la même raison, il est nécessaire de reprendre la question de départ lorsqu’on a trouvé une solution éventuelle, pour pouvoir s’assurer qu’elle couvre bien l’intégralité du problème. Là encore, cela prouve bien la nécessité de poser la bonne question, qui décrira le problème dans son intégralité : sans la question complète, la solution pourrait être également incomplète.

Diviser pour mieux régner (2)

L’expérience que j’ai acquise en aidant des utilisateurs en ligne à résoudre leurs problèmes m’a appris que la plupart des personnes considérent leurs difficultés comme des blocs d’achoppement, monolithiques et indivisibles, qu’il faut traiter comme un tout. Vu sous cet angle, un vaste problème pose une question à laquelle il est très difficile de répondre entièrement.

À vrai dire, la grande majorité de ces problèmes peut se décomposer en plusieurs petits problèmes qu’il est donc plus facile de traiter séparément afin de déterminer s’ils sont la cause originelle du problème, sans parler de la possibilité qu’il y ait plusieurs origines au symptôme rapporté. Répéter cette opération, ne serait-ce qu’un petit nombre de fois, revient à s’attaquer à des problèmes mieux circonscrits, et amène par conséquent à des solutions plus rapides.

Cependant, plus nous sommes obligés de décomposer, plus nous devons connaître le fonctionnement interne du système que nous avons sous la main. De fait, celui qui doit résoudre un problème ne pourra le décomposer qu’aussi loin que sa connaissance du sujet le lui permettra, et c’est depuis ce point qu’il pourra ensuite traiter la question.

Pour ce qui concerne le développement logiciel, les sous-systèmes utilisés sont souvent de bons indices pour trouver comment décomposer le problème. Par exemple, si le problème implique une transmission de données par TCP/IP, deux subdivisions possibles sont l’expéditeur et le destinataire : il ne sert à rien de chercher le problème du côté du destinataire si l’expéditeur ne transmet pas les données correctement. De même, une application graphique qui n’affiche pas les données appelées dans une base de données a une division claire : ce serait une bonne idée de vérifier d’abord que l’accès à la base de données fonctionne avant d’enquêter sur la cause du mauvais affichage. Par ailleurs, on pourrait également envoyer des informations quelconques aux fonctions d’affichage et vérifier que ces données s’affichent correctement.

Même quand les regroupements ne sont pas faciles à faire, diviser le problème peut tout de même contribuer à éclairer la question. En fait, les divisions sont presque toujours utiles, car elles réduisent la quantité de code à inspecter et le niveau de complexité à gérer. Au pire, le simple fait de diviser le code en deux parties et de chercher le problème dans l’une des deux peut être utile. Cette technique, nommée bissection, est recommandée si les divisions créées à partir des sous-systèmes et des interfaces n’ont pas encore apporté de solution.

Une succession de divisions appropriées aura pour résultat final un petit exemple autonome qui expose le problème. À ce stade, l’une des trois options suivantes est habituellement la bonne : le problème peut être identifié et localisé ; le code est en fait correct et c’était ce que l’on en attendait qui était faux ; ou bien un bogue a été trouvé dans la couche de code de plus bas niveau. Un des avantages de ce procédé, c’est qu’il génère un scénario de test à joindre à un rapport de bogue, pour peu qu’un bogue soit en cause.

Conditions aux limites (3)

Une question similaire à la division du problème est celle des conditions aux limites. En mathématiques et en physique, les conditions aux limites sont l’ensemble des valeurs qui déterminent la région de validité des équations résolues. Pour le logiciel, les conditions aux limites sont l’ensemble des conditions qui doivent être satisfaites pour que le code s’exécute correctement. Habituellement, les conditions aux limites sont loin d’être simples : à la différence des mathématiques ou de la physique, les variables des systèmes logiciels sont beaucoup trop nombreuses, ce qui signifie que leurs conditions aux limites sont également légion.

Dans les systèmes logiciels, les conditions aux limites sont souvent nommées « conditions préalables », c’est-à-dire des conditions qui doivent être satisfaites avant qu’une certaine action ne soit autorisée. Vérifier que ces conditions prélalables ont été satisfaites est un bon exercice dans la recherche d’une réponse, car leur violation est clairement un problème qui doit être résolu — quand bien même ce n’est pas la cause première du problème initial. Des conditions préalables peuvent tout simplement prendre la forme d’un pointeur qui doit être valide avant qu’on puisse le déréférencer, ou d’un objet qui ne doit pas être éliminé avant de pouvoir être utilisé. Les conditions préalables complexes seront très probablement documentées en vue de l’utilisation du logiciel.

Un autre groupe intéressant de conditions aux limites se caractérise, curieusement, par ce qui n’est pas autorisé : le comportement indéfini. Ce type de conditions aux limites est très commun lorsque l’on traite des spécifications qui essaient d’être très explicites sur la manière dont le logiciel est censé se comporter. Les compilateurs et les définitions de langage en sont un bon exemple. À strictement parler, déréférencer un pointeur null est un comportement indéfini : la conséquence la plus commune en est l’enregistrement d’une exception du processeur et l’arrêt du programme, mais d’autres comportements sont aussi autorisés, y compris le fonctionnement sans faille.

Le bon outil pour le bon usage

Si les ingénieurs sont des solutionneurs de problèmes, la devise de l’ingénieur est « Utilise le bon outil pour le bon usage ». Cela peut sembler évident, étant donné qu’on ne s’attend pas à ce que quelqu’un utilise un marteau pour résoudre un problème électronique. Cependant, les cas d’utilisation du mauvais outil sont plutôt fréquents, souvent parce qu’on ignore qu’il existe un meilleur outil.

Certains de ces outils sont la base du développement logiciel, comme le compilateur et le débogueur. L’incapacité à se servir de ces outils est impardonnable : le professionnel qui se retrouve dans un environnement d’outils nouveaux ou inconnus, si par exemple il change de poste ou d’emploi, doit consacrer du temps à apprendre à les utiliser, à se familiariser avec leurs fonctionnalités et limitations. Par exemple, si un programme plante, être capable de déterminer l’endroit du plantage ainsi que les variables appelées dans cette portion du code peut aider à trouver la cause du problème et donc la solution.

D’autres outils peu connus sont plus évolués, prévus pour des emplois spécifiques, ou encore ne sont disponibles qu’à un prix ou sous des conditions que l’ingénieur ne peut réunir. Ils peuvent toutefois être incroyablement utiles pour contribuer à la résolution de problèmes. Il peut s’agir de vérificateurs de code statique ou de processus, de débogueurs de mémoire, d’enregistreurs d’événements matériels, etc. Par exemple, le matériel de développement inclut souvent un système permettant de le contrôler à l’aide d’une interface spéficique comme JTAG ou de lister toutes les instructions exécutées et l’état des processeurs. Mais cela nécessite d’avoir du matériel et des outils spécifiques, qui ne sont pas facilement accessibles et coûtent plus cher que les machines et périphériques grand public. Un autre exemple est la suite d’outils Valgrind (4), qui comprend un vérificateur de processus et des débogueurs de mémoire. L’ensemble est gratuit, facilement disponible, mais fait partie de ces outils spécifiques de haut niveau dont l’usage n’est pas enseigné à l’école.

Connaître le contenu de sa boîte à outils est un savoir précieux. L’utilisation d’un outil spécialisé pour chercher un problème va probablement donner un résultat plus rapide, qu’il soit positif — et confirme le problème — ou négatif, et oriente la recherche dans une autre direction. Par ailleurs, il est important de savoir comment utiliser ces outils, ce qui justifie le temps passé à lire la documentation, à  s’entraîner ou simplement à expérimenter ces outils avec des problèmes connus pour comprendre comment ils fonctionnent.

Conclusion

Résoudre  les problèmes est un art accessible à tous. Comme pour tous les arts, certaines personnes semblent avoir une telle facilité qu’ils semblent être nés avec cette compétence. Mais en réalité, avec assez d’expérience et de pratique, la résolution des problèmes devient une activité insconsciente.

Quand on est confronté à un problème qui n’est pas évident à résoudre, il faut s’asseoir et le considérer dans son intégralité. Quel problème avons-nous ? Pouvons-nous formuler la question à laquelle nous devons répondre ? Une fois que nous savons ce que nous cherchons, nous pouvons commencer à examiner où peut être situé le problème. Peut-on le décomposer en parties plus petites et plus maniables ? Quels sont les meilleurs outils à utiliser pour chaque partie ? Avons-nous vérifié que nous utilisions correctement les fonctionnalités et services disponibles ?

Après avoir résolu de nombreux problèmes, on commence à repérer des schémas. Il devient plus facile de détecter des indices subtils à partir des symptômes et de diriger les recherches vers le problème réel. Un correcteur de problèmes expérimenté peut même ne pas se rendre compte que cette action a lieu. C’est un signe que l’expérience et les automatismes se sont si bien mis en place qu’il n’y a plus besoin d’effort conscient pour accéder à ces compétences.

Bien sûr il, y aura toujours des problèmes qui seront difficiles à résoudre dans la vie : problèmes professionnels, existentiels, philosophiques ou même ceux qui sont causés par la pure curiosité. Là encore, c’est le défi qui nous stimule, le besoin de comprendre toujours plus et mieux. Sans cela, la vie serait trop triste.

(1) http://fr.wikipedia.org/wiki/Apprentissage#Apprentissage_par_essais_et_erreurs

(2) http://fr.wikipedia.org/wiki/Diviser_pour_régner_(informatique)

(3) http://fr.wikipedia.org/wiki/Condition_aux_limites

(4) http://fr.wikipedia.org/wiki/Valgrind

Crédit photo Luxuryluke (CC BY-NC-ND 2.0)