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.
[ Top ]
|