Home | News | Hacking | Sciences | Technology | Ti 92 | Programming | Free articles | Links | Webmaster |
Qu'est-ce qu'un hacker?Il existe une communauté, une culture partagée, de programmeurs expérimentés et de spécialistes des réseaux, dont l'histoire remonte aux premiers mini-ordinateurs multi-utilisateurs, il y a quelques dizaines d'années, et aux premières expériences de l'ARPAnet [le réseau connu aujourd'hui sous le nom d'Internet, NDT]. Les membres de cette culture ont créé le mot "hacker''. Ce sont des hackers qui ont créé l'Internet. Ce sont des hackers qui ont fait du système d'exploitation Unix ce qu'il est de nos jours. Ce sont des hackers qui font tourner les newsgroups [forums de discussion, NDT] Usenet et le World Wide Web. Si vous faites partie de cette culture, si vous y avez contribué et si d'autres personnes qui en font partie savent qui vous êtes et vous considèrent comme un hacker, alors vous êtes un hacker. L'état d'esprit d'un hacker ne se réduit pas à cette culture des hackers du logiciel. Il y a des gens qui appliquent l'attitude du hacker à d'autres domaines, comme l'électronique ou la musique. En fait, on trouve cet esprit à l'état le plus avancé dans n'importe quel domaine de la science ou des arts. Les hackers du logiciel reconnaissent cette similitude d'esprit, et certains affirment que la nature même du hacker est indépendante du domaine particulier auquel le hacker se consacre réellement. Mais dans la suite de ce document, nous nous concentrerons sur les aptitudes et les attitudes des hackers du logiciel, et sur les traditions de la culture partagée qui a créé le terme "hacker''. NB:
il y a un autre groupe de personnes qui s'autoproclament
des "hackers'', mais qui n'en sont pas. Ces
gens (principalement des adolescents de sexe masculin)
prennent leur pied en s'introduisant à distance
dans les systèmes informatiques et en piratant les
systèmes téléphoniques. Les vrais hackers appellent
ces gens des "crackers'' et ne veulent rien
avoir à faire avec eux. Les vrais hackers pensent
que les crackers sont des gens paresseux, irresponsables
et pas très brillants. Malheureusement, de nombreux
journalistes se sont laissés abuser et utilisent
le mot "hacker'' quand ils devraient utiliser
le mot "cracker''. Cela ne lasse pas d'irriter
les vrais hackers. L'attitude des hackersLes
hackers résolvent des problèmes, construisent des
choses et croient à la liberté et à l'entraide volontaire.
Pour être accepté comme un hacker, vous devez vous
comporter comme si vous aviez ce type d'attitude
vous-même. Et pour vous comporter comme si vous
aviez ce type d'attitude, vous devez vraiment y
croire. 1. Le monde est plein de problèmes fascinants qui n'attendent que d'être résolusC'est très amusant d'être un hacker, mais c'est un amusement qui demande beaucoup d'efforts, et l'effort demande de la motivation. Les champions sportifs tirent leur motivation d'un plaisir physique à accomplir des performances avec leur corps, à dépasser leurs propres limites physiques. De façon similaire, pour être un hacker, il faut ressentir une certaine excitation à résoudre des problèmes, à affûter ses compétences, à exercer son intelligence.Si pour vous cette façon de penser n'est pas naturelle, il faut qu'elle le devienne si vous voulez devenir un hacker. Autrement, vous allez découvrir que votre énergie va se disperser dans des distractions comme le sexe, l'argent ou la reconnaissance sociale.(Vous devez également développer une certaine foi en votre propre capacité d'apprentissage : même si vous ne savez pas tout ce qu'il faut pour résoudre un problème, si vous en traitez seulement une partie et que vous en apprenez quelque chose, alors vous allez réussir à traiter la partie suivante, et ainsi de suite jusqu'à ce que le problème soit résolu.) 2. Personne ne devrait jamais avoir à résoudre le même problème deux fois.Les cerveaux créatifs sont une ressource précieuse et limitée. Il ne faut pas la gâcher en réinventant la roue quand il y a tant de problèmes fascinants qui attendent. Pour
vous comporter comme un hacker, vous devez vous
convaincre que le temps de pensée des autres hackers
est précieux, à tel point que c'est pour vous une
obligation morale de partager vos informations,
de résoudre des problèmes et d'en donner les solutions
pour que les autres hackers puissent résoudre de
nouveaux problèmes au lieu de perpétuellement revenir
sur les mêmes. 3. La routine et l'ennui sont inacceptables.Les hackers (et les gens créatifs en général) ne devraient jamais se consacrer à des tâches ennuyeuses ou répétitives, parce que cela signifie qu'ils ne font pas pas ce qu'eux seuls savent faire : résoudre de nouveaux problèmes. Pour se comporter comme un hacker, vous devez vous en convaincre suffisamment pour automatiser les parties ennuyeuses de votre travail, non seulement pour vous-même, mais aussi pour tous les autres (et particulièrement les autres hackers). (Il y a une exception apparente à cette règle : un hacker va parfois faire des choses qui semblent répétitives ou ennuyeuses à un observateur pour se vider l'esprit, ou pour acquérir une nouvelle compétence, ou pour faire une expérience particulière. Mais c'est toujours par choix : une personne capable de penser ne devrait jamais être forcée à faire un travail ennuyeux.) 4. Vive la liberté!Les hackers sont naturellement anti-autoritaristes. Si une personne peut vous donner des ordres, elle peut vous empêcher de résoudre le problème particulier, quel qu'il soit, par lequel vous êtes fasciné à un instant donné. Et, vu la façon dont les esprits autoritaristes fonctionnent, elle trouvera en général une raison particulièrement stupide de le faire. Par conséquent, les attitudes autoritaristes doivent être combattues partout où elles se trouvent. (Ce
n'est pas la même chose que de combattre toute forme
d'autorité. Les enfants ont besoin d'être guidés,
et les criminels d'être arrêtés. Un hacker peut
accepter de se soumettre à une certaine forme d'autorité
pour obtenir quelque chose qu'il désire plus que
le temps perdu à suivre les ordres. Mais c'est un
marchandage limité, conscient. Une soumission totale
à une autorité donnée est hors de question.) 5. L'attitude n'est pas un substitut à la compétence.Pour être un hacker, vous devez développer un certain nombre de ces attitudes. Mais cela seul ne suffira pas à faire de vous un hacker, pas plus qu'un champion sportif ou une rock star. Pour devenir un hacker, il faut de l'intelligence, de l'expérience, de la persévérance et beaucoup de travail. Par conséquent, vous devez apprendre à vous méfier des attitudes et à respecter les compétences, quelles qu'elles soient. Les hackers ne se laissent pas impressionner par les poseurs, mais ils apprécient les compétences, particulièrement les compétences de hackers, mais aussi toutes les autres. Les compétences dans les domaines exigeants maîtrisées par une élite sont particulièrement appréciées, et plus particulièrement celles qui nécessitent un esprit perçant et une grande concentration. Si vous respectez la compétence, alors vous aimerez travailler à vous améliorer sans cesse, et cela sera plus un plaisir qu'une routine. C'est vital pour devenir un hacker. Les compétences de base du hackerIl est vital d'avoir une attitude de hacker, mais encore plus vital d'en avoir les compétences. L'attitude n'est pas un substitut pour la compétence, et il convient de développer un ensemble minimal de compétences avant que l'idée n'effleure un autre hacker de vous accepter comme son pair. Cet ensemble change lentement au cours du temps, au fur et à mesure que l'évolution technologique crée de nouvelles compétences et en rend d'autres obsolètes. Par exemple, à une certaine époque il convenait de savoir programmer en assembleur et il n'était pas question, jusqu'à une date récente, de HTML. En tout état de cause, il est clair que cela inclut, fin 1996 : 1. Apprendre à programmer.C'est,
évidemment, la compétence fondamentale du hacker.
En 1997, le langage à connaître absolument est le
C (mais ce n'est probablement pas celui qu'il faut
apprendre en premier). Mais vous n'êtes pas un hacker
(ni même juste un programmeur) si vous ne connaissez
qu'un seul langage. Il faut apprendre à penser à
la programmation en termes généraux, indépendamment
d'un langage particulier. Pour être un vrai hacker,
il faut être arrivé au point où vous pouvez apprendre
un nouveau langage en quelques jours, en faisant
le rapport entre ce qui est écrit dans le manuel
et vos propres connaissances. Cela signifie que
vous devez apprendre plusieurs langages très différents. 2. Installer un Unix libre et apprendre à s'en servir.Je vais supposer que vous possédez, ou que vous avez accès à un ordinateur personnel. Pour un débutant qui aspire à acquérir des compétences de hacker, l'action la plus importante à entreprendre est d'obtenir une copie de Linux ou d'un des clones de BSD, de l'installer sur une machine personnelle, et de le faire tourner. Bien sûr, il y a d'autres systèmes d'exploitation dans le monde à part Unix. Le problème, c'est qu'ils sont distribués sous forme de binaires. Vous ne pouvez pas lire le code, et encore moins le modifier. Apprendre à hacker sur une machine DOS ou Windows, ou sous MacOS, c'est comme d'apprendre à danser en étant plâtré des pieds à la tête. En plus, Unix est le système d'exploitation de l'Internet. On peut apprendre à utiliser l'Internet sans connaître Unix, mais on ne peut pas être un hacker de l'Internet sans le comprendre. C'est pour cette raison que la culture des hackers est à l'heure actuelles fortement Unix-centrique. (Ce n'a pas été toujours le cas, et quelques hackers âgés regrettent cet état de fait, mais la symbiose entre Unix et l'Internet est devenue suffisamment forte pour que même Microsoft semble s'y casser les dents.) Donc, installez un Unix (j'aime bien personnellement Linux mais d'autres choix sont possibles). Apprenez-le. Faites-le tourner. Parlez à l'Internet avec. Lisez le code. Modifiez le code. Vous trouverez de meilleurs outils de programmation (y compris C, Lisp, Perl) que sous n'importe quel système d'exploitation de Microsoft, vous vous amuserez, et vous en tirerez plus de connaissances que ce que vous avez l'impression d'apprendre, jusqu'à ce que vous deveniez un vrai maître hacker. Pour en savoir plus sur comment apprendre Unix, voir The Loginataka. Pour obtenir Linux, voir Where To Get Linux [En français, allez voir sur Freenix, ou Loria, NDT]. 3. Apprendre à utiliser le World Wide Web et à écrire en HTML.La plupart des choses créées par la culture des hackers travaillent dans l'ombre, en aidant à faire tourner des usines, des bureaux et des universités, sans impact direct sur les vies des non-hackers. Il y a une grosse exception, le Web, ce jouet de hacker énorme et lumineux dont même les politiciens admettent qu'il est en train de changer la face du monde. Rien que pour cette raison (et pour de bonnes raisons par ailleurs), vous devez apprendre à travailler avec le Web. Cela ne signifie pas seulement apprendre à utiliser un browser [navigateur, butineur, NDT], mais aussi apprendre à écrire en HTML, le langage de balisage du Web. Si vous ne savez pas programmer, le fait d'écrire en HTML vous apprendra quelques habitudes mentales qui vous aideront à démarrer. Donc, faites-vous une home page [page personnelle, NDT]. Mais ce n'est pas seulement d'avoir une home page qui fera de vous un hacker. Le Web est plein de home pages. La plupart sont d'un intérêt absolument nul, parfois jolies à regarder mais nulles quand même (pour plus d'information voir The HTML Hell Page). Pour être utile, votre page doit avoir du contenu. Elle doit être intéressante et/ou utile pour les autres hackers. Cela nous conduit à notre sujet suivant... Les statuts dans la culture des hackersComme pour la plupart des cultures sans économie monétaire, le fondement de la culture des hackers est la réputation. Vous essayez de résoudre des problèmes intéressants, mais seuls vos pairs ou vos supérieurs dans la hiérarchie technique sont à même de juger si ces problèmes sont intéressants, et si ces solutions sont vraiment correctes. Par conséquent, si vous jouez le jeu du hacker, vous apprenez le score principalement à partir de ce que les autres hackers pensent de vos capacités, et c'est pour ça que l'on n'est vraiment un hacker que lorsque les autres hackers vous considèrent comme tel. Ce fait est obscurci par l'image du hacker comme un travailleur solitaire, aussi bien que par un tabou de la culture des hackers (qui s'estompe progressivement mais qui reste présent) : le fait d'admettre qu'une partie de sa motivation vient de son ego ou de la recherche d'une acceptation externe. De façon spécifique, le monde des hackers constitue ce que les anthropologues appellent une culture du don. On obtient un statut ou une réputation non pas en dominant les autres, en étant beau ou en possédant des choses que les autres désirent, mais en faisant des dons : de son temps, de sa créativité, du résultat de ses compétences. Il y a principalement cinq types de choses à faire pour être respecté par les hackers : 1. Ecrire des logiciels libres.La première, la plus centrale et la plus traditionnelle, est d'écrire des programmes dont les autres hackers pensent qu'ils sont amusants ou utiles, est de faire don du code source pour que toute la communauté des hackers puisse les utiliser. Les "demi-dieux'' les plus respectés dans l'univers des hackers sont ceux qui ont écris des programmes importants, utiles, qui correspondent à un besoin répandu, et qui en ont fait don à la communauté, de sorte que maintenant tout le monde s'en sert. 2. Aider à tester et à débugger des logiciels libres.Il est également utile d'aider à débugger et à perfectionner les logiciels libres. Dans ce monde imparfait, nous passons inévitablement la part la plus importante du temps de développement d'un logiciel dans la phase de débuggage. C'est pour cela que les auteurs de logiciels libres savent que des bons béta-testeurs (ceux qui savent décrire les symptômes clairement, localiser précisément les problèmes, qui peuvent tolérer quelques bugs dans une distribution rapide et qui sont prêt à appliquer une procédure de diagnostic simple) valent leur pesant d'or. Un seul d'entre eux peut faire la différence entre une séance de débuggage cauchemardesque et une simple nuisance salutaire. Si vous êtes un débutant, essayez de trouver un programme en cours de développement qui vous intéresse et de devenir un bon béta-testeur. C'est une progression naturelle que de commencer par aider à tester des programmes, puis d'aider à les débugger, puis d'aider à les modifier. Vous apprendrez beaucoup de cette façon, et vous vous ferez un bon karma par rapport à des gens qui vous aideront plus tard. 3. Publier des informations utiles.Une
autre bonne chose est de réunir et de filtrer des
informations utiles et intéressantes sous forme
de pages Web ou de documents comme les FAQs (listes
de Frequently Asked Questions, [en français, Foires
Aux Questions, NDT]) et de les rendre accessibles
à tous. 4. Aider à faire tourner l'infrastructure.La culture des hackers (et le développement technique de l'Internet) marche grâce à des volontaires. Il y a beaucoup de travail peu excitant, mais nécessaire, qui doit être fait pour que ça continue à tourner : administrer les mailing lists [listes de diffusion, NDT], modérer les newsgroups, gérer les sites d'archives de logiciels, écrire les RFC [Requests For Comments, les "normes'' de l'Internet] et autres standards techniques. Les gens qui font ce genre de choses sont très respectés, parce que tout le monde sait que c'est un boulot qui demande énormément de temps et qui n'est pas aussi drôle que de jouer avec du code. 5. Servir la culture des hackers elle-même.Pour finir, vous pouvez servir et propager la culture elle-même (par exemple, en écrivant une introduction précise [ou une traduction d'icelle, NDT] sur comment devenir un hacker :-)). ce n'est pas quelque chose qu'il vous sera possible de faire avant d'avoir été dans le bain pendant un certain temps et d'être devenu bien connu pour l'une des quatre premières choses. La culture des hackers n'a pas de chefs, au sens précis du terme, mais elle a des héros, des historiens et des porte-parole. Quand vous aurez été dans les tranchées pendant assez longtemps, vous pourrez peut-être devenir l'un de ceux-ci. Mais attention : les hackers se méfient des egos surdimensionnés chez les anciens de leur tribu. Il faut donc éviter de montrer ouvertement que l'on recherche à obtenir ce genre de célébrité. Il vaut mieux faire en sorte qu'elle vous tombe toute cuite dans votre assiette, et toujours rester modeste à sujet de votre statut. Le rapport entre les hackers et les nerdsContrairement à un mythe populaire, on n'a pas besoin d'être un nerd [polard, NDT] pour être un hacker. Cela aide, cependant, et de nombreux hackers sont en fait des nerds. D'être un proscrit social vous aide à vous concentrer sur les choses importantes, comme penser et hacker. C'est pour cette raison que de nombreux hackers ont adopté l'étiquette "nerd'' et utilisent même le terme plus cru de "geek'' comme un insigne honorifique; c'est une façon de déclarer leur indépendance vis-à-vis des attentes normales de la vie sociale. Voir The Geek Page pour une discussion exhaustive. Si vous arrivez à vous concentrer suffisamment sur le hack pour y exceller et vivre votre vie par ailleurs, tant mieux. C'est beaucoup plus facile à présent que lorsque j'étais un débutant. La culture dominante est beaucoup plus tolérante de nos jours vis-à-vis des techno-nerds. Il y a même un nombre croissant de gens pour penser que les hackers forment un matériel de premiers choix en tant que petit(e) ami(e)/mari/femme (consultez par exemple Girl's Guide to Geek Guys). Si vous voulez devenir un hacker parce que vous n'avez pas de vie privée, pas de problème : au moins il n'y aura rien pour vous empêcher de vous concentrer. Et vous finirez peut-être par en avoir une un jour. Style de vieEncore une fois, pour être un hacker, il faut entrer dans l'état d'esprit du hacker. Pour cela, il y a quelques activités que l'on pratique loin d'un ordinateur qui semblent aider. Ce ne sont évidemment pas des substituts à la pratique de l'informatique, mais de nombreux hackers les pratiquent, et pensent qu'elles sont reliées de façon fondamentale à l'essence du hack.
Plus vous pratiquez ces disciplines, plus il est probable que vous pourrez naturellement faire un bon hacker. Les raisons pour lesquelles ces activités sont importantes ne sont pas claires, mais il semble que ce soit parce qu'elles font intervenir à la fois les parties gauche et droite du cortex (les hackers ont besoin de passer de façon instantanée d'un raisonnement logique à une perception plus subjective d'un problème). Pour finir, une liste de choses à ne pas faire:
La seule réputation que vous vous ferez de cette façon est celle d'un parfait idiot. Les hackers ont la mémoire longue. Cela pourra vous prendre plusieurs années avant que de telles erreurs soient oubliées. Autres ressourcesLe
Loginataka
[en anglais, NDT] parle un peu de l'entraînement
et de l'attitude du hacker Unix. Foire Aux QuestionsQ: Est-ce que pouvez m'apprendre à hacker?Petit hacker deviendra grand Q: Où puis-je trouver des vrais hackers pour discuter avec eux?Sûrement pas sur IRC, en tout cas. Il n'y a que des flammeurs et des crackers, à perte de vue. Le mieux est de contacter un groupe local d'utilisateurs d'Unix ou de Linux et d'aller à leurs réunions (on peut en trouver une liste sur la page Linux Users' Group de Sunsite). Q: Quel langage dois-je apprendre en premier?HTML, si vous ne le connaissez pas déjà. On trouve plein de livres à la couverture brillante et chamarrée sur HTML, qui sont par ailleurs très mauvais, et très peu de bons. Celui que je préfère est HTML: The Definitive Guide. [En français, on trouvera une bonne introduction (non technique) dans l'article du micro-bulletin Concevoir et faire vivre des sites Web, NDT.] Si vous voulez commencer à programmer, je vous conseille de commencer par Perl ou par Python. Le C est vraiment important, mais beaucoup plus difficile. Q: Par où dois-je commencer? où puis-je trouver un Unix libre?J'ai inclus ailleurs dans cette page des pointeurs sur comment obtenir linux. Pour devenir un hacker, il vous faut de la motivation, le sens de l'initiative et la capacité à apprendre par vous-même. Alors, c'est le moment ou jamais. |