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...