Com Convertir-se en Hacker (original) (raw)
Copyright � 2001 Eric S. Raymond
L'anterior traducci� era de l'Andreu Regue, pero el document ha desaparegut.
La present traducci� �s de l'Arnau Fuentes amb algunes correccions a c�rrec de'n Josep Puigdemont.
| Historial de Revisions | ||
|---|---|---|
| Revisi� 1.31 | 22 Mar 2005 | esr |
| Afegit un altre enlla� a un assaig d'en Paul Graham, i consells sobre com agafar un primer projecte. M�s actualitzacions d'enlla�os de traducci�. | ||
| Revisi� 1.30 | 2 Mar 2005 | esr |
| Afegits i actualitzats alguns enlla�os de traduccions. |
Taula de continguts
1. El mon est� pl� de problemes fascinants esperant a ser resolts.
2. Cap problema hauria de ser resolt dos cops.
3. L'avorriment i la rutina son dolents.
5. L'actitud no �s substitutiu per la compet�ncia.
Habilitats B�siques per al hacking
2. Aconseguiu un dels Unix de codi obert i apreneu a fer-lo servir.
3. Apreneu a fer servir la WWW i a escriure HTML.
4. Si no teniu un nivell funcional d'angl�s, apreneu-ne.
1. Escriviu programari de codi obert.
2. Ajudeu a provar i depurar programari de codi obert.
4. Ajudeu a mantenir les infraestructures en funcionament.
5. Serviu a la cultura hacker.
Per qu� aquest document?
Com a editor del Jargon File i autor entre d'altres, d'uns quants documents ben coneguts de naturalesa similar, sovint rebo missatges de correu electr�nic d'entusiastes novells preguntant "com puc ser un hacker dels bons?". Al 1996 em vaig adonar que semblava no haver cap altre FAQ (Preguntes M�s Freq�ents) ni cap altre document que aclar�s aquesta q�esti� vital, per tant, vaig comen�ar aquest. Un munt de hackers el consideren com a definitiu, per tant suposo que ho �s. No pretenc ser l'autoritat exclusiva en aquest tema; si no us agrada el que llegiu aqu�, escriviu el vostre.
Si esteu llegint un tros d'aquest document offline, l'ultima versi� sempre �s a http://catb.org/~esr/faqs/hacker-howto.html
Nota: al final d'aquest document hi ha una llista de Preguntes M�s Freq�ents. Si us plau, llegiu-la --dos cops-- abans d'enviar-me preguntes sobre aquest document. Sx'han fet m�ltiples traduccions d'aquest document, que es troba disponible en: �rab, B�lgar,Catal�,Xin�s (Simplificat),Dan�s,Holand�s,Finland�s,Alemany,Hebreu,Itali�,Persa,Japon�s,Polon�s,Portugu�s (Brasiler),Castell�,Turc, i Suec.
Sapigueu que aquest document canvia ocasionalment, pot ser que estigui desfasat en diferents aspectes.
El diagrama dels "cinc-punts-en-nou-caselles" que decora aquest document s'anomena glider. �s una seq��ncia simple amb algunes propietats sorprenents en una simulaci� matem�tica anomenada Life que ha fascinat a hackers durant anys. Penso que �s un gran emblema visual per a el que s�n els hackers -- abstractes, un xic misteriosos al principi, per� una passarel�la.la cap a tot un mon sencer amb una l�gica pr�pia. Llegiu m�s sobre el "glider" aqu�.
Que �s un Hacker?
El Jargon Filecont� un munt de definicions del mot --hacker--, la majoria lligades a l'habilitat t�cnica i al plaer per a solucionar problemes i superar l�mits. Si voleu saber com ser un hacker, nom�s dues son realment rellevants.
Existeix una comunitat, una cultura compartida, de programadors experts i mags de les xarxes que ressegueix l'hist�ria cap enrere, durant d�cades, fins als primers mini ordinadors de temps compartit i els primers experiments d'ARPAnet. Els membres d'aquella cultura van originar el terme --hacker--. Els hackers van construir Internet. Els hackers van convertir el sistema operatiu Unix en el que �s avui en dia. Els Hackers mantenen Usenet. Els hackers fan que la World Wide Web funcioni. Si sou part d'aquesta cultura, si hi heu contribu�t i d'altra gent que en forma part us coneix i sap qui sou i us anomena hacker, llavors sou un hacker.
La mentalitat hacker no est� confinada dins aquesta cultura de hackers de programari. Hi ha d'altra gent que aplica l'actitud hacker a altres coses, com l'electr�nica o la m�sica --de fet, els podeu trobar als nivells m�s alts de qualsevol ci�ncia o art. Els hackers de programari reconeixen aquests esperits emparentats all� on sigui i els anomenen "hackers" tamb�--i alguns diuen que la naturalesa hacker es independent del medi en que el hacker treballa. Per� per la resta d'aquest document ens centrarem en les habilitats i actituds dels hackers de programari, i en les tradicions de la cultura compartida que va originar el terme "hacker".
Hi ha un altre grup que s'autoanomenen hackers, per� que no ho s�n. Aquesta gent (majorment homes adolescents) son els que es diverteixen entrant il�legalment a ordinadors i fent "phreaking" a les l�nies telef�niques. Els hackers reals anomenen aquesta gent "crackers" i no volen tenir-hi res a veure. La majoria dels hackers de veritat creuen que els crackers son mandrosos, irresponsables, i no massa brillants, i argumenten que ser capa� de trencar la seguretat no et fa un hacker, aix� com saber fer un pont a un cotxe no et fa enginyer d'automoci�. De manera desafortunada, molts periodistes i escriptors han caigut a la trampa emprant la paraula --hacker-- per descriure als crackers; aix� irrita fora de mida als hackers.
La difer�ncia b�sica �s aquesta: els hackers construeixen coses, els crackers les destrueixen.
Si voleu ser un hacker, seguiu llegint. Si voleu ser un cracker, aneu a llegir el grup de noticies alt.2600 i prepareu-vos per a passar de cinc a deu anys a la pres� despr�s de descobrir que no ereu tan intel�ligents com us pens�veu. I aix� es tot el que dir� sobre els crackers.
L'actitud Hacker
1. El mon est� pl� de problemes fascinants esperant a ser resolts.
2. Cap problema hauria de ser resolt dos cops.
3. L'avorriment i la rutina son dolents.
5. L'actitud no �s substitutiu per la compet�ncia.
Els hackers solucionen problemes i construeixen coses, i creuen en la llibertat i ajuda volunt�ria m�tua. Per a ser acceptat com a hacker, us haur�eu de comportar com si tinguessis aquesta actitud. I per a comportar-vos com si tingu�ssiu aquesta actitud, haur�eu de creure realment en aquesta actitud.
Per� si creieu que cultivant actituds hacker �s la manera de ser acceptat dins la cultura, us equivoqueu. Transformar-se en el tipus de persona que creu en aquestes coses es important per _vos_-- per ajudar-vos a aprendre i a mantenir-vos motivat. Aix� com a les arts creatives, la millor manera de convertir-se en mestre es imitar la mentalitat dels mestres -- no nom�s intel�lectualment, si no tamb� emocionalment.
O, com diu el seg�ent poema Zen modern:
Per a seguir el cam�:
observa el mestre,
segueix el mestre,
camina amb el mestre,
mira a trav�s del mestre,
converteix-te en mestre.
Per tant, si voleu ser un hacker, repetiu les seg�ents coses fins que us les creieu:
1. El mon est� pl� de problemes fascinants esperant ser resolts.
Ser un hacker �s molt divertit, per� �s una mena de diversi� que implica molt esfor�. L'esfor� requereix motivaci�. Els bons atletes aconsegueixen motivar-se a partir del plaer f�sic de treballar els seus cossos, superant els seus l�mits. De la mateixa manera, per a ser un hacker heu de sentir un desig ardent per a resoldre problemes, millorar les vostres qualitats i exercitar l' intel�lig�ncia.
Si no sou la mena de persona que sent d'aquesta manera, us hi haureu de transformar per a ser un hacker. D'altra banda veureu que la vostra energia per a hackejar es veur� minvada per distraccions com el sexe, els diners i el reconeixement social.
(Tamb� haureu de desenvolupar una mena de fe en la vostra capacitat d'aprenentatge --una creen�a en que tot i que no sabeu tot el que fa falta per a solucionar un problema, si n'agafeu nom�s un tros i n'apreneu d'ell, aprendreu el suficient per a solucionar el proper tros --i continuar aix�, fins que acabeu.)
�
2. Cap problema hauria de ser resolt dues vegades.
Els cervells creatius s�nn valuosos, s�n recursos limitats. No s'haurien de malbaratar redescobrint la roda quan hi ha tants problemes nous i fascinants per a ser resolts.
Per a comportar-vos com un hacker, heu de creure que el temps dels altres hackers es valu�s -- tant, que �s quasi b� una tasca moral que intercanvieu informaci�, solucioneu problemes i donar les solucions per tal que els altres hackers puguin arreglar nous problemes en lloc d'arreglar sempre els mateixos.
(No esteu obligats a donar tota la vostra producci� creativa, tot i que els hackers que ho fan son els m�s respectats. �s conseq�ent amb els valors hacker vendre all� suficient per a poder pagar el menjar, el lloguer i les eines (ordinadors). Esta b� emprar les vostres capacitats per a ajudar a la fam�lia o fins i tot per a fer-se ric, sempre i quan no oblideu la lleialtat al vostre art i als vostres amics hackers mentre ho feu.)
3. L'avorriment i el treball rutinari s�n dolents.
Els hackers (i la gent creativa en general) mai haurien de ser sotmeses a treballs rutinaris i avorrits, perqu� quan passa aix� significa que no poden fer all� que saben -- solucionar problemes nous. Aquest malbaratament perjudica ax tothom. Per aix� l'avorriment i la feina rutin�ria no nom�s s�n desagradables, si no realment mal�fics.
Per a comportar-se com un hacker, heu de creure en aix� el suficient per automatitzar al m�xim totes aquestes feines, no nom�s per a vosaltres si no per a tothom (especialment altres hackers).
(Aparentment i ha una excepci�. Els hackers sovintxx fan coses, que poden semblar repetitives o avorrides per a un observador, com a un exercici d'higiene mental, o per tal d'aconseguir experi�ncia o habilitat que no podrien aconseguir de forma diferent. Per� �s una elecci� -- cap �sser pensant hauria de ser for�at a una situaci� que l'avorreixi.)
4. La llibertat �s bona.
Els hackers son antiautorit�ris per naturalesa. Qualsevol que pugui donar-vos ordres pot obligar-vos a deixar estar all� que us fascina -- i, donada la manera en que funcionen les ments autorit�ries, trobaran qualsevol ra� espantosament est�pida per a fer-ho. Per aix� les actituds autorit�ries s'han de combatre all� on sigui, per tal que no us oprimeixin ni a vosaltres, ni als altres hackers.
(Aix� no vol dir combatre qualsevol autoritat. Els nens necessiten ser guiats i els criminals restriccions. Un hacker pot acceptar alguns tipus d'autoritat per tal d'aconseguir quelcom que desitgi m�s que el temps que perd seguint ordres. Per� aquest �s un tracte limitat, conscient; el tipus de submissi� personal que els autoritaris volen no entra dins aquesta oferta.)
Els autoritaris prosperen amb la censura i el secretisme. I desconfien en la cooperaci� volunt�ria i l'intercanvi d'informaci� -- nom�s els agrada la "cooperaci�" que ells controlen. Per tant, per a comportar-vos com un hacker, heu de desenvolupar una hostilitat instintiva a la censura, al secretisme, i en l'�s de la for�a o el frau per a sotmetre a adults responsables. I tamb� haureu d'estar preparats per a actuar en conseq��ncia.
5. L'actitud no �s cap substitut de la compet�ncia.
Per a ser un hacker, heu de desenvolupar algunes d'aquestes actituds. Per� copiar una actitud no us far� pas hackers, aix� com no us far� atletes campions ni estrelles de rock. Esdevenir un hacker requereix intel�lig�ncia, pr�ctica, dedicaci� i treballar dur.
Per aix� heu d'aprendre a desconfiar de les actituds i a respectar la compet�ncia de qualsevol mena. Els hackers no deixen que cap impostor els faci perdre el temps, per� creuen en la compet�ncia -- especialment en la compet�ncia per a hackejar, per� ser competent en qualsevol cosa �s bo. Ser competent en habilitats que tan sols uns quants dominen, i en habilitats que requereixen agudesa mental, destresa i concentraci�.
Si respecteu la compet�ncia, us agradar� desenvolupar-la en vosaltres mateixos --la feina dura i la dedicaci� esdevindr�n una mena de joc intens en lloc de feina rutin�ria. Aquesta actitud �s essencial per a esdevenir hacker.
Habilitats B�siques per al Hacking
2. Aconseguiu algun dels Unix de codi obert i apreneu a fer-lo servir.
3. Apreneu a emprar la World Wide Web i a escriure HTML.
4. Si no teniu un nivell funcional d'angles, apreneu-ne.
L'actitud hacker es vital, per� les habilitats ho son encara mes. L'actitud no es cap substitut de la compet�ncia, i hi ha una mena de conjunt b�sic d'habilitats que haur�eu de tenir abans que cap hacker somii amb anomenar-vos aix�.
Aquest conjunt canvia lentament amb el temps mentre la tecnologia crea noves habilitats i en fa d'altres obsoletes. Per exemple, inclo�a programar en llenguatge maquina, i fins fa poc no havia incl�s l'HTML. Per� actualment inclou clarament les seg�ents:
1. Apreneu a programar.
Aquesta es, evidentment, l'habilitat b�sica per a hackejar. Si no coneixeu cap llenguatge d'ordinadors, recomano que comenceu amb Python. Esta dissenyat d'una manera molt neta, ben documentat, i relativament amigable per als novells. Tot i ser un bon primer llenguatge, no es nomes una joguina; es molt potent i flexible i molt apropiat per a grans projectes. He escrit una avaluaci� molt mes detallada de Python. Hi ha bons tutorials al lloc web de Python.
Java tamb� es un bon llenguatge per aprendre a programar. Es mes dif�cil que Python, per� produeix codi mes f�cilment. Penso que es un molt bon segon llenguatge. Desafortunada-ment, la refer�ncia d'implementaci� de Sun es encara propiet�ria. No hi ha cap problema amb el llenguatge, ja que hi ha int�rprets de codi obert excel�lents.lents; el problema real en en les llibreries de classe que venen amb el llenguatge. Les llibreries de codi obert van molt endarrerides. Per tant, si escolliu aprendre Java, feu-ho amb alguna de les implementacions de codi obert abans que haver de dependre del codi propietari de Sun.
Per� no creieu que aconseguireu el nivell d'un hacker, ni tan sols el d'un programador, si nomes coneixeu un o dos llenguatges -- necessiteu aprendre com pensar en els problemes de programaci� d'una manera general, independentment del llenguatge. Per a ser un hacker real, necessiteu arribar a un punt en que pugueu aprendre un llenguatge nou en q�esti� de dies relacionant el que hi ha al manual amb el que ja sabeu. Aix� vol dir que haur�eu d'aprendre molts llenguatges diferents.
Si voleu posar-vos a programar seriosament, haureu d'aprendre C, el llenguatge b�sic de Unix. C++ es molt semblant a C; si n'apreneu un, no us resultara dif�cil aprendre l'altre. Tant mateix, cap d'ells es un bon llenguatge per aprendre a programar. I, actualment, sereu molt mes productiu si eviteu al m�xim haver de programar en C.
C es molt eficient, i economitza molt be els recursos de la maquina. Des-afortunadament, C aconsegueix aquesta efici�ncia requerint que feu un munt de gesti� a baix nivell dels recursos (com la mem�ria) a m�. Tot aquest codi de baix nivell es complex i propens a errades, i us far� perdre el temps en depuraci�. Amb les maquines tant potents d'avui en dia, aix� ja no es necessari --�s millor emprar un llenguatge que faci servir menys eficientment el temps de la maquina, per� molt mes eficientment el teu temps. Es a dir, Python.
Altres llenguatges de particular import�ncia per als hackers son Perl i LISP. Es bo aprendre Perl per raons practiques; esta molt est�s en pagines web din�miques i administraci� de sistemes, per tant tot i que mai escriviu en Perl l'haur�eu d'aprendre a llegir. Molta gent empra Perl de la mateixa manera que jo suggereixo emprar Python, per a evitar programar en C en feines que no requereixin la seva efici�ncia. Tantmateix, haur�eu de ser capa�os d'entendre el seu codi.
El bo aprendre LISP per una ra� diferent --la profunda il�luminaci�. que experimentareu a d'entendre'l. Aquesta experi�ncia us far� millors programadors per la resta dels vostres dies, tot i que no feu servir LISP. (Podeu tenir una primera experi�ncia amb LISP escrivint i modificant els modes d'edici� de l'editor de text Emacs.)
Avui en dia, el millor es aprendre'ls tots cinc: Python, C/C++, Java, Perl i LISP. A part de ser els llenguatges mes emprats en el hacking, representen diferents formes d'aproximaci� a la programaci�, i us educaran de forma valuosa.
Aqu� no puc donar-vos instruccions completes de com aprendre a programar --�s una habilitat complexa. Per� us puc dir que ni cursets ni llibres ho faran (molts, gaireb� la majoria dels millors hackers, son autodidactes). Podeu aprendre caracter�stiques del llenguatge --bits de coneixement-- a partir de llibres, per� l'estat mental que transforma aquest coneixement en habilitat viva nomes s'apr�n amb la pr�ctica i l'aprenentatge. El que s'ha de fer es (a)llegir codi i (b)escriure codi.
Aprendre a programar es com aprendre a escriure b� la pr�pia llengua. La millor manera es llegint coses escrites per mestres de l'art d'escriure, escriure quelcom per vosaltres mateixos, llegir un munt m�s, escriure una mica m�s, llegir un munt m�s, escriure una mica m�s ... i anar repetint fins que el que escriviu comenci a desenvolupar el tipus de for�a i economia que veieu en els vostres models.
Trobar un bon codi per a llegir era dif�cil, ja que hi havia pocs programes grans amb les seves fonts disponibles per a que els hackers novells el llegissin i hi fiquessin m�. Aix� ha canviat dram�ticament; ara mateix hi ha disponible programari de codi obert, eines de programaci� i sistemes operatius (tots constru�ts per hackers). Aix� em porta directament cap al proper tema...
2. Aconseguiu algun dels Unix de codi obert i apreneu a fer-lo servir.
Assumir� que teniu un ordinador personal o be que hi teniu acc�s (aquest jovent d'avui en dia ho te tant f�cil :-)). El primer i m�s important pas que qualsevol novell pot fer cap a adquirir habilitats de hacker es aconseguir una copia de Linux o algun dels Unix-BSD, instalar-lo, i fer-lo funcionar.
Si, hi ha d'altres sistemes operatius al mon a part d'Unix. Per� es distribueixen en binari --no es pot llegir el codi, i tampoc es pot modificar. Aprendre a hackejar en una maquina amb Microsoft Windows o amb MacOS o qualsevol altre sistema tancat �s com aprendre a ballar amb el cos enguixat.
Sota un OS X �s possible, per� nom�s una part del sistema �s en codi obert --probablement topareu amb un munt de murs, i heu de ser curosos en no desenvolupar l'habit de dependre del codi propietari d'Apple. Si us concentreu en el que hi ha darrera de Unix podeu aprendre coses �tils.
Unix �s el sistema operatiu d'Internet. Tot i que podeu aprendre a emprar Internet sense con�ixer Unix, no podeu ser un hacker d'Internet sense entendre'l. Per aix�, la cultura hacker actual es centra b�sicament en Unix. (Aix� no ha estat sempre cert, i alguns dels vells hackers encara se n'alegren, per� la simbiosi entre Unix i Internet s'ha enfortit tant que no sembla que ni la for�a de Microsoft pugui aturar-ho.)
Aix� doncs, aconseguiu un Unix --personalment m'agrada Linux per� hi ha d'altres alternatives (i efectivament, pots emprar Linux i Microsoft Windows a la mateixa maquina). Apreneu-lo. Feu que funcioni. Remeneu-lo. Parleu a Internet amb ell. Llegiu el codi. Modifiqueu el codi. Aconseguireu millors eines (incloent-hi C, LISP, Python i Perl) que cap dels sistemes operatius de Microsoft pugui arribar mai a somniar, us divertireu, i tindreu mes coneixements dels que us penseu que esteu aprenent, fins arribar al punt en que mirareu enrere convertit en un mestre hacker.
Per a mes informaci� sobre aprendre Unix, vegeu el Loginataka. Potser tamb� voldr�eu fer una ullada a "The Art Of Unix Programming".
Per a aconseguir un Linux, vegeu el lloc web Linux Online!; us el podeu descarregar des d'aqu� o (encara millor) trobar un grup local d'usuaris de Linux que us ajudi amb l' instal�laci�. Des del punt de vista d'un usuari novell, totes les distribucions de Linux son molt semblants.
Podeu trobar ajuda i recursos per a BSD Unix a www.bsd.org.
Jo mateix he escrit un manual sobre temes b�sics de Unix i Internet.
(Nota: No us recomano que instal�leu cap Linux o BSD en solitari si sou novells. Per a Linux, busqueu un grup d'usuaris local i demaneu ajut.)
3. Apreneu a emprar la World Wide Web i a escriure HTML.
La majoria de coses que la cultura hacker ha constru�t funciona sense ser vist, ajudant a que les fabriques, oficines i universitats funcionin sense cap impacte en la vida dels no-hackers. La Web es la gran excepci�, la gran i lluent joguina hacker que, fins i tot els pol�tics, admeten que esta canviant el mon. Nom�s per aquesta ra� (i un munt d'altres tamb�) necessiteu aprendre com treballar a la Web.
Aix� no vol dir simplement aprendre com fer anar un navegador (qualsevol ho pot fer), si no aprendre a escriure HTML, el llenguatge de marques de la Web. Si no sabeu programar, escriure HTML us ensenyara alguns h�bits mentals que us n'ajudaran. Per tant, feu-vos una pagina. Proveu de passar-la a XHTML, que es encara mes clar que l'HTML cl�ssic. (Hi ha tutorials bons a la Web; aqu� n'hi ha un.)
Per� tenir una pagina personal no es suficient per a fer-vos un hacker. La Web n'�s plena de pagines personals. La majoria d'elles sense cap mena d'inter�s, deixalles sense contingut --deixalles molt vistoses, per� deixalles al cap i a la fi (si vols saber mes sobre aix�, mira la HTML Hell Page).
Per a que pagui la pena, la vostra pagina ha de tenir contingut --ha de ser interessant o �til per als altres hackers. I aix� ens porta al seg�ent tema...
4. Si no teniu un nivell funcional d'angles, apreneu-ne.
Com a americ� i angloparlant nadiu que soc, mai havia volgut suggerir aix�, per a que no fos ent�s com una mena d'imperialisme cultural. Per� molta gent amb d'altres lleng�es maternes m'han encoratjat a dir que l'angl�s es l'idioma de treball de la cultura hacker i d'Internet, i que necessitareu saber-ne per a poder funcionar dins la comunitat hacker.
Cap all� el 1991 vaig aprendre que molts hackers que tenien l'angl�s com a segona llengua, el feien servir en discussions t�cniques, tot i compartir la llengua natal; em van comentar que l'angl�s te una terminologia t�cnica molt mes rica que cap altra llengua i que, simplement, era una eina millor per a la feina. Per raons semblants, les traduccions de llibres t�cnics escrits en Angles sovint no son satisfact�ries (sempre i quan es facin).
Linus Torvalds, un Finland�s, comenta el seu codi en Angl�s (aparentment mai se li ha acudit fer-ho de cap altra forma). La seva flu�desa amb l'angl�s va ser un factor important en l'habilitat de reclutar una comunitat mundial de desenvolupadors per a Linux. Es un exemple que val la pena seguir.
Estatus dins la Cultura Hacker
1. Escriviu programari de codi obert
2. Ajudeu a provar i depurar programari de codi obert
4. Ajudeu a mantenir les infraestructures en funcionament
Com a la majoria de cultures sense una economia monet�ria, el hackerisme funciona sobre la reputaci�. Esteu provant de resoldre problemes interessants, per� com ho son d'interessants, i com d'�tils son les vostres solucions, �s quelcom que nomes els vostres iguals o superiors, t�cnicament parlant, podran jutjar.
Conseq�entment, quan jugueu el joc hacker, apreneu a puntuar-vos primerament amb all� que els altres hackers pensen de les vostres activitats (es per aix� que que no sou realment un hacker fins que els altres hackers us anomenen aix�). Aquest fet es troba enfosquit per l'imatge del hacking com una feina solit�ria; tamb� per un tab� cultural dels hackers (que actualment decau per� que encara �s vigent) que no permet admetre que l'ego o l'acceptaci� externa estan inclosos en la pr�pia motivaci�.
Espec�ficament, el hackerisme es all� que els antrop�legs anomenen cultura de donaci�. Guanyeu nivell i reputaci� no per dominar a altra gent, ni per ser bonics, ni per tenir coses que els altres volen, si no per regalar coses. Espec�ficament, donant el vostre temps, la vostra creativitat i els resultats de la vostra habilitat.
Hi ha cinc coses b�siques que heu de fer per a ser respectats per els hackers:
1. Escriure programari de codi obert
La primera (la central i mes tradicional) es escriure programes que els altres hackers pensin que son divertits o �tils, i donar les fonts del programa per a que tota la cultura hacker les pugui fer servir.
(Acostum�vem a anomenar aquests treballs --free software-- (programari lliure), per� aix� confonia a molta gent que no estava segura del que volia dir --free--[1]. La majoria de nosaltres, com a m�nim en un ratio de 5:1 d'acord amb l'an�lisi de contingut web, preferim el terme "open-source software" (programari de codi obert).
Els semid�us mes reverenciats del hackerisme s�n persones que han escrit programes grans i amb grans capacitats, que solucionen una necessitat com� i que despr�s els han donat, per tal que tothom els pugui fer servir.
2. Ajudeu a provar i depurar programari de codi obert
Aquells que depuren el programari de codi obert tamb� son molt reconeguts. En aquest mon imperfecte, passarem, inevitablement, la majoria del nostre temps desenvolupant programari a la fase de depuraci�. Per aix� qualsevol autor de codi obert pensa que un bon provador-beta (aquell qui sap descriure s�mptomes clarament, localitzar els problemes, que pot tolerar errades en un alliberament prematur, i que aplicara unes quantes rutines simples de diagnostic) val el seu pes en ruobins. Tan sols una persona aix� pot fer que una fase de depuraci� que sigui un malson esgotador es transformi en nomes una saludable mol�stia.
Si sou novell, proveu a buscar un programa en desenvolupament que us interessi i sigueu un bon provador-beta. Hi ha una progressi� natural entre ajudar a provar programes, ajudar a depurar-los i ajudar a modificar-los. Aprendreu molt d'aquesta manera, i generareu bon karma amb la gent que us ajudara despr�s.
3. Publiqueu informaci� �til
Una altra cosa que esta b� �s recollir i filtrar informaci� �til i interessant en pagines web o en documents com llistes de Preguntes Mes Freq�ents (FAQ en angl�s), i fer-ho p�blic.
Els mantenidors de les grans PMF obtenen quasi be tant respecte com els autors de programari de codi obert.
4. Ajudeu a mantenir les infraestructures en funcionament
La cultura hacker (i el desenvolupament d'enginyeria d'Internet) funciona gr�cies a voluntaris. Hi ha molta feina poc glamourosa que s'ha de fer --administrar llistes de correu, moderar grups de noticies, mantenir grans arxius de programari, desenvolupar RFC (Request For Comment-Peticions De Comentari) i altres est�ndards t�cnics.
La gent que fa b� aquesta mena de treball guanyen molt respecte, perqu� tothom sap que aquests treballs consumeixen molt temps i no es tan divertit com jugar amb el codi. Fer-les demostra dedicaci�.
5. Serviu a la cultura hacker
Finalment, podeu servir i propagar la pr�pia cultura (per exemple, escrivint una guia per a convertir-se en hacker:-)). Aix� ser� una cosa que nomes podreu fer quan sigueu ben conegut per algun dels primers quatre temes.
La cultura hacker no t� l�ders, exactament, per� t� herois, ancians de la tribu, historiadors i portaveus. Quan haureu estat a la trinxera el temps suficient, podreu cr�ixer i convertir-vos en un d'ells. Pareu atenci�: els hackers desconfien de l'ego arrogant en els seus ancians, per tant assolir aquest tipus de fama es perill�s. En comptes de buscar-la, haur�eu de posicionar-vos de manera que us caigui a la falda, i llavors ser modestos i graciosos sobre la vostra posici�.
La Connexi� Hacker/Nerd
Contr�riament al mite popular, no heu de ser pas un nerd[2] per a ser hacker. Tot i aix�, ajuda, i molts hackers son, de fet, nerds. Ser un descastat social us ajudara en la concentraci� en les coses importants, com pensar en hackejar.
Per aquesta ra�, molts hackers han adoptat l'etiqueta --nerd-- i tamb� empren el terme desagradable --geek-- com una ins�gnia d'orgull --�s una forma de declarar la seva independ�ncia de les expectatives socials normals. A la Geek Page hi trobareu una discussi� extensa.
Si podeu concentrar-vos el suficient en hackejar fins a arribar a ser bo i, a m�s, tenir una vida personal, esta b�. Fer aix� es mes f�cil actualment que quan jo era un novell cap all� al 1970; la cultura majorit�ria ara �s molt m�s amigable als techno-nerds. Hi ha grups creixents de persones que s'adonen que els hackers son amants i marits/mullers d'alta qualitat.
Si us atrau el hackeig perqu� no teniu una vida personal, tamb� esta b� --al menys no tindreu cap problema per a concentrar-vos. Potser aconseguireu una vida m�s tard.
Q�estions per a l'estil
Com ja he dit, per a ser un hacker, haureu d'entrar dins l'estat mental hacker. Hi ha algunes coses que podeu fer i us ajudaran quan no sigueu davant d'un ordinador. No son substitutius del hackeig (res ho �s) per� molts hackers les fan, i senten que connecten d'alguna forma amb l'ess�ncia del hackeig.
- Apreneu a escriure correctament la vostra llengua materna. Tot i que hi ha l'estereotip com� que els programadors no saben escriure, un sorprenent nombre de hackers (incloent-hi els mes complerts que conec) son escriptors molt h�bils.
- Llegiu ci�ncia-ficci�. Aneu a convencions de ci�ncia-ficci� (una bona manera de con�ixer hackers i proto-hackers).
- Practiqueu arts marcials. La classe de disciplina mental que requereixen les arts marcials s'assembla molt a la que necessiten els hackers. Les disciplines mes populars entre els hackers son definitivament les arts a ma nua asi�tiques com el Tae Kwon Do, el Karate, Wing Chun, Aikido, o Jiu Jitsu; tamb�, all� on es legal, el tir amb pistola ha guanyat popularitat des dels anys 90. Les arts marcials mes "hackerils" son les que posen �mfasi en la disciplina mental, atenci�, control i relaxaci� en comptes de for�a, atletisme o duresa f�sica.
- Practiqueu algun tipus de meditaci�. El favorit de sempre entre els hackers es el Zen (important, es possible beneficiar-se del Zen sense haver d'adquirir una religi� ni desfer-se'n si ja se'n te una). Altres estils tamb� poden funcionar, per� sigueu curosos d'escollir-ne un que no requereixi creure en bogeries.
- Desenvolupeu una o�da critica per a la musica. Apreneu a apreciar tipus de musica peculiars. Apreneu a tocar be un instrument, o a cantar.
- Desenvolupeu apreci pels dobles sentits i els jocs de paraules.
Com m�s coses d'aquestes h�giu feu, m�s probable ser� que tingueu mat�ria hacker natural. El per qu� d'aquestes coses en particular no esta completament clar, per� estan connectades amb la barreja d'habilitats en els dos hemisferis cerebrals que sembla important; els hackers necessiten ser capa�os de raonar l�gicament i de sortir d'aquesta l�gica aparent en un moment donat.
Treballeu tan intensament com jugueu i jugueu tan intensament com treballeu. Per als hackers aut�ntics, la frontera entre "joc", "feina", "ci�ncia" i "art" desapareix, o es barreja en un alt nivell de creativitat. A m�s a m�s, no us acontenteu amb un marge estret de coneixements. Tot i que la majoria de hackers s'auto descriuen com a programadors, solen ser bastant competents en moltes habilitats relacionades --administraci� de sistemes, disseny web, solucionar problemes amb maquinari s�n coses comunes. Un hacker que �s administrador de sistemes, d'altra banda, �s habilid�s programant fitxers-seq��ncia i dissenyant pagines web. Els hackers no fan les coses a mitges; si inverteixen en una habilitat, solen ser molt bons.
Finalment, algunes coses que no heu de fer.
- No feu servir una identitat ni un nom d'usuari graci�s ni infantil.
- No us fiqueu en guerres de flames a Usenet (ni a cap altre lloc).
- No us auto anomeneu com a --ciberpunk--, i no perdeu el vostre temps amb ning� que ho faci.
- No pengeu o envieu per correu escrits plens de faltes d'ortografia o gram�tica.
L'�nica reputaci� que guanyareu fent aix� es la de burro. Els hackers tenen una gran mem�ria --us podria costar anys deixar enrere aquests malentesos per a ser acceptat.
El problema amb els pseud�nims mereix una ampliaci�. Amagar la vostra identitat darrera un pseud�nim �s comportar-se de forma infantil i tonta t�pica de crackers, warez d00dz i altres formes de vida inferiors. Els hackers no fan aix�; estan orgullosos del que fan i volen que s'associi amb els seus noms reals. Per aix�, si teniu un pseud�nim, deixeu-lo estar. A la cultura hacker nomes us marcara com un perdedor.
Altres Recursos
En Paul Graham ha escrit un assaig anomenat Great Hackers, i un altre anomenat en els quals parla amb molta saviesa.
En Peter Seebach mant� unes excel.lents PMF per a directius que no saben com tractar amb els hackers. Si el lloc web d'en Peter no respon, la seg�ent cerca a Excite n'hauria de trobar una copia.
Aqu� hi ha un document anomenat How To Be A Programmer (Com Ser Un Programador) que es un complement excel.lent d'aquest. Cont� consells valuosos no nomes per a programar, si no tamb� per a treballar en un equip de programaci�.
Tamb� he escrit A Brief History Of Hackerdom (Una Breu Historia del Hackerisme).
He escrit un article, The Cathedral and the Bazaar (La Catedral i el Basar), que explica molt sobre el funcionament de les cultures Linux i codi obert. He estudiat el tema mes directament en la seva seq�ela.la, Homesteading the Noosphere (Cultivant la Noosfera).
En Rick Moen ha escrit un document excel�lent.lent sobre com fer anar un grup d'usuaris de Linux.
En Rick Moen i jo hem col.laborat en un altre document sobre Com Formular Preguntes Intel�ligents (How To Ask Smart Questions). Aix� us ajudara a buscar ajuda d'una forma que far� que l'aconseguiu.
Si necessiteu instrucci� sobre com funcionen els ordinadors personals, Unix i Internet, vegeu el The Unix and Internet Fundamentals HOWTO.
Quan allibereu programari o escriviu peda�os per a programari, proveu a seguir les guies del Software Release Practice HOWTO.
Si us ha agradat el poema Zen, potser tamb� us agradi Rootless Root: The Unix Koans of Master Foo.
Preguntes Mes Freq�ents
P: Quan s'ha de comen�ar? Es massa tard per comen�ar?
P: Quant trigar� en aprendre a hackejar?
P: Son Visual Basic o C# bons llenguatges per a comen�ar?
P: M'ajudar�s a crackejar un sistema, o m'ensenyar�s a crackejar?
P: Com puc aconseguir la contrasenya del compte d'alg� altre?
P: Com puc entrar/llegir/monitorejar el correu electr�nic d'alg� altre?
P: Com puc robar privilegis d'operador a l'IRC?
P: M'han crackejat. M'ajudar�s a evitar atacs futurs?
P: Tinc problemes amb el meu programari de Windows. M'ajudar�s?
P: On puc trobar alguns hackers de veritat per a parlar-hi?
P: Podries recomanar alguns llibres �tils sobre hacking?
P: Necessito ser bo amb les matem�tiques per a ser un hacker?
P: Quin llenguatge hauria d'atendre primer?
P: Quin tipus de maquinari necessito?
P: Vull contribuir. Podries ajudar-me a trobar algun problema per a treballar-hi?
P: Necessito odiar i menysprear Microsoft?
P: Per� el programari de codi obert no impedeix als programadors guanyar-se la vida?
P: Com comen�o? On puc aconseguir un Unix lliure?
**P:**M'ensenyar�s a hackejar?
**R:**Des que vaig publicar per primer cop aquesta pagina, rebo moltes peticions a la setmana (a vegades moltes en un dia) de gent per a que "els ensenyi tot sobre hacking". Malauradament, no tinc ni el temps ni l'energia per a fer aix�; els meus propis projectes de hacking i viatjar com a promotor del codi obert, ocupen el 110% del meu temps.
Encara que pogu�s, el hackeig es una actitud i una habilitat que b�sicament us l'heu d'ensenyar vosaltres mateixos. Trobareu que, tot i que els altres hackers us voldran ajudar, no us respectaran si sempre demaneu que us donin mastegat tot all� que saben.
Apreneu algunes coses primer. Mostreu que ho esteu intentant, que sou capa�os d'atendre sols. Llavors aneu a preguntar als hackers que conegueu amb preguntes concretes.
Si envieu un correu electr�nic a un hacker demanant consell, hi ha dues coses que haur�eu de saber. Primera, trobem que la gent que es mandrosa o deixada a l'hora d'escriure, sovint tamb� es mandrosa i deixada a l'hora de ser un bon hacker --aix� que procureu escriure correctament, usar bona gram�tica i puntuaci�, d'altra manera, probablement sereu ignorats. Segona, no proveu de demanar una resposta a un compte diferent de l'ISP des d'on pregunteu; trobem gent que ho fa que probablement son lladres fent servir comptes robats, i no tenim cap inter�s en recompensar o ajudar a cap lladre.
**P:**Llavors, com puc comen�ar?
**R:**La millor forma de que comencis seria probablement anar a un LUG (Grup d'Usuaris de Linux). Podeu trobar aquests grups a laP�gina d'Informaci� General del LDP; possiblement n'hi hagi un a prop vostre, probablement associat a alguna universitat o institut. Els membres del GUL segurament us donaran un Linux si els ho demaneu, i segur que us ajudaran a instalar-lo i a comen�ar.
**P:**Quan s'ha de comen�ar? Es massa tard per comen�ar?
**R:**Qualsevol edat en que us trobeu motivats es bona per a comen�ar. La majoria de la gent sembla interessar-s'hi entre els 15 i els 20 anys, per� conec excepcions en totes dues bandes.
**P:**Quant trigar� en aprendre a hackejar?
**R:**Aix� dep�n del vostre talent i de l'esfor� que hi poseu. La majoria de la gent aconsegueix un nivell respectable entre els divuit mesos i els dos anys, si s'hi concentren. Per� no penseu que acaba aqu�; si sou un autentic hacker, passareu la resta de la vida aprenent i perfeccionant-vos.
**P:**Son Visual Basic o C# bons llenguatges per a comen�ar?
**R:**Si feu aquesta pregunta, es quasi-be segur que esteu pensant en intentar hackejar amb Microsoft Windows. Aix� es una mala idea. Quan he comparat aprendre a hackejar sota Microsoft Windows amb aprendre a ballar amb el cos enguixat, no feia broma. No ho feu. Es lleig, i mai deixara de ser lleig.
Hi ha problemes espec�fics amb Visual Basic i C#; principalment que no son portables. Tot i que hi ha prototipus d'implementacions en codi obert d'aquests llenguatges, els est�ndards aplicables de l'ECMA (European Computer Manufacturers Association - Associaci� Europea de Fabricants d'Ordinadors) no permeten cobrir mes que una m�nima part de les interf�cies de programaci�. A Windows, la majoria de les llibreries son propietat d'un sol distribu�dor (Microsoft); si no sou extremadament cautelosos amb les caracter�stiques que empreu --m�s cautel�s del que qualsevol novell podria ser-- us trobareu atrapat dins d'aquelles plataformes a les que Microsoft decideixi donar suport. Si comenceu amb un Unix, tindreu llenguatges i llibreries molt millors. Python, per exemple.
Visual Basic �s especialment terror�fic. Com altres Basics est� pobrament dissenyat i us ensenyar� mals h�bits de programaci�. No, no em demaneu que us els descrigui amb detall; l'explicaci� ompliria un llibre. Apreneu un llenguatge ben dissenyat.
Un d'aquests mals h�bits es ser depenent d'un sol distribu�dor de llibreries, m�duls i eines de desenvolupament. En general, qualsevol llenguatge que no estigui plenament suportat com a m�nim en Linux o en un dels BSD, i/o per tres distribu�dors diferents de sistemes operatius, es pobre per aprendre a hackejar-hi.
**P:**M'ajudar�s a crackejar un sistema, o m'ensenyar�s a crackejar?
**R:**No. Qualsevol qui pugui fer aquesta pregunta despr�s de llegir aquestes PMF es massa est�pid per a ser educable fins i tot si tingues el temps per a intentar-ho. Qualsevol tipus de petici� que rebi d'aquesta mena, ser� ignorada o resposta amb extrema duresa.
**P:**Com puc aconseguir la contrasenya del compte d'alg� altre?
**R:**Aix� es crackejar. Ves te'n, idiota.
**P:**Com puc entrar/llegir/monitorejar el correu electr�nic d'alg� altre?
**R:**Aix� es crackejar. Que et perdis, imb�cil.
**P:**Com puc robar privilegis d'operador a l'IRC?
**R:**Aix� es crackejar. Desapareix, cret�.
**P:**M'han crackejat. M'ajudar�s a evitar atacs futurs?
**R:**No. Cada cop que em pregunten aix�, �s un pobre babau amb Microsoft Windows. �s impossible assegurar efectivament Windows contra atacs de crackers; el codi i l'arquitectura tenen, simplement, massa forats, cosa que fa que assegurar Windows sigui com remar amb un colador. L'�nica prevenci� segura �s canviar a Linux o a qualsevol altre sistema operatiu que sigui dissenyat per a poder ser assegurat.
**P:**Tinc problemes amb el meu programari de Windows. M'ajudar�s?
**R:**Si. Aneu a la l�nia de comanda de DOS i teclegeu "format c:". Qualsevol problema que tingueu desapareixer� en q�esti� de minuts.
**P:**On puc trobar alguns hackers de veritat per a parlar-hi?
**R:**La millor manera �s trobar un grup local d'usuaris de Linux o Unix a prop vostre i anar a les seves trobades (podeu trobar enlla�os a multitud de llistes de grups d'usuaris al lloc delLDP a ibiblio).
(Aqu� acostumava a dir que no trobar�eu mai cap hacker autentic a l'IRC, per� m'adono que aix� esta canviant. Aparentment algunes comunitats autentiques de hackers, vinculades a coses com GIMP o Perl, ara tenen canals d'IRC.)
**P:**Podries recomanar alguns llibres �tils sobre hacking?
**R:**Mantinc un Linux Reading List HOWTO que potser trobeu �til. El Loginataka tamb� podria ser interessant.
Per una introducci� a Python, vegeu els materials d'introducci� al lloc de Python.
**P:**Necessito ser bo amb les matem�tiques per a ser un hacker?
**R:**No. Hackejar empra molt poques matem�tiques o aritm�tica formals. En particular, no us faran falta la trigonometria, el calcul ni l'an�lisi (hi ha excepcions per aix� en un grapat d'aplicacions en �rees especifiques com els gr�fics computeritzats). Con�ixer una mica de l�gica o d'�lgebra Booleana estaria b�. Alguna base en matem�tiques finites (incloent teoria finita, combinatoris i teoria de gr�fics) podria ser �til.
Encara m�s important: necessitareu ser capa�os de pensar l�gicament i de seguir cadenes de raonament exacte, de la manera en que ho fan els matem�tics. Mentre que el contingut de la majoria de matem�tica no us servir� de res, necessitareu la disciplina i l'intel-lig�ncia per a emprar-la.. Si us manca intel�lig�ncia, no teniu gaires esperances de ser hacker; si us manca disciplina, es millor que l'aconseguiu.
Penso que una bona manera saber si teniu el que fa falta, �s aconseguir una copia del llibre d'en Raymond Smullyan, "What Is The Name Of This Book?" (Quin �s El Nom d'Aquest Llibre?). Els divertits jocs d'endevinalles encaixen molt be dins l'esperit hacker. �sser capa� de resoldre'ls es una bona senyal; disfrutar resolent-los n'�s encara una de millor.
**P:**Quin llenguatge hauria d'aprendre primer?
**R:**XHTML (l'ultim dialecte d' HTML) si encara no el coneixeu. Hi ha un munt de llibres molt dolents sobre HTML, i alguns de bons. El que m'agrada mes esHTML: The Definitive Guide(HTML: La Guia Definitiva).
Per� l'HTML no �s un llenguatge de programaci� complet. Quan estigueu llestos per a programar, us recomanaria comen�ar amPython. Sentireu molta gent recomanant Perl, i Perl �s molt mes popular que Python, per� es mes dif�cil d'aprendre i (segons la meva opini�) menys ben dissenyat.
C �s realment important, per� �s encara molt m�s dif�cil d'aprendre que Python o Perl. No proveu d'aprendre'l primer.
Usuaris de Windows, no us estanqueu amb Visual Basic. Us ensenyara h�bits dolents, i no �s portable fora de Windows. Eviteu-lo.
**P:**Quin tipus de maquinari necessito?
**R:**Solia passar que els ordinadors personals eren poc potents i amb poca mem�ria, tant, que van imposar l�mits articifials al proc�s d'aprenentatge hacker. Aix� va deixar de passar cap a la meitat dels anys 90; qualsevol maquina a partir d'un Intel 486DX50 �s suficientment potent per a treballar, instal�lar el sistema X i comunicar-se per Internet, i els discos mes petits que pugueu trobar, ja son prou grans.
El mes important a l'hora d'escollir una m�quina on aprendre, �s quin maquinari �s compatible amb Linux (o amb BSD, en cas que escolliu aquest cam�). Aix� tamb� �s v�lid per a la majoria de m�quines modernes. L'�nic punt complicat son els modems; algunes maquines tenen maquinari especific per a Windows que no funcionar� amb Linux.
Hi ha unes PMF sobre compatibilitat de maquinari; l'�ltima versi� �s aqu�.
**P:**Vull contribuir. Podries ajudar-me a trobar algun problema per a treballar-hi?
**R:**No, perqu� no conec ni el vostre talent ni els vostres interessos. Us heu d'auto motivar o no us hi dedicareu seriosament, �s per aix� que deixar que els altres escullin per un mateix mai funciona.
Proveu a fer el seg�ent. Mireu els anuncis dels projectes a Freshmeat durant uns dies. Quan vegeu quelcom que us faci pensar "Ostres! M'agradaria treballar en aix�!", apunteu-vos-hi.
**P:**Necessito odiar i menysprear Microsoft?
**R:**No, no cal. No �s que Microsoft no sigui fastigosa, per� hi havia una cultura hacker abans de Microsoft i encara n'hi haur� despr�s que Microsoft sigui hist�ria. Tota l'energia que malbarateu odiant a Microsoft, estaria millor emprada estimant all� que feu. Escriviu bon codi --aix� tamb� far� mal a Microsoft sense contaminar el vostre karma.
**P:**Per� el programari de codi obert no impedeix als programadors guanyar-se la vida?
**R:**Aix� es improbable --fins ara, l'industria de codi obert sembla que crea llocs de feina en comptes de destruir-los. Si escriure un programa es un guany econ�mic net sobre no escriure'l, a un programador li pagaran igual sigui el programa de codi obert o no. I, no importa la quantitat de programari "gratu�t" que s'escrigui, sempre hi haur� m�s demanda per a noves aplicacions personalitzades. He escrit sobre aix� a les p�gines Open Source.
**P:**Com comen�o? On puc aconseguir un Unix lliure?
**R:**A un altre lloc d'aquesta pagina he indicat on aconseguir els Unix lliures m�s comuns. Per a ser un hacker, necessiteu motivaci�, iniciativa i l'habilitat per auto educar-vos. Comenceu ara...
Notes de la traducci�
[1]El terme "free software" �s molt ambigu en angl�s, ja que pot voler dir "gratis" o "lliure".
[2]El mot nerd es solia emprar per a definir despectivament als "mestretites" de la classe. "Empollones" en castell�.