Comment devenir un hacker
par Eric Steven Raymond

<esr@thyrsus.com>

Antoine Moreau Intertexte [Overall OpenArt]

 

Pourquoi ce document?
En tant qu'éditeur du Cyberlexis (1), je reçois souvent des e-mails écrits par de nouveaux venus sur le réseau, pleins d'enthousiasme, qui me demandent: «Comment puis-je faire pour devenir un hacker accompli?» Curieusement, jusqu'à présent, il semble qu'il n'existait aucun site Web consacré à cette question essentielle. Cette lacune est désormais comblée avec le document que voici. (Si vous êtes en train de lire ce document ailleurs que sur le Web, sachez que son adresse est http://www.tuxedo.org/~esr/faqs/hacker-howto. html.)

Qu'est-ce qu'un hacker ?

Le Cyberlexis contient un tas de définitions du terme «hacker», dont la plupart portent sur des choses telles que l'habileté technique et le plaisir de résoudre des problèmes et dépasser les limites. Cependant, si vous voulez savoir comment devenir un hacker, il n'y a que deux définitions pertinentes.

Il existe une communauté - une culture partagée - de programmeurs chevronnés et de sorciers des réseaux dont l'histoire remonte, à travers les décennies, aux premiers mini-ordinateurs multi-utilisateurs et aux premières expériences d'ARPAnet (2). Les membres de cette communauté ont inventé le terme «hacker». Ce sont les hackers qui ont construit Internet. Ce sont les hackers qui ont fait du système d'exploitation Unix ce qu'il est aujourd'hui. Ce sont les hackers qui font marcher Usenet (3)et le World Wide Web. Si vous appartenez à cette culture, si vous avez contribué à son élaboration et si d'autres personnes qui en font partie vous connaissent et parlent de vous comme d'un «hacker», alors vous êtes un hacker.

L'état d'esprit du hacker ne se limite pas à cette culture des hackers de logiciels. Il y a des gens qui étendent la notion de «hacker» à d'autres domaines, tels que l'électronique ou la musique - à dire vrai, on en trouve des exemp au plus haut niveau dans toutes les sciences et dans tous les arts. Les hackers de logiciels se reconnaissent une parenté avec ces esprits et les appellent parfois, eux aussi, des «hackers» - et pour certains la nature du hacker est réellement indépendante du média particulier dans lequel il opère. Mais dans la suite de ce document, nous nous limiterons aux aptitudes et à l'état d'esprit des hackers de logiciels, ainsi qu'aux traditions de la culture commune qui a donné naissance au terme «hacker».

Il existe aussi un groupe de gens qui prétendent être des hackers mais n'en sont pas. Ce sont des gens (il s'agit surtout d'adolescents de sexe masculin) qui prennent leur pied en s'introduisant dans les ordinateurs et en piratant le réseau téléphonique. Les véritables hackers appellent ces gens des «crackers» et ne veulent avoir aucun rapport avec eux. Les véritables hackers considèrent en général que les crackers sont paresseux, irresponsables et pas si brillants que ça ; ils leur objectent qu'il ne suffit pas d'être capable de briser des codes de sécurité pour être un hacker, de même qu'il ne suffit pas d'être capable de faire démarrer une voiture volée pour être un ingénieur du secteur automobile. Malheureusement, un bon nombre d'auteurs et de journalistes se sont fait avoir et confondent les crackers avec les hackers (4), ce qui a le don d'irriter profondément ces derniers.

La différence fondamentale est la suivante: les hackers construisent ce que les crackers détruisent.

Si vous voulez devenir un hacker, poursuivez la lecture de ce document. Si vous voulez devenir un cracker, allez sur le forum de discussion alt.2600 (5)et préparez-vous à purger une peine de cinq à dix années de prison après avoir découvert que vous n'étiez pas aussi malin que vous le croyiez. C'est tout ce que j'ai à dire sur les crackers (6).

L'état d'esprit du hacker

Les hackers résolvent des problèmes, ils construisent, et ils croient en la liberté et en l'assistance mutuelle bénévole. Pour être crédible en tant que hacker, vous devez vous comporter comme si cet état d'esprit était le vôtre. Et pour vous comporter de cette façon, vous devez réellement y croire.

Mais si vous pensez qu'il suffit de prendre la pose du hacker pour se faire reconnaître au sein de cette culture, vous vous trompez complètement. Il est important pour vous de devenir le genre de personne qui croit en ces choses-là - vous apprendrez mieux et vous resterez motivé. Comme dans le domaine des arts créatifs, le moyen le plus efficace de devenir un maître est d'imiter les maîtres - pas seulement sur le plan intellectuel, mais en ressentant les choses de la même façon qu'eux.

Si vous voulez devenir un hacker, il vous faut donc répéter les formules suivantes jusqu'à ce que vous en soyiez bien convaincus :

1. Le monde est plein de problèmes fascinants en attente d'une solution.

C'est très amusant d'être un hacker, mais c'est un plaisir qui demande beaucoup d'efforts, et l'effort suppose de la motivation. Les bons athlètes sont motivés par l'espèce de jouissance qu'ils éprouvent à faire fonctionner leur corps et à dépasser leurs limites physiques. De la même façon, pour être un hacker, il faut éprouver du plaisir à résoudre les problèmes, à développer ses compétences et à exercer son intelligence.

Si vous n'êtes pas spontanément amateur de ce genre de choses, il vous faudra le devenir, car c'est une condition nécessaire pour être un bon hacker. Sans quoi votre énergie sera détournée par des distractions telles que le sexe, l'argent et la reconnaissance sociale.

(Il vous faudra aussi acquérir une sorte de foi dans votre propre aptitude à apprendre - la conviction que, même si vous ne possédez pas toutes les connaissances nécessaires à la résolution d'un problème, vous pouvez l'attaquer morceau par morceau, en apprenant progressivement à résoudre les problèmes les uns après les autres, et ainsi de suite jusqu'à la fin.)

2. On ne devrait jamais avoir à résoudre un problème deux fois.

Les cerveaux créatifs sont une ressource précieuse et limitée. Il ne faut pas les gaspiller en leur faisant réinventer la roue alors qu'il y a tant de nouveaux problèmes fascinants qui attendent d'être examinés.

Pour agir en hacker, vous devez croire que le temps de réflexion des autres hackers est précieux - si précieux que c'est presque un devoir moral pour vous de partager l'information, de résoudre les problèmes et de faire connaître les solutions, de façon à ce que d'autres hackers puissent résoudre de nouveaux problèmes sans devoir sans cesse reprendre les anciens.

(Vous ne devez pas croire que vous avez l'obligation de diffuser ainsi toute votre production intellectuelle, bien que les hackers qui le font soient ceux qui sont les plus respectés par les autres hackers. Il n'est pas incompatible avec les valeurs des hackers de vendre sa production intellectuelle pour avoir de quoi se nourrir, payer son loyer et ses ordinateurs. Vous pouvez tout à fait utiliser vos talents de hacker pour fonder une famille, voire pour vous enrichir, dès lors que vous n'oubliez pas que vous êtes un hacker.)

3. L'ennui et les corvées sont de mauvaises choses.

Les hackers (et les gens créatifs en général) ne devraient jamais s'ennuyer ou devoir se livrer à des corvées stupides et répétitives, car pendant ce temps ils ne font pas ce qu'ils sont les seuls à savoir faire: résoudre de nouveaux problèmes. Ce gaspillage est nuisible à la collectivité tout entière. En conséquence, l'ennui et les corvées sont des choses non seulement déplaisantes, mais véritablement nuisibles.

Pour agir en hacker, vous devez en être tellement convaincu que vous aspirerez à automatiser le plus possible les tâches ennuyeuses, pas seulement pour vous faciliter la vie mais pour que tout le monde (et tout particulièrement les autres hackers) en profite.

(Il y a, en apparence, une exception. Les hackers font parfois des choses qui peuvent sembler répétitives ou ennuyeuses à un observateur.Elles leur servent en fait d'exercice pour se changer les idées, acquérir une compétence ou une expérience qu'il serait impossible d'avoir autrement. Ils agissent ainsi par choix - jamais aucune personne sachant penser ne devrait être contrainte de s'ennuyer.)

4. La liberté est une bonne chose.

Les hackers sont naturellement anti-autoritaires. Quiconque peut vous donner des ordres pourra vous empêcher de résoudre les problèmes qui vous fascinent. Étant donné la façon dont les esprits autoritaires fonctionnent, ils s'arrangeront toujours pour le faire, sous les prétextes les plus stupides. Il vous faut donc combattre le comportement autoritaire partout où vous le rencontrez, de crainte qu'il ne vous réduise au silence.

(Ce n'est pas la même chose que de combattre toute autorité, quelle qu'elle soit. Les enfants doivent être éduqués et les criminels neutralisés. Un hacker peut accepter certaines formes d'autorité s'il s'agit d'obtenir quelque chose qui a plus de valeur que le temps passé à suivre des ordres. Mais c'est là une transaction limitée et volontaire; le genre d'abandon personnel que les autoritaristes réclament n'est pas négociable.)

Rien n'est meilleur pour les autoritaristes que la censure et le secret. Ils se méfient de la coopération volontaire et du partage de l'information - ils n'aiment la «coopération» que lorsqu'ils la contrôlent. Ainsi, pour agir en hacker, vous devez devenir instinctivement hostile à la censure, au secret et à l'emploi de la force ou de la tromperie contre des adultes responsables. Et vous devez agir en conformité avec cette conviction.

5. L'état d'esprit ne remplace pas la compétence.

Pour être un hacker, vous devez acquérir l'état d'esprit qui vient d'être décrit. Mais adopter un état d'esprit ne suffira pas davantage à faire de vous un hacker qu'une vedette du sport ou une rock star. Pour devenir un hacker, il faut de l'intelligence, de la pratique, du dévouement et un travail acharné.

Il vous faudra donc vous méfier de la posture et n'accorder de prix qu'au talent, dans quelque domaine que ce soit. Les hackers n'ont pas de temps à perdre avec les poseurs, mais ils admirent la compétence - non seulement chez les hackers, mais en tout ce qui est bon. La compétence dans des domaines difficiles que peu de gens maîtrisent est particulièrement appréciée.La meilleure de toutes est la compétence dans des domaines qui demandent de la perspicacité, du savoir-faire et de la concentration.

Si vous vénérez la compétence, vous adorerez en faire preuve vous-même - le travail acharné et le dévouement deviendront une sorte de jeu intense et non une corvée. C'est indispensable pour devenir un hacker.

Les aptitudes de base du hacker

Un hacker doit avoir un certain état d'esprit, mais il est encore plus indispensable d'avoir des aptitudes. L'état d'esprit ne remplace pas la compétence, et vous devez posséder un certain nombre d'aptitudes minimales, sans quoi jamais les hackers ne vous considèreront comme un des leurs.

Les aptitudes requises évoluent, car la technologie en crée constamment de nouvelles et rend les anciennes obsolètes. Par exemple, il était autrefois indispensable de savoir programmer en langage-machine, alors que la nécessité du HTML (7)n'est apparue que récemment. À ce jour, les aptitudes qu'il faut indiscutablement posséder sont les suivantes :

1. Apprenez à programmer.

C'est là, évidemment, la qualité fondamentale pour un hacker. Si vous ne connaissez aucun langage informatique, je vous recommande de commencer avec Python (8). Il est clairement conçu, bien documenté, et relativement facile pour les débutants. Bien qu'il s'agisse d'un bon langage de départ, ce n'est pas un jouet ; il est très puissant, adaptable à toutes sortes de situations, et on peut l'utiliser pour de grands projets.

Mais attention! Vous n'atteindrez pas le niveau qu'on attend d'un hacker, voire d'un simple programmeur, si vous ne connaissez qu'un seul langage - vous devez apprendre à penser les problèmes de programmation de façon générale, indépendamment de tout langage. Pour être un véritable hacker, vous devez avoir atteint le niveau où il vous est possible d'apprendre un nouveau langage en quelques jours en rapportant ce que dit le manuel à ce que vous connaissez déjà. Vous devez donc apprendre à maîtriser plusieurs langages très différents.

Si vous vous lancez sérieusement dans la programmation, il vous faudra apprendre le langage C, qui est le langage d'Unix (9)(mais ce n'est pas ce langage-là qu'il faut essayer d'apprendre en premier). Parmi les autres langages particulièrement importants pour les hackers, il y a Perl et Lisp. Perl mérite d'être appris pour des raisons pratiques : il est très largement utilisé pour les pages Web actives et la gestion de systèmes ; même si vous n'écrivez jamais en Perl, il vous sera utile de savoir le lire. Lisp mérite d'être appris car sa connaissance approfondie est une expérience très éclairante, qui fera de vous un bon programmeur pour le restant de vos jours, même si vous n'utilisez jamais beaucoup le langage Lisp lui-même.

Le mieux est de les apprendre tous les quatre : Python, C, Perl et Lisp. Outre qu'il s'agit des langages les plus importants pour les hackers, ils représentent des approches très diverses de la programmation, et chacun d'eux vous sera profitable.

Je ne peux donner ici d'instructions complètes sur l'apprentissage de la programmation - c'est une affaire complexe. Mais je peux vous dire qu'on n'y arrive pas en lisant des livres et en suivant des cours (beaucoup de hackers, et peut-être la plupart des meilleurs d'entre eux, sont des autodidactes). Pour y parvenir, il faut :

1° lire en code

2° écrire en code.

On apprend à programmer comme on apprend à écrire correctement dans une langue naturelle. La meilleure façon d'y arriver est de lire des programmes écrits par les maîtres du style, d'écrire un peu vous-même, d'en lire beaucoup, d'écrire un peu, d'en lire beaucoup, d'écrire un peu... et ainsi de suite jusqu'à ce que votre écriture commence à acquérir le même genre de force et d'économie que celle de vos modèles.

Il était autrefois difficile de trouver de bons programmes à lire, car il n'y avait que fort peu de grands programmes en code-source ouvert permettant aux hackers débutants de lire et de s'exercer. Aujourd'hui, tout a changé ; les logiciels en code-source ouvert, les outils de programmation, les systèmes d'exploitation (tous construits par des hackers) sont désormais largement disponibles. J'en arrive donc au point suivant :

2. Procurez-vous un des Unix qui sont en code-source ouvert, apprenez à vous en servir et à le faire fonctionner.

Je pars du principe que vous possédez un ordinateur personnel ou que vous pouvez en utiliser un - tout est si facile pour les gosses d'aujourd'hui :-)) (10). La chose la plus importante qu'un nouveau-venu puisse faire pour acquérir les aptitudes d'un hacker est d'obtenir une copie de Linux ou d'un des Unix de BSD (11), de l'installer sur sa machine personnelle et de le faire tourner.

Bien sûr, il existe d'autres systèmes d'exploitation qu'Unix dans le monde. Mais ils sont diffusés en code binaire - on ne peut ni lire le programme ni le modifier. Il est aussi vain de vouloir apprendre à bidouiller sur une machine DOS ou Windows ou sous MacOS que d'essayer d'apprendre à danser en ayant tout le corps dans le plâtre.

En outre, Unix est le système d'exploitation d'Internet. On peut apprendre à se servir d'Internet sans connaître Unix, mais on ne peut être un hacker d'Internet si on ne comprend pas Unix. C'est pourquoi la culture des hackers d'aujourd'hui est principalement centrée sur Unix. (Cela n'a pas toujours été le cas, et certains hackers à l'ancienne n'en sont pas très contents, mais la symbiose entre Unix et Internet est devenue si solide que même Microsoft, avec toute sa puissance, ne paraît pas capable de l'entamer sérieusement.)

Alors, installez Unix - j'apprécie personnellement Linux, mais il y a d'autres manières de procéder (au fait, oui, vous pouvez faire tourner Linux et DOS/Windows sur la même machine). Apprenez-le. Faites-le tourner. Exercez-vous dessus. Servez-vous en pour communiquer avec Internet. Lisez le programme. Modifiez-le. Vous obtiendrez des outils de programmation (y compris C, Lisp, Python et Perl) meilleurs que tout ce que vous pourriez rêver d'obtenir sur les systèmes d'exploitation de Microsoft, vous vous amuserez, et vous vous imprégnerez de plus de connaissances que vous ne le croyez, jusqu'à ce qu'un jour vous vous aperceviez que vous êtes devenu un maître hacker.

Pour en savoir plus sur Unix, voir The Loginataka (12).

Pour mettre la main sur un exemplaire de Linux, voir Where can I get Linux (13).

3. Apprenez à vous servir du World Wide Web et a écrire en HTML.

La plupart des choses auxquelles la culture hacker a donné naissance fonctionnent de façon invisible et servent à faire tourner des usines, des bureaux et des universités, sans avoir un impact évident sur la vie des non-hackers. Le Web constitue la grande exception, puisque même les politiciens admettent que ce grand jouet brillant des hackers est en train de changer le monde. Rien que pour cette raison (et pour de nombreuses autres tout aussi bonnes), vous devez apprendre à travailler avec le Web.

Il ne s'agit pas seulement d'apprendre à manipuler un navigateur, mais d'apprendre à écrire en HTML, le langage à balises hypertextuelles du Web. Si vous ne savez pas programmer, le fait d'écrire en HTML vous donnera quelques habitudes intellectuelles qui vous aideront à apprendre. Construisez donc votre propre page personnelle (home page).

Mais le fait d'avoir une page personnelle ne vous donnera en aucune façon la capacité de devenir un hacker. Le Web fourmille de pages personnelles. La plupart d'entre elles sont totalement inutiles - de la daube sans aucun contenu, bien présentée, certes, mais de la daube bien présentée reste toujours de la daube (pour en savoir plus, voir The HTML hell (14)).

Pour être valable, votre page doit avoir du contenu - elle doit être intéressante et/ou utile pour les autres hackers. Ce qui nous amène au point suivant :

Comment devenir quelqu'un dans le monde des hackers

Comme la plupart des cultures sans économie monétaire, celle des hackers se fonde sur la réputation. Vous essayez de résoudre des problèmes intéressants ; mais seules les personnes qui vous sont techniquement égales ou supérieures sont à même de juger de l'intérêt réel de ces problèmes et de la qualité des solutions que vous proposez.

Par conséquent, si vous voulez jouer au hacker, il vous faudra apprendre à compter les points en fonction de ce que les autres hackers pensent de vos aptitudes (c'est pourquoi vous ne deviendrez vraiment un hacker qu'à partir du moment où les autres hackers vous considéreront définitivement comme tel). Ce fait est masqué par l'image des hackers, censés opérer dans la solitude, ainsi que par un tabou culturel (actuellement en déclin, mais encore puissant) des hackers eux-mêmes, qui refusent d'admettre que le narcissisme ou la validation extérieure puissent faire partie de leurs motivations.

Le monde des hackers correspond exactement à ce que les anthropologues appellent une culture du don. Votre statut et votre réputation ne découlent ni de votre capacité à dominer d'autres personnes, ni de votre beauté, ni du fait que vous possédez des choses que d'autres désirent, mais bien plutôt de votre capacité à donner, et plus précisément à donner votre temps, votre créativité et les résultats de votre talent.

Les choses que vous pouvez faire pour gagner le respect des hackers se répartissent en cinq catégories principales :

1. Écrire des programmes de logiciels en code-source ouvert.

L'action la plus fondamentale et la plus traditionnelle consiste à écrire des programmes que d'autres hackers considèrent comme amusants ou utiles, et à en diffuser les codes-source gratuitement, pour que tous les hackers puissent s'en servir.

(C'est ce qu'on avait pris l'habitude d'appeler les «logiciels libres», mais cela entraînait des confusions, car beaucoup de gens ne savaient pas exactement de quoi il était question. Beaucoup d'entre nous préfèrent aujourd'hui employer l'expression «logiciels en code-source ouvert».)

Les véritables demi-dieux du monde des hackers sont les gens qui ont écrit des programmes de grande capacité, répondant aux besoins les plus répandus, et qui les ont diffusés gratuitement, si bien qu'aujourd'hui tout le monde les utilise.

2. Contribuer à tester et à déboguer (15)les logiciels en code-source ouvert.

Il est également utile d'aider à déboguer les logiciels en code-source ouvert. Dans ce monde imparfait, nous sommes condamnés à consacrer une bonne partie de notre activité de développeurs de logiciels à déboguer ces derniers. C'est pourquoi tous les auteurs de logiciels en code-source ouvert un peu sensés vous diront que les bons bêta-testeurs (16)(ceux qui sont capables de décrire les symptômes clairement, de bien localiser les problèmes, de tolérer qu'il y ait des bugs dans un logiciel vite diffusé, et qui veulent bien appliquer quelques procédures de diagnostic simples) valent leur pesant d'or. Il suffit d'un seul d'entre eux pour que la phase de débogage cesse d'être un long et épuisant cauchemar et devienne simplement une corvée salutaire.

Si vous êtes novice, essayez de trouver un programme en phase de développement qui vous intéresse et d'en être un bon bêta-testeur. Le passage se fera tout naturellement des tests au débogage, et de ce dernier à la correction des programmes. Vous apprendrez beaucoup en procédant de la sorte, et vous aurez de bonnes relations avec les gens qui vous aideront par la suite.

3. Diffuser des informations utiles.

Il est bon, en outre, de rassembler et de sélectionner des informations utiles et intéressantes, et de les diffuser le plus largement possible grâce à des pages Web ou à des documents tels que les FAQ (listes de «questions souvent posées» [Frequently Asked Questions]).

Ceux qui s'occupent des principaux FAQ à contenu technique obtiennent quasiment autant de respect que les auteurs de logiciels en libre-accès.

4. Contribuer à maintenir l'infrastructure en état de marche.

Le monde des hackers (et par conséquent le développement technique d'Internet) est peuplé de bénévoles. De nombreuses tâches nécessaires mais sans gloire doivent être exécutées pour qu'il aille de l'avant : tenir à jour des listes pour des mailings, animer des forums de discussion, gérer de grands sites d'archivage de logiciels, développer des RFC [Requests For Comment: «demandes de commentaires»] et d'autres normes techniques.

Ceux qui mènent ces travaux à bien sont très respectés, car tout le monde sait que ce sont des corvées dévoreuses de temps, bien moins amusantes que la rédaction de programmes. Il faut de l'esprit de sacrifice pour s'y consacrer.

5. Contribuer au développement de la culture des hackers.

Enfin, vous pouvez contribuer à propager la culture des hackers elle-même, par exemple en écrivant un manuel intitulé: Comment devenir un hacker :-)). Pour en arriver là, il vous aura fallu acquérir pas mal d'expérience et vous faire connaître par l'une des quatre méthodes qui précèdent.

Il n'y a pas de chefs, à proprement parler, dans le monde des hackers, mais il a son culte des héros et des anciens de la tribu, ses historiens et ses porte-parole. Quand vous aurez accompli suffisamment d'exploits, vous deviendrez peut-être l'un d'eux. Mais attention: les hackers se méfient de l'autosatisfaction chez les anciens de la tribu; il est donc dangereux de rechercher ostensiblement à acquérir ce genre de statut. Plutôt que de faire des efforts dans ce sens, il vaut mieux que votre position vous le fasse «tomber naturellement dans votre escarcelle».Vous pourrez ainsi rester modeste et sans prétention.

Les hackers sont-ils des paumés ?

Contrairement à un mythe répandu, il n'est pas nécessaire d'être paumé pour être un hacker. Cela facilite néanmoins les choses, et beaucoup de hackers sont en réalité des paumés. La marginalité sociale aide à rester concentré sur les choses vraiment importantes, telles que penser et bidouiller.

C'est pourquoi nombre de hackers se présentent volontiers comme des «paumés», et ils se qualifient même avec fierté de «débiles» [geeks] (voyez The Geek note 17pour plus de détails) : c'est pour eux une manière de déclarer qu'ils sont en dehors des attentes sociales ordinaires.

Si vous arrivez à vous concentrer suffisamment sur le bidouillage pour devenir un bon hacker et continuer à avoir une vie, bravo. C'est beaucoup plus facile aujourd'hui que dans les années soixante-dix, quand j'étais un débutant.De nos jours, la culture ordinaire est beaucoup moins éloignée de celle des techno-paumés. Il y a même de plus en plus de personnes qui considèrent que les hackers font souvent d'excellents amants et de très bons époux. Pour en savoir plus, voyez le Girl's Guide to Geek Guys [«Guide des mecs débiles à l'usage des filles»].

Si vous êtes attirés par le genre de vie des hackers parce que vous n'avez pas de vie, ce n'est pas un problème non plus - au moins vous n'aurez pas de mal à vous concentrer. Peut-être en aurez-vous une plus tard.

Remarques sur le style

Pour devenir un hacker, il va vous falloir acquérir l'état d'esprit des hackers. Vous pouvez vous livrer, quand vous n'êtes pas sur un ordinateur, à certaines activités qui peuvent vous familiariser avec cet état d'esprit. Elles ne remplacent pas le bidouillage (rien ne le remplace), mais beaucoup de hackers s'y adonnent, car ils sentent qu'elles ont, de quelque façon, un rapport essentiel avec la pratique des hackers.

- Lisez de la science-fiction. Allez aux conventions de science-fiction (c'est une bonne manière de rencontrer des hackers et des proto-hackers).

- Étudiez le zen, pratiquez les arts martiaux. (La discipline mentale requise a beaucoup de points communs avec celle des hackers.)

- Développez votre oreille musicale. Apprenez à apprécier des genres particuliers de musique. Apprenez à bien jouer d'un instrument ou à bien chanter.

- Développez votre sens des calembours et des jeux de mots.

- Apprenez à écrire correctement dans votre langue maternelle. (Un nombre étonnamment élevé de hackers, notamment parmi les meilleurs que je connaisse, sont de bons écrivains.)

Plus vous pratiquerez ces activités, plus vous serez à même de devenir un bon hacker. La raison pour laquelle ces activités-là s'y prêtent mieux que d'autres n'est pas tout à fait élucidée, si ce n'est qu'elles mettent en jeu à la fois les aptitudes de la partie gauche et de la partie droite du cerveau, ce qui a, semble-t-il, son importance (les hackers doivent être capables de raisonner logiquement, tout en sachant sortir instantanément de la logique apparente d'un problème).

Voici enfin quelques choses à ne pas faire :

- N'utilisez pas un pseudonyme ou un nom de code idiot ou grandiloquent.

- Ne prenez pas parti dans les querelles qui se déroulent sur Usenet (ni où que ce soit d'autre).

- Ne vous qualifiez pas de «cyberpunk (18)», et ne perdez pas votre temps avec ceux qui le font.

- N'envoyez pas de lettres ou d'e-mails pleins de fautes d'orthographe et de grammaire.

En agissant ainsi, la seule réputation que vous vous ferez est celle d'un crétin. Les hackers ont la mémoire longue - il vous faudra peut-être des années pour remonter la pente et vous faire accepter.

Informations complémentaires

Peter Seebach s'occupe d'un excellent Hacker FAQ (19)destiné aux managers qui ne comprennent pas comment il faut s'y prendre avec les hackers.

Le Loginataka comporte de bons conseils sur les aptitudes et l'attitude que doit avoir un hacker d'Unix.

J'ai écrit une Brève histoire des hackers (20). Je suis également l'auteur d'un article, «La Cathédrale et le Bazar» (21), qui explique pas mal de choses sur la façon dont fonctionne le monde de Linux et des logiciels en code-source ouvert. Ce sujet est développé encore plus précisément dans l'article intitulé «À la conquête de la noosphère».

Quelques questions fréquemment posées

Q : Allez-vous m'apprendre à être un hacker ?

R : Depuis que j'édite cette page Web, des gens me demandent plusieurs fois par semaine de leur «apprendre tout ce qu'il faut savoir pour être un hacker ». Malheureusement, je n'ai ni le temps ni l'énergie pour le faire ; mes propres bidouillages me prennent 110 % de mon temps.

Et quand bien même j'essaierais de le faire, on ne peut enseigner une attitude et une aptitude qu'il faut apprendre à acquérir par soi-même. Vous vous apercevrez que les vrais hackers ne demandent pas mieux que de vous aider, mais qu'ils ne vous respecteront pas si vous leur demandez de vous nourrir à la petite cuillère.

Commencer par apprendre quelques trucs. Montrez que vous faites des efforts, que vous êtes capable d'apprendre par vous-même. Alors, vous pourrez poser des questions précises aux hackers que vous rencontrerez.

Q : M'aideriez-vous à bousiller un système ou à savoir le faire?

R : Non. Quiconque pose encore ce genre de question après avoir lu tout ce qui précède est vraiment un imbécile, et je ne lui dirais rien, même si j'avais le temps de faire de la formation. Chaque fois que je reçois un e-mail de ce genre, je l'ignore ou j'y réponds avec la plus extrême grossièreté.

Q : Où puis-je trouver de vrais hackers à qui parler?

R : La meilleure façon de s'y prendre est de trouver un groupe d'utilisateurs d'Unix ou de Linux proche de chez vous et d'aller à leurs réunions (vous trouverez des liens vers plusieurs listes de groupes d'utilisateurs sur la page LDP chez Sunsite).

Q : Quel langage dois-je apprendre pour commencer?

R : HTML, si vous ne le connaissez pas déjà. Alors qu'il existe beaucoup de mauvais livres qui prétendent vous apprendre le HTML, les bons sont désespérément rares. Celui que je préfère est HTML : the definitive guide.

Mais HTML n'est pas un langage complet de programmation. Quand vous serez prêt à vous lancer dans la programmation, initiez-vous à Python. Vous allez entendre beaucoup de gens vous recommander Perl et, certes, Perl est encore plus répandu que Python, mais il est plus difficile à apprendre.

Le langage C est vraiment important, mais beaucoup plus difficile que Python ou Perl. N'essayez pas de l'apprendre en premier.

Q : Les logiciels en code-source ouvert ne vont-ils pas mettre les programmeurs sur la paille?

R : Cela paraît peu probable. Jusqu'à présent, l'industrie des logiciels en code-source ouvert semble créer des emplois plutôt qu'elle n'en supprime. Si le fait de posséder un programme écrit représente un bénéfice net, un programmeur sera payé, que le programme soit ou non diffusé gratuitement après sa conception. Et, quel que soit le nombre de logiciels « libres » qui apparaissent, la demande d'applications nouvelles et adaptées ne cesse, semble-t-il, de croître. J'ai écrit sur ce sujet dans les pages Open source.

Q : Comment démarrer ? Où trouver un Unix gratuit ?

R : J'ai inséré ailleurs sur la version en ligne de ce texte des pointeurs qui indiquent les Unix gratuits les plus couramment utilisés. Pour devenir un hacker, il vous faut de la motivation, de l'initiative et la capacité de vous auto-éduquer. Commencez maintenant...

Eric S. Raymond, <esr@snark.thyrsus.com>,

12 juillet 1998.

 

 

 

 

Notes

 

* N.d.e.Traduit par Jean-Marc Mandosio.Il existe une autre traduction française de ce texte par S. Fermigier, www.math.jussieu/~fermigie/index.html.

1. N.d.e. Eric Raymond, Cyberlexique, Masson, Paris, 1997. La plupart des notes de cet article ont été tirées du «Jargon français»: www.linux-france.org/prj/jargonf/. (R)

2. N.d.e. Advanced Research Project Administration Network. Développé dans les années 1960 par le département de la défense du gouvernement américain, c'est l'ancêtre du réseau Internet. Il avait pour but de sécuriser les échanges d'informations entre plusieurs centres de calcul. Si un noeud de liaison était détruit, l'information empruntait une autre route du réseau d'interconnexions. (R)

3. N.d.e.Usenet est le plus gros système décentralisé d'information du monde, mis au point en 1979-1980 à l'Université de Duke. Les messages sont envoyés dans des Newsgroups (groupes ou forums de discussion), chacun portant sur un sujet particulier. Au total, ce sont plusieurs centaines de milliers de messages qui sont postés chaque jour dans tous les forums de discussion. (R)

4. N.d.e. C'est la définition "orthodoxe", dont Raymond est l'un des plus farouches partisans. Ne lui en déplaise, l'usage du mot hacker a évolué à la mesure de son utilisation par les «auteurs et journalistes» qu'il fustige. Le mot hacker tend aujourd'hui à définir la grande famille des bidouilleurs de l'informatique et des réseaux, les petits génies comme les peu doués, ceux qui respectent la loi comme ceux qui s'introduisent illégalement dans les ordinateurs. Au sein de cette famille, on pourra faire la distinction entre les crackers (au sens de Raymond), les hackers classiques (appelés hackers tout simplement par Raymond), etc. La règle rappelée ici (un hacker ne le devient que s'il est appelé ainsi par ses pairs) a d'ailleurs un étonnant corollaire : toute personne utilisant le mot hacker sans être elle-même membre de cette communauté le fait à mauvais escient. (R)

5. N.d.e. «Alternatif, Ludique et Terroriste». L'une des hiérarchies les plus controversées de l'Usenet (chez certains Providers US, il faut signer un papier certifiant que l'on a plus de 18 ans pour y accéder). Les règles de création des nouveaux forums dans cette hiérarchie sont en effet très libres, de sorte qu'on y trouve vraiment de tout... Le forum alt.2600 est un forum de discussion entre les crackers. (R)

6.N.d.e.Voir Y.Vandoorselaere, P.Langlois, A.Golovanivsky, Chevaliers d'Internet et pirates informatiques, Editions n°1 (sic), Paris, 1999. (R)

7. N.d.e.HyperText Markup Language: langage de programation à balises servant à réaliser des pages web. (R)

8. Python, C, Perl et Lisp sont des langages de programmation. (R)

9. N.d.e.Unix est un système d'exploitation, donc un logiciel de base pour faire fonctionner un ordinateur. Par Unix, Raymond entend ici la famille des systèmes Unix, qui comprend aussi Linux et d'autres systèmes fondés sur les mêmes principes. (R)

10. N.d.e.Ce signe curieux ne peut se comprendre qu'en tournant la tête (ou le livre) de 90° dans le sens des aiguilles d'une montre. On aperçoit alors un visage souriant. C'est un smiley, une combinaison de caractères censée indiquer l'état émotionnel, très utilisé dans le parlé-écrit qui a cours sur les réseaux [son contraire :-((]. Il existe des centaines de Smilies, et certains sont même des signatures personnelles. On parle parfois d'émoticon (combinaison d'«émotion» et d'«icône»). (R)

11. N.d.e.Unix, Linux, BSD, DOS, Windows, MacOS sont des systèmes d'exploitation. (R)

12. http://www.tuxedo.org/~esr/faqs/loginataka.html. (R)

13. http://linuxresources.com/apps/ftp.html. (R)

14. http://www.tuxedo.org/~esr/html-hell.html. (R)

15. N.d.e.Déboguer : enlever les fautes et les erreurs (les bugs) d'un programme. (R)

16. N.d.e.Bêta-testeur : Client qui teste un nouveau produit en situation - théoriquement - réelle; en échange du service rendu, il a droit habituellement à une assistance technique qualifiée et attentive. (R)

17. http://samsara.circus.com/~omni/geek.html. (R)

18. N.d.e.Voir Lexique, ou lisez les livres de W.Gibson et de Sterling. (R)

19. www.plethora.net/~seebs/fogs/hacker.html. (R)

20. www.tuxedo.org/~esr/writings/hacker-history/. (R)

21. www.tuxedo.org/~esr/writings/cathedral-bazaar/. (R)