Fork me on GitHub
con Valerio Galano

Il podcast dove si ragiona da informatici

Un informatico risolve problemi, a volte anche usando il computer

Riflessioni e idee dal mondo del software

Episodio del podcast

Riflessioni dall'Open Source Day 2023

4 aprile 2023 Podcast Episodio 117 Stagione 2
Riflessioni dall'Open Source Day 2023

Descrizione

Di ritorno dall’Open Source Day 2023 ho avuto modo di riflettere su quello che ho sempre avuto ben chiaro un mente sull’Open Source e su quello che invece ho sempre relegato un po’ in secondo piano. Come al solito, voglio condividere le mie rilessioni con te.

Pensieri in codice

Sostenitori di oggi:
Edoardo Secco, Carlo Tomas, Arturo

Attrezzatura utilizzata:
Shure Microfono Podcast USB MV7
Neewer NW-5 Pannello fonoassorbente



Fonti:
The Unexpected Demise of Open Source Libraries - Liran Tal
Why are there no incentives for security in Open Source? - Matteo Collina
Organization and challenges with best practices behind a successful os project - Francesco Corti
Tutti gli altri talk

Sostieni il progetto

Sostieni tramite Satispay
Sostieni tramite Revolut
Sostieni tramite PayPal
Sostieni utilizzando i link affiliati di Pensieri in codice: Amazon, Todoist, Readwise Reader Proton Mail, Proton VPN, Proton Pass, Satispay

Partner

GrUSP (Codice sconto per tutti gli eventi: community_PIC)
Schrödinger Hat

Crediti

Sound design - Alex Raccuglia
Voce intro - Maria Chiara Virgili
Voce intro - Spad
Musiche - Kubbi - Up In My Jam, Light-foot - Moldy Lotion, Creativity, Old time memories
Suoni - Zapsplat.com
Cover e trascrizione - Francesco Zubani

Mostra testo dell'episodio

Nascondi

Quello che segue è lo script originale dell'episodio.

Intro

Ogni volta che vado ad assistere ad una conferenza torno sempre a casa con mille pensieri che mi ronzano per la testa.

Questo tipo di eventi amplia sempre un po’ di più gli orizzonti, si sa. Sia dal punto di vista tecnologico, ovviamente: nuovi strumenti, nuove soluzioni.

Ma anche e soprattutto dal punto di vista delle idee: il confronto con persone estranee che portano con sé le proprie convinzioni, le proprie conoscenze e le proprie riflessioni, almeno per me è sempre un momento profondamente stimolante.

In questo episodio di Pensieri in codice, ti voglio dunque raccontare un po’ com’è andato l’Open Source Day 2023, quello che ho imparato e supratutto le riflessioni che ho maturato nel corso giorni successivi.

Sigla.

Open Source Day 2023

Il 23 Marzo, dunque, sono stato a Firenze e ho preso parte alla fantastica conferenza organizzata dai ragazzi del collettivo Schrodinger Hat.

Innanzitutto, voglio fare i miei complimenti a tutti gli organizzatori perché devo dire che hanno messo in piedi davvero un bellissimo evento: ben strutturato nei tempi e nel ritmo, con due chairman simpaticissimi e briosi e in una location splendida a pochi passi dal Ponte Vecchio.

Se poi ci mettiamo anche che sono tutti volontari, e che hanno gestito più di 300 persone in presenza e più 600 in remoto, direi che il risultato è stato davvero fantastico (amazing, tanto per usare la parola più gettonata sul palco).

E poi, ovviamente, ci sono stati un bel po’ di talk. Chiaramente tutti incentrati sull’Open Source (che era l’argomento principe dell’incontro) ed uno più interessante dell’altro.

Sul momento ho pensato subito che si trattatasse di un tipo di conferenza di cui, secondo me, in Italia c’era bisogno e devo dire che, riflettendoci poi a mente fresca, la mia idea si è rivelata pienamente confermata.

Ho deciso, quindi, di registrare questo episodio proprio per provare a spiegare il perché ho trovato così interessante questa conferenza, per consigliarti i talk che più o apprezzato, e poi semplicemente perché il tutto mi ha fatto venire voglia di parlarti un po’ di Open Source.

Se non hai potuto partecipare, ti consiglio di recuperare le registrazioni che trovi sul canale Youtube di Schrodinger Hat e che ti lascio in descrizione. In particolare, ti evidenzio anche i link dei tre talk che io ho trovato più interessanti, che poi per lo più sono anche stati di ispirazione per questo episodio.

Open Source permette di fare grandi cose

Non penso che ci sia bisogno di spiegare cos’è l’Open Source ad un ascoltatore di Pensieri in codice. Ogni giorno tutti noi entriamo sicuramente in contatto con un qualche software Open Source: è impossibile evitarlo.

Magari ci navighiamo sul Web, ci leggiamo le email, magari ci costruiamo i nostri piccoli meccanismi ed automatismi di tutti i giorni.

Se poi siamo professionisti, in particolare nel campo dell’informatica, o anche in generale delle discipline STEM, perché no, è probabile che utilizziamo vari prodotti Open Source per lavoro, per sviluppare soluzioni ad hoc, per risolvere problemi specifici.

E infine (e dico infine solo perché si tratta del mio specifico settore quindi quello di cui posso parlare con un minimo di cognizione di causa) se siamo programmatori, l’Open Source ci permette di fare tantissime cose: oserei dire che è fondamentale per noi.

Dai su, siamo onesti, sviluppare software oggi, in moltissimi casi, vuol dire combinare elementi di altri software e, altrettanto spesso, questi elementi sono proprio progetti Open Source o parte di essi: le cosiddette librerie che utilizziamo, i package, i framework, gli stessi linguaggi di programmazione.

Moltissimo software è Open Source o si basa su Open Source. Internet e il Web si basano sull’Open Source. I social network sono generalmente realizzati a partire da applicativi, protocolli e linguaggi Open Source. I sistemi operativi e le applicazioni includono al proprio interno componenti Open Source, e questo quando non lo sono proprio interamente.

Insomma possiamo dire che l’Open Source è un po’ ovunque e questa è una gran cosa perché esso infatti permette l’esistenza di tantissime soluzioni che ci sarebbero probabilmente precluseo costerebbero molto di più, se non esistesse un tale modello di sviluppo e di distribuzione del software.

Ma se questo è l’aspetto più evidente, quasi ovvio, oserei dire, di questo particolare mondo, ve ne sono poi anche altri che, per essendo altrettanto importanti, vengono spesso ignorati dai più e restano confinati solo ai discorsi degli addetti ai lavori e dei più attivi nel campo.

In realtà, però, si tratta di aspetti fondamentali per l’esistenza stessa dell’ecosistema dell’Open Source e per questo motivo devono essere tenuti in maggiore considerazione da tutti quelli che sono in qualche modo coinvolti in questo mondo: non basta essere utilizzatori, bisogna essere per lo meno utilizzatori consapevoli.

E il ruolo di conferenze come l’Open Source Day o, perché no, di un piccolo podcast di divulgazione come Pensieri in codice, dovrebbe essere anche quello, secondo me: mettere le persone di fronte a fatti che altrimenti tenderebbero a passare più inosservati.

D’altronde, come disse Alphonse Bertillion, padre dell’antropometria giudiziaria, cioè il sistema di riconoscimento biometrico che si utilizza tutt’oggi: Uno vede solo quello che osserva, e osserva solo quello che ha già in mente.

Open Source non è gratis

E cos’è la prima cosa che osserviamo tutti dell’Open Source? La prima che ci vieni in mente?

Beh, ovvio: che l’Open Source è gratis!

D’altronde noi possiamo prendere un software Open Source e farci un po’ quello che vogliamo, no?

Lo possiamo scaricare, installare, modificare e riutilizzare senze praticamente nessun particolare impendimento: un click qui, un click lì e il gioco è fatto.

Magari ognittanto si parla di acquistare una licenza? Di dover essere in possesso di una chiave di attivazione? Ma diciamoci la verità: siamo programmatori, il codice è visibile a tutti… che ci vuole a bypassare qualche controllo?

Ebbene, se per caso non lo sapessi già, oggi ti svelo un segreto: l’Open Source non è gratis proprio per niente.

Anche tralasciando l’aspetto legale proprio legato alle licenze che consentono maggiori o minori libertà agli utilizzatori e che andrebbero rispettate a prescindere dalla possibilità di essere effettivamente beccati e puniti; e tralasciando anche il fatto che utilizzare un software senza corrispondere un eventuale compenso richiesto dall’autore equivale esattamente a RUBARE; una semplice verità a cui si potrebbe arrivare facilmente utilizzando il solo buon senso e un pizzico di cervello è che: anche se un software è liberamente disponibile e quindi gratis e per noi, per qualcun altro non lo è.

Mi spiego meglio. Quello che voglio dire è che i programmi, le librerie, i pacchetti software non crescono spontaneamente sugli alberi: c’è sempre qualcuno che li implementa. In pratica, il costo che noi non paghiamo da una parte (economico o di qualunque altro tipo sia), in realtà dall’altra parte è stato già sostenuto da qualcun altro al posto nostro.

Dagli autori, innanzitutto, che hanno dedicato il proprio tempo, le proprie competenze e la propria esperienza a sviluppare il progetto. Poi dai sostenitori, che a vario titolo hanno contribuito: anch’essi con il proprio impegno o economicamente.

In alcuni casi, da aziende o fondazioni che in vari modi raccolgono capitali da una parte e li dirottano in specifici progetti open dall’altra. Ad esempio come avviene per Red Hat o l’Apache Fundation.

Le figure in gioco possono essere tante e svolgere varie attività, ma il punto è che se un software esiste, progredisce e magari prospera anche, ciò avviene per merito di qualcuno che impiega le proprie risorse per pagare il costo di questa possibilità.

Ricordiamocene, dunque, quando ci accorgiamo di usare davvero tanto quel programma o quella libreria: potrebbe magari essere il caso di fare una piccola donazione? Di acquistare quella licenza che viene richiesta invece di andare in cerca della crack?

E ricordiamocene anche quando notiamo un bug: invece di ignorarlo, o tapparlo semplicemente e andare avanti per la nostra strada, potremmo spendere qualche minuto del nostro tempo a segnalarlo e perché no, magari a sottomettere una pull request che lo corregga.

Potremmo addirittura pensare di contribuire attivamente allo sviluppo del progetto, se ritenessimo.

Ovviamente, ognuno con i mezzi che ha a disposizione: l’impegno di un’azienda che basa il proprio business su di un progetto Open Source dovrebbe chiaramente esser proporzionalmente molto più grande rispetto a quello di qualcuno che quel progetto lo utilizza per hobby o addirittura solo per sperimentare ed imparare qualcosa di nuovo.

Ognuno potrebbe contribuire con quel che sente di poter fare, in somma. A nessuno si chiede l’impossibile.

Open Source non è scontato

Un secondo aspetto, poi, del mondo dell’Open Source che tendiamo generalmente ad ignorare è che un progetto potrebbe non essere eterno. Oggi è lì a nostra disposizione ma domani potrebbe non essere più così.

Eh già perché può capitare che un progetto scompaia, fallisca o cambi al punto di non essere più utile ai nostri scopi. Questo può accadere in qualsiasi ambito, non solo nell’Open Source.

So che suona strano ma pensaci: ne abbiamo parlato anche nell’episodio con Daniele di Opinioni in Open Source. È successo da poco che alcuni mantainer di pacchetti npm abbiano dato prova della fragilità del sistema inserendo appositamente codice bloccante nei propri progetti.

Ma può anche capitare che l’account di uno sviluppatore venga bucato e il codice eliminato. O che i proprietari stessi decidano di cancellare ogni traccia del software dai repository perché presi dallo sconforto di non sentirsi sostenuti da nessuno nonstante i propri prodotti siano utilizzati da centinaia di migliaia di persone. (Non sto inventando, trovi maggiori dettagli nei talk che ti lascio in descrizione).

Questo particolare caso, è proprio una conseguenza di ciò che abbiamo detto nel blocco precedente: il costo di sviluppare e mantenere un progetto Open Source potrebbe diventare eccessivamente gravoso per coloro che sono costretti a pagarlo, se non ricevono aiuti a sufficienza.

Si tratta banalmente di una questione di sostenibilità: se il progetto non è sostenibile viene abbandonato.

Oppure, ancora, potrebbe capitare che una qualche azienda decida di assumere gli sviluppatori di un progetto e lo sviluppo prosegua in modalità chiusa senza che nessuno prenda il posto dei vecchi mantainer del codice open.

In effetti, però, per quello che vogli dire, non è poi così importante il motivo: la realtà è semplicemente che può accadere che dei pacchetti, anche largamente adottati, possano venire meno per una qualsiasi ragione. E anche se di solito la situazione poi dopo un po’ si stabilizza, nessuno può garantircelo a priroi.

Magari pensiamo anche a questo la prossima volta che dobbiamo decidere se adottare o meno una dipendenza per il progetto che stiamo sviluppando.

Open Source non è solo codice

Infine, un terzo aspetto che, secondo me, passa quasi sempre sotto traccia quando si parla di Open Source è che un progetto, in generale, non è fatto di solo codice.

Non basta essere bravi programmatori per creare un software Open Source di successo. Servono tanti altri talenti.

Essere in grado di spingerne l’adozione, per esempio; saper creare una community che lo apprezzi e lo sostenga; riuscire a gestire le tantissime attività necessarie, dalla correzione dei bug alla creazione di nuove funzionalità, la comunicazione e la direzione di tante persone magari molto diverse per cultura e provenienza.

Tra le varie affermazioni che ho sentito e che mi hanno colpito all’Open Source Day 2023, ce n’è stata una in particolare che mi è subito parsa incredibilmente vera: un progetto Open Source vale quanto la sua community. (Se non ricordo male è stato Matteo Collina a dirlo nel suo talk).

Migliore è, infatti, la community, maggiori sono l’interesse e il coinvolgimento che ha, più è probabile che i suoi appartenenti siano disposti e in grado di sostenere il progetto; di supportarlo in tanti modi e di dedicarvi tempo e risorse che, nell’insieme, ne determineranno la prosperità.

Eccola un’altra cosa a cui pensare, magari, di tanto in tanto: qual’è il software Open Source che usiamo di più, di cui non potremmo fare a meno? Forse potrebbe valere la pena di avvicinarsi alla sua community per dare una mano.

E non preoccuparti se, per caso, non sei un programmatore o non conosci il linguaggio utilizzato: ci sono tanti modi in cui puoi dare una mano, che non necessariamente implichino il fatto di dover mettere le mani nel codice. C’è tutta la parte di amministrativa, ad esempio; la documentazione.

Se poi parliamo di aziende che sfruttano progetti Open Source per il proprio business, beh questa potrebbe essere un’occasione per dedicare una parte delle proprie risorse a tali progetti ed entrare a far parte della loro community.

Operazioni del genere, se svolte nel modo corretto, possono portare grandi benefici a tutte le parti coinvolte, come ha chiaramente speigato Francesco Corti, nel suo talk.

Open Source come occasione

Forse, se non eri già a conoscenza di ciò che ti ho detto oggi, in questi pochi minuti potrei aver cambiato un po’ della concezione che avevi dell’Open Source. Se è così, ne sono contento.

Magari pensavi che si trattasse di un mondo idilliaco in cui degli esperti mettono gratuitamente a disposizione di tutti le proprie competenze o in cui vari geni sparsi per il mondo realizzano semplici software scrivendo poche righe di codice in pochi minuti in cambio della gloria.

O magari non avevi semplicemente mai riflettuto sul perché tanto dodice si trova così a tua disposizione.

Beh in ogni caso, ora spero di averti messo la pulce nell’orecchio almeno su un paio di cose.

La verità è che l’Open Source è una lotta continua fatta di persone che sacrificano spesso il proprio tempo libero, le nottate e i giorni di vacanza per portare avanti progetti di cui sono convinti e in cui ripongono le proprie speranze per il futuro.

Nessun progetto Open Source va dato per scontato o arriva al successo senza un enorme lavoro e impegno da parte di qualcuno.

Ma allora, a questo punto, ti potesti chiedere: perché tante persone sviluppano questo genere di progetti? Perché tante persone lavorano gratis (almeno inzialmente) a software che potrebbero o non potrebbero mai portare un vero ritorno per loro? In un mondo dove una grande azienda può replicare il loro prodotto praticamente a tempo zero?

Beh innanzitutto non si può negare che ci sia una componente di passione, in tutto questo: passione per lo sviluppo software o per un certo argomento o un campo di applicazione specifico. Il fatto di vedere una propria idea prendere forma, funzionare ed essere apprezzata da tante persone, ha sempre un certo fascino, diciamocelo.

Ma poi vi sono anche delle questioni più pragmatiche da tenere presenti: gestire o partecipare ad un progetto Open Source permette di acquisire molte competenze e soft skill. Permette di imparare a scrivere correttamente un commit o una pull request, tanto per dirne una. Imparare come confrontarsi con gli altri sulle scelte da prendere. Abituarsi a gestire un rifiuto o un contrasto, perché no?

Se poi si dovesse riuscire a mettere insieme il giusto impegno, la giusta idea, abbastanza costanza e un pizzico di fortuna, che serve sempre… beh potrebbero anche iniziare ad arrivare grandi soddisfazioni: centinaia di migliaia di download, un po’ di fama, la costruzione di una solida reputazione da sviluppatore, contatti da fondazioni, aziende e così via.

E parlando proprio di aziende, invece, quali potrebbero essere i vantaggi di investire nell’Open Source? Perché ne esistono tante di aziende che scommettono su questo mondo.

Beh come accennavo prima, Francesco Corti nel suo talk è stato chiarissimo su questo. A proposito, ora proverò ad accennare brevemente il concetto, ma se non si è capito, ti sto ripetutamente consigliando di recuperare la registrazione che trovi in descrizione.

La questione è che la vendita di software e servizi nel campo Open Source può essere visualizzata come una sorta di imbuto: in alto, nella parte larga ci sono le prime fasi del processo di vendita come la scoperta del software da parte degli utilizzatori, l’apprezzamento, l’adozione; mentre in basso ci sono fasi conclusive come, ovviamente, l’acquisto.

Per via di questa forma a imbuto, più si scende verso il basso, meno sono i soggetti che raggiungono le fasi più in profondità. Banalmente, per fare un esempio: se 1 milione di persone conoscono il mio progetto, magari 100mila lo proveranno, 10mila lo adotteranno e 500 arriveranno a comprarne la versione premium, tanto per capirci.

Per un’azienda quindi, esiste la possibilità di adottare una strategia doppia: sostenere attivamente un progetto Open Source e contemporaneamente svilupparne una versione premium a pagamento o da utilizzare internamente per sostenere i propri servizi o per qualsiasi altro scopo monetizzabile.

Così facendo, il concetto di base diventa che: più grande sarà il successo della parte open del progetto, più largo sarà l’imbuto e maggiori saranno le possibilità di portare soggetti ad acquistare i prodotti avanzati o di avere un prodotto interno più performante.

Insomma, per concludere in due parole: l’Open Source non è solo del software che aleggia sul Web e vive di vita propria, nascendo e crescendo spontaneamente. Si tratta di un ecosistema complesso che richiede tanto impegno per essere sostenuto. Al tempo stesso, però, concede gradissime possibilità e soddisfazioni a coloro che sono disposti a dedicarvi abbastanza tempo e abbastanza risorse.

Conclusione

Bene, spero di averti raccontato qualcosa di nuovo e interessante sul mondo dell’Open Source e ci tengo a rinnovare ancora i miei complimenti a Schrodinger Hat per aver organizzato un così interessante evento.

Prima di chiudere, come al solito ringrazio Edoardo e a Carlo che, che sono donatori fissi del podcast da ormai alcuni mesi. E oggi aggiungo anche Arturo, che ha inviato la sua donazione un po’ di tempo fa ma siccome io sono indietrissimo con gli episodi non avevo ancora potuto ringraziare.

A te che ascolti, poi, ricordo che sul sito pensieriincodice.it trovi tutti i link utili per dare il tuo supporto: donazioni, affiliazioni, gruppo e canale telegram, ecc. Ormai sai come funziona.

Se, invece, preferisci sostenere senza spendere soldi, puoi farlo diffondendo il podcast. Sembra nulla ma è molto importante. Quindi, fallo ascoltare a qualcun altro: a chiunque pensi che possa apprezzarlo. Magari condividilo in qualche gruppo!

In ogni caso, io ti ringrazio già per aver ascoltato.

Ci risentiamo al prossimo episodio e non dimenticare mai che un informatico risolve problemi, a volte anche usando il computer.


Nascondi