Comment devenir un hacker

  1. Accueil
  2. Comment devenir un hacker

Ce texte est issu de l’article en anglais de Eric Steven Raymond « How To Become A Hacker »

Il explique notamment l’historique et la psychologie du hacking selon son point de vue. Si vous êtes intéressé pour apprendre la sécurité informatique (ethical hacking) dans un guide complet, je vous propose Les Bases de la Sécurité Informatique.

https://www.youtube.com/watch?v=43baAbAZhFM

Qu’est-ce qu’un hacker?

Il existe un tas de définitions du terme «hacker», la plupart ayant à voir avec des compétences techniques et un délice à résoudre les problèmes et surmonter les limites. Si vous voulez savoir comment devenir un hacker, cependant, seulement deux sont vraiment pertinentes.

Il y a une communauté, une culture partagée, de programmeurs experts et assistants de réseautage qui retracent son histoire à travers des décennies depuis les premiers mini-ordinateurs en temps partagé et les premières expériences ARPAnet. Les membres de cette culture sont à l’origine du terme «hacker».

Les hackers ont construit l’Internet. Les hackers ont rendu le système d’exploitation Unix ce qu’il est aujourd’hui. Les hackers font fonctionner le World Wide Web. Si vous faites partie de cette culture, si vous avez contribué à cette culture et si d’autres personnes dans le domaine vous appellent un hacker, alors vous êtes un hacker.

L’état d’esprit du hacker ne se limite pas à cette culture du hacking-logiciel. Il y a des personnes qui appliquent l’attitude du hacker à d’autres choses, comme à l’électronique ou à la musique – en fait, vous pouvez la trouver dans les niveaux les plus élevés de n’importe quelle science ou de n’importe quel art.

Certains hackers affirment que la nature d’un hacker est vraiment indépendante du milieu dans lequel ils travaillent. Mais dans le reste de ce document, nous allons mettre l’accent sur les compétences et les attitudes des hackers de logiciels, et les traditions de la culture partagée dont est né le terme « hacker ».

Il y a un autre groupe de personnes qui se disent haut et fort « hackers », mais qui n’en sont pas. Ce sont des personnes (surtout des adolescents) qui se mettent à hacker des systèmes informatiques ou téléphoniques. Les véritables hackers appellent ces personnes des «crackers» et ne veulent pas être liées avec elles. Les vrais hackers pensent surtout que ces crackers sont paresseux, irresponsables et pas très brillants, et le fait d’être en mesure de briser la sécurité d’un système ne fait pas de vous un hacker comme câbler des voitures ne fait pas de vous un ingénieur automobile. Malheureusement, de nombreux journalistes et écrivains confondent encore ces définitions et utilisent le terme «hacker» pour décrire ces personnes, ce qui irrite bien entendu les vrais hackers.

La différence fondamentale est la suivante: les hackers construisent des choses, les crackers les cassent.

Si vous voulez être un hacker, continuez à lire. Si vous voulez être un cracker, allez lire le groupe de discussion alt.2600 et préparez-vous à faire cinq à dix ans de prison après avoir découvert que vous n’êtes pas aussi intelligent que vous ne le pensiez. Je n’en dirai pas plus sur ces personnes.

L’attitude du Hacker

Les hackers résolvent des problèmes et construisent des choses, ils croient en la liberté et l’entraide volontaire. Pour être accepté comme un hacker, vous devez vous comporter comme si vous avez ce genre d’attitude vous-même. Et pour vous comporter comme si vous avez cette attitude, vous devez croire vraiment à cette attitude.

Mais si vous pensez que cultiver l’attitude des hackers et juste un moyen pour vous faire accepter dans la culture, vous vous trompez. Devenir le genre de personne qui croit en ces choses est important pour vous – pour vous aider à apprendre et maintenir votre motivation. Comme pour tous les arts créatifs, la façon la plus efficace de devenir un maître est d’imiter l’état d’esprit des maîtres – non seulement intellectuellement mais émotionnellement aussi.

Ou, comme le poème Zen moderne suivant le dit:

Pour suivre le chemin:
regardez vers le maître,
suivez le Maître,
marchez avec le maître,
voyez à travers le maître,
devenez le maître.

Donc, si vous voulez être un hacker, répétez vous les choses suivantes jusqu’à ce que vous y croyez:

1. Le monde est plein de problèmes fascinants qui attendent d’être résolus.

Être un hacker est très amusant, mais c’est une sorte de plaisir qui prend beaucoup d’effort. L’effort demande de la motivation. Les athlètes qui réussissent obtiennent leur motivation d’une sorte de plaisir physique à exécuter des mouvements avec leurs corps, en surpassant leurs propres limites physiques. De même, pour être un hacker, vous devez obtenir un frisson de base à résoudre des problèmes, à aiguiser vos compétences et à exercer votre intelligence.

Si vous n’êtes pas le genre de personne qui se sent de cette façon naturellement, vous aurez besoin de l’être afin de l’adapter à l’esprit hacker. Sinon, vous énergie va se retrouver sapée par des distractions comme le sexe, l’argent, et l’approbation sociale.

(Vous devez également développer une sorte de foi en votre propre capacité d’apprentissage – une croyance que même si vous ne pouvez pas savoir tout ce dont vous avez besoin pour résoudre un problème, si vous abordez juste un morceau de celui-ci et commencez par ça, vous en apprendrez assez pour résoudre le morceau suivant – et ainsi de suite, jusqu’à ce que vous avez terminé)

2. Aucun problème ne devrait avoir besoin d’être résolu deux fois.

Les cerveaux créatifs sont une ressource limitée et précieuse. Elles ne doivent pas être gaspillées à réinventer la roue quand il y a tant de nouveaux problèmes fascinants qui attendent plus loin.

Pour se comporter comme un hacker, vous devez savoir que le temps que les autres hackers ont passé à penser est précieux – à tel point que c’est presque un devoir moral pour vous de partager l’information, résoudre des problèmes et de donner ensuite les solutions juste pour que les autres hackers puissent résoudre de nouveaux problèmes au lieu de devoir perpétuellement ré-aborder les anciens.

Notez, cependant, que « Aucun problème ne devrait jamais avoir à résoudre deux fois » ne signifie pas que vous devez considérer toutes les solutions existantes comme sacrées, ou qu’il n’y a qu’une seule bonne solution à un problème donné. Souvent, nous apprenons beaucoup de choses sur le problème que nous ne connaissions pas auparavant, en étudiant la première partie d’une solution. C’est OK, et souvent nécessaire, pour se dire que nous pouvons faire mieux. Ce qui n’est pas OK sont les barrières artificielles techniques, juridiques ou institutionnelles (comme le code source fermé) qui empêchent les bonnes solutions d’être réutilisées et forcent les gens à réinventer les roues.

(Vous n’avez pas à croire que vous êtes obligé de donner tous vos produits créatifs de suite, en pensant que les hackers qui le font sont ceux qui obtiennent le plus de respect des autres hackers. C’est compatible avec les valeurs des hackers de vendre suffisamment pour payer la nourriture, le loyer et les ordinateurs. C’est bien d’utiliser vos compétences en hacking pour soutenir votre famille ou même devenir riche, aussi longtemps que vous n’avez pas oublié votre fidélité à votre art et à vos camarades hackers tout en le faisant.)

3. L’ennui et la pénibilité sont mauvais.

Les hackers (et les gens créatifs en général) ne devraient jamais être ennuyé ou avoir un dur travail répétitif et stupide, parce que quand cela arrive, cela signifie qu’ils ne font pas ce qu’ils peuvent seulement faire – résoudre de nouveaux problèmes. Ce gaspillage blesse tout le monde. Par conséquent l’ennui et les corvées ne sont pas seulement désagréables, mais carrément diaboliques.

Pour se comporter comme un hacker, vous devez croire à cela suffisamment pour vouloir automatiser chaque morceau, autant que possible, non seulement pour vous mais pour tout le monde (surtout les autres hackers).

(Il y a une exception apparente à cette question. Les hackers vont parfois faire des choses qui peuvent sembler répétitives ou ennuyeuses, mais il s’agit de faire un exercice mental, ou dans le but d’acquérir une compétence ou avoir une expérience particulière que vous ne pouvez pas avoir autrement . Mais c’est par choix – personne qui peut penser ne devrait jamais être poussé dans une situation qui l’ennuie).

4. La liberté est bonne.

Les hackers sont naturellement anti-autoritaire. N’importe qui pouvant vous donner des ordres peut vous empêcher de résoudre n’importe quel problème qui vous fascine – et, étant donné la façon dont l’esprit autoritaire travaille, il va généralement trouver une raison effroyablement stupide de le faire. Donc l’attitude autoritaire doit être combattue partout où vous la trouvez, de peur qu’elle vous étouffe, vous et d’autres hackers.

(Ce n’est pas la même chose que la lutte contre toute autorité. Les enfants ont besoin d’être éduqués et les criminels arrêtés. Un hacker peut accepter certains types d’autorité pour obtenir quelque chose qu’il désire plus vite au risque de perdre du temps à écouter des ordres.).

Les autorités prospèrent sur la censure et le secret. Et elles se méfient de la coopération volontaire et du partage d’informations – elles aiment seulement la «coopération» qu’elles contrôlent. Donc, pour se comporter comme un hacker, vous devez développer une hostilité instinctive à la censure, au secret et au recours à la force ou la tromperie pour contraindre des adultes responsables. Et vous devez être prêt à agir en fonction de cette croyance.

5. L’attitude n’est pas un substitut de la compétence.

Pour être un hacker, vous devez développer certaines de ces attitudes. Mais avoir l’attitude ne suffira pas à faire de vous un hacker, pas plus qu’elle ne fera de vous un champion sportif ou une rock star. Devenir un hacker demande de l’intelligence, de la pratique, du dévouement et du travail acharné.

Par conséquent, vous devez apprendre à vous méfier de l’attitude et respecter les compétences de toutes sortes. Les hackers ne vont pas perdre leur temps pour les frimeurs, mais ils adorent les compétences – en particulier la compétence en hacking, mais la compétence peu importe son genre est valorisée. Les compétences exigeantes que peu de gens peuvent maîtriser sont particulièrement bonnes, et la compétence qui implique l’acuité mentale, l’artisanat, et la concentration est la meilleure.

Si vous vénérez la compétence, vous aurez le plaisir à la développer en vous-même – le travail acharné et le dévouement deviendront une sorte de jeu intense plutôt que corvée. Cette attitude est essentielle pour devenir un hacker.

Compétences en hacking de base

L’attitude du hacker est vitale, mais les compétences sont encore plus vitales. L’attitude n’est pas un substitut pour la compétence, et il y a une certaine boîte à outils de compétences de base que vous devez détenir avant que tout autre hacker puisse vous appeler aussi « hacker ».

Cette boîte à outils change lentement au fil du temps puisque la technologie crée de nouvelles compétences et rend obsolète les anciennes. Par exemple, elle inclut généralement la programmation en langage machine, et n’a pas jusqu’à présent impliqué le langage HTML. Mais en ce moment on comprend assez clairement ce qui suit:

1. Apprenez à programmer.

Ceci, bien sûr, est la compétence fondamentale du hacking. Si vous ne connaissez pas encore un langage informatique, je recommande de commencer avec Python. Il est bien conçu, bien documenté, et relativement bon pour les débutants. En dépit d’être un bon premier langage, ce n’est pas juste un jouet, il est très puissant, souple et bien adapté pour les grands projets. De bons tutoriels sont disponibles sur le site Web de Python .

J’avais l’habitude de recommander Java comme un bon langage à apprendre au début, mais cette critique (en anglais) a changé mon esprit. Un hacker ne peut pas, comme on le dit si bien « approcher la résolution d’un problèmes comme un plombier dans une quincaillerie », vous devez savoir ce que les composants font réellement. Maintenant, je pense qu’il est probablement préférable d’apprendre le C et Lisp d’abord, puis Java.

Il y a peut-être un point plus général ici. Si un langage en fait trop pour vous, il peut être à la fois un bon outil de production et un mauvais pour l’apprentissage. Il n’y a pas que les langages qui sont concernés par ce problème;les  frameworks d’applications web comme RubyOnRails, CakePHP, Django peuvent amener à une compréhension superficielle trop rapidement, qui vous laissera sans ressources lorsque vous aurez à résoudre un problème difficile, ou même simplement déboguer une solution facile.

Si vous vous mettez à la programmation sérieuse, vous aurez à apprendre le C, le langage de base d’Unix. C + + est très étroitement lié à C, si vous connaissez un, l’apprentissage de l’autre ne sera pas difficile. Cependant, ni l’un ni l’autre est meilleur à apprendre en premier. Et, en fait, plus vous pouvez éviter la programmation en C plus vous serez productif.

C est très efficace, et très économe en ressources de votre machine. Malheureusement, cette efficacité vous oblige à en faire beaucoup à la main, notamment niveau mémoire. Tout ce qui est code de bas niveau est complexe, sujet aux bugs, et demandera des quantités énormes de votre temps pour déboguer. Avec les machines d’aujourd’hui aussi puissantes qu’elles sont, c’est généralement un mauvais compromis – il est plus intelligent d’utiliser un langage qui utilise le temps de la machine de manière moins efficace, mais votre temps plus efficacement. Comme Python.

D’autres langages revêtent une importance particulière pour les hackers comme Perl et LISP . Perl vaut le coup d’être appris pour des raisons pratiques, il est très largement utilisé pour les pages Web dynamiques et l’administration système, de sorte que même si vous n’écrivez jamais en Perl vous devriez apprendre à le lire. Beaucoup de gens utilisent Perl dans la façon dont je suggère que vous devez utiliser Python, pour éviter de programmer en C pour les tâches qui ne nécessitent pas l’efficacité de la machine. Vous devriez être en mesure de comprendre leur code.

LISP vaut le coup d’être appris pour une autre raison – l’expérience d’illumination profonde que vous aurez quand vous l’aurez finalement compris. Cette expérience fera de vous un meilleur programmeur pour le reste de vos jours, même si vous n’avez jamais vraiment utilisé LISP. (Vous pouvez obtenir une certaine expérience de débutant avec LISP assez facilement en écrivant et en modifiant les modes d’édition pour l’éditeur de texte Emacs, ou le plugin Script-Fu pour GIMP.)

Il vaut mieux, en fait, apprendre les cinq langages : Python, C / C + +, Java, Perl et LISP. En plus d’être les langages des hackers les plus importants, ils représentent des approches très différentes de la programmation, et chacun peut vous informer de manière précieuse.

Mais sachez que vous ne pourrez pas atteindre le niveau de compétence d’un hacker ou même simplement d’un programmeur en accumulant simplement des langages de programmation- vous avez besoin d’apprendre à réfléchir aux problèmes de programmation d’une manière générale, indépendamment de tout langage. Pour être un vrai hacker, vous devez vous rendre au point où vous pouvez apprendre un nouveau langage en quelques jours en mettant en relation ce qu’il y a dans le manuel avec ce que vous savez déjà. Cela signifie que vous devriez apprendre plusieurs langages très différents.

Je ne peux pas donner des instructions complètes sur la façon d’apprendre à programmer ici – c’est une compétence complexe. Mais je peux vous dire que les livres et les cours ne le feront pas – beaucoup, peut-être que la plupart des meilleurs hackers sont autodidactes. Vous pouvez apprendre les fonctionnalités du langage – des morceaux de connaissances – à partir de livres, mais l’état d’esprit qui transforme les connaissances en compétences réelles ne s’apprend que par la pratique et l’apprentissage. Ce qu’il faut faire, c’est (de un) lire le code et (de deux) écrire le code.

Peter Norvig, qui est l’un des meilleurs hackers de Google et le co-auteur du manuel le plus largement utilisé sur l’intelligence artificielle, a écrit un excellent essai intitulé Teach Yourself programmation in Ten Years . Sa «recette pour le succès en programmation» mérite une attention toute particulière.

Apprendre à programmer, c’est comme apprendre à écrire correctement dans sa langue natale. La meilleure façon de le faire est de lire des trucs écrits par des maîtres dans le domaine, d’écrire quelque chose vous-même, de lire beaucoup plus, écrire un peu plus, lire beaucoup plus, écrire un peu plus … et répéter cela jusqu’à ce que votre écriture commence à développer le genre de force et d’économie que vous voyez dans vos modèles.

Trouver du bon code à lire à tendance à être difficile, car il y avait peu de grands programmes disponibles permettant aux hackers débutants de lire et bricoler. Cette situation a radicalement changé, les systèmes et logiciels open-source, les outils de programmation et systèmes d’exploitation (tous construits par des hackers) sont maintenant largement disponibles. Ce qui fait la transition parfaite vers notre sujet suivant …

2. Obtenez une des distributions Unix et apprenez à l’utiliser et à l’exécuter.

Je vais supposer que vous avez un ordinateur personnel ou que vous pouvez obtenir l’accès à l’un d’eux. (Prenez un moment pour apprécier ce que cela représente. La culture des hackers originale évoluait en arrière quand les ordinateurs étaient tellement chers que les individus ne pouvaient pas en posséder.) L’étape la plus importante que tout débutant peut prendre en vue d’acquérir des compétences de hacker est d’obtenir une copie de Linux ou l’un des BSD-Unix, l’installer sur une machine personnelle, et la lancer.

Oui, il existe d’autres systèmes d’exploitation dans le monde. Mais ils sont distribués sous forme binaire – vous ne pouvez pas lire le code, et vous ne pouvez pas le modifier. Essayer d’apprendre à hacker sur une machine Windows ou sur tout autre système à code source fermé, c’est comme essayer d’apprendre à danser tout en portant un corset de plâtre.

Sous Mac OS X, c’est possible, mais seulement une partie du système est open source – vous êtes susceptible de rencontrer beaucoup de difficultés et vous devrez faire attention à ne pas développer la mauvaise habitude de dépendre du code propriétaire d’Apple. Si vous vous concentrez sur Unix, vous pouvez apprendre des choses utiles.

Unix est le système d’exploitation de l’Internet. Même si vous pouvez apprendre à utiliser Internet sans connaître Unix, vous ne pouvez pas être un hacker de l’Internet sans comprendre Unix. Pour cette raison, la culture des hackers d’aujourd’hui est assez fortement centrée sur Unix. (Ce n’était pas toujours vrai, et certains hackers d’autrefois ne sont toujours pas heureux à ce sujet, mais la symbiose entre Unix et Internet est devenue assez forte à tel point que même les muscles de Microsoft ne semble pas être en mesure de l’altérer)

Donc, mettez en place un système Unix – Linux j’aime moi-même Linux mais il y a d’autres alternatives (et oui, vous pouvez exécuter Linux et Windows sur la même machine). Apprenez-le. Lancez-le. Bricoler-le. Utilisez Internet avec lui. Lisez le code. Modifiez le code. Vous obtiendrez de meilleurs outils de programmation (y compris C, Lisp, Python et Perl) que n’importe quel autre système d’exploitation comme Microsoft ne peut rêver d’héberger, vous en tirerez du plaisir, et vous acquerrez plus de connaissances que vous ne le pensez jusqu’au moment où vous regarderez en arrière sur ce que vous avez fait, comme un hacker maître.

Pour en savoir plus sur l’apprentissage Unix, voir Le Loginataka (anglais). Vous pouvez également jeter un œil à L’Art de la programmation UNIX (anglais).

Pour prendre en main Linux, consultez le site de Linux en ligne! ; vous pouvez télécharger à partir de là ou (meilleure idée) trouver un groupe d’utilisateurs Linux local pour vous aider sur l’installation.

Pendant les dix premières années de la vie de ce guide, j’ai remarqué que, du point de vue d’un nouvel utilisateur, toutes les distributions Linux sont presque équivalentes. Mais en 2006-2007, un meilleur choix actuel a émergé: Ubuntu . Alors que d’autres distributions ont leurs propres points forts, Ubuntu est de loin le plus accessible pour les débutants sous Linux. Attention, cependant, à l’interface de bureau hideuse et inutilisable appelée « Unity » que Ubuntu utilisait par défaut il y a quelques années, les variantes Xubuntu ou Kubuntu sont meilleures.

Vous pouvez trouver de l’aide et des ressources Unix BSD ici : www.bsd.org .

Une bonne façon de mettre la main à la pâte est de démarrer ce que les fans de Linux appellent un live CD , une distribution qui fonctionne entièrement à partir d’un CD sans avoir à modifier votre disque dur. Ça sera lent, car les CD sont lents, mais c’est un moyen d’obtenir une vue sur les possibilités sans avoir à faire quoi que ce soit de drastique.

J’avais l’habitude de recommander de ne pas installer Linux ou BSD comme un projet solo si vous êtes un débutant. Aujourd’hui, les installateurs sont devenus suffisamment bons pour que tout faire vous-même soit possible, même pour un débutant. Néanmoins, je continue de recommander la prise de contact avec un groupe d’utilisateurs local de Linux et demander de l’aide. Ça ne peut pas faire de mal, et peut faciliter le processus.

3. Apprenez à utiliser le World Wide Web et à écrire en HTML.

La plupart des choses que la culture des hackers a permis de faire vient d’un travail hors de la vue, caché, en aidant les usines et les universités, sans impact évident sur la façon dont les non-hackers vivent au quotidien. Le Web est la seule grande exception, cet énorme jouet pour un hacker brillant dont même les politiciens admettent qu’il a changé le monde. Pour cette seule raison (et pour beaucoup d’autres toutes aussi bonnes), vous devez apprendre à travailler avec le Web.

Cela ne signifie pas seulement apprendre à lancer un navigateur (n’importe qui peut le faire), mais apprendre à écrire en HTML, le langage de balisage du Web. Si vous ne savez pas comment programmer, écrire du HTML vous donnera quelques habitudes mentales qui vous aideront à apprendre. Donc, construisez une page d’accueil. Essayez de vous coller à XHTML, qui est un langage plus propre que le HTML classique. (Il y a de bons tutoriels pour débutants sur le Web.)

Mais juste avoir une page d’accueil ne suffit pas à faire de vous un bon hacker. Le Web est plein de pages d’accueil. La plupart d’entre elles sont d’ailleurs inutiles, des daubes avec zéro contenu – des daubes élégantes certes, mais toujours des

daubes. Pour être utile, votre page doit avoir un contenu – elle doit être intéressante et / ou utile pour les autres hackers. Et cela nous amène au point suivant…

4. Si vous n’avez pas un anglais fonctionnel, apprenez-le.

En tant qu’Américain natif et anglophone moi-même, j’ai déjà été réticent à suggérer cela, car ça peut être considéré comme une sorte d’impérialisme culturel. Mais plusieurs locuteurs natifs d’autres langues m’ont bien souligné que l’anglais est la langue de base de la culture hacker et de l’Internet, et que vous aurez besoin de le savoir pour vous faire comprendre dans la communauté des hackers.

Vers 1991, j’ai appris que de nombreux hackers qui connaissaient l’anglais en tant que seconde langue l’utilisaient dans des discussions techniques, même quand ils parlaient en même temps avec leur langue de naissance, il m’a été rapporté à l’époque que l’anglais a un vocabulaire technique plus riche que toute autre langue et, ce qui en fait donc un meilleur outil pour le travail.

Linus Torvalds, un Finlandais, commente son code en anglais (il n’a apparemment jamais eu l’idée de faire autrement). Sa maîtrise de l’anglais a été un facteur important dans sa capacité à recruter une communauté mondiale de développeurs pour Linux. C’est un exemple à suivre.

Si vous ne pouvez pas encore écrire correctement à l’heure actuelle, apprenez à le faire.

Statut dans la culture hacker

Comme la plupart des cultures sans économie monétaire, les hackers fonctionnent sur la réputation. Vous essayez de résoudre des problèmes intéressants, mais observez surtout à quels points ils sont intéressants, et si vos solutions semblent vraiment bonnes, c’est quelque chose que seuls vos pairs techniques ou supérieurs seront en mesure de juger.

Par conséquent, lorsque vous jouez le jeu des hackers, vous apprenez à baser votre estimation personnelle principalement sur ce que les autres hackers pensent de vos compétences (c’est pourquoi vous n’êtes pas vraiment un hacker tant que d’autres hackers ne vous appellent pas constamment ainsi). Ce fait est obscurci par l’image du hacking en solitaire; également par un tabou hacker-culturel (en déclin progressif depuis la fin des années 1990, mais encore présent) contre admettant que l’ego ou la validation personnelles soit liée au point de vue des autres.

Plus précisément, les hackers sont ce que les anthropologues appellent une culture du don. Vous gagnez un statut et une réputation non pas en dominant les autres, ni en étant beau, ni en ayant des choses que les gens veulent, mais plutôt par le fait de donner des choses. Plus précisément, en donnant de votre temps, de votre créativité, et les résultats de vos compétences.

Il existe cinq types de choses que vous pouvez faire pour être respecté par les hackers:

1. Mettez votre logiciel en open-source

La première (la plus centrale et la plus traditionnelle) consiste à écrire des programmes que d’autres hackers voient comme amusants ou utiles, et donner les sources du programme pour que l’ensemble de la culture hacker puisse l’utiliser.

(On appelait d’abord ces œuvres des «logiciels libres», mais trop de gens étaient confus et n’étaient pas sûr de ce que «libre» était censé signifier. La plupart d’entre nous préfèrent maintenant le terme  » logiciel open-source » ).

Les demi-dieux les plus vénérés des hackers sont des gens qui ont écrit de grands programmes qui répondaient à un besoin généralisé, de sorte que maintenant tout le monde les utilise.

Mais il y a un petit point de vue historique ici. Alors que les hackers ont toujours admiré les développeurs open source comme étant des bases solides de la communauté, avant le milieu des années 1990, la plupart des hackers travaillaient sur des codes sources fermés. Cela était encore vrai quand j’ai écrit la première version de ce guide pratique en 1996, j’ai rajouté l’intégration de logiciels open-source après 1997 pour changer les choses. Aujourd’hui, « la communauté des hackers » et « développeurs open-source » sont deux descriptions de ce qui est essentiellement la même culture et la même population – mais il est bon de rappeler que ce n’était pas toujours le cas.

2. Aider à tester et déboguer des logiciels open-source

Les hackers mettent également leur savoir en œuvre pour aider à déboguer les logiciels open-source. Dans ce monde imparfait, nous allons inévitablement passer la plupart de notre temps de développement de logiciels à déboguer les codes et programmes. C’est pourquoi un auteur open-source vous dira généralement que les bons beta-testeurs (qui savent décrire les symptômes clairement, localiser des problèmes correctement, et sont prêts à appliquer quelques routines de diagnostic simples) valent de l’or.

Si vous êtes un débutant, essayez de trouver un programme en cours de développement qui vous intéresse et soyez un bon bêta-testeur. Il y a une progression naturelle entre aider à déboguer les programmes et aider à les modifier. Vous apprenez beaucoup de cette façon, et vous générerez un bon karma avec des gens qui vous aideront plus tard.

3. Publier des informations utiles

Une autre bonne chose est de filtrer et recueillir l’information utile et intéressante dans des pages Web ou des documents tels que les Foire aux questions (FAQ).

Les responsables des principales FAQs techniques obtiennent presque autant de respect que les auteurs open-source.

4. Contribuer à maintenir l’infrastructure en fonction

La culture des hackers (et le développement de l’ingénierie de l’Internet, d’ailleurs) est gérée par des bénévoles. Il y a beaucoup de travail nécessaire, pour que les choses se maintiennent telles quelles -comme l’administration des listes de diffusion, la modération des groupes de discussion, le maintien de grands sites d’archivage de logiciels, développer des RFC et autres normes techniques.

Les gens qui font ce genre de chose obtiennent beaucoup de respect, parce que tout le monde sait que ces emplois sont demandent énormément de temps et ne sont pas aussi amusants que de jouer avec le code. Les faire montre de dévouement.

5. Servir la culture des hackers elle-même

Enfin, vous pouvez servir et propager la culture elle-même (par exemple, l’écriture d’une amorce précise sur comment devenir un hacker :-)). Ce n’est pas quelque chose que vous êtes censé faire tant que vous n’avez pas fait le tour de tout et n’êtes pas devenu célèbre pour l’un de ces quatre premiers points.

La culture hacker n’a pas de leaders, exactement, mais il a les héros de la culture, des anciens, des historiens et porte-parole. Lorsque vous avez été dans les tranchées assez longtemps, vous pouvez progresser vers l’un de ces éléments. Attention: les hackers se méfient de l’égo flagrante chez leurs aînés, à tel point que ce genre de célébrité est dangereux. Plutôt que de rechercher cela, vous devriez rester modeste et content de votre statut.

La lien entre Hacker et Nerd

Contrairement à la croyance populaire, vous n’avez pas besoin d’être un nerd pour être un hacker. Cela aide, cependant, et de nombreux hackers sont en fait des nerds. Être quelque chose comme un cas social vous aide à rester concentré sur les choses vraiment importantes, comme la pensée et le hacking.

Pour cette raison, de nombreux hackers ont adopté l’étiquette «geek» comme un signe de fierté – c’est une façon de déclarer leur indépendance par rapport aux attentes sociales normales (ainsi que d’un penchant pour d’autres choses comme la science-fiction et de jeux de stratégie qui sont souvent liées au fait d’être un hacker). Le terme «nerd» était couramment utilisé pour décrire cela dans les années 1990, époque où «nerd» était un peu péjoratif tandis que «geek» l’était beaucoup, peu après 2000, la situation s’est inversée, au moins dans la culture populaire américaine, et il y a même maintenant une culture geek-pride importante chez les personnes non technophiles.

Si vous parvenez à vous concentrer suffisamment sur le hacking et à être bon dans ce domaine tout en ayant encore une vie, c’est bien. C’est beaucoup plus facile aujourd’hui que ça ne l’était quand j’étais un débutant dans les années 1970, la culture dominante est beaucoup plus respectueuse des techno-nerds maintenant. Il y a même un nombre croissant de personnes qui se rendent compte que les hackers sont souvent de gros romantiques et gentlemen.

Si vous êtes attiré par le hacking parce que vous n’avez pas une vie, c’est OK aussi – au moins vous n’aurez aucun mal à vous concentrer. Peut-être que vous aurez une vie plus tard.

Points concernant le style

Encore une fois, pour être un hacker, vous devez saisir l’état d’esprit des hackers. Il y a certaines choses que vous pouvez faire lorsque vous n’êtes pas devant un ordinateur, et qui semblent également aider. Ce ne sont pas des substituts du hacking (rien en est un), mais de nombreux hackers les font, et sentent qu’ils se connectent en quelque sorte avec l’essence de base du hacking.

  • Apprendre à bien écrire dans votre langue maternelle. Même si c’est un stéréotype commun que les programmeurs ne savent pas écrire, un nombre surprenant de hackers (y compris les plus respectés) sont des écrivains très compétents.
  • Lisez des livres de science-fiction. Allez aux conventions de science-fiction (un bon moyen de rencontrer des hackers et des proto-hackers).
  • Formez vous à une forme d’arts martiaux. Le genre de discipline mentale nécessaire pour les arts martiaux semble très similaire à ce que les hackers font. Les formes les plus populaires parmi les hackers sont certainement des Arts asiatiques à mains nues comme Tae Kwon Do, diverses formes de Karaté, Kung Fu, Aïkido, ou Ju Jitsu. L’escrime occidental et les arts d’épée asiatiques. Dans les endroits où c’est légal, le tir au pistolet a augmenté en popularité depuis la fin des années 1990. Les arts martiaux les plus « hacker-like » sont ceux qui mettent l’accent sur la discipline mentale, sur la détente, et le contrôle, plutôt que la force brute, l’athlétisme, ou l’endurance physique.
  • Étudiez une discipline de méditation réelle. L’éternel favori parmi les hackersest Zen (d’ailleurs, il est possible de bénéficier de Zen sans acquérir une religion ou rejeter celle que vous avez déjà). D’autres styles peuvent fonctionner tout aussi bien, mais attention à en choisir un qui ne vous oblige pas à croire à des choses folles.
  • Développez une oreille analytique pour la musique. Apprenez à apprécier des types particuliers de musique. Apprenez à jouer d’un instrument musical correctement, ou apprenez à chanter.
  • Développez votre appréciation des calembours et jeux de mots.

Plus vous faites déjà de choses citées plus haut, plus il est probable que vous soyez hacker dans l’âme. Pourquoi ces choses en particulier et pas d’autres n’est pas totalement clair, mais ils sont connectés avec un mélange de compétences des hémisphères droit et gauche du cerveau qui semble être important, les hackers doivent être capables à la fois de raisonner logiquement et sortir de la logique apparente d’un problème.

Travaillez aussi intensément que vous jouez et jouez aussi intensément que vous travaillez. Pour les vrais hackers, les frontières entre « jeu », « travail », « science » et « art » ont tous tendance à disparaître ou à se fondre dans un enjouement créatif de haut niveau. Aussi, ne vous contentez pas d’une gamme étroite de compétences. Bien que la plupart des hackers se présentent comme des programmeurs, ils sont très susceptibles d’être plus compétent dans des domaines connexes – l’administration système, la conception web et le dépannage du matériel PC sont les plus communs. Un hacker qui est un administrateur système, d’autre part, est susceptible d’être très habile à la programmation de script et au web design. Les hackers ne font pas les choses à moitié, s’ils investissent dans un domaine pour le bien de tous, ils ont tendance à devenir très bon dans ce domaine.

Enfin, quelques petites choses à ne pas faire.

  • Ne pas utiliser un nom d’utilisateur grandiose ou ridicule.
  • Ne pas se mêler dans des guerres (flame wars) sur Usenet (ou ailleurs).
  • Ne vous appelez pas vous-même un «cyberpunk», et ne perdez pas votre temps avec quelqu’un qui le fait.
  • Ne postez pas ou n’écrivez pas de mails qui sont plein de fautes d’orthographe et de grammaire.

La seule réputation que vous obtiendrez en faisant ces choses, est celle d’un crétin. Les hackers ont la mémoire longue – ça pourrait vous suivre pendant des années.

Le problème avec les noms d’affichage mérite une certaine amplification. Dissimuler son identité est un comportement caractéristique des crackers,  warez d00dz, et d’autres formes de vie inférieures. Les hackers ne font pas cela, ils sont fiers de ce qu’ils font et veulent associer ces compétences avec leurs vrais noms. Donc, si vous l’aviez fait, laissez tomber, ça ne vous mènera à rien de bon dans la culture hacker.

Note historique: Hacking, Open Source et logiciel libre

Lorsque j’ai écrit ce « how-to », fin 1996, certaines des conditions qui l’entourent étaient très différentes de la façon dont on les voit aujourd’hui. Quelques mots au sujet de ces changements peuvent aider à clarifier les choses pour les gens qui sont confus au sujet de la relation entre l’open source, les logiciels libres et Linux vis à vis de la communauté des hackers. Si vous n’êtes pas curieux à ce sujet, vous pouvez passer directement à la FAQ qui suit.

L’éthique hacker et la communauté comme je l’ai décrite ici est bien antérieure à l’émergence de Linux depuis 1990, je m’y suis impliqué vers 1976, et ses racines sont facilement traçables, elles remontent au début des années 1960. Mais avant Linux, le grosse parties du hacking a été effectuée sur des systèmes d’exploitation propriétaires ou sur une poignée de systèmes faits maison quasi-expérimentaux comme MIT SA qui n’ont jamais été déployé à l’extérieur de leurs niches académiques originelles. Bien qu’il y ait eu des tentatives (pré-Linux) de changer cette situation, leur impact a été, au mieux, très marginal et confiné à des communautés de vrais croyants dévoués qui étaient d’infimes minorités au sein même de la communauté des hackers, et encore plus infimes en ce qui concerne le reste du monde des logiciels en général.

Ce qui est maintenant appelé «open source» remonte à l’époque des premières communautés des hackers, mais jusqu’en 1985, c’était une pratique anonyme plutôt qu’un mouvement conscient des théories et manifestes qui s’y rattachent. Cette préhistoire a pris fin lorsque, en 1985, le hacker Richard Stallman (« RMS ») a essayé de lui donner un nom – «logiciel libre». Mais son acte de nomination était aussi un acte de prétendant,ce qu’une grande partie de la communauté des hackers existant n’ont jamais accepté. En conséquence, le label «logiciel libre» a été rejeté par une minorité substantielle de la communauté des hackers (surtout parmi ceux qui sont associés avec BSD Unix).

Malgré ces réserves, la demande de RMS de définir et de conduire la communauté des hackers sous la bannière du « logiciel libre » a été globalement maintenue jusqu’à la mi-1990. Elle a été sérieusement remise en cause par la montée de Linux. De nombreux projets émis dans des conditions que nous appellerions aujourd’hui open-source ont migré d’un Unix propriétaires vers Linux. La communauté autour de Linux a augmenté rapidement, devenant beaucoup plus vaste et plus hétérogène que la culture des hackers pré-Linux. RMS a résolument tenté de rassembler toute cette activité dans son mouvement de «logiciel libre», mais a été contrecarré par la diversité de la communauté Linux et le scepticisme du public de son fondateur, Linus Torvalds. Torvalds a continué à utiliser le terme «logiciel libre» par manque d’alternative, mais a rejeté publiquement l’idéologie de RMS. Beaucoup de jeunes pirates informatiques ont emboîté le pas.

En 1996, lorsque j’ai publié ce document, la communauté des hackers se réorganisait rapidement autour de Linux et une poignée d’autres systèmes d’exploitation open-source (notamment BSD Unix). Alors que la plupart d’entre nous qui avions passé des décennies à développer des logiciels à code source fermé sur les systèmes d’exploitation fermé n’avions pas encore commencé à nous dissiper, mais ce fait a déjà commencé à ressembler à une partie d’un passé révolu, les hackers étaient, de plus en plus, se définissant comme les hacker de leurs pièces jointes à des projets open-source tels que Linux ou Apache.

Le terme «open source», cependant, n’avait pas encore émergé, et n’émergera qu’en 1998. À ce moment, la plupart de la communauté des hackers l’ont adoptée dans les six mois qui suivaient, les exceptions n’étaient qu’une minorité idéologiquement attachée à l’expression «logiciel libre». Depuis 1998, et surtout après 2003 environ, l’identification de «hacking» avec «développement open-source (et de logiciels libres)» est devenu très proche. Aujourd’hui, il ne sert à rien d’essayer de faire la distinction entre ces catégories, et il semble peu probable que cela changera à l’avenir.

Il convient de rappeler, cependant, que ce n’était pas toujours le cas.

Foire aux questions

Q:

Comment puis-je savoir si je suis déjà un hacker?

R:

Posez-vous les trois questions suivantes:

  • Parlez-vous le code, couramment ?
  • Vous identifiez-vous avec les objectifs et les valeurs de la communauté des hackers?
  • Est-ce qu’un membre bien établi dans la communauté des hackers vous à déjà appelé « hacker » ?

Si vous pouvez répondre oui à ces trois questions, vous êtes déjà un hacker. Deux oui ne suffisent pas.

Le premier test est celui des compétences. Vous le passer probablement si vous avez les compétences techniques minimales décrites plus haut dans ce document. Vous y êtes à 200% si vous avez déjà eu des parties de votre code acceptées en tant que développement d’un projet open source.

Le deuxième test est une question d’attitude. Si les cinq principes de la mentalité du hacker semblaient évidents pour vous, un peu comme une description de la façon dont vous vivez déjà, vous êtes alors déjà à mi-chemin vers son adoption. Il reste à voir le degré auquel vous vous identifierez à des projets à long terme dans la communauté des hackers.

Voici une liste non exhaustive mais indicative de certains de ces projets: Est-ce que c’est important pour vous que Linux se diffuse et s’améliore ? Vous êtes passionné des logiciels libres ? Hostile aux monopoles? Pensez vous que les ordinateurs peuvent être des instruments d’émancipation qui font du monde un endroit plus riche et plus humain?

Mais une mise en garde s’impose ici. La communauté des hackers a des intérêts politiques, principalement défensifs – dont l’un pour la défense des droits de liberté d’expression et l’autre pour repousser la puissance de la « propriété intellectuelle » qui rendrait open source illégal. Certains de ces projets à long terme sont des organisations pour la liberté des citoyens comme l’Electronic Frontier Foundation, et l’attitude du hacker comprend leur soutien. Mais au-delà de ça, la plupart des hackers considèrent les tentatives visant à systématiquement parler de l’attitude du hacker dans un programme politique explicite est suspect, nous avons appris, à la dure, que ces tentatives sont de discorde. Si quelqu’un essaie de vous recruter pour aller sur mars au nom de l’attitude des hackers, ils se trompent. La bonne réponse est probablement « Tais-toi et montre leur le code. »

Le troisième test est récursif sur lui-même. J’ai observé dans la section intitulée « Qu’est-ce qu’un hacker? » que être un hacker est en partie une question d’appartenance à une sous-culture particulière ou un réseau social avec une histoire partagée, un intérieur et un extérieur. Dans le lointain passé, les hackers étaient un groupe beaucoup moins cohérent et conscient de soi que ce qu’ils sont aujourd’hui. Mais l’importance de l’aspect réseau social a augmenté au cours des trente dernières années, Internet a rendu les connexions avec le noyau de la sous-culture des hackers facile à développer et à entretenir. Un indice facile de ce changement de comportement est que, dans ce siècle, nous avons nos propres T-shirts.

Les sociologues qui étudient les réseaux comme ceux de la culture des hackers sous la rubrique générale des «collèges invisibles», ont noté que l’une des caractéristiques de ces réseaux, c’est qu’ils ont des gardiens – des membres de base qui peuvent approuver de nouveaux membres dans le réseau. Et une chose que tous les hackers comprennent au fond d’eux, c’est que chaque hacker est un gardien. Ce titre prend un certain degré d’accomplissement avant d’être officiel, mais chaque hacker sent quand c’est le moment.

Q:

Pouvez-vous m’apprendre à hacker?

R:

Depuis la première édition de cette page, j’ai obtenu plusieurs demandes par semaine (souvent plusieurs fois par jour) de personnes me demandant de leur apprendre comment devenir un hacker et comment hacker. Malheureusement, je n’ai pas le temps ou l’énergie de le faire; mes propres projets de hacking, et de travaux en tant que défenseur open-source, me prennent 110% de mon temps.

Même si je l’ai fait, le hacking est une attitude et une compétence que vous avez essentiellement pour enseigner. Vous verrez que tout vrais hackers veulent vous aider, ils ne vous respecteront pas si vous ne demandez qu’à être nourri à la cuillère de tout ce qu’ils savent.

Sachez-en un minimum d’abord. Montrez que vous essayez, que vous êtes capable d’apprendre par vous-même. Ensuite, allez voir d’autres hackers avec des questions précises.

Si vous nous envoyez un hacker pour demander des conseils, voici deux choses à savoir avant. Tout d’abord, nous avons constaté que les gens qui sont paresseux ou négligents dans leurs façon d’écrire sont généralement trop paresseux et négligents dans leur façon de penser et d’être de bons hackers – Prenez soin d’épeler correctement et utilisez la grammaire et la ponctuation, sinon vous serez probablement ignorés. Deuxièmement, ne demandez pas une réponse à un fournisseur d’accès Internet qui est différent du compte à partir du quel vous écrivez, nous trouvons des gens qui ne sont généralement que des voleurs utilisant des comptes volés, et nous n’avons aucun intérêt à récompenser ou à aider le vol.

Q:

Par où puis-je commencer, alors?

R:

La meilleure façon pour vous de commencer serait probablement d’aller à une réunion LUG (Linux User Group). Vous pouvez trouver ces groupes sur le LDP General Linux , il y en a probablement un près de chez vous, éventuellement associé à un collège ou à une université. Les membres du GUL vont probablement vous donner un Linux si vous demandez, et va certainement vous aider à en installer un et à le démarrer.

Votre prochaine étape (et la première étape si vous ne pouvez pas trouver un LUG à proximité) devrait être de trouver un projet open-source qui vous intéresse. Commencez à lire le code et à examiner des bogues. Apprenez à contribuer, et à travailler pour le projet.

La seule façon est de travailler pour améliorer vos compétences. Si vous me demandez personnellement des conseils sur la façon de commencer, je vous dirais ces mêmes choses, parce que je n’ai pas de raccourcis magique pour vous. Je vais aussi vous écrire avec une attitude pessimiste – parce que si vous avez déjà oublié que le seul moyen pour améliorer vos compétences est de travailler, vous êtes un cas désespéré.

Q:

Quand avez-vous commencé? Est-il trop tard pour moi d’apprendre?

R:

Tout âge auquel vous êtes motivé pour commencer est un bon âge. La plupart des gens semblent s’y intéresser entre 15 et 20 ans, mais je sais qu’il y a des exceptions dans les deux directions.

Q:

Combien de temps faut-il pour apprendre à hacker?

R:

Cela dépend  à quel point vous êtes talentueux et à quel point vous travaillez pour cela. La plupart des gens qui essaient peuvent acquérir une compétence respectable aux alentours de deux ans, si elles se concentrent. Ne pensez pas que ça s’arrête là, même si, dans le hacking (comme dans beaucoup d’autres domaines), il faut environ dix ans pour parvenir à la maîtrise. Et si vous êtes un vrai hacker, vous passerez le reste de votre vie à apprendre et à perfectionner votre métier.

Q:

Visual Basic est-il un bon langage pour commencer?

R:

Si vous vous posez cette question, cela signifie presque certainement vous songez à essayer de hacker sous Microsoft Windows. C’est une mauvaise idée en soi. Quand je parlais de danser tout en portant un plâtre sur le corps, je ne plaisantais pas. Ne le faites pas, c’est moche et laid.

Il y a un problème spécifique avec Visual Basic, c’est que ce n’est pas portable. Bien qu’il existe des prototypes d’implémentations open-source de Visual Basic, les normes ECMA en vigueur ne couvrent pas plus d’un petit ensemble de ses interfaces de programmation. Sur Windows la grosse partie de la bibliothèque est propriétaire à un seul fournisseur (Microsoft), si vous n’êtes pas extrêmement prudent sur les fonctionnalités que vous utilisez – plus prudent que tout débutant est vraiment capable d’être – vous vous retrouverez bloqué entre les mains de Microsoft. Si vous débutez sur Unix, de meilleurs langages et de meilleures bibliothèques sont disponibles. Python, par exemple.

En outre, comme d’autres bases, Visual Basic est un langage mal conçu qui va vous apprendre de mauvaises habitudes de programmation. Non, ne me demandez pas de les décrire en détail, cette explication pourrait remplir un livre. Apprenez un langage bien conçu à la place.

Une de ces mauvaises habitudes et de devenir dépendant des bibliothèques d’un seul fournisseur, des widgets, et des outils de développement. En général, une langage qui n’est pas entièrement prise en charge par au moins 3 systèmes d’exploitation d’au moins trois fournisseurs différents n’est pas à prendre en compte.

Q:

Pourriez-vous m’aider à hacker un système, ou m’apprendre à cracker?

R:

Non. Celui qui peut encore poser une telle question après la lecture de cette FAQ est trop stupide pour être éducable, même si j’ai eu le temps pour le faire. Les demandes envoyées par courrier électronique de ce genre que je reçois seront ignorées ou je répondrais avec une extrême grossièreté.

Q:

Comment puis-je obtenir le mot de passe pour le compte de quelqu’un d’autre?

R:

Va-t’en, idiot.

Q:

Comment puis-je récupérer ou lire les emails de quelqu’un d’autre?

R:

Pars, crétin.

Q:

Comment puis-je voler les privilèges des opérateurs de canal sur IRC?

R:

Ne reviens plus.

Q:

J’ai été piraté. Pouvez-vous m’aider à repousser de nouvelles attaques?

R:

Non. Chaque fois qu’on me pose cette question, il s’agit de pauvres utilisateurs de Microsoft Windows. Il n’est pas possible de sécuriser efficacement les systèmes Windows contre les attaques de crack, le code et l’architecture ont tout simplement de trop nombreux défauts, ce qui rend la sécurisation de Windows très difficile. La seule prévention fiable commence par le passage à Linux ou un autre système d’exploitation qui est conçu pour au moins être capable de fournir un minimum de sécurité.

Q:

J’ai des problèmes avec mon logiciel Windows. Pouvez-vous m’aider?

R:

Oui. Ouvrez une invite DOS et tapez « format c: ». Tous les problèmes que vous rencontrez seront terminés dans quelques minutes.

Q:

Où puis-je trouver des vrais hackers pour parler avec?

R:

La meilleure façon est de trouver le groupe d’un utilisateur Unix ou Linux local et d’aller à leurs réunions (vous pouvez trouver des liens vers plusieurs listes de groupes d’utilisateurs sur le LDP).

(J’ai l’habitude de dire ici que vous ne trouverez pas les hackers réels sur IRC, mais je suis fait comprendre que les choses changent. Apparemment, certaines communautés de hackers réels, attachés à des choses comme GIMP et Perl, ont maintenant des canaux IRC.)

Q:

Pouvez-vous recommander des livres utiles sur des sujets liés au hacking?

R:

Je maintiens une liste de lecture HOWTO Linux qui pourrait vous être utile. Le Loginataka peut aussi être intéressant.

Pour une introduction à Python, consultez le tutoriel sur le site Python.

Q:

Dois-je être bon en maths pour devenir un hacker?

R:

Non. Le hacking utilise très peu de mathématiques formelles ou arithmétiques. En particulier, vous n’aurez généralement pas besoin de trigonométrie, calcul ou d’analyse (il y a des exceptions à cette règle dans une poignée de domaines d’application spécifiques comme l’infographie 3-D). Sachant que pour certains la logique formelle l’algèbre booléenne est bonne. Certaines bases en mathématiques peuvent s’ajouter (y compris la théorie finie des ensembles, la combinatoire et la théorie des graphes).

Beaucoup plus important: vous devez être capable de penser logiquement et suivre des chaînes de raisonnement exactes, la façon qu’utilise les mathématiciens. Bien que le contenu de la plupart des mathématiques ne va pas vous aider, vous aurez besoin de discipline et d’intelligence pour gérer les mathématiques. Si vous n’avez pas l’intelligence, il y a peu d’espoir pour vous pour devenir un hacker, si vous n’avez pas la discipline, vous feriez mieux de la cultiver.

Je pense qu’une bonne façon de savoir si vous avez ce qu’il faut, c’est de se procurer un exemplaire du livre de Raymond Smullyan.

Q:

Quel langage dois-je apprendre en premier?

R:

XHTML (la dernière dialecte HTML) si vous ne le connaissez pas déjà. Il y a beaucoup de batailles sur « quel est le meilleur libre ». Celui que je préfère est HTML: The Definitive Guide .

Mais HTML n’est pas un langage de programmation complet. Lorsque vous êtes prêt à commencer la programmation, je recommande de commencer avec Python . Vous entendrez beaucoup de gens recommandant Perl, mais c’est plus difficile à apprendre et (à mon avis) moins bien conçu.

Q:

De quel genre de matériel ai-je besoin?

R:

Il fut un temps où les ordinateurs personnels étaient plutôt de faible puissance et avaient peu de mémoire. Ce n’est plus vrai dans le milieu des années 1990, une machine à partir d’un Intel 486DX50 ou plus est déjà plus que suffisamment puissante pour faire du développement, et communiquer sur Internet.

L’important dans le choix d’une machine sur laquelle apprendre est de savoir si son matériel est compatible avec Linux (ou BSD-compatible, si vous choisissez d’aller dans cette voie). Encore une fois, ce sera vrai pour presque toutes les machines modernes. Certaines machines ont un matériel spécifique à Windows qui ne fonctionne pas avec Linux.

Il y a une FAQ sur la compatibilité matérielle, la dernière version est ici .

Q:

Je veux contribuer. Pouvez-vous m’aider à choisir un problème sur lequel travailler?

R:

Non, parce que je ne connais pas vos talents et intérêts. Vous devez être motivé ou vous ne pourrez pas tenir le coup, c’est pourquoi avoir d’autres personnes qui choisissent votre direction ne fonctionne presque jamais.

Essayez ceci. Regardez les messages qui défilent sur Freshmeat pendant quelques jours. Quand vous en voyez un qui vous fait penser « Cool! Je voudrais travailler là-dessus! », Rejoignez-le.

Q:

Dois-je haïr et combattre Microsoft ?

R:

Non, vous n’avez pas à le faire. Non pas que Microsoft n’est pas détestable, mais il y avait une culture hacker bien avant Microsoft et il y aura toujours un temps après Microsoft dans l’histoire. Toute l’énergie que vous consacrez à haïr Microsoft serait mieux dépensée à aimer votre métier. Écrivez du bon code – qui bat Microsoft lui-même, ça suffira.

Q:

Mais les logiciels open-source ne vont pas rendre les programmeurs incapables de gagner leur vie?

R:

Cela semble peu probable – jusqu’ici, l’industrie du logiciel open-source semble permettre la création d’emplois plutôt que de les enlever. Si le fait d’avoir écrit le programme en lui-même est un gain économique, un programmeur sera payé peu importe si le programme sera rendu open source ou non. Et, peu importe combien le logiciel est « libre », il semble toujours y avoir plus de demande pour de nouvelles applications personnalisées.

Q:

Où puis-je obtenir un Unix libre?

R:

Si vous n’avez pas encore un Unix installé sur votre machine, installez-en un, vous trouverez les liens qu’il faut sur le net. Pour être un hacker vous avez besoin de motivation, d’initiative et de capacité à vous renseigner. Commencez dès maintenant …

 

Menu