Come un fulmine, a metà dell’estate, arriva la notizia della scomparsa improvvisa di Bram Moolenaar lo scorso 3 agosto. Inaspettata, sorprendente, triste in maniera particolare. Deceduto a 61 anni dopo il precipitarsi di una malattia incurabile in pochissime settimane. Una di quelle persone che avremmo voluto sempre intervistare e adesso, assieme alla tristezza per una luce che si è spenta, porta anche il rimpianto del cronista di non aver mai fatto quel passo che da anni è nella lista delle “persone che un giorno vale la pena intervistare”.
Perché Bram Moolenaar, programmatore olandese nato nel 1961 a Lisse, nel sud dell’Olanda, era proprio questo: una di quelle persone che vale la pena cercare e intervistare. Conosciuto forse da pochi, soprattutto nel mondo del software, in realtà lascia una eredità enorme in termini sia tecnologici che umani e il suo ruolo è paragonabile a quello di uno dei grandi architetti della tecnologia moderna. Perché Moolenaar è e sarà sempre ricordato come il padre di Vim, l’editor di testo per programmatori più diffuso al mondo. Ma anche il massimo rappresentante del concetto di charityware, cioè il modello alternativo allo shareware usato per l’open source, ovvero fare donazioni quando si usa un software aperto.
Quest’ultimo concetto è fondamentale. Moolenaar l’ha portato avanti tutta la vita, scoprendo una causa alla quale appassionarsi, cioè l’educazione di bambini in Uganda. In una intervista di due anni fa Moolenaar aveva detto che i contributi charityware a Vim si erano stabilizzati intorno ai 30mila euro all’anno, cosa che permetteva di prendersi cura dell’educazione di 50 bambini ogni anno.
“Non ho mai voluto fare soldi con Vim”, ha detto Moolenaar. ”È iniziato come un hobby e per la maggior parte del tempo avevo un lavoro che pagava abbastanza bene. A parte alcuni anni in cui ho chiesto donazioni. Tuttavia, molte persone hanno detto che Vim valeva qualcosa e altri editor di testo sono stati pagati. Così, ho deciso di combinare il mio desiderio di aiutare i bambini poveri con questo, ed è nato Charityware. Funziona bene, in questo modo vengono raccolti circa 30.000 euro all’anno, che aiutano circa 50 bambini a terminare la loro istruzione, dalla scuola primaria all’università. Le donazioni provengono da alcuni grandi sponsor e da molte piccole donazioni”.
Il pregio di Vim
L’avventura principale della vita di Moolenaar, cognome olandese che tradotto in italiano vuol dire “mugnaio”, è stata quella di creare Vim. Ed è una avventura nata molti anni fa. vim, è la sigla per “Vi IMproved”, cioè una versione migliorata di vi, che a sua volta vuol dire ”visual editor”. La vediamo meglio tra un attimo, ma bisogna saperla perché è una storia tutta Unix, che tocca però anche altri computer, tra cui ovviamente quelli con la Mela. Gli editor di testo erano lo strumento fondamentale per interagire con i computer e soprattutto per scrivere codice, che è composto dai documenti di testo semplice. Un editor di testo serve a processare il testo in maniera molto efficiente,, ma non è né una videoscrittura (come Word) né un sistema complesso come una IDE (ambiente di sviluppo integrato) come Xcode di Apple oppure Visual Studio di Microsoft. Ma andiamo con ordine.
Tutto ebbe inizio nei primi anni ’70, quando il programmatore Bill Joy, uno dei membri fondatori di Sun Microsystems, sviluppò l’editor di testo “ex” (un’abbreviazione di “extended”) mentre frequentava l’Università di Berkeley. ex era basato sull’editor di testo “ed”, un potente ma complicato editor a riga di comando presente nei sistemi Unix di quei tempi. ex era una versione migliorata di ed, con l’aggiunta di nuove funzionalità, e divenne molto popolare tra i programmatori Unix.
Nel 1976, Bill Joy, vedendo che i terminali diventavano sempre più interattivi perché basati su monitor e non più su stampate di testo, sviluppò un altro editor di testo basato su ex, chiamato “vi” (che sta come abbiamo detto per “visual”). vi era un editor di testo a modalità, il che significava che aveva due modalità principali: la modalità di inserimento e la modalità di comando. Nella modalità di inserimento, era possibile digitare e modificare il testo come in un normale editor. Nella modalità di comando, si potevano eseguire varie operazioni di modifica del testo, navigazione e altre funzionalità.
vi divenne estremamente popolare tra i programmatori Unix, poiché era veloce, potente e funzionava bene anche su sistemi con risorse limitate. Tuttavia, l’apprendimento di vi richiedeva un certo sforzo e tempo, poiché aveva una serie di comandi a cui gli utenti dovevano abituarsi. Comunque, venne aggiunto a tutte le distribuzioni Unix e poi Linux, tanto che quando ci si collega da remoto per editare dei file su una macchina Unix-Linux, si sa già che troveremo una versione di vi. Questo è un altro motivo della sua estrema popolarità anche per chi si occupa della gestione dei computer, cioè dei sistemisti.
Successivamente, il codice di vi è stato rilasciato con licenza open source, e la comunità di sviluppatori continuò a migliorarlo e adattarlo per soddisfare le esigenze degli utenti. Uno dei risultati più notevoli di questo processo fu la creazione di Vim (Vi IMproved) negli anni ’90.
Arriva Bram Moolenaar
La storia di Vim inizia nei primi anni ’90, quando Bram Moolenaar, dopo aver imparato a usare vi a scuola (era l’unico editor presente sul sistema Unix dove gli studenti imparavano a programmare) decise di creare una versione migliorata per Amiga: voleva fare di più che non un semplice porting di vi: aveva infatti anche l’obiettivo di superare alcune delle limitazioni di vi e di aggiungere nuove funzionalità. Quindi, Moolenaar iniziò a lavorare sulla sua versione di vi, che chiamò inizialmente “Vi IMitation”. Con il passare del tempo, il progetto si evolse e fu rinominato “Vi IMproved”, abbreviato in Vim.
La filosofia di sviluppo di Vim è stata quella di mantenere la compatibilità con vi, in modo che gli utenti di vi potessero utilizzare Vim con facilità, ma allo stesso tempo, introdurre nuove funzionalità, miglioramenti e correggere alcuni dei problemi di vi. Vim ha aggiunto caratteristiche come l’evidenziazione della sintassi, l’auto-completamento, la possibilità di lavorare su più documenti contemporaneamente, una vasta gamma di comandi e configurazioni personalizzate. Ma fa tutto questo usando pochissime risorse di sistema. Recentemente la versione 9 ha aggiunto un nuovo linguaggio di scripting e gestione dei plugin, ma ha mantenuto la retrocompatibilità con il codice degli ultimi trent’anni.
Bram Moolenaar ha sviluppato Vim come un progetto open-source, rendendo il codice disponibile gratuitamente per chiunque volesse utilizzarlo e contribuire al suo sviluppo. Questo ha permesso alla comunità di sviluppatori di collaborare e contribuire alla crescita e al miglioramento di Vim.
Grazie al fatto che mantiene tutte le funzionalità di vi e aggiunge numerose nuove funzionalità e miglioramenti, Vim si è guadagnato una grande base di utenti fedeli ed è ancora oggi l’editor di testo preferito da molti sviluppatori e amministratori di sistema Unix-like.
La forza di Vim sta nella sua potenza e flessibilità, insieme alla sua capacità di essere utilizzato da una riga di comando o in modalità GUI, rendendolo adatto sia per gli utenti esperti che per i principianti. Inoltre, Vim supporta un vasto ecosistema di plugin e configurazioni personalizzate, consentendo agli utenti di adattarlo alle loro esigenze specifiche.
Un segno nel mondo
Molte persone hanno l’ambizione di lasciare un segno nel mondo. E spesso non riescono. Questo perché nonostante l’ambizione sia entro certi limiti più che legittima, quel che occorre per essere davvero importanti nella vita di altre persone non si trova all’interno di noi stessi ma nella capacità di fare qualcosa per gli altri. Il dono dell’open source da un lato e del charityware dall’altro è stato il principale contributo che il “dittatore benevolente” del progetto open source Vim ha dato.
Il mondo è leggermente diverso grazie a Bram Moolenaar. Non radicalmente, non ha scoperto la penicillina o sconfitto la fame nel mondo. Tuttavia, è stato sicuramente un uomo di buona volontà, che ha contribuito allo sviluppo di uno strumento fondamentale per chi lavora nel mondo della programmazione o nella gestione dei sistemi unix-like, e che ha contribuito al benessere di una piccola comunità di ragazze e ragazzi in Uganda. È una goccia nel mare, una piccola tacca nel mondo, ma è una goccia che è stata creata, una tacca che è stata apposta. Molti altri non possono dire altrettanto. Ma potrebbero, volendo, contribuire alla ICCF Holland, la fondazione di Moolenaar per i bambini dell’Uganda.
Quit Vim, Exit the Terminal
La battuta, affettuosa e tutta da nerd, che circola sui social tech in queste si rifà alla difficoltà nell’uso di Vim, che è un editor modale per la riga di comando (cioè il terminale) e richiede una conoscenza mnemonica dei comandi e dei contesti. Ne abbiamo parlato più volte, in questo articolo spiegando anche come usare la versione MacVim per l’interfaccia a finestre del Mac. Esistono anche molti libri per imparare. In ogni caso, nessuno mette in dubbio che vim sia tanto fondamentale quanto difficile.
È difficile anche solo capire come uscire dal software, tanto che una vecchissima battuta per chi usa Vim la prima volta è che non riesce a uscire. Beh, la battuta di oggi, da prendere con un sorriso triste perché affettuosa, è proprio questa: alla fine Bram è riuscito a fare “quit” e a uscire dal terminale. Con il comando più semplice, tra gli almeno venti modi diversi: esc e poi :wq
Addio Bram Moolenaar, e che la terra ti sia lieve.