Open Source: un'opportunità per l'Italia
I progetti open source sono un metodo estremamente interessante di collaborazione. Credo che l’Italia (e sperabilmente anche l'Europa) abbia la possibilità e la necessità di incentivare alcune iniziative legate proprio a questo ambito.
Con open source si intende che il codice sorgente di una libreria, oppure di un’applicazione, è libero di essere utilizzato come si meglio si creda, rimanendo esente da oneri e obblighi di alcun tipo nei confronti dell’autore.
I progetti open source permettono alle aziende che vendono un prodotto software, ovvero informatico, di collaborare. Due aziende non hanno bisogno di sviluppare due librerie analoghe per risolvere lo stesso problema. Possono invece svilupparne una sola, renderla open source e collaborare attraverso essa.
Dal momento che il progetto in questione è open source, le due aziende possono anche cambiarne alcune componenti per adattare meglio il progetto alla propria piattaforma.
I progetti open source, in genere, sono condivisi tra moltissime aziende, questo vuol dire che è complesso gestirne l’evoluzione. La mia proposta è quella di finanziare i progetti open source che lo meritano, così che siano assunti dei manutentori.
Il lavoro dei manutentori è quello di aggiornare la libreria seguendo le istruzioni e le richieste delle aziende italiane che sono tracciate attraverso le issue (questo termine può sembrare oscuro, ma nel nostro campo è noto); inoltre queste figure si rendono disponibili a proporre i casi d'uso della libreria e ne chiariscono il metodo di utilizzo (gli è affidata anche la parte relativa alla documentazione, fondamentale per una collaborazione efficace ed efficiente).
In che modo sono gestiti i finanziamenti?
Per rispondere a questa domanda ho tratto ispirazione dal metodo che utilizza Spotify con i suoi creator. Le entrate della piattaforma sono distribuite equamente tra tutti i creator, che caricano i propri contenuti audio su Spotify, in base al numero di ascolti che ricevono.
Allo stesso modo i progetti open source ricevono fondi in base al numero di issue delle sole aziende italiane (o europee). Infatti, ad una issue corrisponde un problema che un’azienda ha riscontrato nell'utilizzo della libreria. Questo metodo permette di distribuire i fondi in maniera equa e trasparente, inoltre permette di incentivare le aziende a collaborare con i progetti open source e a proporre modifiche e miglioramenti.
Non solo, i finanziamenti sono distribuiti sui progetti che richiedono manutenzione, in modo che le aziende possano usufruire di una libreria sempre aggiornata e funzionante. Infatti, un progetto che ha un grande numero di issue è un progetto che ha un grande potenziale di crescita e di utilizzo.
In quale modo sono ottenuti i dati di utilizzo?
La maggior parte dei progetti open source si trova su GitHub, ovvero una piattaforma che permette di salvare del codice online. Se conosciamo il nome del progetto salvato su GitHub (e questo è open source), tramite il sito di GitHub abbiamo la possibilità di leggere, copiare, scaricare o proporre modifiche al codice sorgente.
Per questo motivo, la proposta iniziale è chiedere una collaborazione a GitHub per avere accesso ai dati che l’Italia utilizza per distribuire i finanziamenti. Successivamente credo che sia necessario sviluppare una piattaforma di proprietà italiana (o europea) per gestire i progetti open source così finanziati. Questo perché una piattaforma italiana permette di estrarre i dati di utilizzo in maniera più precisa e flessibile.
Inoltre, GitHub è una piattaforma privata di proprietà di Microsoft, che sta rispondendo a delle accuse di uso improprio del codice. Infatti il codice sorgente dei programmi può essere utilizzato per allenare delle intelligenze artificiali, nel caso di GitHub è stato utilizzato per allenare Copilot.
Una piattaforma di proprietà italiana (o europea) permette di rendere i codici sorgenti disponibili per la ricerca (universitaria e non) e ne protegge (maggiormente) la proprietà intellettuale.
In quale modo possono essere utilizzati i finanziamenti?
Dato che l’Italia investe nel suddetto progetto, ha tutto il diritto di imporre dei limiti chiari e definiti. A tal proposito la mia idea è quella di fornire dei fondi per gli stipendi dei manutentori, che devono essere in Italia, e per altre spese correlate ai progetti open source a cadenza mensile. Ciascun finanziamento ha un periodo di tempo per essere speso, oltre il quale, è revocato.
Altrimenti, si può pensare di pagare i manutentori in base al numero di issue risolte. Effettivamente non ho molta esperienza in questo campo, per cui non so se questa sia una buona idea.
Monopolio dei progetti open source.
Dal momento che i progetti open source sono finanziati dall'Italia, secondo le richieste delle aziende italiane, si rischia di incorrere nel pericolo in cui un'azienda italiana proponga molte issue per un progetto open source in modo da monopolizzarne il finanziamento (si tratta di una questione in cui incorrono i progetti open source a livello globale, in cui aziende come Google, Meta o Microsoft dettano la linea evolutiva di un progetto open source in base alle proprie esigenze).
Per evitare questo problema, si potrebbe pensare di limitare il numero di issue che un'azienda può proporre per un progetto open source in un determinato periodo di tempo, in base al numero di dipendenti oppure in base al fatturato.
Vorrei far notare che fino ad ora ho parlato di come le aziende beneficerebbero di un’iniziativa di questa portata; in realtà quando parlo di aziende mi riferisco anche agli enti pubblici, alle fondazioni, ai privati e a qualunque tipologia di associazione di persone che utilizza del software.
Vorrei pertanto scaturire dell’interesse da parte dell’Italia su questo argomento, sottolineando come l’open source, così supportato, sia proficuo non solo per le aziende e per gli sviluppatori coinvolti nel campo del software, ma anche per l’Italia stessa in quanto aumenterebbe la coesione e la cooperazione tra le aziende e gli enti pubblici italiani.
A dire il vero, ritengo che un’iniziativa di questo tipo sia di gran lunga più benefica, efficace ed efficiente se attuata a livello europeo, ma procedendo per gradi, l'Italia potrebbe essere un esempio per l'Europa. Mi rendo conto che non si tratti di un'idea perfetta, ma ritengo che sia un buon punto di partenza.