| Vai alla Eric's FAQs Page | Traduzione italiana a cura di Daniele Bailo | $Date: 1998/3/02 23:23:03 $ |
Se stai leggendo uno stralcio di questo documento off-line, puoi trovare la versione corrente a http://www.geocities.com/Nashville/5702/index.htm o la versione originale in inglese a http://www.ccil.org/~esr/faqs/hacker-howto.html.
C'è una comunità, una cultura comune, di programmatori esperti e di maghi delle reti che affonda le radici della sua storia decenni addietro, ai tempi dei primi minicomputer e dei primi esperimenti su ARPAnet. I membri di questa cultura stanno all'origine del termine 'hacker'. Gli hackers hanno costruito internet. Gli hackers hanno reso il sistema operativo UNIX quello che è oggi. Gli hackers mandano avanti Usenet. Gli hackers hanno fatto funzionare la World Wide Web. Se fai parte di questa cultura, se hai contribuito ad essa e altre persone della medesima ti conoscono e ti chiamano hacker, allora sei un hacker.
La forma mentis dell'hacker non è ristretta all'ambito del software-hacking. Ci sono persone che mantengono un atteggiamento da hacker anche in altri campi, come l'elettronica o la musica - davvero, lo puoi trovare ai livelli più alti di qualsiasi scienza od arte. I software-hackers riconoscono questi spiriti affini ovunque e chiamano anche loro 'hackers' - e qualcuno afferma che lo spirito hacker è totalmente indipendente dal particolare media in cui l'hacker lavora. Ma nel resto di questo documento ci concentreremo sulle capacità e gli atteggiamenti del software hacker, e le tradizioni della cultura comune che ha dato origine al termine 'hacker'.
C'è un altro gruppo di persone che si strillano a gran voce di essere hackers, ma non lo sono. Queste sono persone (per la stragrande maggioranza ragazzi adolescenti) che si divertono a entrare (generalmente in maniera illegale) negli altrui computers e a phreakkare le compagnie telefoniche. I veri hackers chiamano questa gente 'crackers', e non vogliono avere nulla a che fare con loro. I veri hackers pensano che i crackers siano pigri, irresponsabili, e non molto crillanti, e obbiettano che essere capaci di neutralizzare i sistemi di sicurezza non ti rende un hacker più di quanto far partire un'automobile cortocircuitando i cavi della chiave ti renda un ingegnere elettronico. Sfortunatamente molti giornalisti e scrittori si sono ingannati nell'usare la parola 'hackers' per descrivere i crackers; questo irrita incredibilmente i veri hackers .
La differenza fondamentale è questa: gli hackers costruiscono le cose, i crackers le rompono.
Se vuoi essere un hacker continua a leggere. se vuoi essere un cracker, vai a leggere il newsgroup alt.2600 e tieniti pronto a scornarti col fatto che non sei furbo quanto credi. E questo è tutto quello che avevo intenzione di dire sui crackers.
Se pensi a coltivare un atteggiamento da hacker giusto per essere accettato nella hacker-culture, allora non hai capito. Diventare il tipo di persona che crede in queste cose è importante per te- per aiutarti ad imparare e per avere delle motivazioni. Come con tutte le arti creative, la via più efficace per diventere un maestro è imitare al forma mentis dei maestri - non solo intellettualmente ma anche emotivamente.
Ebbene, se vuoi essere un hacker ripeti le cose seguenti fino a che non le credi veramente:
Se non sei il tipo di persona che per natura prova queste sensazioni, allora dovrai diventarci, se vuoi farcela ad essere un Hacker. Altrimenti vedrai che le energie spese per fare l'hacker saranno fiaccate da distrazioni come il sesso, i soldi e l'essere riconosciuti nella società.
(Inoltre devi anche sviluppare una specie di fede nelle tue capacità di apprendimento - una fede grazie alla quale, pur non conoscendo tutto ciò di cui hai bisogno per risolvere un problema, affrontandone una parte sarai capace imparare abbastanza per risolvere la parte successiva....e così via, fino a che ce la fai).
Per comportarsi come un hacker, devi credere che il tempo che gli altri hackers spendono a pensare sia prezioso - a tal punto che è quasi un dovere morale condividere informazioni, risolvere problemi e diffonderne la soluzione cosicchè gli altri hackers possono risolvere nuovi problemi invece di dover riaffrontare perpetuamente quelli vecchi.
(Non devi credere di essere obbligato a dare via tutti i tuoi prodotti creativi, sebbene gli hackers che lo fanno iano quelli che sono più rispettati dagli altri. E' coerente coi valori dell'hacker "vendere" un po' del suo prodotto per riuscire a sbarcare il lunario ed avere un computer. E' coerente pure usare le proprie capacità per mantenere una famiglia o addirittura diventare ricchi, fermo restando che non devi mai dimenticare di essere un hacker mentre lo fai.)
Per comportarti come un hacker, devi crederci abbastanza da voler automatizzare tutte le cianfrusaglie noiose il più possibile, non solo per te ma per qualsiasi altra persona (in particolar modo gli altri hackers).
(Apparentemente c'è solo un eccezione. Gli hackers dovranno fare talvolta cose che possono sembrare ripetitive ad un osservatore, ma che servono per chiarire le idee, per acquisire delle nuove capacità o per fare delle esperienze che non possono essere fatte altrimenti. Tuttavia questa è una tua scelta - nessuno capace di pensare dovrebbe essere mai forzato alla noia).
(Questo, però, non significa combattere tutte le autorità. I babmbini hanno bisogno di essere guidati e i criminali corretti. Un hacker potrebbe essere d'accordo nell'accettare un qualche tipo di autorità per ottenerre qualcosa che desidera di più del tempo che impiega ad eseguire gli ordini. Ma questo è un compromesso limitato e di cui si è coscienti; il tipo di persona arrendevole che gli autoritari desiderano non deve venir offerta).
Gli autoritari si sviluppano grazie alla censura ed ai segreti. Essi non confidano nella cooperazione volontaria e nella condivisione di informazioni - a loro piace siol la cooperazione che possono controllare. Quindi per comportarti come un hacker, devi sviluppare un ostilità istintiva verso la censura, la segretezza, e l'uso della forza e dell'inganno per costringere gli adulti responsabili. E devi essere disposto ad agire in base a questo credo.
Quindi devi imparare a non fidarti di un atteggiamento competente di qualsiasi tipo. Gli hackers di certo non perderanno tempo con chi si spara le pose, poichè hanno il culto della competenza - soprattutto competenza nell'hacking, ma va bene la competenza in qualsiasi cosa. In particolar modo è ottima una competenza in alcune capacità che pochi hanno, ancora megli se sono capacità quali una mente brillante, astuzia e concentrazione.
Se anche tu veneri la competenza, ti divertirai a svilupparla in te - e il lavoro duro e la dedizione diventeranno una specie di gioco intenso piuttosto che una noia. E questo è vitale per essere un hacker.
Questo kit di competenze base cambia lentamente col passare del tempo perchè la tecnologia crea nuove capacità rendendo obsolete quelle più vecchie. Per esempio, si usa includere il programmare in linguaggio macchina, ma solo recentemente questo ha implicato anche l'HTML. Ma nel tardo 1996 è abbastanza chiaro che si includono le seguenti capacità:
Oltre al C, dovresti anche imparare almeno il Lisp e il Perl (il Java pure non saerbbe male). Oltre ad essere i linguaggi di programmazione più importanti, ognuno di questi rappresenta un approccio defferente alla programmazione, e tutti ti educheranno in maniera valida.
Qui non posso dare istruzioni precise su come imparare a programmare - è una capacità assai complessa. Ma posso dire che libri e corsi non sono la cosa migliore (molti, forse la maggior parte degli hacker, sono autodidatti). Quello che si deve fare è (a) leggere codici e (b) scrivere codici.
Imparare a programmare è come imparare a scrivere bene un linguaggio naturale. La cosa migliore per farlo è leggere qualcosa scritta dai maestri del linguaggio, scrivere qualcosa da soli, leggere un altro po', scrivere un po' di più, leggere molto di più, scrivere ancora di più......e ripetere fino a che la tua scrittura non comincia a sviluppare quel tipo di forza che vedi nei tuoi modelli.
Un tempo era difficile trovare del buon codice da leggere, poichè non c'erano molti programmi disponibili nel codice sorgente che gli hackers implumi potevano leggere e rimuginare. Tuttavia questa situazione è cambiata drasticamente; il software gratis, i compilatori gratis, e i sistemi operativi gratis (tutti disponibili in codice sorgente e tutti sviluppati dagli hackers), sono ora largamente disponibili. E questi ci porta direttamente al prossimo argomento....
Si, ci sono altri sistemi operativi al mondo oltre a UNIX. Ma sono distribuiti in binario - ovvero non puoi leggere il codice nè modificarlo. Provare ad imparare ad Hackkare sotto Dos, windows od un qualsiasi sistema operatimo Mac è come voler imparare a danzare avendo le gambe ingessate.
Inoltre Unix è il sistema operativo della rete. Mentre puoi imparare ad usare internet senza usare UNix, di certo non puoi essere un hacker della rete senza conoscerlo.Per questo motivo al giorno d'oggi la cultura hacker è fortemente incentrata su UNIX. (Nel passato ciò non era sempre vero, ed alcuni hacker dei vechhi tempi non sono felici di ciò, ma la simbiosi tra unix e la rete è diventata abbastanza forte che addirittura il muscolo della Microsoft sembra non riuscire ad ammaccarla.)
Ebbene, rimedia un UNix - a me piace unix, ma ci sono altri modi. Imparalo. Usalo. Armeggiaci. Parla con internet tramite esso. Leggi il codice. Modifica il codice. Otterrai degli strumenti per programmare (inclusi il C, Lisp, e il Perl) migliori di quanto qualsiasi sistema operativo Microsoft possa immagginare, ti divertirai, e assorbirai conoscenze di cui non ti renderai conto fino a che non ti volgerai indietro a guardarle come un maestro degli hacker.
Per maggiori suggerimenti circa imparare unix, vai a The Loginataka.
Per rimediare linux vai invece a Where To Get Linux.
Questo non significa solamente imparare ad usare un browser (chiunque lo può fare), ma imparare come scrivere in HTML, "the Web's markup language". Se non sei capace a programmare, l'HTML ti insegnerà alcune abitudini che ti aiuteranno ad imparare. Quindi fai un home page.
Ma avere un home page non è nemmeno lontanamente sufficiente per fare di te un hacker. La rete è piena di Home Pages. La maggior parte sono un magma senza argomenti nè contenuti (per altri suggerimenti su questo argomento vai aThe HTML Hell Page).
Per valere qualcosa, la tua home page deve avere un contenuto - deve essere interessante o utile agli altri hackers. E questo ci porta al prossimo argomento....
Di conseguenza, quando giochi a fare l'hacker, impare a guadagnare punti soprattutto in base a quello che gli altri hackers pensano delle tue capacità (ecco perchè non sei un hacker fino a che gli altri hcker ti ci chiamano). Questo fatto è oscurato dall'immagine dell'hacking come un lavoro solitario; anche da alcuni taboo della cultura hacker (che stanno gradualmente scemando ma sono ancora consistenti) contro il voler ammettere che l'ego o l'essere ben considerati dagli altri contribuiscano ad alimentare le proprie motivazioni.
Nello specifico, fare l'hacker è ciò che gli antropologi chiamano gift culture. Sali nella scala sociale non dominando gli altri, non essendo bello, non avendo le cose che vogliono gli altri, ma piuttosto dandole via. E più precisamente, dando via il tuo tempo, la tua creatività, e i risultati delle tue capacità.
Fondamentalmente ci sono 5 cose che puoi fare per essere rispettato dagli hackers:
Gli hackers più venerati sono proprio quelli che hanno scritto programmi grossi e capaci, che vanno in contro a bisogni collettivi, e che li danno via cosicchè chiunque possa usarli.
Se sei un principiante, prova a trovare un programma in via di sviluppo che ti interessa e ceca di essere un buon beta-tester. C'è un progresso naturale dall'aiutare a testare i programmi, ad aiutare a fare il debug, ad aiutare a modificarli. Imparerai un sacco in questo modo, e genererai un buon karma con le persone che ti aiuteranno successivamente.
I manutentori di FAQs tecniche sono rispettati quasi quanto gli autori di free software.
Le persone che fanno bene questo genere di cose sono molto rispettate, poichè chiunque sa che questi lavori richiedono molto tempo e non sono divertenti quanto giocare coi codici. Farli mostra dedizione.
La cultura hacker non ha leaders veri e propri, ma ha degli eroi e degli storici e diffusori "tribali". Dopo essere stato in triencea abbastanza a lungo, potresti diventare uno di questi. Fai attenzione: tra i più anziani, gli ackers non si fidano di quelli che blaterano, quindi raggiungere questo tipo di fama è pericoloso. Piuttosto che sforzarti per questo, conviene guadagnarti te stesso una posizione, cosicchè toccherà a te "essere raccontato", dopodichè sii modesto circa il tuo staus.
Per questa ragione gli hackers hanno adottato l'etichetta 'Nerd', ed addirittura usano il terine ancor più duro 'geek' (in italiano qualcosa come 'disadattato') come un appellativo di cui vannoe orgogliosi - non è altro che una maniera per dichiarare la propria indipendenza dalle normali aspettative sociali. Vai a The Geek Page per una discussione (in inglese) più estesa.
Se riesci a concentrarti abbastanza sull'hacking ed avere anche una vita, va bene. E' molto più facile oggi di quando ero un principiante; la cultura corrente è molto più ben disposta nei confronti dei techno - nerds, ora. C'è addirittura un numero in continua crescita di persone che hanno realizzato che spesso gli hackers sono ragazzi/ragazze/mariti/mogli di alta qualità. Per maggiori info su questo vai a Girl's Guide to Geek Guys.
Se sei attratto dall'hacking perchè non hai una vita, va bene - perlomeno non avrai problemi a concentrarti. Forse ne avrai una dopo.
Infine, un po' di cose da non fare.
Loginataka ha qualcosa da dire riguardo al giusto allenamento ed atteggiamento di un hacker di UNIX.
Ho anche scritto A Brief History Of Hackerdom.
Peter Seebach mantiene un eccellente Hacker FAQ per i managers che non sanno come trattare gli hackers.
Ho scritto un documento, The Cathedral and the Bazaar, che spiega un sacco circa il funzionamento della cultura Linuxiana. lo puoi trovare a writings page.
Ed anche se lo facessi, quella dell'hacker è una capacità che fondamentalmente ti devi nsegnare da solo. Vedrai che anche i veri hackers ti vogliono aiutare, non ti rispetteranno se chiedi di farti imboccare col cucchiaino ogni cosa che sanno.
Prima impara alcune cose. Mostra che stai provando e che sei capace di imparare per conto tuo. Poi vai dagli hackers che incontri con delle domande.
Quando sei pronto per incominciare a programmare, io consiglierei di cominciare col Perl o col Python. Il C è veramente importante, ma è anche molto più duro.
| Vai alla Eric's FAQs Page | Traduzione italiana a cura di Daniele Bailo | $Date: 1998/3/02 23:23:03 $ |