Merci du signalement, ton bug peut attendre…

Magnus Manske est un développeur inconnu du grand public, on lui doit pourtant des contributions nombreuses et décisives pour le développement initial de Wikipédia, sa maintenance continue et son ingénierie, au point que les wikipédiens célèbrent chaque 25 janvier le Magnus Manske Day.

On imagine aisément à quel point ses journées sont bien remplies, d’autant qu’il donne son temps et son énergie pour le Libre sur son temps… libre !

Dans l’article dont nous vous proposons la traduction, il explique avec un brin de malice pourquoi les bugs apparemment les plus simples à traiter peuvent s’avérer les plus longs à régler… Deux minutes de lecture pour un petit article qui parlera à nos amis développeurs (ces indispensables travailleurs de l’ombre) comme il a parlé à Luc, notre tech warrior tout-terrain…

 

Non, je n’ai pas corrigé ton bogue, voici pourquoi

par Magnus Manske – article original : Why I didn’t fix your bug

Photo par Jason Krüger [CC BY-SA 4.0], via Wikimedia Commons
Beaucoup d’entre vous m’ont envoyé des rapports de bogue, des demandes de nouvelles fonctionnalités et signalé d’autres problèmes liés à mes outils dans le WikiVerse. Vous m’avez contacté via le BitBucket Issue tracker (et apparemment je suis aussi sur Phabricator maintenant), par Twitter, divers emails, des pages de discussion (les miennes, celles d’autres utilisateurs, via Wikitech, etc.), avec des applications de messagerie, et même en chair et en os.

Et je n’ai rien fait. Je n’ai même pas répondu.

Rien n’indique que j’ai vu le problème.

C’est frustrant, je sais. Tu veux juste que ce petit truc soit réparé. En tout cas, tu te figures que c’est un tout petit changement à opérer.

Voyons maintenant les ressources disponibles, ce qui, en l’occurrence, est mon temps. En commençant par les gros travaux (estimations générales, des variations saisonnières sont inévitables) :

Il y 24 h dans une journée

– 9 h de travail (y compris le trajet en voiture)

– 7 h de sommeil (j’espère en tout cas)

– 2 h de vie privée (manger, faire de l’exercice, prendre une douche, lire, passer du temps avec ma copine, etc.)

= il reste 6h

On ne peut pas discuter avec ça, n’est-ce pas ? Maintenant, 6h qui restent, c’est une estimation haute, évidemment ; le travail et la vie privée peuvent (et ça arrive) prendre bien plus de temps, sur une base quotidienne et très variable, comme c’est le cas pour chacun de nous.

Alors je peux régler ton problème, c’est ça ?

Voyons voir :

6h

– 1h de maintenance (redémarrage des outils, mise à jour des pages GLAM, ajout et correction des catalogues mix“n”match, etc.)

– 3h de développement/réécriture (parce que c’est de là que viennent les outils)

= il reste 2h

Deux heures par jour, ça fait beaucoup, non ? En réalité, c’est beaucoup moins, mais restons-en là pour l’instant. Quelques-uns de mes outils n’ont pas de problèmes, mais beaucoup en ont plusieurs en cours, donc supposons que chaque outil en a un :

2h = 120 min

/130 outils (estimation basse)1

= une moyenne de 55 secondes par outil

C’est assez de temps pour trouver et aborder le problème, ouvrir le(s) fichier(s) de code source, et… zut le temps s’est écoulé ! Désolé, problème suivant !

Donc, au lieu de tous les traiter, je m’occupe de l’un d’entre eux. Jusqu’à ce que ce soit réglé ou que j’abandonne. L’un ou l’autre peut prendre des minutes, des heures, voire des jours. Et pendant ce temps, je ne me penche pas sur les centaines d’autres problèmes. Parce que je ne peux rien faire pour eux à ce moment-là.

Alors, comment puis-je choisir un problème sur lequel travailler ? C’est une heuristique complexe calculée à partir des facteurs suivants :

  • Nombre d’utilisateurs concernés
  • Gravité (« problème de sécurité » vs « faute d’orthographe »)
  • Opportunité (ce qui signifie que je l’ai remarqué lorsqu’il a été déposé)
  • Disponibilité (est-ce que je me concentre sur autre chose lorsque je remarque le problème ?)
  • Plaisir possible et humeur du moment (eh oui, car je suis bénévole, ça vous dérange ?).

 

Aucun événement particulier n’a été à l’origine de la publication de ce billet. Je le garderai en référence pour en donner le lien, quand l’occasion se présentera.




Firefox Night-club, entrée libre !

Aujourd’hui c’est un peu spécial copinage, mais pourquoi pas ? Ils ne sont pas si nombreux les navigateurs web à la fois open source, grand public et à la pointe des technologies, respectueux des personnes qui les utilisent et de leurs données, distribués en langue locale à peu près partout dans le monde, pour toutes les plateformes, etc.

Il est temps de considérer que c’est une ressource précieuse pour tous (et pas seulement pour la communauté du libre).

– D’accord, mais comment y contribuer lorsqu’on est seulement utilisateur ou utilisatrice?

Pascal Chevrel qui répond aujourd’hui à nos questions nous présente une version de Firefox trop peu connue mais qui mérite toute notre attention et même notre implication : Firefox Nightly

Bonjour Pascal ! Commençons par le début : peux-tu te présenter ?
Bonjour, Parisien, 45 ans, je suis impliqué dans le projet Mozilla depuis pratiquement sa création et je travaille à plein temps pour Mozilla depuis 11 ans. De formation plutôt économique et linguistique, j’ai longtemps travaillé sur l’internationalisation des sites web de Mozilla, l’animation de communautés de traducteurs et le développement d’outils de suivi et d’assurance qualité de nos traductions. Depuis un an, j’ai quitté mes précédentes fonctions pour rejoindre l’équipe Release Management qui est chargée d’organiser et de planifier les livraisons de Firefox. Dans ce nouveau contexte, au sein du département Product Integrity, je suis maintenant responsable du canal Nightly de Firefox.

L’équipe de Release Management chez Mozilla. Tiens, il n’y a pas que des mecs ;-)

 

Alors, je doute que beaucoup des personnes qui nous lisent sachent ce qu’est exactement Nightly, tu peux nous en dire plus ?
Nightly est la version alpha de Firefox, chaque jour nous compilons Firefox avec les modifications apportées par les développeurs la veille à notre code source et nous proposons cette version de Firefox au téléchargement afin de recevoir des retours sur l’état de qualité du logiciel.

Quel est l’intérêt pour moi, péquin moyen, d’utiliser Nightly ?
Pour un internaute lambda, pas forcément à l’aise avec l’informatique, il n’y a effectivement aucun intérêt à utiliser Nightly. Les utilisateurs « ordinaires » sont encouragés à utiliser le canal Release qui est la version finale grand public et pas une version alpha ou bêta de Firefox.

Pour un utilisateur averti, utiliser Nightly signifie avoir accès à une version de Firefox qui plusieurs mois de développement d’avance sur la version finale et donc de pouvoir utiliser des fonctionnalités auxquelles n’ont pas encore accès les utilisateurs de Firefox. Depuis plusieurs mois, nous faisons un gros travail de modernisation et de nettoyage du code source de Firefox afin d’améliorer ses performances, les utilisateurs de Nightly ont donc accès à un navigateur beaucoup plus performant que la version grand public.

Pour un utilisateur averti et sensible aux valeurs véhiculées par Mozilla et par le logiciel libre, c’est aussi le meilleur moyen de participer à un projet de logiciel libre lorsque l’on a pas de temps à investir dans des activités de bénévolat. Le simple fait d’utiliser Nightly est une aide plus que précieuse au développement de Firefox car Nightly envoie par défaut des données de télémétrie et les rapports de plantage à nos développeurs qui peuvent ainsi repérer immédiatement toute nouvelle régression.

Attends ! Ça veut dire que vous préparez toutes les nuits une nouvelle version de Firefox ?! Elle doit être pleine de bogues ! Ça marche vraiment ton machin ?
Toutes les nuits en effet (d’où son nom de Nightly), nous compilons Firefox avec le code de la veille, dans toutes les langues, pour tous les systèmes d’exploitations que nous supportons, en 32 comme en 64 bits. Toutes ces versions (builds) doivent passer notre batterie de tests automatisés qui valident un niveau de qualité minimal. Évidemment, c’est une version alpha, donc moins stable, elle peut planter plus facilement qu’une version destinée au grand public…

Ceci dit c’est très utilisable, j’utilise des nightlies depuis 2002 et les véritables problèmes sont rares. Lorsqu’un vrai problème passe entre nos filets, en général la télémétrie nous en informe en quelques heures et nous livrons une deuxième nightly dans la journée pour le régler ou fournir une solution d’atténuation de l’impact causé par le bug (retour arrière sur le patch fautif, désactivation temporaire d’une nouvelle fonctionnalité si le retour arrière n’est pas possible).

Et si j’installe Nightly, ça veut dire que ça me remplace mon Firefox habituel ? Et mes favoris et mots de passe enregistrés ?

Déjà, on dit marque-page, « favori » c’est de la terminologie Microsoft, je peux avoir dans mes marque-pages le site des impôts, ça ne veut pas dire que ce soit un des mes sites favoris 😉

On peut tout à fait installer Nightly à côté d’un Firefox classique, la chose importante est de ne pas leur faire partager le même profil de données. Le plus simple est d’installer Nightly dans un nouveau profil et de synchroniser les données (marque-pages, historiques, mots de passe…) entre les deux versions via Firefox Sync, notre service de synchronisation de données.

Histoire de bien comprendre : je dois télécharger Nightly tous les matins pour profiter des dernières mises à jour ?

Non, Nightly se met à jour en arrière-plan tout seul, lorsque la nouvelle version est disponible et peut être installée, une petite flèche verte apparaît sur l’icône de menu et il suffit de cliquer dans ce menu sur un bouton qui appliquera la mise à jour, ce qui se traduit concrètement par la fenêtre qui se ferme et se rouvre en quelques secondes.

Allez, fais-nous rêver : c’est quoi les nouvelles fonctionnalités attendues ?
En novembre, nous allons sortir une mise à jour majeure de Firefox, la plus grosse mise à jour du logiciel depuis 2011. Nous travaillons à une modernisation importante du moteur de rendu des pages (Gecko) en intégrant des parties mûres de notre autre moteur de rendu en R&D, Servo. Ce moteur est écrit dans un nouveau langage informatique très performant, Rust, les gains attendus en termes de performances sont importants. Ce projet de modernisation des fondations s’appelle Quantum. Il s’agit d’un projet proprement titanesque sur lequel plusieurs équipes de développeurs travaillent à plein temps depuis plusieurs mois, la version de novembre intégrera les premiers fruits de ce travail.

Nous travaillons aussi à une modernisation de l’interface actuelle de Firefox avec notre équipe d’ergonomes et de designers afin d’améliorer aussi l’interaction avec l’utilisateur, ce projet s’appelle Photon. Tu peux voir à quoi ressemblera Firefox d’ici quelques mois en parcourant ce diaporama illustré d’aperçus de la future interface.

La mascotte du projet Photon/Quantum

Tous les travaux en cours sur Quantum et Photon ne sont disponibles que sur Nightly, les amateurs de performances et de design peuvent donc avoir accès en avant première à ces avancées.

En termes de fonctionnalités spécifiques à Nightly, la gestion d’identité multiples dans une même session (qui permet d’avoir des onglets « boulot » et des onglets « perso » par exemple) semble être la nouveauté la plus appréciée de nos utilisateurs sur ce canal.

Bon si c’est pour avoir une version toute en anglais, merci bien !
Nous proposons Nightly dans toutes nos langues, il est donc disponible au téléchargement en français. Évidemment, pour les nouvelles fonctionnalités, il faut parfois attendre quelques jours pour voir celles-ci en français dans l’interface, il arrive donc parfois que certaines phrases ou items de menu soient en anglais. Mais c’est rare, les traducteurs veillent au grain.

Cliquez sur l’image pour avoir le grand poster (attention gros fichier de 4,2 Mo)

 

Excellent ! Nightly, j’en veux © Je fais comment ?
Mozilla fournit des binaires pour Windows, Mac et Linux à cette adresse : https://nightly.mozilla.org. La seule difficulté à l’installation par rapport à un Firefox pour le grand public est qu’il faut créer un profil de données séparé si l’on veut installer Nightly à côté d’un Firefox déjà installé et pas le remplacer. Nous travaillons sur notre installeur pour qu’à l’avenir, ce profil séparé soit créé automatiquement sans intervention de l’utilisateur mais ce ne sera probablement pas effectif avant 2018.

Notre wiki contient des informations détaillées (mais en anglais) sur l’installation de Nightly selon son système d’exploitation, dont un screencast pour Windows.

Mais au fait, ça fait quand même beaucoup, beaucoup d’énergie dépensée par Mozilla pour une version de Firefox plutôt méconnue. C’est quoi votre intérêt ?

Pour développer Firefox qui est un projet de grande envergure (des centaines de développeurs, une base de code très importante, près de 100 langues et 4 systèmes d’exploitation pris en charge…), il faut le compiler tous les jours et avoir une infrastructure d’intégration continue en place, il était donc logique de proposer ces versions (que nous utilisons déjà en interne) à nos utilisateurs afin de pouvoir bénéficier d’un bêta test externe qio réponde à des questions comme : est-ce que le site de ma banque en Belgique fonctionne avec ? Est-ce que la traduction est bonne ? Est-ce qu’il est stable sur ma configuration ?…

Cela représente donc un investissement mais avoir une version dédiée au bêta-test communautaire est fait partie (ou devrait faire partie) de tout projet de logiciel libre communautaire.

Au fait, beaucoup de gens l’utilisent ?
Trop peu de gens utilisent Nightly, essentiellement les employés Mozilla et notre communauté de bénévoles les plus impliqués dans le projet Mozilla, quelques dizaines de milliers de personnes dans le monde. Cela peut sembler beaucoup dans l’absolu mais c’est en réalité assez faible car le Web est immense, les configurations matérielles sur lesquelles tournent Firefox sont des plus diverses dans le monde et nous n’avons pas aujourd’hui assez de retours d’utilisation (que ce soit la télémétrie ou des rapports de bugs plus formels) afin de prendre les meilleures décisions de développement.

Nous recherchons donc des utilisateurs mais bien sûr nous sommes très clairs sur le fait que Nightly est destiné à un public plus à l’aise avec l’informatique que la moyenne et prêt à accepter des changements de comportement ou d’interface du logiciel au jour le jour avec en contrepartie l’accès en avant-première à des fonctionnalités innovantes.

Si vous voulez aider Mozilla, que vous êtes à l’aise avec l’informatique, utiliser Nightly à la place ou à côté de votre navigateur actuel (qui n’a pas à être Firefox) est probablement le moyen le plus simple de participer au projet.

Donc, même si je n’y connais rien de rien en logiciel libre, en code, et tous les autres trucs techniques, rien qu’en utilisant Nightly, je fais avancer le schmilblick ?
Si vous êtes à l’aise avec l’informatique (en gros, si vous savez installer et désinstaller un logiciel sans faire appel à la cousine en école d’ingénieur), simplement utiliser Nightly aide énormément Mozilla et les développeurs de Firefox.
Nous avons aujourd’hui une qualité de Nightly qui est suffisante pour de très nombreux utilisateurs sans connaissances techniques particulières.

Si je vois des trucs qui clochent, je le signale où et comment ? Parce que moi le bugzilla, comment dire
Pour les francophones, le plus simple est d’expliquer ce qui cloche dans nos forums de mozfr à cette adresse : https://forums.mozfr.org/viewforum.php?f=24
S’il s’avère que c’est effectivement un problème dont nous n’avons pas connaissance, nos modérateurs les plus anglophiles se chargeront d’ouvrir un ticket sur Bugzilla et d’agir comme intermédiaires avec les développeurs. Je passe sur le forum moi-même deux fois par semaine.

Et si je suis un développeur, et que les mots « code source », « mercurial », « bugzilla » ou « RTFM » me parlent, je peux aider quand même ?

Si vous êtes développeur non seulement vous pourrez rapporter des bugs directement dans Bugzilla mais on peut aussi vous aider à écrire le patch pour résoudre ce bug ! Il y a d’ailleurs une vingtaine de développeurs Firefox qui sont francophones si l’anglais vous fait un peu peur.

Les développeurs mais aussi les utilisateurs les plus techniques peuvent ouvrir des bugs et faire une recherche du patch qui a causé une régression grâce à l’outil mozregression

Tiens une question qu’on nous pose souvent, qui peut paraître hors sujet, mais en fait pas du tout : qu’est-ce que je peux dire à mon cousin qui utilise Google Chrome, afin qu’il envisage de passer à Firefox ?

Il n’y a pas de réponse unique à cette question car pour cela il faudrait savoir pourquoi il utilise Chrome. Si ton cousin est sensible au respect de sa vie privée, utiliser Firefox va probablement de soi. Si ce qui importe pour lui ce sont les performances, alors Nightly est certainement dans la course avec Chrome, voire plus performant sur certaines activités, ce n’a pas toujours été le cas donc c’est important à souligner. S’il est un utilisateur compulsif d’onglets, la gestion des onglets de Nightly est certainement plus riche et performante que celle de Chrome ; avoir une session avec plusieurs centaines d’onglets ouverts sur une machine récente ne pose aucun problème sous Nightly.

Je pense que de nombreux utilisateurs qui sont passés de Firefox à Chrome il y a quelques années seraient très surpris des avancées (performances, ergonomies, fonctionnalités) que nous avons intégrées dans Firefox. C’est encore plus vrai pour Nightly et je reçois quasiment quotidiennement du feedback d’utilisateurs Chrome passés avec bonheur à Nightly, C’est très encourageant pour notre grosse livraison 57 en novembre évidemment. Le magazine en ligne américain CNET a publié en juin un article intitulé « New speed boost means maybe it’s time to try Firefox again » plus qu’élogieux et ils n’ont testé que la version grand public 54. Nightly qui est en 56 est déjà bien plus performant.

Merci Pascal ! Un dernier mot ? Ou une question que tu aurais aimé qu’on te pose ?

Un grand merci à toi pour l’intérêt que tu portes à Firefox, Mozilla et mon travail sur Firefox Nightly ! Merci aussi pour le travail de vulgarisation que fait Framasoft en ce qui concerne le logiciel et la culture libre. Firefox est l’outil qui permet à Mozilla d’avoir un impact sur le Web. Étant donné le travail que fait Framasoft sur la décentralisation et de dégooglisation du web, les lecteurs de cet article seront peut être intéressés par cette récente annonce de Mozilla dans laquelle nous annonçons un budget de 2 millions de dollars dédié à financer les projets de décentralisation du Web.

… et le slogan du blog de Nightly pour le mot de la fin :
Améliorons ensemble la qualité, version après version (Let’s improve quality, build after build!)

 




Se lancer dans l’open source : un témoignage engageant

Comment participer à des projets open source et s’y sentir légitime ? La réponse habituelle un peu désinvolte consiste à dire : « il suffit de commencer à proposer ne serait-ce qu’un signalement de bug ou une correction mineure dans la documentation et hop ». En commençant par une contribution minime, on peut donc trouver sa place dans une équipe. Théoriquement, c’est exact.

Mais quand on est une jeune femme à peine sortie de ses études d’informatique et qu’on éprouve un peu d’appréhension au contact des contributeurs supposés expérimentés, rien n’est tout à fait simple.

Comme on le lira dans le témoignage de Shubheksha, il faut non seulement parvenir à surmonter son manque de confiance en soi, mais aussi avoir la chance de rencontrer sur son chemin des mentors qui vous accueillent avec bienveillance, vous guident et vous invitent à contribuer davantage encore.

Le parcours cahoteux d’une débutante dans le monde de l’open source

Article original paru dans Medium : A Beginner’s Very Bumpy Journey Through The World of Open Source

Par Shubheksha

Traduction :  Lyn, audionuma, goofy, Lumibd, Manguito,et un anonyme

shubhekshaAvez-vous atterri ici en recherchant des conseils sur la meilleure manière de contribuer à l’open source ? Il y a des milliers d’histoires de ce genre sur Internet, n’est-ce pas ?
Je suis sûre que vous en avez lu beaucoup à présent, car vous essayez de contribuer depuis un bon moment. Et vous avez toujours l’impression de ne pas avoir progressé.
Je connais ce sentiment. J’étais exactement dans la même situation il y a quelques semaines. Laissez-moi vous conter mon histoire.

Voilà à peu près deux ans que j’essaie de contribuer à l’open source.

Oui. Deux ans.

Et il y a bien une chose que je peux affirmer : c’est intimidant. C’est dur de commencer. Vous devez apprendre comment travailler sur un long code source. Vous devez apprendre et adopter les règles de style de code d’un projet.

Tout paraît confus. L’ordre des instructions, comment les différents modules interagissent entre eux, comment et pourquoi le code est organisé de la manière dont il l’est : tout cela constitue un grand labyrinthe.

Je ressens cela en permanence car je ne suis, après tout, qu’une amatrice qui essaie d’en apprendre autant qu’elle le peut.

J’ai donc choisi de suivre la voie la plus facile : la correction de fautes dans la documentation ou les commentaires, et la résolution de bugs triviaux où il était évident de trouver ce qui devait être modifié. Je ne voulais pas poser trop de questions ni essayer de comprendre l’ensemble du code.

Chaque fois que je voulais contribuer, j’allais sur github — ou un autre gestionnaire de bugs – et j’essayais de rechercher des problèmes étiquetés « facile », « débutant », « premier bug facile ». Après en avoir consulté des centaines, je trouvais quelque chose de suffisamment simple à traiter sans beaucoup d’aide extérieure.

Alors, cela a bien fonctionné jusqu’au moment où j’ai pris conscience que je pourrais mieux utiliser les compétences que j’étais en train de développer. J’avais appris tant de nouvelles choses, mais je ne voyais pas à quoi j’aurais pu les utiliser. Apprendre sans mettre en application, c’est bien peu gratifiant. J’étais bloquée sur un palier et je n’avançais plus du tout.

Alors, il est arrivé quelque chose qui m’a terriblement effrayée en tant que nouvelle contributrice qui essaie de naviguer dans le monde de l’open source. J’avais trouvé un bug qui avait l’air assez facile dans un grand projet renommé.

J’ai pensé qu’il valait mieux demander quelques éclaircissements avant de procéder à la moindre modification car je craignais de tout bousiller. J’ai donc envoyé un commentaire indiquant que j’étais une nouvelle contributrice, et demandant quelle serait la meilleure manière de modifier un bout de texte pour corriger le bug.

La réponse que je reçus fut :

« Si tu n’arrives pas à déterminer comment effectuer cette modification, c’est que tu n’es pas qualifiée pour effectuer cette modification. »

Cette réponse me laissa complètement décontenancée, et m’effraya davantage encore à l’idée de poser des questions lorsque je ne comprenais pas quelque chose à propos d’un projet.

Peut-être étais-je indésirable parce que je n’en savais pas assez ? Peut-être devais-je travailler davantage pour acquérir des compétences au lieu de poser des questions stupides et maladroites à des personnes expérimentées beaucoup trop occupées pour me répondre ?

C’est aussi à cette époque que ma recherche d’un mentor a commencé. J’ai pensé que si je connaissais quelqu’un avec qui je serais plus à l’aise pour poser des questions, les choses se passeraient bien et je pourrais me rendre plus utile.

J’ai donc écrit à de nombreuses personnes en leur demandant de m’aider à débuter, vu que je me sentais particulièrement intimidée par mes précédentes expériences. J’ai reçu beaucoup de réponses positives, pleines d’encouragements, mais je n’ai jamais exactement trouvé ce que je cherchais.

J’avais l’impression de buter contre un environnement clos dans le monde ouvert de l’open source.

Tout semblait suggérer que je n’avais qu’à m’y mettre et à ne pas avoir peur. Mais je n’étais pas prête à ce moment là.

Moi, fuyant le monde du logiciel open source

Ma découverte de Mozilla

Par une belle soirée, alors que je cherchais des bugs à corriger, j’ai atterri sur le projet de Mozilla qui vous aide à tester des extensions web. J’étais contente de voir qu’il y avait quelques problèmes étiquetés comme « premier bug facile » mais aucun d’entre eux n’était aussi simple que de corriger une petite coquille.

Bon sang, j’en suis tellement heureuse maintenant.

J’ai commencé à travailler sur l’un de ces bugs, mais j’ai vite compris qu’il me faudrait poser des questions si je voulais être capable de résoudre le problème. J’ai parcouru le code source. Après avoir compris les grandes lignes du problème, j’ai demandé plus d’informations. et voila ! J’ai été capable de résoudre le problème une fois que j’ai eu tous les détails nécessaires.

Maintenant que j’ai soumis trois pull requests [NDT : demandes de modification du code source] (l’une a été acceptée, les deux autres sont en passe de l’être), je suis heureuse d’avoir franchi le pas. Je suis contente de ne pas avoir hésité à poser des questions pertinentes, même si je risquais parfois d’avoir l’air de poser des questions stupides.

Ce n’est pas un problème de ne pas tout savoir et de progresser par étapes pour apprendre quelque chose de nouveau.

Les gens de Mozilla qui encadrent ces corrections m’ont beaucoup aidée et ont toujours été très positifs. Ils m’ont guidée du début à la fin, prenant le temps de m’expliquer les choses de façon à la fois simple et très détaillée. Et cela malgré le fait qu’ils n’auraient mis que quelques heures à corriger ces problèmes eux-mêmes au lieu de prendre le temps de me guider vers une solution de mon cru, dont la conception m’a pris plusieurs jours.

J’ai appris et découvert énormément de choses juste en travaillant sur ces trois problèmes basiques. Et je suis vraiment excitée à l’idée de travailler sur des problèmes encore plus difficiles et d’augmenter ma compréhension de ce sujet et mes connaissances.

l'insatiable vieux dino de Mozilla se goinfre de bugs
l’insatiable vieux dino de Mozilla se goinfre de bugs

Je ne peux pas les remercier assez pour cette expérience tellement positive et enrichissante, qui m’amène à installer Firefox localement et à parcourir les bugs sur Bugzilla un jour sur deux (je garde mes questions sur « Pourquoi » et « Comment » pour un billet plus long).

Je prévois de contribuer à Mozilla aussi régulièrement que possible. À chaque fois que j’ai posé une question pertinente, que ce soit sur IRC, Github ou Bugzilla, j’ai reçu des réponses très aimables.
Jusqu’à aujourd’hui, j’ai résolu trois problèmes dans web-ext, et j’ai eu un correctif accepté et intégré dans Firefox.

Mes contributions ont été remarquées par la communauté, et j’ai aussi été nommée dans le « Addons Contribution Recognition document » [NdT : la liste des contributeurs aux extensions de Mozilla].

En définitive, mes expériences de ces dernières semaines ont été vraiment merveilleuses. J’ai appris tellement de choses, petites et grandes, qu’aucun manuel de programmation n’aurait pu m’apprendre.
Voici mes conseils pour les développeurs débutants qui veulent contribuer à un projet open source :

Conseil n°1 : n’ayez pas peur de poser des questions

Je ne saurais trop insister sur ce point. J’ai perdu beaucoup de temps parce que je ne cessais de me censurer, et c’était ma plus importante inhibition.

Tout le monde a peur de paraître stupide. Mais ne laissez pas cette peur paralysante devenir une entrave à votre progression.

Il est normal de demander si vous ne comprenez pas quelque chose qui est en rapport avec le projet. Les développeurs du projet sont devenus des experts au fil des années. Ils peuvent vous aider très rapidement. Sinon vous risquez de perdre des heures le nez dans le code source à essayer de deviner quelque chose que vous n’êtes même pas censés savoir au départ.

Mais quand vous demandez des informations, vérifiez si elles ne sont pas déjà disponibles dans une documentation ou une recherche Google. Ainsi, vous prendrez garde à respecter le temps libre des développeurs du projet.

Conseil n°2 : c’est normal d’avoir des lacunes

On ne s’attend pas à ce que vous sachiez tout de A à Z lorsque vous commencez à contribuer à un projet. Le processus, c’est plutôt que vous appreniez et gagniez en compétence en résolvant des problèmes de plus en plus difficiles, et en vous familiarisant avec le projet et les outils qu’il utilise. Le temps nécessaire pour cela varie d’un projet à l’autre et d’une personne à l’autre.

Conseil n°3 : lancez-vous !

Ne perdez pas un temps considérable à choisir le projet idéal. Si vous connaissez un projet ou une organisation dont la communauté accueille amicalement les débutants, faites-en votre point de départ.

Trouvez un problème avec lequel vous êtes à l’aise, de préférence dans un langage que vous pratiquez déjà depuis un moment, et essayez d’imaginer ce qui a besoin d’être fait. Demandez des informations pertinentes afin de combler vos lacunes, et après, lancez-vous ! N’attendez pas.

Merci à tous ceux qui travaillent dans l’open source

Une dédicace spéciale à tous les contributeurs aux projets open source qui sont super réactifs et qui encouragent les nouveaux. Vous aidez les nouveaux venus à se frayer un chemin au milieu d’interminables lignes de code et les faites contribuer de manière peut-être limitée mais néanmoins significative. Vos efforts sont nécessaires et sincèrement appréciés.

En tant que débutante et développeuse junior, j’essaie juste de trouver mon chemin dans le vaste et formidable monde de l’informatique. Quelques minutes de votre temps, que ce soit pour me présenter une simple technique de débogage ou pour me montrer comment écrire correctement des tests logiciels, m’aideront, au fil du temps, à devenir une meilleure développeuse.

Vous avez l’expérience et j’ai l’envie insatiable d’apprendre autant que je peux.

Un grand merci à Guido, Kumur McMillan et Luca qui ont été de fabuleux mentors tout au long de ce parcours, ils m’ont suivie à chaque instant et ont répondu à mes diverses questions. J’ai vraiment apprécié le temps et les efforts que vous m’avez consacrés 🙂

Si vous êtes un nouveau venu qui peine à entrer dans le monde de l’open source, j’aimerais que vous me parliez de votre histoire et de votre expérience. Si je peux vous aider de quelque façon que ce soit, surtout n’hésitez pas à me contacter.

J’envisage de rendre compte de mon parcours chez les contributeurs de l’open source, donc si vous désirez que j’aborde un sujet en particulier, merci de laisser un commentaire.
Merci à Pawan Dubey et Quincy Larson pour m’avoir aidée à peaufiner cet article.




Geektionnerd : Shellshock

geektionnerd_211-1_simon-gee-giraudot_cc-by-sa.jpg

geektionnerd_211-2_simon-gee-giraudot_cc-by-sa.jpg

Sources sur Numerama :

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




Plus rien ne marche, qu’est-ce qu’on fait ?

Désormais conscients et informés que nos actions et nos données en ligne sont faciles à espionner et l’enjeu de monétisation en coulisses, il nous restait l’espoir que quelques pans des technologies de sécurité pouvaient encore faire échec à la surveillance de masse et au profilage commercial. Pas facile pour les utilisateurs moyens d’adopter des outils et des pratiques de chiffrement, par exemple, cependant de toutes parts émergent des projets qui proposent de nous aider à y accéder sans peine.

Mais quand les experts en sécurité, quittant un moment leur regard hautain sur le commun des mortels à peine capables de choisir un mot de passe autre que 123AZERTY, avouent qu’ils savent depuis longtemps que tout est corrompu directement ou indirectement, jusqu’aux services soi-disant sécurisés et chiffrés, le constat est un peu accablant parce qu’il nous reste tout à reconstruire…

Plus rien ne fonctionne

article original : Everything is broken par Quinn Norton

Traduction Framalang : Diab, rafiot, Omegax, Scailyna, Amine Brikci-N, EDGE, r0u, fwix, dwarfpower, sinma, Wan, Manu, Asta, goofy, Solarus, Lumi, mrtino, skhaen

Un beau jour un de mes amis a pris par hasard le contrôle de plusieurs milliers d’ordinateurs. Il avait trouvé une faille dans un bout de code et s’était mis à jouer avec. Ce faisant, il a trouvé comment obtenir les droits d’administration sur un réseau. Il a écrit un script, et l’a fait tourner pour voir ce que ça donnerait. Il est allé se coucher et il a dormi environ quatre heures. Le matin suivant, en allant au boulot, il a jeté un coup d’œil et s’est aperçu qu’il contrôlait désormais près de 50 000 ordinateurs. Après en avoir pratiquement vomi de trouille, il a tout arrêté et supprimé tous les fichiers associés. Il m’a dit que finalement il avait jeté le disque dur au feu. Je ne peux pas vous révéler de qui il s’agit, parce qu’il ne veut pas finir dans une prison fédérale ; et c’est ce qui pourrait lui arriver s’il décrivait à qui que ce soit la faille qu’il a découverte. Cette faille a-t-elle été corrigée ? Sans doute… mais pas par lui. Cette histoire n’est en rien exceptionnelle. Passez quelque temps dans le monde des hackers et de la sécurité informatique, et vous entendrez pas mal d’histoires dans ce genre et même pires que celle-là.

Il est difficile d’expliquer au grand public à quel point la technologie est chancelante, à quel point l’infrastructure de nos vies ne tient qu’avec l’équivalent informatique de bouts de ficelle. Les ordinateurs et l’informatique en général sont détraqués.

Quand c’est codé avec les pieds, bonjour les vautours

Pour un bon nombre d’entre nous, en particulier ceux qui ont suivi l’actualité en matière de sécurité et les questions d’écoutes sauvages, rien de surprenant dans toutes les dernières révélations. Si nous ne connaissions pas les détails, nous savions tous, dans le monde de la sécurité, que la technologie est vacillante et malade. Depuis des années nous voyons tourner les vautours qui veulent profiter de cet état de fait. La NSA n’est pas et n’a jamais été le grand prédateur unique fondant sur Internet. C’est simplement le plus gros de ces charognards. S’ils arrivent à aller aussi loin, ce n’est pas parce que leurs employés sont des dieux des maths.

Si la NSA s’en sort si bien, c’est parce que les logiciels en général sont merdiques.

Huit mois avant que Snowden ne fasse ses révélations, j’ai twitté ça :

tweetQuinnNorton.png

« alerte de sécu : tout a une faille 0 day, tout le monde est suivi à la trace, toutes les données fuitent, tout est vulnérable, tout est compromis jusqu’à l’os. »

J’en étais arrivée à cette conclusion un peu désespérée : chercher des logiciels de qualité est un combat perdu d’avance. Comme ils sont écrits par des gens n’ayant ni le temps ni l’argent nécessaires, la plupart des logiciels sont publiés dès qu’ils fonctionnent assez bien pour laisser leurs auteurs rentrer chez eux et retrouver leur famille. Pour nous le résultat est épouvantable.

Si les logiciels sont aussi mauvais, c’est parce qu’ils sont très complexes, et qu’il cherchent à parler à d’autres logiciels, soit sur le même ordinateur, soit au travers du réseau. Même votre ordinateur ne peut plus être considéré comme unique : c’est une poupée russe, et chaque niveau est fait de quantité d’éléments qui essaient de se synchroniser et de parler les uns avec les autres. L’informatique est devenue incroyablement complexe, alors que dans le même temps les gens sont restés les mêmes, pétris de la même boue grise originelle pleine d’une prétention à l’étincelle divine.

Le merdier qu’est votre ordinateur sous Windows est tellement complexe que personne sur Terre ne sait tout ce qu’il fait vraiment, ni comment.

Maintenant imaginez des milliards de petites boites opaques qui essaient en permanence de discuter les unes avec les autres, de se synchroniser, de travailler ensemble, partageant des bouts de données, se passant des commandes… des tous petits bouts de programmes aux plus gros logiciels, comme les navigateurs – c’est ça, Internet. Et tout ça doit se passer quasi-simultanément et sans accrocs. Sinon vous montez sur vos grand chevaux parce que le panier de la boutique en ligne a oublié vos tickets de cinéma.

On n’arrête pas de vous rappeler que le téléphone avec lequel vous jouez à des jeux stupides et que vous laissez tomber dans les toilettes au troquet du coin est plus puissant que les ordinateurs utilisés pour la conquête de l’espace il y a de cela quelques décennies à peine. La NASA dispose d’une armée de génies pour comprendre et maintenir ses logiciels. Votre téléphone n’a que vous. Ajoutez à cela un mécanisme de mises à jour automatiques que vous désactivez pour qu’il ne vous interrompe pas au beau milieu d’une séance de Candy Crush…

À cause de tout ça, la sécurité est dans un état effrayant. En plus d’être truffés de bugs ennuyeux et de boîtes de dialogue improbables, les programmes ont souvent un type de faille piratable appelée 0 day (« zéro jour ») dans le monde de la sécurité informatique. Personne ne peut se protéger des 0 days. C’est justement ce qui les caractérise : 0 représente le nombre de jours dont vous disposez pour réagir à ce type d’attaque. Il y a des 0 days qui sont anodins et vraiment pas gênants, il y a des 0 days très dangereux, et il y a des 0 days catastrophiques, qui tendent les clés de la maison à toute personne qui se promène dans le coin. Je vous assure qu’en ce moment même, vous lisez ceci sur une machine qui a les trois types de 0days. Je vous entends d’ici me dire : « Mais, Quinn, si personne ne les connaît comment peux-tu savoir que je les ai ? » C’est parce que même un logiciel potable doit avoir affaire avec du code affreux. Le nombre de gens dont le travail est de rendre le logiciel sûr peut pratiquement tenir dans un grand bar, et je les ai regardé boire. Ce n’est pas rassurant. La question n’est pas : « est-ce que vous allez être attaqué ? » mais : « quand serez-vous attaqué ? »

Considérez les choses ainsi : à chaque fois que vous recevez une mise à jour de sécurité (apparemment tous les jours avec mon ordi sous Linux), tout ce qui est mis à jour a été cassé, rendu vulnérable depuis on ne sait combien de temps. Parfois des jours, parfois des années. Personne n’annonce vraiment cet aspect des mises à jour. On vous dit « Vous devriez installer cela, c’est un patch critique ! » et on passe sous silence le côté « …parce que les développeurs ont tellement merdé que l’identité de vos enfants est probablement vendue en ce moment même à la mafia estonienne par des script kiddies accrocs à l’héro ».

Les bogues vraiment dangereux (et qui peut savoir si on a affaire à eux lorsqu’on clique sur le bouton « Redémarrer ultérieurement » ?) peuvent être utilisés par des hackers, gouvernements, et d’autres horreurs du net qui fouillent à la recherche de versions de logiciels qu’ils savent exploiter. N’importe quel ordinateur qui apparaît lors de la recherche en disant « Hé ! Moi ! Je suis vulnérable ! » peut faire partie d’un botnet, en même temps que des milliers, ou des centaines de milliers d’autres ordinateurs. Souvent les ordinateurs zombies sont possédés à nouveau pour faire partie d’un autre botnet encore. Certains botnets patchent les ordinateurs afin qu’ils se débarrassent des autres botnets, pour qu’ils n’aient pas à vous partager avec d’autres hackers. Comment s’en rendre compte si ça arrive ? Vous ne pouvez pas ! Amusez-vous à vous demander si votre vie en ligne va être vendue dans l’heure qui suit ! La prochaine fois que vous penserez que votre grand-mère n’est pas cool, pensez au temps qu’elle a passé à aider de dangereux criminels russes à extorquer de l’argent à des casinos offshore avec des attaques DDoS.

Récemment un hacker anonyme a écrit un script qui prenait le contrôle d’appareils embarqués Linux. Ces ordinateurs possédés scannaient tout le reste d’Internet et ont créé un rapport qui nous en a appris beaucoup plus que ce que nous savions sur l’architecture d’Internet. Ces petites boîtes hackées ont rapporté toutes leurs données (un disque entier de 10 To) et ont silencieusement désactivé le hack. C’était un exemple délicieux et utile d’un individu qui a hacké la planète entière. Si ce malware avait été véritablement malveillant, nous aurions été dans la merde.

Et ceci parce que les ordinateurs sont tous aussi inévitablement défectueux : ceux des hôpitaux et des gouvernements et des banques, ceux de votre téléphone, ceux qui contrôlent les feux de signalisation et les capteurs et les systèmes de contrôle du trafic aérien. Chez les industriels, les ordinateurs destinés à maintenir l’infrastructure et la chaîne de fabrication sont encore pires. Je ne connais pas tous les détails, mais ceux qui sont les plus au courant sont les personnes les plus alcooliques et nihilistes de toute la sécurité informatique. Un autre de mes amis a accidentellement éteint une usine avec un ‘“ping”’ malformé au début d’un test d’intrusion. Pour ceux qui ne savent pas, un ‘“ping”’ est seulement la plus petite requête que vous pouvez envoyer à un autre ordinateur sur le réseau. Il leur a fallu une journée entière tout faire revenir à la normale.

Les experts en informatique aiment prétendre qu’ils utilisent des logiciels d’un genre complètement différent, encore plus géniaux, qu’eux seuls comprennent, des logiciels faits de perfection mathématique et dont les interfaces semblent sortir du cul d’un âne colérique. C’est un mensonge. La forme principale de sécurité qu’ils offrent est celle que donne l’obscurité – il y a si peu de gens qui peuvent utiliser ces logiciels que personne n’a le moindre intérêt à concevoir des outils pour les attaquer. Sauf si, comme la NSA, vous voulez prendre le contrôle sur les administrateurs systèmes.

Une messagerie chiffrée et bien codée, il ne peut rien nous arriver, hein ?

Prenons un exemple que les experts aiment mettre sous le nez des gens normaux qui ne l’utilisent pas : OTR. OTR, ou Off The Record messaging, ajoute une couche de chiffrement aux échanges via messagerie instantanée. C’est comme si vous utilisiez AIM ou Jabber et que vous parliez en code sauf que c’est votre ordinateur qui fait le code pour vous. OTR est bien conçu et robuste, il a été audité avec attention et nous sommes bien sûrs qu’il ne contient aucune de ces saloperies de vulnérabilités zéro jour.

Sauf que OTR n’est pas vraiment un programme que vous utilisez tel quel.

Il existe un standard pour le logiciel OTR, et une bibliothèque, mais elle ne fait rien par elle-même. OTR est implémentée dans des logiciels pour des neuneus par d’autres neuneus. À ce stade, vous savez que ça va se terminer dans les pleurs et les grincements de dents.

La partie principale qu’utilise OTR est un autre programme qui utilise une bibliothèque appelée ‘“libpurple”’. Si vous voulez voir des snobs de la sécurité aussi consternés que les ânes qui ont pondu leur interface, apportez-leur ‘“libpurple”’. ‘“Libpurple”’ a été écrit dans un langage de programmation appelé C.

Le C est efficace dans deux domaines : l’élégance, et la création de vulnérabilités jour zéro critiques en rapport avec la gestion de la mémoire.

Heartbleed, le bogue qui a affecté le monde entier, permettant la fuite de mots de passe et de clés de chiffrement et qui sait quoi encore ? – Du classique et superbe C.

La ‘“libpurple”’ a été écrite par des gens qui voulaient que leur client de discussion open source parle à tous les systèmes de messagerie instantanée du monde, et se foutaient complètement de la sécurité ou du chiffrement. Des gens du milieu de la sécurité qui en ont examiné le code ont conclu qu’il y avait tellement de façons d’exploiter la ‘“libpurple”’ que ça n’était probablement pas la peine de la patcher. Elle doit être jetée et réécrite de zéro. Ce ne sont pas des bugs qui permettent à quelqu’un de lire vos messages chiffrés, ce sont des bugs qui permettent à n’importe qui de prendre le contrôle total de votre ordinateur, regarder tout ce que vous tapez ou lisez et même probablement vous regarder vous mettre les doigts dans le nez devant la webcam.

Ce magnifique outil qu’est OTR repose sur la ‘“libpurple”’ dans la plupart des systèmes où il est utilisé. Je dois éclaircir un point, car même certains geeks n’en ont pas conscience : peu importe la force de votre chiffrement si celui qui vous attaque peut lire vos données par-dessus votre épaule, et je vous promets que c’est possible. Qu’il sache le faire ou pas encore, cela reste néanmoins possible. Il y a des centaines de bibliothèques comme ‘“libpurple”’ sur votre ordinateur : des petits bouts de logiciels conçus avec des budgets serrés aux délais irréalistes, par des personnes ne sachant pas ou ne se souciant pas de préserver la sécurité de votre système.

Chacun de ces petits bugs fera l’affaire quand il s’agit de prendre le contrôle de tout le reste de votre ordinateur. Alors on met à jour, on remet à jour, et peut-être que ça mettra les intrus dehors, ou peut-être pas. On n’en sait rien ! Quand on vous dit d’appliquer les mises à jour, on ne vous dit pas de réparer votre navire. On vous dit de continuer à écoper avant que l’eau n’atteigne votre cou.

oldSchoolSecurity.jpg (Crédit image : sridgway, licence CC BY 2.0)

Pour prendre un peu de recul par rapport à cette scène d’horreur et de désolation, je dois vous dire que la situation est tout de même meilleure que par le passé. Nous disposons aujourd’hui d’outils qui n’existaient pas dans les années 90, comme le ‘“sandboxing”’, qui permet de confiner des programmes écrits stupidement là où ils ne peuvent pas faire beaucoup de dégâts. (Le « sandboxing » consiste à isoler un programme dans une petite partie virtuelle de l’ordinateur, le coupant ainsi de tous les autres petits programmes, ou nettoyant tout ce que ce programme essaie de faire avant que d’autres puissent y accéder).

Des catégories entières de bugs horribles ont été éradiqués comme la variole. La sécurité est prise plus au sérieux que jamais, et il y a tout un réseau de personnes pour contrer les logiciels malveillants 24h sur 24. Mais ils ne peuvent pas vraiment garder la main. L’écosystème de ces problèmes est tellement plus vaste qu’il ne l’était ne serait-ce qu’il y a dix ans, qu’on ne peut pas vraiment dire que l’on fait des progrès.

Les gens, eux aussi, sont cassés

« Je vous fais confiance… » est ce que j’aime le moins entendre de la part des mes sources Anonymous. C’est invariablement suivi de bribes d’informations qu’ils n’auraient jamais dû me confier. Il est naturel de partager quelque chose de personnel avec quelqu’un en qui on a confiance. Mais c’est avec exaspération que je dois rappeler aux Anons qu’avant d’être connectés à un autre être humain ils sont d’abord connectés à un ordinateur, relayé à travers un nombre indéterminé de serveurs, switches, routeurs, câbles, liaisons sans fil, et en bout de chaîne, mon ordinateur parfaitement ciblé par les attaques. Tout ceci se déroule le temps d’une longue inspiration. Cela semble une évidence, mais il est bon de le rappeler : les humains ne sont pas conçus pour penser de cette manière.

Personne n’arrive à utiliser les logiciels correctement. Absolument tout le monde se plante. OTR ne chiffre pas avant le premier message, un fait que des éminents professionnels de la sécurité et des hackers qui subissent une chasse à l’homme dans une vingtaine de pays oublient en permanence. Gérer toutes les clés de chiffrement et de déchiffrement dont vous avez besoin pour garder vos données en sûreté sur plusieurs appareils, sites, et comptes est théoriquement possible, de la même façon que réaliser une appendicectomie sur soi-même est théoriquement possible. Il y a un gars qui a réussi à le faire en Antarctique, pourquoi pas moi, hein ?

Tous les experts en programmes malveillants que je connais ont un jour oublié ce que faisait là un certain fichier, ont cliqué dessus pour le voir et ensuite compris qu’ils avaient exécuté un quelconque logiciel malveillant qu’ils étaient censés examiner. Je sais cela parce que ça m’est arrivé une fois avec un PDF dans lequel je savais qu’il y avait quelque chose de mauvais. Mes amis se sont moqués de moi, puis m’ont tous confessé discrètement qu’ils avaient déjà fait la même chose. Si quelques-uns des meilleurs spécialiste de rétro-ingénierie de logiciels malveillants ne peuvent surveiller leurs fichiers malveillants, qu’espérer de vos parents avec cette carte postale électronique qui est prétendument de vous ?

Les pièces jointes exécutables (ce qui inclut les documents Word, Excel, et les PDF) des emails que vous recevez chaque jour peuvent provenir de n’importe qui (on peut écrire à peu près ce que l’on veut dans le champ « De : » d’un email) et n’importe laquelle de ces pièces jointes pourrait prendre le contrôle de votre ordinateur aussi facilement qu’une vulnérabilité jour zéro. C’est certainement de cette façon que votre grand-mère s’est retrouvée à travailler pour des criminels russes, ou que vos concurrents anticipent tous vos plans produits. Mais dans le monde d’aujourd’hui, vous ne pourrez sûrement pas conserver un emploi de bureau si vous refusez d’ouvrir des pièces jointes. Voilà le choix qui s’offre à vous : prendre en permanence le risque de cliquer sur un dangereux programme malveillant, ou vivre sous un pont, laissant sur la pelouse de votre ancienne maison des messages pour dire à vos enfants combien vous les aimez et combien ils vous manquent.

Les experts de la sécurité et de la vie privée sermonnent le public à propos des métadonnées et des réseaux d’échange de données, mais prendre en compte ces choses est aussi naturel que de se faire une batterie de tests sanguins tous les matins, et à peu près aussi facile. Les risques sur le plan sociétal de renoncer à notre vie privée sont énormes. Et pourtant, les conséquences pour chacun de ne pas y renoncer sont immédiatement handicapantes. Il s’agit au final d’un combat d’usure entre ce que l’on veut pour nous-mêmes et nos familles, et ce que l’on doit faire pour vivre dans notre communauté en tant qu’humains – un champ de mines monétisé par les entreprises et monitoré par les gouvernements.

Je travaille en plein là-dedans, et je ne m’en sors pas mieux. J’ai dû une fois suivre un processus pour vérifier mon identité auprès d’un informateur méfiant. J’ai dû prendre une série de photos montrant où je me trouvais ainsi que la date. Je les ai mises en ligne, et on m’a permis de procéder à l’interview. Au final, il se trouve qu’aucune de ces vérifications n’avait été envoyées, parce que j’avais oublié d’attendre la fin du chargement avant d’éteindre nerveusement mon ordinateur. « Pourquoi m’avez-vous quand même permis de vous voir ? » demandais-je à ma source. « Parce qu’il n’y a que vous qui pourrait faire une chose aussi stupide », m’a-t-il répondu.

Touché.

Mais si cela m’arrive à moi, une adulte relativement bien entraînée qui fait attention à ce genre de sujets systématiquement, quelle chance ont les gens avec de vrais boulots et de vraies vies ?

Finalement, c’est la culture qui est cassée.

Il y a quelques années, j’ai rencontré plusieurs personnes respectées qui travaillent dans la confidentialité et la sécurité logicielle et je leur ai posé une question. Mais d’abord j’ai dû expliquer quelque chose : « La plupart des gens n’ont pas de droits d’administration sur les ordinateurs qu’ils utilisent. »

computerClassBolts.jpg (Crédit image : amelungc, licence CC BY 2.0)

C’est-à-dire que la plupart des gens qui utilisent un ordinateur dans le monde n’en sont pas propriétaires… Que ce soit dans un café, à l’école, au travail, installer une application bureautique n’est pas directement à la portée d’une grande partie du monde. Toute les semaines ou toutes les deux semaines, j’étais contacté par des gens prêts à tout pour améliorer la sécurité et les options de confidentialité, et j’ai essayé de leur apporter mon aide. Je commençais par « Téléchargez le… » et on s’arrêtait là. Les gens me signalaient ensuite qu’ils ne pouvaient pas installer le logiciel sur leur ordinateur. En général parce que le département informatique limitait leurs droits dans le cadre de la gestion du réseau. Ces gens avaient besoin d’outils qui marchaient sur ce à quoi ils avaient accès, principalement un navigateur.

Donc la question que j’ai posée aux hackers, cryptographes, experts en sécurité, programmeurs, etc. fut la suivante : quelle est la meilleure solution pour les gens qui ne peuvent pas télécharger de nouveau logiciel sur leurs machines ? La réponse a été unanime : aucune. Il n’y a pas d’alternative. On me disait qu’ils feraient mieux de discuter en texte brut, « comme ça ils n’ont pas un faux sentiment de sécurité ». À partir du moment où ils n’ont pas accès à de meilleurs logiciels, ils ne devraient pas faire quoi que ce soit qui puisse déranger les gens qui les surveillent. Mais, expliquais-je, il s’agit d’activistes, d’organisateurs, de journalistes du monde entier qui ont affaire à des gouvernements et des sociétés et des criminels qui peuvent vraiment leur faire du mal, ces gens sont vraiment en danger. On me répondait alors que dans ce cas, ils devraient s’acheter leurs propres ordinateurs.

Et voilà, c’était ça la réponse : être assez riche pour acheter son propre ordinateur, ou bien littéralement tout laisser tomber. J’ai expliqué à tout le monde que ce n’était pas suffisant, j’ai été dénigrée lors de quelques joutes verbales sans conséquences sur Twitter, et je suis passée à autre chose. Peu de temps après, j’ai compris d’où venait l’incompréhension. Je suis retourné voir les mêmes experts et j’ai expliqué : dans la nature, dans des situations vraiment dangereuses – même quand les gens sont traqués par des hommes avec des armes – quand le chiffrement et la sécurité échouent, personne n’arrête de parler. Ils espèrent seulement ne pas se faire prendre.

La même impulsion humaine qui nous pousse vers le hasard et les loteries depuis des milliers d’années soutient ceux qui luttent même quand les chances sont contre eux. « Peut-être bien que je m’en sortirai, autant essayer ! » Pour ce qui est de l’auto-censure des conversations dans une infrastructure hostile, les activistes non techniques s’en sortent de la même manière que les Anons, ou que les gens à qui l’on dit de se méfier des métadonnées, ou des réseaux d’échanges de données, ou de ce premier message avant que l’encodage OTR ne s’active. Ils foirent.

Cette conversation a été un signal d’alerte pour quelques personnes de la sécurité qui n’avaient pas compris que les personnes qui devenaient activistes et journalistes faisaient systématiquement des choses risquées. Certains ont rallié mon camp, celui où on perd son temps à des combats futiles sur Twitter et ils ont pris conscience que quelque chose, même quelque chose d’imparfait, pouvait être mieux que rien. Mais beaucoup dans le domaine de la sécurité sont toujours dans l’attente d’un monde parfait dans lequel déployer leur code parfait.

Alors apparaît l’Intelligence Community (Communauté du renseignement), ils s’appellent entre eux le IC. Nous pourrions trouver ça sympathique s’ils arrêtaient d’espionner tout le monde en permanence, et eux aimeraient bien que l’on cesse de s’en plaindre. Après avoir passé un peu de temps avec eux, je pense savoir pourquoi ils ne se préoccupent pas de ceux qui se plaignent. Les IC font partie des humains les plus surveillés de l’histoire. Ils savent que tout ce qu’ils font est passé au peigne fin par leurs pairs, leurs patrons, leurs avocats, d’autres agences, le président, et parfois le Congrès. Ils vivent surveillés, et ne s’en plaignent pas.

Dans tous les appels pour augmenter la surveillance, les fondamentaux de la nature humaine sont négligés. Vous n’allez pas apprendre aux espions que ce n’est pas bien en faisant encore plus qu’eux. Il y aura toujours des failles, et tant qu’elles existeront ou pourront être utilisées ou interprétées, la surveillance sera aussi répandue que possible. Les humains sont des créatures généralement égocentriques. Les espions, qui sont humains, ne comprendront jamais pourquoi vivre sans vie privée est mal aussi longtemps qu’ils le feront.

Et pourtant ce n’est pas cela le pire. La catastrophe culturelle qu’ils provoquent rend plus facile leur boulot d’épier le monde. Les aspects les plus dérangeants des révélations, ce sont le marché des failles 0 day, l’accumulation des moyens de les exploiter, l’affaiblissement des standards. La question est de savoir qui a le droit de faire partie de ce « nous » qui est censé être préservé de ces attaques, écoutes et décryptages et profilages. Quand ils ont attaqué Natanz avec Stuxnet et laissé tous les autres centres nucléaires vulnérables, nous avons été tranquillement avertis que le « nous » en question commençait et finissait avec l’IC lui-même. Voilà le plus grand danger.

Quand le IC ou le DOD ou le pouvoir exécutif sont les seuls vrais Américains, et que le reste d’entre nous ne sommes que des Américains de deuxième classe, ou pire les non-personnes qui ne sont pas associées aux États-Unis, alors nous ne pouvons que perdre toujours plus d’importance avec le temps. À mesure que nos désirs entrent en conflit avec le IC, nous devenons de moins en moins dignes de droits et de considération aux yeux du IC. Quand la NSA accumule des moyens d’exploiter les failles, et que cela interfère avec la protection cryptographique de notre infrastructure, cela veut dire qu’exploiter des failles contre des gens qui ne sont pas de la NSA ne compte pas tellement. Nous sécuriser passe après se sécuriser eux-mêmes.

En théorie, la raison pour laquelle nous sommes si gentils avec les soldats, que nous avons pour habitude d’honorer et de remercier, c’est qu’ils sont supposés se sacrifier pour le bien des gens. Dans le cas de la NSA, l’inverse s’est produit. Notre bien-être est sacrifié afin de rendre plus aisé leur boulot de surveillance du monde. Lorsque cela fait partie de la culture du pouvoir, on est en bonne voie pour que cela débouche sur n’importe quel abus.

Mais le plus gros de tous les problèmes culturels repose toujours sur les épaules du seul groupe que je n’aie pas encore pris à partie – les gens normaux, qui vivent leurs vies dans cette situation démentielle. Le problème des gens normaux avec la technologie est le même qu’avec la politique, ou la société en général. Les gens pensent être isolés et sans pouvoir, mais la seule chose qui maintient les gens seuls et sans pouvoir est cette même croyance. Ceux qui travaillent ensemble ont un énorme et terrible pouvoir. Il existe certainement une limite à ce que peut faire un mouvement organisé de personnes qui partagent un rêve commun, mais nous ne l’avons pas encore trouvée.

Facebook et Google semblent très puissants, mais ils vivent à peu près à une semaine de la ruine en permanence. Ils savent que le coût de départ des réseaux sociaux pris individuellement est élevé, mais sur la masse, c’est une quantité négligeable. Windows pourrait être remplacé par quelque chose de mieux écrit. Le gouvernement des États-Unis tomberait en quelques jours devant une révolte générale. Il n’y aurait pas besoin d’une désertion totale ou d’une révolte générale pour tout changer, car les sociétés et le gouvernement préfèreraient se plier aux exigences plutôt que de mourir. Ces entités font tout ce qu’elles peuvent pour s’en sortir en toute impunité – mais nous avons oublié que nous sommes ceux qui les laissons s’en sortir avec ces choses.

Si les ordinateurs ne satisfont pas nos besoins de confidentialité et de communication, ce n’est pas en raison d’une quelconque impossibilité mathématique. Il existe un grand nombre de systèmes qui pourraient chiffrer nos données de façon sécurisée et fédérée, nous disposons de nombreuses façons de retrouver la confidentialité et d’améliorer le fonctionnement par défaut des ordinateurs. Si ce n’est pas ainsi que les choses se passent en ce moment c’est parce que nous n’avons pas exigé qu’il en soit ainsi, et non pas parce que personne n’est assez malin pour que ça arrive.

C’est vrai, les geeks et les PDG et les agents et les militaires ont bousillé le monde. Mais en fin de compte, c’est l’affaire de tous, en travaillant ensemble, de réparer le monde.




Geektionnerd : Heartbleed

geektionnerd_190-1_simon-gee-giraudot_cc-by-sa.jpg

geektionnerd_190-2_simon-gee-giraudot_cc-by-sa.jpg

Sources :

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