L’Eterno Condono

23 marzo 2024

A seguito di un toot di Stefano Maffulli – attuale direttore di Open Source Initiative, già recentemente citato su queste pagine – ho avuto modo di articolare un breve scambio di messaggi. Terminato senza particolari conclusioni, ma da cui ho tratto qualche riflessione non molto confortante.

Il riassunto spannometrico dell’argomentazione di Maffulli – in quella sede sostenuta anche da Luis Villa, che non è proprio l’ultimo degli scappati di casa – è che la nascente definizione di “Open Source AI” debba necessariamente includere in modo esplicito i parametri previsti dalla (già esistente, per quanto ancora in costante divenire) normativa vigente in tema di AI. Di fatto, estendendo formalmente i requisiti già iscritti nelle regolamentazioni per aggiungere quel che concerne strettamente l’attribuzione della qualifica “Open Source”.

La domanda sottoposta tra le righe: è davvero indispensabile che la suddetta definizione sia legata e vincolata a leggi che devono comunque, a prescindere, essere applicate da chiunque – open o non open che sia il prodotto finito – e che comunque variano sia da Paese a Paese che nel tempo? La risposta erogata tra le righe: si, perché sinora ci è andata bene, ma un giorno qualcuno potrebbe non fare più eccezioni dedicate al modello open e pretendere che le regole siano puntualmente applicate anche in questo contesto.

L’implicito riferimento è al Cyber Resilience Act, la stringente regolamentazione europea sulla cyber sicurezza che ha fatto molto discutere negli scorsi mesi per la sua incompatibilità con le dinamiche proprie del modello di sviluppo collaborativo e più in generale con l’oramai universalmente consolidata pratica di attingere a piene mani dal patrimonio collettivo di codice libero disponibile online. In quel frangente, la massiccia mobilitazione di community, organizzazioni, stakeholders pubblici e privati ha permesso di introdurre ampie ed abbondanti eccezioni nel testo della direttiva, che nella formulazione attuale esonera gli sviluppatori (ed i contributor occasionali, ed i distributori) da oneri legali e burocratici per imputarli ai fornitori commerciali. Ma la scampata sorte dello sviluppo open source – che qualcuno già dava poco verosimilmente per “spacciato” nel Vecchio Continente – ha comunque posto la collettività di fronte a nuovi dubbi esistenziali (come se già non ce ne fossero abbastanza). Un po’ sulle effettive responsabilità morali dei developer che pubblicano con leggerezza codice potenzialmente non sicuro, e un po’ sulla tolleranza degli organi legislativi nei confronti di un modello produttivo essenziale per gran parte dell’impianto industriale contemporaneo ma troppo “fluido” per essere normato, monitorato, e per essere oggetto di vincoli e restrizioni.

In virtù della crescente attenzione dei suddetti organi governativi nei confronti dell’ancor più crescente impatto delle tecnologie digitali, e dunque della progressiva necessità di porre limiti, identificare responsabilità e interdire comportamenti dannosi, qualcuno inizia – a torto o a ragione – a domandarsi quanto ancora possano essere accettate delle deroghe specifiche per il modello open source. Che da una parte viene romanticamente narrato come un innocuo passatempo da smanettoni, ma dall’altra parte è di fatto un processo oramai pressoché inalienabile del moderno apparato produttivo, il quale deve dare garanzie e risposte certe.

Per quanto possa comprendere queste titubanze, ho delle perplessità sulla possibilità di iscrivere nome e regole dentro la definizione stessa di “open source”. Ufficialmente dal software open non ci si aspetta neppure che debba funzionare (“the software is provided ‘as is’, without warranty of any kind” è una formula canonica di qualsiasi licenza), proprio perché essendo – per definizione – pubblicamente accessibile e modificabile da chiunque non è possibile pretendere che l’autore debba (e possa) essere anche solo conscio di qualsiasi utilizzo, qualsiasi alterazione, qualsiasi uso ed abuso del proprio codice; figuriamoci se uno sviluppatore, per poter legittimamente dichiarare il proprio software “open source”, dovesse non solo fornire delle garanzie universali ma essere pure certificato e vidimato.

Viceversa, credo che la definizione in sé debba essere limitata alla sostanza propria: quattro libertà, e fine. Affinché tutti possano pubblicare quel che vogliono, senza lacci e lacciuoli, e continuare ad innovare senza chiedere il permesso a nessuno. E sia poi onere di chi sceglie di usare tali componenti in un contesto formale (ad esempio: quello commerciale) verificarne la conformità con le leggi vigenti. O, magari, adoperarsi per ottenere tale conformità, tramite contributi al codice o – più prosaicamente – finanziando lo sviluppo. E continuando a condividere lo sforzo del mantenimento con gli altri fornitori, finalizzato a conservare un reciproco vantaggio, come del resto ha sempre funzionato il modello in sé.

Può forse esistere il remoto rischio di una stretta legislativa sul modello open, che porti a dubbi e incertezze sulle sue dinamiche e possa minare la base del suo funzionamento ed incepparne alcuni meccanismi. Ma la sua istituzionalizzazione coatta, dettata da una visione esclusivamente economicistica dello stesso (quella per cui l’unica porzione dell’eterogeneo mondo open che conta è appunto quella di rilevanza commerciale e industriale, con tutti i relativi annessi legali), equivarrebbe alla certezza della sua fine. Perché non tutti i suddetti progetti di rilevanza industriale nascono a priori con questo fine, non tutto il codice libero viene pubblicato in prima istanza con l’obiettivo esplicito di essere integrato in soluzioni professionali da parte di terzi, e se davvero queste fossero condizioni sine qua non per poter pubblicare software lecitamente “open source” – ovvero: se, oltre alle già diffuse perplessità nel “regalare” il proprio codice, si sommasse pure l’obbligo di accollarsi oneri burocratici e legali – davvero dubito che qualcuno si prenderebbe ancora la briga di aprire un qualsiasi nuovo repository su GitHub. Azzerando quello che è uno dei massimi vantaggi competitivi del caotico modello aperto: la capacità di innovare – per dirla con le parole di Torvalds – “just for fun”.


Il Nome della Rosa

25 febbraio 2024

La narrazione post-opensource emersa nel recente passato ha – a suo modo – tentato di sollecitare una “evoluzione” del modello open source stesso, che (sulla carta) potesse far convivere la trasparenza del codice con una presunta garanzia di sostenibilità economica. Idea poi formalizzata in una variegata serie di licenze software di ispirazione classica (GPL in primis) ma tutte sistematicamente epurate dall’odiata Libertà 0. Per i profani: quella che permette a chiunque, non solo all’autore, di trarre profitto economico dal codice stesso. E sebbene l’intero sistema dialettico sia stato innescato e sia sempre stato corroborato da una forte e spesso scomposta contestazione del modello capitalistico, opprimente sfruttatore dell’altrui lavoro erogato volontariamente in modo gratuito (…), è curioso notare come esso abbia invece gemmato e concimato nuove forme di acrobazie comunicative da parte dei più raffinati esponenti del capitale stesso.

Il primo esempio interessante è quello di HashiCorp, azienda rea di aver cambiato da un giorno all’altro la licenza di Terraform – popolare strumento di automazione dei processi cloud – rendendolo un prodotto proprietario. Il CEO Dave McJannet, intervistato dopo l’annuncio del fork promosso da Linux Foundation inteso a preservare l’originario progetto libero e aperto, reagì sdegnato invocando “the realisation that the open source model has to evolve“. Una posizione piuttosto diversa rispetto a quella espressa dai suoi omologhi in circostanze analoghe (rispetto ai quali ha comunque dimostrato maggiore onestà intellettuale, adducendo come motivo del cambio di rotta non presunte ed infondate perdite economiche ma un diretto interesse degli investitori), in quanto non esprime biasimo per i sedicenti vincoli propri dell’open source ma arriva a proporre una diversa concezione del modello open source stesso. O, almeno, un diverso significato comunemente applicato a questo termine.

Come, mesi dopo, ha suo malgrado spiegato con maggiori dettagli Scott Chacon, CEO di GitButler, nell’accrocchiare su TwiXter giustificazioni sul fatto che la piattaforma da esso rappresentata era appena stata rilasciata con una licenza “diversamente open source” che proibisce l’utilizzo commerciale della stessa. Ed esplicitamente ha scritto che, stando al suo punto di vista, per tutti (?!) “open source” vuol letteralmente dire “public on GitHub“, e per evitare incomprensioni (??!!) questo unico significato dovrebbe essere quello comunemente in uso – ignorando qualsiasi altra definizione che Open Source Initiative pretenderebbe di dare senza averne diritto alcuno (???!!!).

McJannet in modo più sobrio, e Chacon in modo più pirotecnico, nelle loro rispettive posizioni di direttori di startup finanziate da venture capital a caccia di profitti e rendite, non dicono essenzialmente nulla di diverso rispetto al movimento etico e moral(izzator)e citato in apertura: in funzione del diritto di sfruttamento economico (che è sinonimo talvolta di “profitti” e talvolta di “sostenibilità”, a misura del proponente), il codice è pubblicamente consultabile e persino in qualche misura utilizzabile ma nulla di più. Guardare ma non toccare. Ma McJannet e Chacon, nelle loro rispettive posizioni di direttori di startup che fanno del marketing – ancor prima della tecnologia – la loro propria ragion d’essere, stanno ben attenti a non compiere il medesimo errore dei circoli para-filosofici di cui sopra, e preferiscono veicolare il proprio messaggio non tentando di radicare nuove mitologie e nuove ontologie ma sfruttando quelle che già esistono. Mirando a inculcare un nuovo valore ad una parola che già tutti conoscono.

Sarebbe stato troppo ingenuo dichiarare, in modo semplice e chiaro, “Da oggi il nostro prodotto è Source Available“, termine già coniato, già conosciuto e che già indica esattamente e precisamente la condizione desiderata. Perché rinunciare all’opportunità di presentarsi come “soluzione open source” è un danno, uno svantaggio, un ostacolo. Ed i detrattori lo sanno. Il “brand open source” è amato ed apprezzato dal pubblico in quanto ispiratore di fiducia, in virtù del carico di implicazioni – tutte positive, almeno per gli utenti ed ancor più per i clienti – che porta con sé, dunque poterlo ostentare sulla propria homepage permette di godere di quella stessa fiducia che è stata costruita da altri. Anziché correre il rischio di perdere tale universalmente riconosciuto marchio di qualità – auto-assegnato per auto-certificazione – tanto vale buttarla in caciara e sperare che qualcuno ci creda per davvero. I puristi storceranno il naso, ma gli investitori che approvano i finanziamenti ed i manager che firmano i contratti d’acquisto non noteranno la differenza.

Purtroppo non siamo dotati di ferri roventi digitali con cui vistosamente marchiare a fuoco gli impostori sulla pubblica gogna dell’internet. Ed è certo che episodi analoghi continueranno a proliferare, in mancanza di argini che possano contenerli. Ma val la pena pensarci, e non prestare il fianco più di quanto strettamente necessario ed ineluttabile. Affinché il termine “open source” non diventi una vana buzzword con cui decorare le brochure.

Stat rosa pristina nomine, nomina nuda tenemus.


L’Anno Nuovo

12 febbraio 2024

Un altro anno al FOSDEM di Bruxelles, un altro post di commento e sintesi della maggiore conferenza europea dedicata al software libero e open source.

Ahimé, ho incrociato molti meno amici italiani del solito. Non perché non fossero presenti, ma probabilmente perché ho frequentato meno le aree dedicate agli stand (presso cui molti dei suddetti sono impegnati, contrariamente a me che al FOSDEM sono un mero turista), e – rispetto alla media – ho seguito un numero maggiore di talk. Con i classici alti e bassi che caratterizzano il vasto, e per questo eterogeneo, programma della manifestazione.

Il necessario intervento sullo stato del vituperato Cyber Resilience Act – la norma europea rivolta alla cyber sicurezza, che nel corso dello scorso anno ha suscitato scalpore e panico in virtù della sua drastica definizione sulla responsabilità legale del software, incompatibile col modello collaborativo che tutti noi amiamo – è stato utile per sedare gli animi e anticipare le numerose eccezioni che sono state appositamente introdotte nel testo (qui l’ultima versione disponibile al momento) per annullare o almeno minimizzare l’impatto di questa direttiva sulle dinamiche proprie dello sviluppo open. Per quanto qualcuno consideri ancora imperfetto tale testo – del resto la politica è fatta di compromessi, ed è oggettivamente impossibile fare sempre contenti tutti – personalmente considero questa intera vicenda un traguardo, sia per il ruolo di lobby esercitato dal Movimento Open nel suo complesso (che, a dispetto del sentore comune, trova tra i suoi rappresentanti non solo developers scappati di casa ma anche soggetti organizzati e strutturati che tutelano interessi economici, politici e sociali comuni), sia per l’ennesimo riconoscimento istituzionale nei confronti della realtà del modello open source, che pur non aderendo ai canoni classici della produzione industriale detiene oramai un peso che non può essere ignorato in sede di regolamentazione e necessita di sue proprie specifiche.

Un po’ per caso ho assistito a questo talk, all’apparenza banale ma di cui ho apprezzato l’intento di introdurre una narrazione meno romantica e più pragmatica del cosiddetto “cloud”: non già una tecnologia, e dunque un progresso ed una innovazione, bensì un modello commerciale fondato sull’affitto a breve termine delle risorse digitali. Poche parole, chiare ed asciutte, sufficienti a ridimensionare il fenomeno tecnologico dell’ultimo decennio alla sua effettiva essenza: talvolta può essere utile, talvolta no, certamente non va adottato ciecamente sulla base di una necessaria, inevitabile ed ineluttabile “modernità”. Chi legge con una certa frequenza questo mio blog dovrebbe aver assimilato il fatto che le parole sono importanti.

Sono stato piacevolmente sorpreso nel trovare una devroom interamente dedicata al mondo delle mail, uno strumento che nel 2024 viene spesso ignorato in favore di più moderne piattaforme e più avvincenti protocolli di comunicazione ma che, volenti o nolenti, resta un canale universale, l’unico che riesce a raggiungere tutti e l’unico genuinamente “federato”. Come è stato detto da uno dei relatori “Email is your personal API”, e a tal proposito sono lieto che il tema dei dati strutturati nelle mail sia attivamente sviluppato al fine di elevare il potenziale e l’integrazione di tale strumento per estrapolarne la incredibile mole di informazioni personali che vi transitano.

Deliberatamente ho evitato i talk a proposito di Artificial Intelligence – tema che francamente mi scalda poco, mancando i casi d’uso reali che vadano oltre il ludico – e ho saltato i seppur numerosi talk sulla sostenibilità economica dell’open source – argomento giustamente reiterato, ma che raramente viene oramai affrontato in un modo che non sia scontato. L’eccezione che mi sento di nominare è questo intervento relativo al rapporto tra la community Drupal ed il mercato enterprise, che fornisce qualche spunto interessante.

Una nota negativa: ho avuto l’impressione che quest’anno ci fossero meno volontari coinvolti nella complessa macchina logistica del FOSDEM. Sono incappato in diverse devroom senza assistenti e presentatori, ho visto circolare meno “magliette gialle” (che identificano appunto lo staff), e tra i suddetti amici italiani impegnati presso gli stand promozionali almeno uno ha segnalato una minore presenza di aiutanti e supervisori che dessero una mano a tenere tutto in ordine. Potrebbe essere solo una suggestione – del resto, dall’apposita pagina web si evince che quasi tutti i ruoli sono stati coperti con successo – oppure una sbavatura organizzativa, ma ci presterò maggiore attenzione il prossimo anno.

Da qualche anno, con l’amico che mi accompagna ogni anno, scherziamo sul fatto che il FOSDEM rappresenta il reale inizio dell’anno, differito di un mese rispetto al calendario comune. Perché è in questa sede che formuliamo i buoni propositi per i mesi successivi, in termini di progetti da realizzare, strumenti da adottare, collaborazioni da perpetrare, argomenti da approfondire. E anche in questa occasione sono tornato a casa con molti spunti, qualche idea, diverse speranze, ed il pieno di buona volontà.


Compagno Tux

13 gennaio 2024

Questo articolo, trovato tempo fa scorrendo pigramente la timeline di un social network, mi ha rammentato un pensiero sorto oramai anni addietro: alla comunità linuxara manca una coscienza di classe.

Tale pensiero è emerso dopo l’ennesima conversazione con l’ennesimo rampante attivista linuxaro, uno di quelli inflessibili nei confronti dell’utilizzo esclusivo di Linux e del software libero da parte delle masse (e delle scuole, e delle pubbliche amministrazioni…), che lanciando i suoi strali ai danni di Microsoft, Google o del Governo miope e colluso pronunciò la magica frase “Poi sì, io Windows lo uso, ma solo perché devo per lavoro. Sai: l’ufficio, la famiglia, i figli…”. Non so dire dove e quando suddetta conversazione avvenne, perché di analoghe ne ho avute a dozzine: fiumi di linuxari intransigenti di notte e nei weekend, e operatori al servizio del software proprietario (e molto spesso proprio dei BigTech, in modo più o meno diretto) dalle 9 alle 18. Ma ricordo che proprio quella specifica occasione mi portò a prendere atto del triste stato delle cose: a prescindere da valori e principi, risorse e competenze vanno comunque altrove.

Cosa non da poco. Perché proprio la disponibilità di risorse e competenze consolidano i monopoli, ed anzi sono la ragione stessa dell’esistenza dei monopoli. E, viceversa, la scarsità – o comunque il difficile reperimento – di risorse e competenze in ambito Linux rallentano ed ostacolano l’adozione e la diffusione, magari proprio presso quelle stesse masse (e quelle scuole, e quelle pubbliche amministrazioni…) che vorrebbero compiere qualche passo in quella direzione ma non sanno a chi rivolgersi e finiscono dunque col dover rinunciare.

In cosa dovrebbe consistere questa “coscienza di classe linuxara”? Nell’adottare anche sul proprio posto di lavoro quelle attitudini che abitualmente si manifestano sulle mailing list, sui canali Telegram, e in altri ricettacoli di smanettoni. Senza necessariamente essere oltranzisti (del resto: si parla del proprio lavoro, mica di quello di qualcun altro…) ma mettendoci almeno un poco di buona volontà.

La forma più ovvia e scontata è quella di promuovere una esplicita adozione di soluzioni open source nel proprio ufficio, cosa che spesso fallisce se ci si rivolge direttamente al management – molti dirigenti vivono in quella dimensione parallela in cui “Microsoft” è sinonimo di “professionalità”, convinzione basata su una fede di carattere religioso e pertanto difficile da confutare – ma che talvolta attecchisce quando si coinvolgono i colleghi – spesso più aperti nel provare qualcosa di nuovo, essendo implicitamente percepito come stimolante – o si reitera il messaggio per un numero sufficiente di volte.

Aneddoto motivazionale. Molti anni fa facevo il programmatore in una azienda le cui procedure interne non erano particolarmente sofisticate ed in cui il codice veniva scambiato tra i colleghi su chiavette USB, con tutti i grattacapi che si possono facilmente immaginare in caso di modifiche concorrenti sugli stessi file. Il sistemista dell’azienda – che fungeva anche da oracolo per tutte le questioni tecnologiche – era un fan-boy Microsoft (e, conseguentemente, un detrattore dell’open source), e percependo che era giunta l’ora di adottare una soluzione un tantino più evoluta di code sharing si rivolse a me – all’epoca, il dipendente più giovane e pertanto il più flessibile nei confronti dei cambiamenti – per indurmi ad iniziare a usare Perforce, ovvero quel che al tempo era una sorta di distribuzione commerciale e proprietaria di SVN il cui client esisteva solo per Windows. Alché io – già all’epoca convinto adepto della setta linuxara, allibito all’idea di dover lavorare su un PC Windows – ho recuperato un vecchio computer desktop non più utilizzato, ci ho installato sopra Debian e FusionForge (un antesignano di GitLab), con la maliziosa complicità di un paio di colleghi anziani l’ho piazzato in uno sgabuzzino, ed ho iniziato a committare lì la mia roba, istruendo man mano tutti gli altri all’utilizzo dell’issue tracker integrato (più ordinato ed efficiente dei pizzini di carta su cui mi avevano annotato bug e segnalazioni fino a quel momento) e poi all’utilizzo stesso di SVN per scambiarsi le loro proprie modifiche. Un anno dopo, quello nello sgabuzzino era per tutti (dirigenti aziendali compresi) il server ufficiale per la condivisione del codice interno, nessuno parlò mai più di Perforce, sulla mia postazione di lavoro continuavo ad adoperare solo Linux, ed il sistemista mi aveva tolto il saluto.

Dopodiché esistono diverse altre accortezze che sarebbero opportune. Come evitare di favorire la ricerca di nuovo personale da parte di chi assume sistemisti Windows e programmatori .NET, ed evitare di far circolare tali appelli tra le proprie conoscenze. E prendere atto del fatto che se si manda un giovanotto alla prima esperienza a configurare le stampanti nelle LAN ActiveDirectory aziendali o a mantenere i vecchi gestionali contabili in C# dei clienti non solo non gli si sta facendo un gran favore, né personale né professionale, ma si stanno attivamente e deliberatamente sottraendo risorse e competenze alla Causa di cui sopra. Persino ci si può spingere a veicolare all’interno della propria azienda il proposito di sostenere economicamente i progetti open source che vengono utilizzati per le attività professionali, alla luce del fatto che qualsiasi azienda – pure la meno linuxara dal mondo – qualche strumento open source, suo malgrado, lo adopera.

Certo non si può ignorare il fatto che chi ha famiglia e figli a carico possa avere delle giuste e lecite remore nel lasciare il proprio posto fisso per andare a consultare i (pure abbondanti) annunci di lavoro per sistemisti Linux o programmatori web/IoT, ed andare ad incorrere volontariamente in tutte le incertezze di una nuova e differente occupazione. Ma – nel momento in cui ci si accolla la responsabilità di farsi portavoce della Causa Freesoftware – qualche accortezza bisognerebbe pur prenderla. Almeno, non una di più e non una di meno rispetto a quelle che così calorosamente si pretendono nei confronti delle masse (e degli operatori nelle scuole, e nelle pubbliche amministrazioni…).

Linuxari di tutto il mondo, unitevi.


Uno Per Cento (2023)

31 dicembre 2023

Anno nuovo, abitudini vecchie: anche questa serata d’inverno l’ho dedicata alla distribuzione dell’1% del mio fatturato annuo ai progetti liberi e open source che ho adoperato nello svolgimento del mio mestiere di sviluppatore software freelance, per il settimo anno consecutivo. La premessa è che – come si evince dalla mia tabellina globale di riassunto – ho raggiunto la soglia dei 3000 euro distribuiti (euro più, euro meno: molti versamenti li ho fatti in dollari, che valgono un pochino meno della valuta che adoperiamo nel vecchio continente) e non rimpiango neppure un centesimo.

Anche questa volta, come la precedente, mi sono lasciato guidare in larga parte dagli output dei comandi “composer fund” e “npm fund” (rispettivamente i package manager d’elezione per PHP e JS, gli ambienti di sviluppo che mi trovo ad usare più frequentemente) per identificare e scegliere i progetti cui assegnare le rispettive quote, in particolare tra le mie involontarie eppur necessarie dipendenze. E stavolta mi sono pure ricordato di alcune mancanze passate…

Versamenti da 25 euro/dollari: progetti primari ed essenziali.

Versamenti da 10 euro/dollari: dipendenze primarie.

Versamenti da 5 euro: dipendenze indirette e supply chain.

Per la prima volta quest’anno ho usato lo strumento di “Bulk Sponsor” offerto da GitHub per fare in un colpo solo gran parte dei miei versamenti: con questo, gran parte dell’operazione si risolve con un copia e incolla dal terminale (con gli output dei sopra citati comandi “fund”), una riformattata al testo, e l’upload di un semplice CSV. Anche se, lo confesso, laddove possibile preferisco usare OpenCollective (che almeno non trattiene implicitamente ulteriori commissioni rispetto alla transazione bancaria).

Cosiccome anche quest’anno ho preferito snobbare la pur comoda pagina GitHub che automaticamente enumera i repository che accettano donazioni e risultano essere dipendenze dei propri progetti ivi pubblicati: un po’ perché buona parte di quel che faccio per lavoro non è su GitHub (bensì in repository privati su GitLab…), un po’ perché preferisco premiare gli sviluppatori che usano gli strumenti nativi dei rispettivi package manager (sempre i suddetti comandi “fund”) anziché dipendere in modo così totale ed esclusivo del – letteralmente – tentacolare octocat.

A costo di risultare pedante e noioso, colgo nuovamente l’occasione per raccomandare a tutti i miei colleghi developers di chiudere l’anno (o iniziare quello nuovo) facendo due conti e distribuendo a loro volta una parte del proprio fatturato annuo ai componenti open source che hanno adoperato nel corso dell’anno, come suggerito da Italian Linux Society. Non per stucchevole generosità e traboccante bontà d’animo, ma perché l’open source non è una alternativa e se non ci fosse probabilmente voi stareste facendo un altro mestiere.


Al Limite dell’Infinito

9 ottobre 2023

Più o meno nello stesso momento in cui scrivevo che l’open source domina su pressoché ogni settore tecnologico, Stefano Maffulli – direttore di Open Source Initiative – si batteva il petto perché il medesimo movimento open source non è riuscito a cavalcare le due maggiori rivoluzioni digitali dell’ultimo decennio: il cloud ed il mobile.

La premessa è che il blog post sopra linkato ha l’intento primario di spiegare, contestualizzare e promuovere la campagna intrapresa da OSI per dare una definizione di “open source” nell’ambito di quella che è la terza rivoluzione digitale del decennio, la cosiddetta Artificial Intelligence, ma credo che valga la pena sviscerare un poco le posizioni espresse. Per smontare la tesi, e arrivare al punto.

Innanzitutto: quando parliamo di open source, stiamo parlando di software. Ovvero di un bene riproducibile all’infinito, a costo zero. E che pertanto può essere distribuito a tutti, senza oneri, per facilitarne l’adozione, accelerarne l’integrazione e – in ultima istanza – permettere la partecipazione attiva ed il miglioramento collettivo. Il successo sta essenzialmente tutto qui: nell’implementare un modello produttivo e industriale applicabile al mondo digitale, in cui non esistono materie prime, risorse, macchinari, operai o logistica, e dove pertanto non possono essere applicate le dinamiche canoniche di scarsità, approvvigionamento, economia di scala, capitalizzazione, surplus, e tutto quello che normalmente descrive dal punto di vista economico la produzione delle mele, dei tavoli, degli aerei o di qualsiasi altro prodotto.

Quando parliamo di cloud e mobile, stiamo invece parlando di oggetti fisici. “Il cloud” è, come tutti sappiamo, “il computer di qualcun altro”, ed in quanto computer deve non solo essere costruito ma anche piazzato da qualche parte, continuamente alimentato con energia elettrica e connesso all’internet. “Il mobile” è una categoria di dispositivi embedded, ovvero primariamente agglomerati di componenti elettronici su cui incidentalmente è installato del software. Volenti o nolenti entrambi i contesti appartengono alla sfera dell’economia classica, in cui delle risorse (silicio, rame, alluminio: disponibili in quantità finita, dunque scarsi, dunque costosi) devono essere consumate per ogni singola unità prodotta o erogata. E ben difficilmente tali risorse – o meglio: l’onere richiesto per allocare queste risorse – può essere condiviso e distribuito.

Come dovrebbe essere fatto il “cloud open source”? Forse dovrebbe esistere una rete di server federati che espongono funzioni infrastrutturali comuni, che possano essere sfruttate liberamente da tutti? Esistono diversi esperimenti in tal senso, ma tutti di modesta diffusione proprio perché inevitabilmente basati sul presupposto che qualcuno si sobbarchi, volontariamente e spontaneamente, i costi operativi (storage, banda, computazione…) di tutti gli altri. E come dovrebbe essere formulato il “mobile open source”? Già esistono diverse alternative libere ai canonici Android e iOS, ma alla luce del fatto che queste richiedono un attivo e tutt’altro che banale impegno da parte degli utenti anche solo per essere installate non credo siano destinate ad andare molto più lontano di quanto Linux sia andato sul desktop; d’altro canto proprio la frammentazione delle piattaforme mobili ha creato l’esigenza di semplificare lo sviluppo delle applicazioni, ed anche qui le soluzioni open source sono, di fatto, l’unica opzione solida per un intero ramo dell’industria IT.

E come la mettiamo con la AI? Questa è una bella domanda, e sono lieto che OSI se la sia posta. Quando parliamo di AI ci riferiamo essenzialmente ad algoritmi (e dunque software, e dunque bla bla bla quello che ho scritto sopra) e – soprattutto? – a modelli dati, che a loro volta sono assets digitali duplicabili all’infinito. I quali hanno però un processo di genesi ben diverso rispetto al software: sono elaborazioni di dati e informazioni (immagini, testi, suoni…) distribuiti con una propria licenza, che può essere libera o meno (e determinano poi la licenza con cui il modello stesso potrà e dovrà essere distribuito e utilizzato da altri), ed in molti casi necessitano di grandi risorse computazionali (finite, scarse, costose) per essere non solo generati ma anche modificati ed estesi. Il blob binario infine derivato potrà poi essere distribuito pubblicamente, ma non c’è nessun valore aggiunto, e dunque nessuna motivazione, nel farlo: laddove il cardine del modello di sviluppo open source sta nella pubblica partecipazione – il prerequisito della quale è l’accesso al codice, da cui deriva l’effetto collaterale della gratuità – un modello dati fatto e finito non può essere collaborativamente modificato e perfezionato, se non intervenendo sulla base di dati da cui è stato generato. Motivo per cui le fonti di dati liberi, e persino le iniziative community appositamente nate per raccogliere dati collettivi con l’esatto scopo di alimentare modelli AI, non mancano, ma sta poi al singolo dispiegare la potenza computazionale (finita, scarsa, costosa) richiesta per macinarli ed ottenerne l’effettivo artefatto da dare in pasto al proprio algoritmo. Non so anticipare quale sarà il risultato di OSI nel suo compito di dare una definizione di “intelligenza artificiale open source”, ma non dubito che persone più intelligenti di me prenderanno in considerazione questi fattori; il rischio contrario è quello di partorire una versione ideologica, utopica, e pertanto inapplicabile e non credibile.

Inquadrando il fenomeno open source in una cornice economicista (materialista, e – diciamolo – persino un po’ marxista) diventa, a parer mio, più semplice determinarne il perimetro, prevederne le conseguenze, conoscerne i limiti, anticiparne i progressi. E comprendere dove è necessario, o semplicemente più conveniente, intervenire. L’open source descrive l’infinito, e l’infinito è il suo unico campo di applicazione; se è finito, non può essere open source.


Diversamente Alternativo

1 ottobre 2023

In occasione della Italian Tech Week 2023, Iolanda Pensa – presidentessa di Wikimedia Italia – è stata invitata a tenere un talk, ed ha gentilmente voluto coinvolgermi per allargare il tema della presentazione non solo ai contenuti liberi ma anche al software libero.

Ho dunque approfittato di tale circostanza, avulsa dai soliti convegni di soli nerd già affini a questi argomenti, per provare a spiegare il software libero in maniera un po’ diversa dal solito. A partire da un presupposto di base: l’open source non è una alternativa.

Se lavori nell’ambito web, l’open source non è una alternativa. PHP, Python, NodeJS, Apache, MySQL, WordPress, Drupal e tutti gli altri non sono una scelta secondaria, un’altra opzione, una nicchia sconosciuta ai più e da esplorare per la prima volta. All’interno di questa industria sono gli strumenti da adottare senza pensarci troppo, stabili, consolidati, per i quali è più semplice e veloce trovare documentazione, risorse e competenze; non sono una alternativa, sono (per usare a sproposito un termine abitualmente abusato) “lo standard”. La stessa cosa può del resto dirsi dell’intero settore embedded e IoT (Yocto, GCC, busybox, GTK e QT…), o di praticamente tutto quel che rientra nella categoria “cloud computing” (Docker, Kubernetes e tutto il panorama Cloud Native), ma anche “data analysis” (Python, Pandas e mille altri piccoli e grandi strumenti) o “machine learning” (Tensorflow, OpenCV e mille altri piccoli e grandi progetti nati sulla scia del rinnovato fermento portato dal fenomeno di ChatGPT).

Insomma: gran parte di quel che a oggi non è “desktop”. Ovvero: il contesto tecnologico meno rilevante dal punto di vista produttivo ed economico, e dunque politico, ma anche – fatalmente – quello su cui maggiormente (e forse unicamente) insiste la narrazione classica della cosiddetta community di promozione e divulgazione. Che si strugge perché la casalinga di Voghera non vuole installare Linux sul suo PC di casa.

La retorica della “alternativa open source” – che si auto-definisce unicamente per la scarsa penetrazione di uno specifico insiemi di progetti (Linux, e le sue distribuzioni) all’interno di uno specifico ambito (l’utilizzo sul desktop domestico) – automaticamente pone l’intero universo open source in una posizione minoritaria, secondaria, marginale e dunque marginalizzabile. Senza fornire una reale motivazione per interessarsene e curarsene, anche dal punto di vista istituzionale ed educativo, se non delle lasche e generiche raccomandazioni sulla “libertà del software”. Concetto in sé estremamente complesso da cogliere ed apprezzare da chiunque non abbia una forte consapevolezza pregressa di cosa sia effettivamente “il software” e di come funzioni, talmente complesso che viene spesso travisato pure da molti dei componenti della suddetta community di divulgazione ed assistenza.

Viceversa, narrando l’open source per quello che è per davvero – uno strumento di lavoro imprescindibile per interi rami d’industria – diventa non solo più semplice innescare attenzione ed interesse nei confronti della sua (ulteriore) adozione, ma si può iniziare ad inculcare a chi già lo conosce e lo usa – una larga maggioranza degli addetti ai lavori – una suggestione su quello che dovrebbe essere il passaggio strategico successivo: il coinvolgimento attivo. Affinché questo benedetto software libero (che, come amo ripetere, è libero ma è anche software) che già tutti adoperano sia anche migliorato ed esteso in modo progressivo ed esponenziale da chi ha le competenze per farlo, consolidi la sua superiorità tecnica laddove già la detiene, e la guadagni laddove ancora non ce l’ha.

Probabilmente quella della Italian Tech Week non è stata la mia migliore performance in veste di oratore (nota per il futuro: non pretendere di indossare una giacca su un palco illuminato da faretti, finisco col sudare come una spugna…), ma sono comunque contento di aver avuto il pretesto per tornare a meditare sulla (carente, e pertanto migliorabile) dialettica dell’open source.


For Fun and Profit

13 febbraio 2023

Dopo due anni di (tristi e noiose) edizioni online, il Free Open Source Developers Meeting è tornato ad essere svolto in presenza presso la ULB di Bruxelles. Ovviamente ho partecipato, ed ovviamente – come negli anni passati – colgo l’occasione per qualche commento.

Forse proprio in virtù della pausa prolungata, il pubblico dell’edizione 2023 è risultato essere persino più ampio del solito. Tante le aule perennemente piene e perennemente inaccessibili, tanti i curiosi affollati davanti agli stand, tanti persino coloro che – al venerdi sera precedente l’inizio ufficiale della manifestazione – si sono presentati al Delirium Village nonostante quest’anno, per sommaria premura anti-COVID, non sia stato convocato il classico “beer event”. Tra gli altri ho avuto modo di incontrare diverse persone alla loro prima esperienza FOSDEM, convinte a recarsi in Belgio a inizio febbraio (non certo il periodo più indicato dell’anno…) in virtù dei reiterati inviti e delle reiterate reazioni entusiastiche di chi già c’è stato negli anni passati: le nostre nostalgiche lamentazoni, perdurate per due anni nei gruppi Telegram e nelle mailing list, hanno evidentemente lasciato un segno nelle coscienze.

Con mia enorme sorpresa, dopo anni di sostanziale disillusione e marginalizzazione, è tornato in auge il tema di Linux su mobile; quella che forse è la più grande sfida tecnologica, e la più lontana chimera, della community open source. Nuovamente è tornata ad essere dedicata una intera devroom all’argomento (da mezza giornata, ma sempre meglio di niente), e – incredibile ma vero – tra gli stand ce ne era uno, particolarmente trafficato, presso cui un pugno di volontari ha messo a disposizione diversi dispositivi con i più disparati sistemi mobile alternativi ad Android e iOS, pronti per essere toccati, spolliciati, maneggiati e valutati. Soprassedendo sulla modesta disponibilità di apps e sulle performances talvolta discutibili, è stato comunque interessante e finanche incoraggiante avere una idea empirica e pragmatica di come si comporta Gnome su uno schermo da 7 pollici.

Un poco anche grazie alle ultime due edizioni interamente online, ed alla necessità di interagire principalmente per tramite di un canale scritto, presso il pubblico del FOSDEM è cresciuta esponenzialmente la popolarità di Matrix. Al punto da essersi meritato non solo un ampio stand ma anche una devroom tutta sua. Eppure resiste imperterrito anche lo stand dedicato a XMPP (sotto il falso nome di “Realtime Lounge”, al primo piano del building K, dagli amici chiamato “il sottoscala XMPP”), che – dopo il periodo di gloria goduto sulla scia dell’adozione da parte di Google per la prima implementazione di Google Talk – è sostanzialmente sparito dalla circolazione. Tutto lascia pensare che prima o dopo Matrix prenderà il posto di IRC nelle comunicazioni tra smanettoni, e potrà persino essere utilizzato come strumento on-premise in particolari casi d’uso (l’esempio più eclatante è quello del governo francese) o come piattaforma per la costruzione di applicazioni specifiche per la condivisione, ma ritengo assai poco probabile che – come i più estremi sognatori invece anelano – possa davvero un giorno arrivare a competere con Whatsapp (o anche solo con Telegram) in termini di diffusione e adozione da parte delle masse.

Ho assistito a due diversi talk esplicitamente dedicati al business open source, e qua e là ho ritrovato altre suggestioni dello stesso orientamento. Cosa emblematica, considerando che da anni il movimento open source si strugge sulla questione mai risolta della sostenibilità. Considero questa una forma spontanea di reazione, di approccio sistemico al problema: alla luce del fatto (empirico e tragico) che non si può fare troppo affidamento sulle donazioni – benché sia molto orgoglioso del fatto che un altro talk, tenuto da un soggetto da me mai sentito prima, invitava i professionisti a distribuire l’1% dei propri profitti ai progetti open source utilizzati per svolgere il proprio lavoro; ovvero la stessa cosa che Italian Linux Society promuove dal 2017, e che io stesso faccio da sei anni – l’invito sottinteso è quello di “pensarci prima”, e di provvedere autonomamente, a priori, a dare al proprio progetto a codice aperto un senso economico e commerciale. Il proposito in sé ha molte lacune, in quanto non tutto il software può essere oggetto di compravendita e, soprattutto, non tutti i programmatori sono anche imprenditori (in verità, quasi nessuno), ma apprezzo che queste tematiche siano sussurrate all’orecchio della platea del FOSDEM e possano iniziare a fungere da ispirazione: fintantoché non si scivola lungo la pericolosa china del pensiero post-opensource, va tutto bene.

Concludo ringraziando il BGLUG per avermi ospitato la sera prima della mia partenza dall’aeroporto di Orio al Serio, l’amico Michele “netvandal” Tameni per avermi dedicato il suo lightning talk, e tutti coloro che – inaspettatamente – mi hanno chiesto aggiornamenti sul prossimo MERGE-it previsto per il 12/13 maggio a Verona. Incoraggiandomi un poco di più nella complessa e faticosa organizzazione di quello che qualcuno chiama (esagerando…) “il FOSDEM italiano”.


Uno Per Cento (2022)

29 dicembre 2022

Anche il 2022 volge al termine, e – come ogni anno – è giunta l’ora di distribuire l’1% del mio fatturato annuo ai progetti opensource che ho utilizzato per svolgere il mio lavoro di sviluppatore software freelance.

Quest’anno ho deciso di provare ad adottare – almeno in parte – una politica un po’ diversa: meno soldi a più progetti. Usando i comandi “composer fund” e “npm fund” ho potuto facilmente accedere alla lista di dipendenze indirette (rispettivamente, PHP e Javascript) su cui sono state costruite le applicazioni che mi sono state commissionate negli ultimi 12 mesi, componenti di cui personalmente ho scarsa conoscenza ma che – in un modo o nell’altro – contribuiscono a loro volta ad agevolare il mio mestiere. E che, dando uno sguardo alle rispettive pagine delle donazioni, risultano totalmente ignorati dalla maggioranza, essendo appunto poco visibili. Essendo questa lista piuttosto lunga, ed essendo comunque i miei fondi limitati, ho dovuto rimodulare i tagli delle donazioni, che ora risultano in gran parte da 10 o da 5 euro (o, più frequentemente, dollari). Ad eccezione delle prime che compaiono nell’elenco qui sotto, frutto delle donazioni reiterate mensilmente per tutto il 2022 su Github Sponsor: ora che questo strumento permette più facilmente donazioni “una tantum”, ho disabilitato tali donazioni ricorrenti su Github con lo scopo di poter meglio assegnare i proventi della mia attività il prossimo anno.

Componenti PHP utilizzati principalmente:

Componenti PHP secondari, importati come dipendenza:

Componenti Javascript utilizzati principalmente:

Componenti Javascript secondari, importati come dipendenza:

Altre applicazioni e iniziative da cui traggo beneficio in vario modo:

Questo è il sesto anno consecutivo che distribuisco l’1% del mio fatturato, e per avere una visione di insieme ho approntato questa tabellina che le riassume tutte. Da cui si evince a chi ho dato di più, a chi avrei dovuto dare di più (ebbene si, talvolta non sono rigoroso nelle mie assegnazioni…), e l’andamento annuale complessivo.

Come sempre invito tutti coloro che lavorano con applicazioni libere e open source – developers, sistemisti, consulenti… – ad aderire alla Campagna 1% promossa da Italian Linux Society e a ridistribuire a loro volta una parte, anche piccola, dei propri ricavi annuali.


100 giorni

29 novembre 2022

La app StreetComplete che ho installato sul mio smartphone mi ricorda che sono stato attivo per 100 giorni (non consecutivi), e mi sembra opportuno e utile condividere qui qualche impressione e considerazione.

Archivio di Twitter alla mano, ho citato StreetComplete per la prima volta nel 2017. Ma ricordo che durò poco: all’epoca risultava molto lenta nel recuperare le “missioni” da svolgere, ovvero i nodi OpenStreetMap cui era richiesto di aggiungere qualche informazione facilmente reperibile andando per la strada e passando accanto agli elementi interessati. Alché ho lasciato perdere per qualche tempo, finché – anni dopo – l’amico Boz non me la menzionò nuovamente e tornò alla mia attenzione. Ho così scoperto che nel tempo era stata molto migliorata, sia nelle prestazioni che nelle funzionalità, ed ho iniziato a smanettarci con una certa regolarità: andando al supermercato a fare la spesa, andando da mia madre per un occasionale pranzo della domenica, andando in ufficio da un cliente, magari imboccando percorsi leggermente diversi da una volta all’altra per evitare di transitare sempre dagli stessi punti ed avere sempre qualcosa di nuovo da mappare.

Confesso di averla sempre utilizzata con una certa moderazione, quasi esclusivamente percorrendo strade già note e conosciute lungo le quali potevo permettermi di concentrarmi sulla mappa anziché guardarmi attorno. Durante le vacanze, e in città nuove ed inesplorate, l’ho tenuta chiusa la maggior parte delle volte: non mi è mai andata a genio l’idea di rovinarmi l’esperienza di un posto nuovo da visitare al solo scopo di cliccare qualche bottone su uno schermo. Ma nonostante il mio scarso rigore e la modesta dedizione, segnalando un attraversamento pedonale senza indicatori tattili per i non vedenti o la presenza di una strada lungo cui non è possibile parcheggiare, sono comunque riuscito ad accumulare migliaia di piccoli contributi e a scalare fino alla Top 50 della classifica italiana.

Usando StreetComplete ho preso atto di quanto sia oggi semplice ed immediato contribuire attivamente al patrimonio culturale libero, e avere un impatto forse meno visibile (e meno spendibile sui social network) ma certo più significativo e concreto di quel che si ottiene sottoscrivendo una lettera aperta o firmando una petizione. Tant’è che, in un certo qual modo, questa app è stata anche l’ispirazione per la rubrica “Todo” della newsletter di Italian Linux Society (i cui riferimenti vengono riportati anche sull’omonima pagina di linux.it): una collezioni di strumenti facili, alla portata di tutti, presentati sottoforma di app per lo smartphone o di applicazioni web, con cui chiunque – secondo le proprie capacità e competenze, benché nella maggior parte dei casi non ne siano richieste affatto – può fare qualcosa di utile dedicando anche pochi minuti, anche senza una frequenza regolare. Tra i miei preferiti ci sono anche la app di Wikimedia Commons, che mostra su una mappa gli elementi Wikidata che hanno delle coordinate geografiche ma non una foto che li ritragga nell’archivio fotografico di Wikipedia, e Common Voice, progetto promosso da Mozilla che aspira a creare dei modelli vocali (quelli usati per tradurre il testo in voce e la voce in testo) liberi e aperti a partire dalle registrazioni audio rilasciate da migliaia di volontari.

Non so quanti abbiano mai consultato la suddetta pagina web, e soprattutto quanti abbiano effettivamente trovato una iniziativa su cui si sono poi messi all’opera, ma se andando e tornando dal comprare i Sofficini vicino a casa risulto oggi tra i 50 maggiori contributor italiani di StreetComplete probabilmente la stima è “molto pochi”. Eppure, in cuor mio, continuo a confidare in un coinvolgimento pragmatico di quella silenziosa maggioranza di appassionati e curiosi che – pur talvolta trovandosi passivamente a leggere di PEC minatorie, appelli istituzionali, campagne di sensibilizzazione e altre iniziative intangibili e lontane dal quotidiano – vorrebbero sentirsi parte attiva della cosiddetta “community” ed apportare un proprio contributo reale.

Dopo 100 giorni su StreetComplete mi sembra di non aver neanche iniziato. Ma ho iniziato, ed è quel che conta.