C'è una definizione di "hacker" che circola da trent'anni e che è sostanzialmente falsa: "chi entra nei sistemi altrui senza autorizzazione".
Non perché sia falsa come descrizione di un comportamento. Perché descrive una cosa che non ha niente a che fare con la parola, e questa distinzione non è un dettaglio accademico: è il motivo per cui il mestiere esiste e per cui la cultura hacker è stata per vent'anni accusata di essere criminale quando non lo era.
Questo articolo prova a mettere le parole al loro posto. La parte più scomoda è proprio quella che riguarda i termini che dividono, perché le parole che dividono sono quasi sempre quelle che si usano per escludere qualcuno.
"Hacker": la definizione che ha resistito
La versione più citata è quella del Jargon File, il compendio di gergo informatico compilato e curato dalla comunità stessa a partire dagli anni Ottanta. La sua prima definizione, che risale alla edizione del 1981, è:
HACKER [in origine, chi fabbrica i mobili con un'ascia] 1. Una persona che gode nell'esplorare i dettagli dei sistemi di programmazione e di come allargarne le capacità, a differenza della maggior parte degli utenti che preferisce imparare il minimo necessario.
La parentesi sull'ascia è un'etnografia del termine, e serve a indicare che in inglese to hack significa "tagliare, sfuggiare, barare": il vocabolario è quello di chi fora una parete invece di passarci dalla porta. Non quello di chi sfonda.
La stessa idea la riprende, e la rende ufficiale, la RFC 1392 (Internet Users' Glossary):
Una persona che gode di avere una comprensione intima del funzionamento interno di un sistema, in particolare di computer e reti.
Tre elementi, e sono tutti necessari: comprensione intima, godo, e sistema. Non c'è il crimine da nessuna parte. Non c'è nemmeno l'obbligo di entrare: la definizione vale per chi scrive il codice di un driver, per chi reverse-engineerà un protocollo, per chi legge il codice di un sistema operativo per capire perché fa quello che fa.
La definizione del Jargon File ha però una frase che va letta bene, perché è il punto in cui il termine comincia a coprire anche i casi scomodi:
Un ficchilone malevolo o curioso che tenta di scoprire informazioni girando intorno.
Nella stessa voce, quindi, c'è sia l'hacker che studia sia quello che origlia. Questo è un dettaglio scomodo e spesso omesso: la distinzione netta fra "hacker" e "criminale" non è mai esistita nella fonte. Quello che esiste è la distinzione fra hacker e cracker, che è un'altra cosa.
"Cracker": una parologia, non solo una differenza tecnica
L'etichetta alternativa è cracker, con la C. È quella che la comunità hacker propose perché "hacker" fosse ormai impiegato dai media nel senso sbagliato.
La definizione operativa è banale e sta nel nome: un cracker rompe. Non esplora, sfonda. Non vuole capire come funziona, vuole che si apra.
Va detto anche questo, perché è il punto che quasi tutti sbagliano: non c'è una differenza tecnologica fra hacker e cracker. Le tecniche sono identiche. Le stesse primitive, gli stessi strumenti, la stessa conoscenza. La differenza è interamente nell'intento e nel perimetro autorizzato, ed è quindi una differenza etica e legale, non tecnica.
Un punto che quasi nessuno scrive, perché scomoda: la distinzione è anche una parologia. Cracker in inglese è un insulto razziale, usato storicamente contro le persone di colore, e per questo è scomparso dall'uso corrente in lingua inglese, sostituito da termini specifici come software cracker o password cracker.
Per questo nel titolo qui sopra c'è il termine, ma nel corpo lo chiamiamo "chi rompe" e non lo usiamo per le persone. Chi lo usa ancora raramente, nel senso che intendeva la cultura hacker, sta difendendo una tradizione degli anni Ottanta invece di fare sicurezza. Il resto del mondo lo usa in senso neutro, come in "il cracker di quella password", ed è un uso che non ha niente a che fare con la tradizione.
Vale la pena aggiungere un fatto, perché dice molto su come evolve il mestiere. Nel 1981 Ian Murphy, alias Captain Zap, fu il primo a essere condannato per un fatto di cronaca informatica: alterò gli orologi interni di AT&T per far pagare le tariffe notturne a chi chiamava di giorno. Non fu condannato per un reato informatico, che nel 1981 non esisteva: fu condannato per ricezione di beni rubati, la legge che c'era. Chiuse con 1000 ore di servizio civile e divenne poi consulente di sicurezza, nonché consulente per il film Sneakers del 1992.
Un anno prima che la legge sul crimine informatico esistesse, e finito come consulente. È il primo caso della storia e dice più di molti saggi.
"Lamer": l'insulto più interessante dei tre
Lamer è il terzo termine, ed è l'unico dei tre che sia nato dall'interno della cultura hacker. Non è un insulto esterno, non è uno sproposito dei media: è un giudizio tecnico, e in questo caso preciso.
La definizione corrente è: chi usa strumenti e tecniche altrui senza capirli. Lo script kiddie è l'archetipo: scarica un tool, cambia due parametri, e non sa che cosa succede sotto. Gira con gli stessi exploit dei professionisti e non è in grado di dire perché funzionano né cosa succede se il bersaglio è patchato.
La differenza fra lamer e chi non sa niente è la consapevolezza. Il lamer sa di non sapere, e usa comunque. Questo è ciò che lo rende diagnostico: è la descrizione esatta di una fase di apprendimento, e quasi tutti ci sono passati.
Per questo il termine, nella sua accezione originale, non è un insulto ma una diagnosi. È quello che la cultura dice a chi sta iniziando e ha frettato: il percorso esiste, ma la parte che ti rende utile è quella che non hai ancora fatto.
Il motivo per cui il termine ha oggi una reputazione diversa è che è stato rubato da fuori e usato come spettacolo. Lame, l33t, h4x0r, sk1ddie sono diventati un costume, e il costume ha un vantaggio che la cultura non ha: si indossa e si toglie. La cultura hacker no: si dimostra.
Le tre filosofie, e perché la questione non si chiude
Una parte della domanda chiede se esistano filosofie distinte. Esistono, e sono tre, ma non sono tre stili tecnici: sono tre risposte diverse alla stessa domanda, che è "a chi appartiene la capacità di capire come funziona un sistema".
Il tecnico: capire il sistema
La posizione più antica e più semplice: l'hacker è colui che capisce. Il valore è nella comprensione, e la capacità di capire è un bene indipendente da dove viene applicata.
È la filosofia del gruppo del modellino ferroviario del MIT, di Thompson e Ritchie con Unix, di Kildall con CP/M. Nessuno di questi ha attaccato niente: hanno costruito meglio. La misura del merito è che cosa sai spiegare.
Il limite di questa posizione è reale, e lo riconoscono anche i suoi sostenitori: da sola non dice nulla su che cosa fare con quello che sai.
L'ideale: il codice è pubblico
Stallman e la GNU Manifesto: il software non dovrebbe essere proprietario, e il motivo non è la concorrenza. Il problema è che un'infrastruttura di cui dipendi e non puoi leggere non è tua.
Questa è la sola delle tre filosofie che abbia prodotto un movimento, e la discussione completa — le quattro libertà, il copyleft, la scissione fra free e open source — sta in Open source: perché conviene al software a pagamento.
Il contributo duraturo non è una licenza, è la scoperta che l'informazione si può condividere a costo zero e che questo cambia il calcolo economico di un'industria intera.
L'attivista: il sistema è un bersaglio
La terza corrente, il hacktivism, parte da un presupposto opposto: non è la libertà del software il problema, è che cosa il software fa. Il codice proprietario è un incidente; il codice proprietario che censura è un'arma.
Qui la divisione interna è reale e non è una sfumatura: la stessa etichetta copre da disclosure responsabile — trovi una falla, avvisi chi di dovere, e solo dopo il tempo previsto pubblichi — fino ad attacchi distruttivi a infrastrutture civili. Le due cose non hanno niente in comune oltre il nome, e usare la stessa parola per entrambe è il motivo per cui il pubblico non distingue più niente.
La parte scomoda: la divisione serve a escludere
Fin qui le tre filosofie sembrano tre modi legittimi di essere hacker. Ma la domanda più utile è un'altra: a chi serve che "hacker" e "cracker" siano parole diverse?
La risposta onesta è che la distinzione ha sempre avuto due funzioni in tempo reale, e una è tecnica e una no.
Quella tecnica è reale: sotto le etichette ci sono comportamenti diversi, e un reparto di sicurezza deve poter dire "ho trovato una vulnerabilità" e "ho avuto accesso non autorizzato" perché sono due cose con conseguenze legali diverse. Su questo la separazione è utile e va mantenuta.
Quella non tecnica è un'altra: la cultura hacker ha sempre usato le parole come strumento di status. Dire "chi guarda, non tocca" serve a due cose in contemporanea — segnala che chi guarda è al livello superiore, e segnala che chi tocca va escluso dal gruppo.
Il risultato è che un gran numero di persone competenti si è autoescluso perché non accettava il gergo, o è stato escluso per non essere della categoria giusta. Moltissime persone che oggi fanno sicurezza professionallye l'hanno fatto senza mai dirsi hacker. È una perdita absurdamente grande di talento, e nasce da una questione di etichette.
Vale la pena dire anche il rovescio: la divisione non protegge la cultura, la svuota. Le parole che servono a distinguere le competenze utili dalle inutili invecchiano male. Cracker è già morto per ragioni linguistiche, come abbiamo visto.
La regola che usiamo noi
La distinzione che teniamo, e che è utile sul lavoro, non è quella dei cappelli ma questa domanda: la capacità di capire questo sistema ce l'ho l'ho?
Da lì tutto il resto discende senza bisogno di definizioni:
se non capisco che cosa sto facendo, sono un lamer, e la cosa giusta da fare è imparare a leggerlo;
se capisco e ho l'autorizzazione, sono quello che il cliente ha pagato, e non ha importanza come mi chiamo;
se capisco e non ho l'autorizzazione, sono un cracker, e non esiste la versione utile di questa frase.
Le tre filosofie di prima sono un'altra domanda, e sono tutte legittime finché nessuno di esse diventa un criterio per giudicare le persone. Il tecnico non è superiore all'attivista, l'attivista non è superiore al tecnico, e nessuno dei due è superiore a chi ha semplicemente scritto codice per guadagnare.
Un'etichetta serve a due: a chi la mette e a chi la riceve. Nella cultura hacker, per lungo tempo, serviva soprattutto a chi la metteva.
Se ti ricordi una cosa sola
La definizione più breve e più esatta che conosca, e che non è sostituibile, è quella del Jargon File del 1981: un hacker è chi gode nell'esplorare i dettagli di un sistema e di come allargarne le capacità.
Nella definizione non c'è il crimine, non c'è la vittima, e non c'è nemmeno la competenza avanzata. C'è solo la curiosità tecnica. Tutto il resto è etichetta, e l'etichetta la cambia il tempo e il mercato, la curiosità no.