Qu'est qu’un hacker ?

*Ce texte est la retranscription de la conférence donnée par TomPouce à la Ubuntu Party du 17 novembre 2012 à la Cité des Sciences de la Villette. Les titres en gras ont été ajoutés pour faciliter la lecture*

L’exercice de définition d’un hacker est casse-gueule par définition. Donc la question que tout le monde se pose : qu’est qu’un hacker ? Je pourrais prendre des raccourcis en parlant de ce que ne sont pas les hackers en parlant de tout ce que la presse essaie de nous faire croire mais la définition la plus simple est de définir ce qui fait le hacker.

A l’origine était le hack

Aujourd’hui, cela paraît complètement naturel, on a tous Facebook sur nos téléphones portables, on est connectés dans tous les sens mais ça n’a pas toujours été le cas. Fut un temps, bien lointain aujourd’hui, où il a fallu construire ce réseau-là, partir de quasiment rien, où nous n’avions pas tous forcément accès à un ordinateur, où il y avait – finalement – très peu de personnes qui avaient accès à ce genre de technologies et ce sont les petits bidouilleurs, qui en partant de quasiment rien, ont construit chaque brique du réseau qu’est Internet, toutes les briques des systèmes d’exploitation qui existent. Cela remonte à plusieurs décennies et c’est toute cette culture qui est à l’origine du mot hacker.  

Le terme de hacker n’est pas nouveau, ça date depuis longtemps et justement d’une époque où tout restait à faire. Encore aujourd’hui, on peut retrouver ça dans le fait que ce sont les hackers qui tiennent Internet, ce sont eux qui font en sorte que ça marche, ce sont eux qui inventent les outils qui manquent, ce sont eux qui font tous les efforts d’imagination pour pousser plus loin toutes ces limites et c’est quelque chose qui remonte loin dans l’Histoire, qui continue encore et qui, a priori, vu comment on est barré, n’est pas prêt de s’arrêter.

Ce sont tous ces genres de personnes qui font les communautés hackers et donc la plupart des gens qui y ont contribué, qui comprennent ce que c’est, quelque part, ils peuvent se targuer de faire partie de cette communauté. On va essayer de le détailler à travers quelques manières d’agir.

Ce n’est pas exclusivement lié à l’informatique, cela peut-être sur la téléphonie, sur l’électronique, on peut faire du hack de cuisine car il faut maîtriser quelques principes de physique pour faire de bons petits plats. Ce n’est donc pas lié à l’informatique, cependant, même si on va rester sur l’image du hacker informatique, cela peut s’étendre à tout et au sommet de chaque art technologique, il y a des brutes qui font des trucs incroyables et on peut considérer qu’il y a une culture hacker derrière tout ce qui motive ces gens-là.

Le hacker n’est ni un cracker, ni un script-kiddies, ni un pirate

On va casser un faux mythe et il y a quelque chose qu’un hacker n’est pas. Le hacker est quelqu’un qui construit. Comme je vous l’ai dit, avant il n’y avait rien et maintenant, on a Internet, Facebook et c’est super. Ceux-là sont de gens qui construisent et il ne faut pas confondre cela avec ceux qui cherchent à détruire. S’introduire dans les systèmes de manière frauduleuse, le fait de pirater des sites Web ou de s’approprier les données de l’un ou de l’autre, tout cela, en gros, c’est plutôt ce que l’on aurait tendance à appeler des crackers et que dire dessus ? Souvent les hackers ont tendance à considérer que les crackers sont des petites baltringues car ils ne font que se servir d’outils existants ou pas, mais juste pour casser. Or, on le sait tous depuis qu’on a cinq ans, c’est toujours plus facile de détruire que de construire. C’est à peu près tout ce qu’il y a à dire sur ces gens-là.

Le hacker, qu’est qu’il le définit ? Tentative d’élaboration de principes communs

Il y a quelques principes qui régissent  la manière des choses et d’agir. La première étant que le monde est plein de problèmes fascinants et ça, c’est génial. La vie est souvent un jeu de stratégie donc le monde nous appartient et c’est à nous de nous l’approprier. Pour le hacker c’est quelque chose de très amusant finalement car c’est un jeu vidéo extensible à l’infini. Mais il ne faut pas se leurrer, cela demande du travail. Il ne suffit pas de créer n’importe quel système juste parce qu’on y a pensé, souvent il va falloir acquérir des compétences, par exemple en programmation pour la création de logiciel ou en management d’équipe car pour les grosses pièces de logiciel, il faut être plusieurs. Il y a donc plusieurs niveaux qui ne sont pas forcément que techniques.  Ce qui plaît au hacker, ce sont justement ces limites qu’il faut repousser, tout comme un sportif, juste pour le plaisir. Le hacker n’a pas peur qu’il y ait des limites, au contraire, il s’éclate de ses difficultés et de ces choses qui peuvent paraître insurmontables à conquérir.

Ce qu’il faut retenir, c’est qu’au début, il n’y avait rien et que le hacker doit apprendre et que cela ne vient pas tout seul. C’est sa capacité de se motiver à apprendre pour pouvoir s’attaquer à tous types de problèmes qui fait partie des définitions de quelqu’un comme étant hacker.

Par corollaire, le monde est plein de problèmes à résoudre mais si un problème a déjà été résolu, ce n’est pas la peine de réinventer la roue donc il y a des principes en administration système où un bon administrateur est un administrateur flemmard car cela le soûle de refaire deux fois la même chose et que dès que c’est ennuyeux, on va écrire un script qui va automatiser les choses et on va imbriquer toutes ces pièces entre elles et qui sait ? Cela pourrait même donner Internet.  La seule exception consistant à dire qu’il y a des outils qui existent mais cela ne veut pas dire que c’est la meilleure solution qui existe et la prendre pour argent comptant. On peut très bien décider qu’il y a une meilleure manière de faire car depuis, de nouveaux outils sont arrivés, de nouvelles utilisation parce que le public se l’approprient, donc cela peut faire partie des raisons de réinventer la roue ou tout simplement à titre d’exercice de style. Par exemple, en école d’informatique, tout le monde a eu le droit de faire l’exercice de faire un jeu d’échec. Oui cela a déjà été fait cent mille fois mais c’est un bon exercice intellectuel. Donc le hacker va éviter de réinventer la roue sauf pour le fun. Cela peut paraître assez étrange mais cela arrive assez souvent.

Le fait d’inventer ces nouveaux moyens et ces nouveaux outils sous-entendent que le hacker ne garde pas les choses pour lui3. Il crée quelque chose, il le publie pour que les autres hackers puissent s’en servir. Le premier hacker qui a inventé un protocole de communication à travers les lignes téléphoniques, bien sûr cela ne lui aurait servi à rien s’il avait été tout seul. Le but était de communiquer à plusieurs. Donc pour schématiser, le premier qui a inventé une couche réseau, il l’a distribué aux autres pour que tout le monde puisse s’en servir. Le meilleur exemple étant le noyau Linux, c’était un petit gars tout seul dans son coin, qui, pour s’amuser, a écrit un noyau qu’il a diffusé aux autres, pour que tout le monde donne son avis et finalement, tout le monde a ajouté sa petite pièce à l’édifice et c’est devenu le noyau Linux, sur lequel s’articule Ubuntu.

On redonne à tout le monde, ce qui n’est pas forcément la même chose que gagner sa vie. C’est plutôt l’idée de contribuer au pot commun et exercer une activité à côté car le hacker, il a faim et il faut qu’il mange. Mais en général, il va redistribuer et aussi se servir de ce que les autres ont fait.

Il y a un ennemi à la créativité qui est la routine et l’ennui qui va avec. En général, on va tout automatiser et c’est fascinant à observer car c’est la meilleure expression de la créativité du hacker.

Il y a un autre principe qui est celui de la liberté. Cela peut paraitre évident comme ça mais le hacker n’aime pas les limites, il n’aime pas tout ce qui peut le contraindre. On cultive une sorte de sentiment antiautoritaire. Cela ne veut pas dire que l’on va rejeter toute forme d’autorité, ce n’est pas non plus la fédération anarchiste. Tout ce qui doit lier les pieds du hacker n’est pas respecté. Le hacker passera outre les limites. Le hacker cultive sa liberté, l’entretien et le meilleur moyen de le faire fuir, c’est lui imposer des contraintes. Le meilleur exemple de cela est qu’un certain nombre bosse dans des grosses entreprises pour développer des choses mais à côté de cela, ce qui fait d’eux un hacker, ce n’est pas ce qu’il fait de la journée, c’est le faire de pousser encore plus loin le projet pour lequel il est payé mais juste pour s’affranchir du cadre et des contraintes habituelles.

Cela donne un peu l’image de quelqu’un qui est magicien et qui a tout le pouvoir pour lui et un côté un peu sexy qui va avec tout ça, ce qui nous amène à « l’attitude ne remplace pas la compétence ». Ce n’est pas parce que je suis devant vous en train de vous expliquer ce qu’est un hacker que j’en suis un. Ce qui va déterminer mon « autorité » de hacker seront contributions que je vais donner. Si quelqu’un se prétend hacker et va essayer d’avoir l’attitude, essayer de s’en revendiquer, d’autres hackers vont dire « ça ne sert à rien ce que tu fais, montre-nous le code, montre-nous ce que tu as produit, montre-nous tes contributions » et cela parle plus que tout autre chose.

Ce qui prime, c’est la compétence et la compétence est quelque chose qui se sait et qui se reconnaît, c’est essentiel, surtout de nos jours où l’accès aux outils numériques s’étant totalement développé, il y en a beaucoup qui ont l’impression de maîtriser les réseaux parce qu’ils savent plugger leurs comptes Facebook avec leurs comptes Twitter, que c’est automatisé et que ça émet dans tous les sens qu’ils sont les rois des blogs alors que non.

Les compétences : quelles sont-elles ?

Une des principales compétences est de savoir programmer, il faut coder. On devra apprendre des langages de programmation qui sont des outils de construction mais qui sont aussi un outil de structure de l’esprit. On a de plus en plus de données articulées les unes avec les autres, de plus en plus d’outils à faire interagir les uns avec les autres et la programmation sera l’exercice de base qui va permettre de manipuler des données, des concepts,  des utilisations, dans un tout dans une sorte de code qui va être soumis à l’approbation et à la modification de tout un chacun. C’est donc le premier élément dans la trousse à outils du hacker.  

Pour ceux qui ont envie de s’y mettre, il y a plusieurs langages qui sont incontournables. On pourrait, par exemple, parler du C, qui est très connu et qui fait partie des langages historiques. On pourrait aussi parler du Python, qui est très accessible, beaucoup plus facile à lire et à apprendre, avec tout un tas de librairies derrière qui permettent de ne pas réinventer la roue. Il y a une pléthore de langage de programmation mais on va s’en tenir à ces deux-là car ils sont opposés mais néanmoins complémentaires. L’avantage du C est qu’à titre d’exercice – en dehors du côté historique de la chose – il est d’être bas niveau donc il va falloir pas mal bosser avant de voir quelque chose s’afficher à l’écran et cela permet donc  de vraiment comprendre le fonctionnement interne de la machine et du langage de programmation en général. Par opposition au Python qui va me permettre en deux lignes de commandes de pouvoir lancer un serveur Web mais si jamais il y a un problème avec la programmation, il faut savoir où regarder pour corriger.

On pourrait aussi parler du langage Ruby On Rails qui permet de développer des applications. On pourrait citer un langage, qui n’est pas vraiment un langage de programmation, le HTML, qui est un langage de description et de mise en page, facile d’accès et qui permet au hacker de diffuser ce qu’il a fait et quels meilleurs moyens que les sites Web, qui sont, la plupart du temps, réalisés en HTML ? C’est aussi une des compétences à acquérir : de savoir présenter son travail.  

L’autre outil essentiel au hacker, c’est UNIX et Linux, pour une raison très simple, c’est qu’à une époque, il n’y avait pas grand-chose d’autre, tout le monde n’avait pas accès à un ordinateur, qui était une grosse machine dans une université et qu’historiquement, c’est un des systèmes les plus simples et les plus faciles d’accès quand il s’agir de mettre les mains dans le cambouis. Sous certains systèmes d’exploitation, vous êtes lié aux applets systèmes qui sont fournis avec le système d’exploitation, la configuration n’est pas forcément accessible, elle est parfois écrite en dure donc on est pieds et poings liés avec pour seul outil ce que l’on a bien voulu nous fournir. Alors que la philosophie des systèmes UNIX, c’est que finalement c’est un assemblage de petits outils qui vont faire chacun une chose mais qui vont le faire bien pour bien lister les fichiers qui sont dans un dossier. Ce sont tous ses petits outils assemblés ensemble qui vont faire une distribution Linux, donnant la possibilité à tout un chacun de choisir ses outils, de les interfacer les uns avec les autres, selon son envie, de modifier la configuration. Avec Linux, on a donc tous ses outils pour être libre car on a un accès à toutes les ressources du système et lorsque l’on commence à travailler avec Linux, on se rend compte qu’on n’a pas appris l’informatique mais que l’on a appris un système d’exploitation.

Le dernier outil est qui essentiel, c’est d’apprendre l’anglais. C’était déjà valable il y a cinquante ans mais aujourd’hui à une époque où on est tous connecté, cela paraît évident mais à une époque cela ne l’était pas forcément. Il n’y avait pas beaucoup d’accès aux machines et aux réseaux et les quatre pelés qui maitrisaient tout cela, n’étaient pas forcément à Cluny La Sorbonne en train de parler Français.  Ils étaient répartis tout autour du monde et quelle meilleure langue que l’anglais pour communiquer ?

L’autre raison est que le plus simple moyen de rendre la documentation accessible à tous est de l’écrire en anglais. Si on cherche de la documentation, il vaut mieux taper ses mots-clefs en anglais car on trouvera beaucoup plus facilement ce que l’on cherche. De la même façon, certains langages de programmation sont en anglais avec les « if » et les « else ». Lorsque l’on écrit un outil, on veut qu’il soit réapproprié et donc l’anglais est la langue qui permet le mieux la diffusion de l’information. Certains outils sont créés par des Français mais qui sont entièrement écrits en Anglais et la traduction ne s’avère pas nécessaire. Cela permet d’avoir une interopérabilité certaine et l’Anglais a fini par être la langue la plus riche en documentation technique.

Que fait le hacker ?

Il a la culture du don. Il ne fait des choses pour lui, dans son coin, il le fait pour les autres et il ne le fait pas pour avoir le plus de fans possibles. On donne pour que les autres puissent se les réapproprier. Le hacker ne fait pas les choses pour lui ou pour sa petite gloriole personnelle mais il le fait pour verser au pot commun pour que, finalement, les autres puissent s’éclater à un niveau au-dessus.Le logiciel libre a donc une place très importante dans la philosophie du hacker car il se bat pour que tout soit libre et réutilisable. La contribution n’est cantonné au code : on peut écrire du logiciel libre, on peut aussi en parler, le populariser et tout cela fait partie de la culture du don. Parmi les hackers les plus connus dans le monde, on peut citer Linus Torvalds – créateur du noyau Linux, on va trouver Alan Cox, plein de noms, les hackers les plus révérés sont ceux qui ont écrit des grosses pièces de logiciels car il y avait n gros besoin et qu’ils ont permis aux autres de se le réapproprier. Les plus gros contributeurs du libre sont ceux qui sont considérés par leurs pairs comme des hackers.

Le hacker contribue au logiciel libre mais on ne contribue pas uniquement en pondant du code, on peut expliquer la structure, on peut aider les gens à débugguer leurs programmes et c’est essentiel. Il faut donc des gens pour tester et améliorer et on a besoin de l’avis de tout le monde. On a aussi besoin de l’avis des copains et d’autres hackers car ce sont eux qui vont fournir le débugage que les autres n’ont pas été capables de trouver. Le retour va être parfois plus pertinent à utiliser. Donc le hacker va contribuer, non seulement en pondant du code, mais aussi en donnant son avis sur le code des autres et en fournissant du débugage. Cela ne fait pas peur au hacker – au contraire – donner son avis sur quelque chose qu’il a écrit montre qu’il a fait quelque chose d’intéressant, au point que les autres vont lui dire quoi améliorer et pas dans le but de se basher les uns les autres. On peut donc être un hacker en faisant du débugage et du test de logiciel. Le hacker, celui qui va être créatif, celui qui va pousser les limites, c’est peut-être aussi celui qui ne maîtrise pas le C ou qui va tellement démonter un logiciel écrit en C qu’il va fournir les informations de débugages pertinentes.

Le hacker va développer du logiciel libre et il faut qu’il le publie, d’où l’intérêt de maîtriser le HTML car c’est le standard de communication lisible par tous les systèmes. Il publie le résultat de son travail, il publie son avis sur le travail des autres et il y a même des gens qui publient des recueils de questions que les gens peuvent se poser, que l’on appelle les FAQ (Foire Aux Questions) qui compile toutes les questions que les gens peuvent se poser.

Donc le hacker publie, compile, histoire de faire gagner du temps aux autres car rappelez-vous, on est des flemmards, on n’a pas que ça à faire, on ne va pas réinventer la roue et le hacker ne va pas republier ce qu’il a trouvé ailleurs, le hacker va plutôt avoir tendance à publier ce qu’il n’a pas trouvé ailleurs.

Tout cela s’appuie sur des infrastructures et il faut donc Internet autour de tout cela et là où le hacker est quand même un héros est qu’il aide aux infrastructures. Il fait tourner des sites Web, il aide à maintenir des serveurs, il aide à maintenir des infrastructures, il va s’occuper de tous les routeurs qui vont faire que les paquets passent bien sur Internet, il va développer du logiciel et le diffuser aux autres par IRC, par mailing list. Mais il faut des gens pour maintenir tout cela, pour faire des sauvegardes pour quel le jour où le disque dur casse, le hacker, qui lui est le couillon qui a fait sa sauvegarde, puisse rétablir le truc. Le hacker contribue donc aussi pas mal à cette infrastructure et cela lui paraît évident.

Il fait tout ça aussi pour le fun car il trouve cela drôle et aberrant que personne ne l’ait fait donc il est le couillon qui s’y colle car c’est important de s’adresser au public. Donc le hacker contribue de toutes ses manières, pas pour la gloire, mais pour que l’on ait de plus en plus d’outils sous la main et pour que l ‘on puisse s’amuser. Il y a une citation qui illustre très bien cet état d’esprit « ils ne savaient pas que c’était impossible alors ils l’ont fait ». Le hacker a tendance à multiplier ce genre de situations ou à pousser ses pairs pour que les gens se retrouvent eux-mêmes à faire quelque chose dont ils ne se seraient pas crus capable. Il faut donc diffuser cette culture, en parler.

A quoi ressemble un hacker ?

Ca ressemble à tout et à n’importe quoi. Il y a des barbus, il y a des chauves, des jeunes, des vieux, des hommes, des femmes. Alors forcément, il y a des clichés qui étaient valables à l’époque pré-Facebook mais c’était du cliché. Il n’y a pas de signe extérieur de reconnaissance sauf si on pose un canon laser devant quelqu’un, M. Tout-Le-Monde aura tendance à chercher une prise pour le brancher alors que le hacker va plutôt avoir tendance à démonter le truc avant de s’en servir parce que le hacker ne supporte pas de ne pas comprendre comment ça marche alors il va peut-être avoir un tournevis dans sa poche. Le cliché du gros barbu qui n’a pas de vie est vrai et n’est pas vrai. Les nouvelles technologies sont de plus en plus accessibles dont on retrouve M. Tout-Le-Monde en train de s’approprier ces technologies et finalement être créatif avec ça. Et si vous êtes un gros barbu qui n’a pas de vie, ce n’est pas grave car vous aurez plus de temps pour vous concentrer et ça aussi, ça fait des gens efficaces. Donc le cliché n’est pas forcément vrai.

Après il y a d’autres points distinctifs qui ne sont pas des prérequis mais plutôt des observations. Par exemple, le hacker est quelqu’un qui sait écrire. Quand il va écrire un nouveau concept ou un nouvel outil, il va falloir qu’il l’explique aux autres. S’il envoie un mail en disant « regarde ce que j’ai fait LOL » ou avec des abréviations SMS, on ne va pas forcément le prendre au sérieux, il va difficilement faire passer son message, les gens vont avoir difficilement accès au logiciel. Donc on observe que dans les communautés de hackers et les communautés du logiciel libre, ceux qui sont train de contribuer et de faire des choses, ce sont des gens qui savent s’exprimer, qui savent écrire, qui font moins de fautes d’orthographes que la moyenne et ils arrivent à peu près à faire une rédaction à peu près potable. Cela ne veut pas dire que ce sont des gens supers sympas non plus. Un des exemples les plus connus est le leader de FreeBSD, qui a tout un tas de particularités, mais qui a celle-là entres autres, qui est que le mec est imbuvable, pas du tout sociable, mais qui sait rédiger, qu’il le fait proprement, que c’est lisible et qu’on a bien compris ce qu’il voulait dire. C’est un trait distinctif que l’on retrouve chez la plupart des hackers, ils savent rédiger, ils savent écrire. Ils ne sont pas forcément à l’aise en public.si on met un micro devant le nez de certains, c’est le meilleur moyen de les faire disparaître, mais on va les retrouver derrière un ordinateur, en train d’écrire un  mail bien copieux, en cinq paragraphes, en train d’expliquer pourquoi ils auraient pu présenter comme ça  mais qu’ils ne le feront pas parce qu’ils n’en ont pas envie.

Un point commun que l’on retrouve chez beaucoup : c’est la science-fiction. C’est un domaine littéraire dans lequel tout reste à faire, que c’est complètement impossible pour l’instant en tout cas, que ça paraît complètement fictif mais pour autant, on peut extrapoler sur les idées que cela présente, dégager de nouveaux concepts et finalement, c’est un style littéraire qui laisse libre champ à tous types d’imagination.

Un autre signe distinctif pour essayer de les trouver : ils écoutent de la musique pas comme les autres parce que la plupart du temps, on est confronté à la création de logiciels et musicale, les deux étant intimement liées, la musique électronique n’étant pas une succession de boum-boum. On va trouver de la musique 8 bits avec l’équivalent d’un GameBoy et on va en faire de la musique. Pour le hacker cela va être un exercice de style. De la même manière, le hacker a son oreille qui s’est éduqué à cela et on va le retrouver à écouter du jazz, peut-être plus de free jazz que la moyenne, de la musique électronique qui n’est pas franchement du David Guetta ni ce qui  passe sur Skyrock, et de manière générale, écouter de la musique bizarre. De tous ce que l’on vient de dire, vous avez deviné qu’il a une certaine ouverture d’esprit qui fait que oui, on va l’entendre écouter certaines musiques traditionnelles de certaines parties du monde dont on n’a même pas idée de l’existence.

Donc l’une dans l’autre, si on voit quelqu’un en train d’écouter de la musique bizarre en lisant de la science-fiction, avec son ordinateur et un tournevis dans la poche, il y a des chances pour que ce soit un hacker. En même temps, ce sont des choses qui ne se limitent pas à l’informatique. On retrouve ces principes dans tout un tas de domaines, que ce soit la cuisine, la couture, il y a pleins de gens qui ont été créatifs, qui ont été curieux et finalement, au sommet de tous les arts, de toutes les technologies, on va trouver des brutes qui dépassent les choses, qui présentent toutes ses caractéristiques et que finalement, ces gens-là, on pourrait aussi les appeler des hackers.   

Commentaires

Excellent article.

"Et si vous êtes un gros barbu qui n’a pas de vie, ce n’est pas grave car vous aurez plus de temps pour vous concentrer et ça aussi, ça fait des gens efficaces."
Ah bah, ma vie n'est peut être pas foutue alors =)

Rien n'est jamais foutu :)

Me permettez-vous ce petit lien :

[lien supprimé car inexistant]

Ou alors le texte en entier sinon ?

Permets-toi, permets-toi :)

Ajouter un commentaire