ETICA
HACKER by Eric S. Raymond
L'atteggiamento dell'Hacker
Gli Hackers risolvono i problemi e costruiscono le cose, credono
nella libertà e nel mutuo aiuto volontario. Per essere accettato
come un hacker, ti devi comportare come se avessi questo atteggiamento
nel sangue. E per comportarti come se avessi questo atteggiamento
nel sangue, devi realmente credere nel tuo comportamento.
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:
1. Il mondo è pieno di problemi affascinanti che aspettano
di essere risolti.
Essere un hacker è molto divertente, ma è un tipo
di divertimento che richiede molto sforzo. Lo sforzo necessita di
motivazioni. Gli atleti di successo trovano le loro motivazioni
da una specie di gusto nell'usare i loro corpi oltre i limiti del
fisico. Similmente, per essere un hacker devi provare i brividi
nel risolvere problemi, affilare le tue capacità, ed esercitare
la tua intelligenza.
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).
2. Nessuno dovrebbe mai risolvere lo stesso problema una seconda
volta.
Le menti creative sono una risorsa valida e limitata. Esse non dovrebbero
essere sprecate nel reinventare la ruota quando ci sono così
tanti e affascinanti problemi che aspettano là fuori.
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 siano 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.)
[ Top ]
3. La noia e i lavori "da sgobboni" sono un male.
Gli hackers (ed in generale le persone creative) non dovrebbero
mai annoiarsi o aver a che fare con dei lavori ripetitivi, faticosi
e stupidi, perchè quando questo accade significa che non
stanno facendo ciò che solo loro possono fare: risolvere
nuovi problemi. Questo spreco danneggia tutti. Perciò la
noia ed i lavori ingrati non sono semplicemente sgradevoli, ma un
male vero e proprio.
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).
4. La libertà è un bene.
Gli hackers sono per natura anti-autoritari. Chiunque ha il potere
di darti ordini ha pure il potere di fermarti dal risolvere un qualsiasi
problema da cui sei affascinato - e, conoscendo in che modo lavorano
le menti autoritarie, in linea di massima troverà una ragione
incredibilmente stupida per farlo. Quindi un atteggiamento autoritaio
deve essere combattuto ovunque si trovi, per paura che soffochi
te e gli altri hackers.
(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 solo 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.
5. L'atteggiamento non sostituisce la competenza.
Per essere un hacker devi sviluppare alcuni di questi atteggiamenti.
Ma coltivarne uno solo non ti renderà certo un hacker, non
più di quanto ti possa rendere un grande atleta od una rock
star. Per diventare un hacker c'è bisogno dell'intelligenza,
la pratica, di dedicarsi ed infine di lavorare sodo.
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.
[ Top ]
Le capacità fondamentali
Un comportamento da hacker è fondamentale, ma le capacità
sono ancora più fondamentali. Un atteggiamento non sostituisce,
infatti, la competenza, e ci sono alcune capacità fondamentali
che devi avere prima che qualsiasi hacker possa lontanamente sognare
di chiamarti , appunto, 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 oggi si includono le seguenti capacità:
1. Imparare a programmare.
Questa, ovviamente, è la capacità fondamentale dell'hacker.
Il linguaggio che assolutamente devi imparare è il C (sebbene
non sia quello da imparare per primo). Tuttavia non puoi essere
considerato un hacker o nemmeno un mero programmatore se conosci
un solo linguaggio - devi imparare a pensare circa i problemi di
programmazione in generale, indipendentemente da qualsiasi linguaggio.
Per essere un vero hacker, devi arrivare al punto in cui puoi iparare
un nuovo linguaggio semplicemente correlando le informazioni del
manuale con quello che già sai. Questo significa che devi
imparare molti e differenti linguaggi.
Oltre al C, dovresti anche imparare almeno il Lisp e il Pearl (il
Java pure non saerbbe male). Oltre ad essere i linguaggi di programmazione
più importanti, ognuno di questi rappresenta un approccio
differente 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
(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....
[ Top ]
2. Ottieni uno dei sistemi operativi UNIX-like gratuti ed impara
ad usarlo.
Prendo per scontato che tu abbia un personal computer o che tu possa
usarne uno (i ragazzini di oggi lo ottengono così facilmente:-)).
L'unico e più importante passo che ogni principiante può
mouvere per aquisire le capacità dell'hacker è rimediare
una copia di Linux o di uno dei free BSD-Unixes, installarlo sulla
sua macchina, e caricarlo.
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.
3. Imparare ad usare la World Wide Web e scrivere in HTML.
La maggior parte delle cose che la cultura hacker ha costruito non
è tenuta molto in vista, infatti aiutare a far funzionare
le fabbriche, gli uffici e le università non ha un grande
impatto sul modo di vivere dei non hackers. La rete è l'unica
grande eccezione, il grande e brillante gioco degli hacker che addirittura
i politici ammettono stia cambiando il mondo. Solo per questa ragione
(ed anche per molte altre) hai bisogno di imparare come lavorare
con la rete.
Questo non significa solamente imparare ad uasre 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 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....
[ Top ]
Posizione sociale nella cultura Hacker
Come la maggior parte delle culture non basate sul denaro, quella
degli hacker si basa sulla reputazione. Uno prova a risolvere problemi
che siano interessanti, ma quanto siano interessanti, e se le soluzioni
siano veramente efficaci, è qualcosa che solo i tecnici al
tuo pari o i superiori possono giudicare.
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:
1. Scrivi free software.
La prima cosa (la più basilare nonchè tradizionale)
è scrivere programmi che appaiono utili o divertenti agli
altri hackers, e dare le sorgenti da utilizzare all'intera comunità
hacker.
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.
2. Aiuta a testare e a fare il debug del free software.
Essi sono anche a servizio di chi fa il debug del free-software.
In questo mondo imperfetto, inevitabilmente spenderemo la maggior
parte del tempo dello sviluppo di un programma a fare il debug.
Ecco perchè qualsiasi autore di free software in grado di
ragionare ti dirà che buni beta testers (quelli che sanno
come descrivere chiaramente i sintomi, localizzare bene i problemi,
che possono tollerare i bugs in una release fatta di fretta, e sono
disposti ad applicare alcune semplici routine diagnostiche) valgono
tanto oro quanto pesano. Anche uno solo di loro può trasformare
una fase di debugging da un incubo prolungato ad una mera e salutare
seccatura.
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.
[ Top ]
3. Pubblica informazioni utili.
Un'altra buona cosa è colezzionare e filtrare le informazioni
utili od interessanti in pagine web o documenti come le FAQ (ovvero
Frequently Asked Questions, che in italiano sta per domande fatte
frequentemente), e renderle generalmente reperibili.
I manutentori di FAQs tecniche sono rispettati quasi quanto gli
autori di free software.
4. Aiuta a mandare avanti i lavori di infrastruttura.
La cultura hacker (e lo sviluppo ingegneristico della rete, in questo
caso) viene mantenuta da volontari. Ci sono un sacco di lavori necessari
ma poco affascinanti che devono essere fatti per mantenerla - amministrare
le mailing list, moderare i newsgroup, mantenere larghi archivi
di software, sviluppare RFC e altri standard tecnici.
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.
5. Servi la cultura hacker di per sè.
Infine, puoi servire e propagare la cultura hacker di per sè
(per esempio scrivendo un documento accurato su come diventare un
hacker:-)). Non ti troverai di certo nella posizione di fare una
cosa del genere fino a che non ti sarai fatto ben conoscere per
una delle prime cinque cose.
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 hackers 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.
|