|
Etica dell'Hacking
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 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.)
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 autoritario
deve essere combattuto ovunque si trovi, per paura che soffochi te e gli
altri hackers.
(Questo, però, non significa combattere tutte le autorità. I bambini
hanno bisogno di essere guidati e i criminali corretti. Un hacker
potrebbe essere d'accordo nell'accettare un qualche tipo di autorità per
ottenere 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 meglio 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.
Le
capacità fondamentali dell'Hacker
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 nel
tardo 1996 è abbastanza chiaro che si includono le seguenti capacità:
1.
Imparare a programmare
Questa, ovviamente, è la
capacità fondamentale dell'hacker. Nel 1997 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 imparare 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 Perl (il Java pure non sarebbe 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 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....
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
acquisire 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 operativo 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 vecchi 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 amaccarla.)
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. Otterai degli strumenti per programmare
(inclusi il C, Lisp, e il Perl) migliori di quanto qualsiasi sistema
operativo Microsoft possa imagginare, 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
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 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 a
The
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....
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, inpare 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 hacker ti
ci chiamano). Questo fatto è oscurato dall'immagine dell'hacking come un
lavoro solitario; anche da alcuni tabo 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.
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 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 gli 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 trincea 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.
La
connessione Hacker-Nerd
Contrariamente al mito
popolare non devi essere necessariamente un nerd, per essere un hacker.
Tuttavia ciò aiuta, e infatti molti hackers sono dei nerds. Essere un
esule della società aiuta a concentrarti sulle cose veramente
importanti, come pensare e fare l'hacker.
Per questa ragione gli hackers hanno adottato l'etichetta 'Nerd', ed
addirittura usano il termine ancor più duro 'geek' (in italiano qualcosa
come 'disaddattato') come un appellativo di cui vanno 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.
Punti
di stile
Ancora, per essere un
hacker, devi avere la forma mentis dell'hacker. Ci sono alcune cose che
puoi fare quando non stai al computer che sembrano aiutare. Non sono
sostitutive all'hacking (nulla lo è), ma molti hackers le praticano
hanno l'impressione che esse in qualche maniera fondamentale siano
connesse all'essenza dell'hacking.
-
Leggere riviste
scientifiche. Andare a convegni scientifici (un buon modo per
incontrare hackers e proto-hackers).
-
Studiare Zen, o
praticare un arte marziale (la disciplina mentale sembra essere simile
in maniera importante).
-
Sviluppare un
orecchio analitico per la musica. Imparare ad apprezzare particolari
tipi di musica. Imparare a suonare bene uno strumento o a cantare.
-
Apprezzare anagrammi
e giochi di parole.
-
Imparare a scrivere
bene nel tuo linguaggio naturale (Sorprendentemente una gran quantità
di hackers, compresi tutti i migliori che conosco, sono degli abili
scrittori).
Maggiori sono le cose
tra queste che già fai, maggiore è la predisposizione naturale che hai
per fare l'hacker. Perchè queste cose in particolare non è molto chiaro,
tuttavia esse sono connesse con un mix di capacità della parte destra -
e sinistra - del cervello che sembrano essere importanti (gli hackers
hanno bisogno di essere capaci sia a ragionare in maniera logica, sia,
all'occorrenza, a tenersi distanti dalla logica apparente di un
problema).
Infine, un po' di cose
da non fare.
-
Non usare soprannomi
grandiosi e stupidi.
-
Non entrare nelle
flame-wars su usenet (i newsgroup), o da qualsiasi altra parte.
-
Non ti chiamare
'Morte' e non perdere tempo con chiunque lo faccia.
-
Non spedire lettere o
E-mail piene di errori.
L'unica reputazione che
ti guadagnerai nel fare una qualsiasi di queste cose è quella del
cretino. Gli hackers hanno una memoria di ferro - dunque ci potrebbero
volere vari anni per essere riaccettati. |