Eric Allman

Eric Allman: L'idraulico della posta elettronica

C'è stato un periodo di circa vent'anni in cui quasi ogni email inviata sulla Terra passava attraverso un programma scritto da uno studente laureato a Berkeley. Eric Allman non ha progettato l'email, e non ha mai preteso di averlo fatto. Ha risolto il problema più noioso e difficile alla base: far sì che sistemi di posta incompatibili, costruiti da persone che non avevano mai parlato tra loro, scambiassero messaggi senza perderli. Quando l'Association for Computing Machinery lo ha eletto Fellow nella sua classe del 2025, la citazione era lunga quattro parole: per lo sviluppo della posta elettronica.

Un'infanzia a Berkeley

Eric Paul Allman è nato il 2 settembre 1955 a El Cerrito, in California, a pochi chilometri dalla baia dell'università che avrebbe definito la sua vita. Ha trovato presto la sua strada verso il mainframe del suo liceo, e da lì verso il centro informatico dell'UC Berkeley. Si è iscritto a Berkeley nel 1973, proprio mentre Unix si diffondeva nei dipartimenti di informatica americani, e ha conseguito la laurea triennale nel 1977 e il master nel 1980.

Non ha mai lasciato l'orbita. Allman vive ancora a Berkeley, e il suo lavoro più duraturo è stato svolto a pochi isolati da dove è cresciuto.

Il problema che nessuno voleva

Alla fine degli anni '70 l'email esisteva, ma non come una cosa sola. Esisteva come diversi elementi incompatibili contemporaneamente. ARPANET aveva le sue convenzioni; le reti Unix locali ne avevano altre; sistemi diversi non erano d'accordo su come dovesse essere scritto un indirizzo, cosa dovesse contenere un'intestazione e quale protocollo dovesse trasportare il messaggio. Un utente su una rete che voleva scrivere a un utente su un'altra era, in pratica, sfortunato.

La prima risposta di Allman fu delivermail. La sua seconda, arrivata entro il 1981, fu sendmail, e la differenza tra le due costituisce l'intera sua contribuzione. Sendmail non era un sistema di posta. Era un Mail Transfer Agent – un router e traduttore che si sedeva tra i sistemi di posta, accettava un messaggio in qualunque forma arrivasse, capiva dove doveva andare dopo e riscriveva i suoi indirizzi e intestazioni nella forma che il salto successivo richiedeva. Parlava SMTP, più tardi ESMTP, e il Mail-11 di DECnet.

IL TEST GRATUITO
Quanto fa il tuo?

Venti domande, otto minuti di orologio e un percentile misurato su tutti quelli che l’hanno fatto. Senza registrazione.

Fai il test del QI →

La decisione di progettazione critica era che nessuna di queste traduzioni era hard-coded. Il comportamento di sendmail era guidato da regole di riscrittura – un piccolo, denso linguaggio di pattern-matching, contenuto in un file di configurazione, che descriveva come trasformare un indirizzo di una forma in un indirizzo di un'altra. Allman ha costruito un meccanismo piuttosto che una politica. Quando l'email cambiava, come ha fatto continuamente per quarant'anni, sendmail non aveva bisogno di essere riscritto; le sue regole sì.

Ecco perché sendmail è diventato parte della Berkeley Software Distribution e poi l'agente di trasferimento di posta predefinito su essenzialmente ogni sistema Unix, ed è anche il motivo per cui il suo file di configurazione è leggendario tra gli amministratori di sistema. Anche la sobria descrizione del software ammette una sintassi di configurazione alquanto complessa. Il potere e il dolore provenivano esattamente dallo stesso posto.

Syslog

Sepolta all'interno di sendmail c'era una seconda invenzione che è scappata e ha conquistato più territorio della prima. Allman aveva bisogno di un modo coerente per il programma di registrare cosa stava facendo, quindi ha scritto una struttura di logging chiamata syslog. Era originariamente specifica per sendmail. È ora, secondo la frase dell'Internet Hall of Fame, il meccanismo di logging standard de facto utilizzato in quasi tutti i sistemi aperti e periferiche – la cosa che scrive le righe che i vostri server, router e stampanti producono quando succede loro qualcosa. È stata standardizzata informalmente per due decenni prima di essere messa per iscritto come RFC 3164 nel 2001 e successivamente sostituita dalla RFC 5424.

Due pezzi più piccoli di Allman sopravvivono anche nell'uso quotidiano. Lo stile di indentazione Allman, a volte chiamato stile BSD, è uno dei due modi in cui i programmatori C posizionano le loro parentesi graffe. E BSD Trek, ancora fornito nel pacchetto bsdgames di Linux, è il suo porting in C di un gioco di Star Trek in Fortran.

L'azienda

Allman ha lavorato presso l'azienda di database Britton Lee, in seguito Sharebase, e presso l'International Computer Science Institute. Nel 1998 lui e Greg Olson hanno fondato Sendmail, Inc. a Emeryville, California, per sviluppare il software commercialmente insieme alla versione open source; l'azienda è stata infine acquisita da Proofpoint. L'architettura che ha aggiunto in quel periodo, milter, ha permesso a terze parti di collegare filtri nel percorso della posta – il gancio attraverso il quale il filtraggio di spam e virus è stato successivamente innestato sui server di posta del mondo. Allman ha detto di aspettarsi che la maggior parte dell'evoluzione futura dell'email avvenga nei milter piuttosto che nell'agente di trasferimento stesso.

Ha anche contribuito a creare ACM Queue, posizionata deliberatamente nel divario tra le riviste accademiche che i professionisti non leggono e le riviste di settore modellate dagli inserzionisti, e ha fatto parte del suo comitato editoriale e del Consiglio ACM dopo precedenti ruoli di leadership in USENIX. Ha co-scritto il libro Sendmail della O'Reilly con Bryan Costales, ha contribuito a The Architecture of Open Source Applications, e successivamente ha lavorato presso lo Swarm Lab di Berkeley sul calcolo distribuito e sulle piattaforme dell'Internet delle cose.

Perché Eric è chiamato genio

La qualità mostrata non è brillantezza teorica e Allman non ha mai preteso il contrario. È giudizio di progettazione in condizioni di incertezza – la capacità di guardare un disastro di sistemi incompatibili e identificare correttamente quale parte continuerà a cambiare e quale no, quindi costruire la parte che cambia come configurazione e la parte stabile come codice. Le regole di riscrittura di sendmail erano una scommessa sul fatto che le convenzioni di indirizzamento dell'email sarebbero rimaste instabili per decenni. La scommessa era giusta, ed è il motivo per cui un programma scritto da uno studente laureato nel 1981 trasportava ancora gran parte della posta mondiale trent'anni dopo. Questa è lungimiranza ingegneristica di un tipo raro, e il riconoscimento lo riflette: l'Internet Hall of Fame lo ha inserito come Innovatore nel 2014, l'ACM lo ha reso Distinguished Engineer nel 2009 e Fellow nel 2025, e Berkeley lo ha nominato Distinguished Alumnus in Computer Science nel 2013.

Il caso contrario è giusto e vale la pena dichiararlo chiaramente. Allman non ha inventato alcun algoritmo, non ha dimostrato alcun teorema e non ha originato alcun protocollo; l'email, SMTP e ARPANET erano il lavoro di altre persone. Il suo genio, se la parola si applica, è l'artigianato – l'intelligenza pratica di qualcuno che costruisce un'infrastruttura che deve sopravvivere al contatto con tutti. E l'artigianato ha avuto un costo reale. Il linguaggio di configurazione di sendmail è famosamente punitivo, una barriera di cui generazioni di amministratori si sono lamentate e che ha contribuito a motivare gli agenti di trasferimento di posta rivali scritti dopo di lui. Uno strumento che solo gli esperti possono operare in sicurezza è un pezzo di design compromesso, per quanto durevole. Il consiglio stesso di Allman ai programmatori è tipicamente poco glamour: scegliete un progetto che corrisponda alla vostra personalità, scrivete codice pulito e ben documentato, perché la vostra reputazione sarà in gioco.

Eredità

Allman è gay e ha sposato Marshall Kirk McKusick, uno sviluppatore principale di BSD Unix, nell'ottobre 2013, dopo oltre trent'anni insieme; si sono conosciuti durante gli studi post-laurea, e insieme sono responsabili di una proporzione sorprendente del software che ha reso Unix il sistema operativo di Internet. I suoi onori includono il Telluride Tech Festival Award of Technology nel 2006. La misura migliore del suo lavoro, tuttavia, è che è invisibile. Nessuno pensa all'agente di trasferimento di posta, e nessuno legge la riga syslog finché qualcosa non si rompe – che è precisamente la condizione che l'infrastruttura dovrebbe raggiungere.

Confronta con i grandi

Max Planck vs Werner HeisenbergAdam Smith vs Thomas AquinasBlaise Pascal vs Steve JobsGottfried Wilhelm Leibniz vs John Von Neumann
Vedi Classifica →Tutti i confronti →

Bambini prodigio

Umi GarrettUmi GarrettWent viral playing Liszt on Ellen at eight, then won a Chopin…Maddie ZieglerMaddie ZieglerSia's 'Chandelier' Music Video at Age 11 — Two Billion YouTube…Daniel TammetDaniel TammetRecited pi from memory to 22,514 digits in just over five hoursShirley TempleShirley TempleHollywood's number-one box-office star as a child, later a U.S.…
Bambini prodigio →

Gioca e torna domani

Sfida del genio del giorno · Brain teaser
A farmer has 17 sheep. All but 9 run away. How many are left?
Tocca la tua risposta ↓
Quale genio sei? Test del QI gratuito