Abbiamo deciso di scrivere tutto quello che sappiamo sulla Open Source, dopo le recenti dichiarazioni di Sam Altman fondatore di ChatGPT “siamo dalla parte spagliata della storia” in riferimento ai nuovi potenti concorrenti di Intelligenza Artificiale che stanno nascendo.
Ovviamente Altman fa riferimento alla sua creatura, ChatGPT, che nasce con la volontà di essere un software proprietario e non aperto, mentre, per esempio, il concorrente cinese DeepSeek è un Software Open Source.
Allora guardiamo che differenze ci sono tra le due visioni di software per capirne un po’ di più.
Riprendiamo dalla definizione del termine “Open Source” (codice sorgente aperto) dove si capisce che esiste il suo opposto “Closed Source” ovvero il codice centrale è chiuso, è di proprietà di uno o di pochi e non è modificabile se non da quei pochi: esempio Windows è un software chiuso.
Il software aperto, Open, permette a tutti di modificare pubblicamente proprio il cuore del programma, il codice sorgente: tutti possono visualizzarlo, studiarlo, modificarlo e ridistribuirlo liberamente, comunque nel rispetto di specifiche licenze e concessioni (attenzione soprattutto in ambito commerciale: libero per un uso privato e domestico, a pagamento se ci fai impresa e soldi).
Storia dell’Open Source
L’Open Source ha una storia affascinante che inizia negli anni ’50 e ’60, quando la condivisione del codice sorgente era una pratica comune tra accademici e ricercatori. In quel periodo, il software era spesso gratuito e gli utenti potevano modificarlo liberamente.
Con l’emergere delle aziende tecnologiche negli anni ’70, il panorama cambiò drasticamente. Le aziende iniziarono a sviluppare software proprietario, limitando la collaborazione e la condivisione di codice.
Gli Inizi del Movimento del Software Libero
Nel 1983, Richard Stallman lanciò il Progetto GNU General Public License (GNU’s Not Unix) (da Wikipedia) con l’obiettivo di creare un sistema operativo completamente libero. Stallman si oppose alla crescente privatizzazione del software e fondò la Free Software Foundation (FSF) nel 1985 per promuovere il software libero e sviluppare licenze che garantissero la libertà degli utenti di utilizzare, modificare e distribuire il software (approndimento StormShield). La GNU General Public License (GPL), creata da Stallman, divenne una delle licenze più influenti nel movimento del software libero.
La Nascita del Termine “Open Source”
Il termine “Open Source” fu coniato nel 1998 da Christine Peterson durante un incontro tra attivisti del software libero. Questo nuovo termine mirava a rendere il concetto più accessibile alle aziende e al pubblico in generale, evidenziando i vantaggi pratici dell’uso di software aperto. In quello stesso anno, venne fondata l’Open Source Initiative (OSI), con Eric Raymond e Bruce Perens come figure chiave. L’OSI si dedicò a promuovere l’uso di licenze open source e a garantire che il software fosse liberamente accessibile (cit Marco Calza).
Sviluppi “Recenti” da Linux alla A.I.: il 70% di quello che vedi
Negli anni successivi, l’Open Source ha guadagnato popolarità sia nel settore privato che in quello pubblico. Progetti come Linux, creato da Linus Torvalds nel 1991, hanno dimostrato il potere della collaborazione online.
Con la diffusione di Internet, la comunità open source è cresciuta esponenzialmente, portando a innovazioni significative in vari settori. Oggi, l’Open Source è parte integrante della tecnologia moderna, influenzando tutto, dai sistemi operativi ai servizi web: pensa che il 70% dei server nel Mondo che ospitano siti web, sono basati sulla tecnologia Linux.
Differenze tra Open Source e Software Libero
Sebbene i termini “Open Source” e “Software Libero” siano spesso utilizzati in modo intercambiabile, ci sono differenze significative tra i due concetti.
Focus sulla Libertà vs Accessibilità
Il movimento del software libero, fondato da Richard Stallman, pone un forte accento sulla libertà degli utenti. Stallman definisce il software libero attraverso le “quattro libertà”, che includono la libertà di eseguire, studiare, modificare e ridistribuire il software (approfondimento IBM). Questa visione etica sottolinea l’importanza della libertà individuale nell’uso del software.
D’altra parte, l’Open Source si concentra più sui benefici pratici dell’apertura del codice sorgente. Sebbene condivida molte delle stesse idee fondamentali del software libero, il termine “Open Source” è stato creato per attrarre un pubblico più ampio, compresi gli sviluppatori aziendali. L’accento è posto sulla collaborazione e sull’innovazione piuttosto che sulle considerazioni etiche.
Licenze e Pratiche nella Open Source
Le licenze Open Source possono variare notevolmente in termini di restrizioni e diritti concessi agli utenti. Alcune licenze sono più permissive (come la MIT License), mentre altre richiedono che le modifiche siano rese disponibili come open source (come la GPL) (appronfondimento Wikipedia).
Questa varietà riflette le diverse filosofie all’interno dei due movimenti.
In sintesi, mentre entrambi i concetti promuovono l’accesso al codice sorgente e la collaborazione, l’Open Source tende a enfatizzare gli aspetti pratici e commerciali dell’apertura del codice, mentre il Software Libero si concentra sulla libertà degli utenti come principio fondamentale.
Tipologie di licenze Open Source
Ecco i diversi tipi:
- GPL (GNU General Public License): richiede che qualsiasi software derivato sia anch’esso open source
- MIT License: molto permissiva, consente l’uso del codice anche in software proprietario
- Apache License: simile a MIT, ma con maggiore protezione dei brevetti
- BSD License: permette l’uso del codice con poche restrizioni
Quindi il codice è liberamente accessibile, può essere modificato e migliorato da chiunque, può essere ridistribuito ed è accompagnato da una licenza che ne definisce l’utilizzo.
Vantaggi dell’Open Source vs Software proprietario
- Trasparenza: tutti possono vedere come funziona il software
- Collaborazione: sviluppatori da tutto il mondo possono contribuire
- Sicurezza: più persone possono individuare e correggere bug
- Costo: generalmente gratuito per gli utenti
Esempi concreti di software Open Source molto diffusi:
- Linux: sistema operativo utilizzato in molti server e computer
- Mozilla Firefox: browser web popolare
- WordPress: (quasi) piattaforma per la creazione di siti web
- VLC Media Player: lettore multimediale
- LibreOffice: (che prima si chiamava Open Office) suite di programmi per l’ufficio
È importante notare che “Open Source” non significa necessariamente “gratuito“. Alcune aziende basano il loro modello di business sul software open source offrendo servizi correlati, supporto tecnico o versioni enterprise con funzionalità aggiuntive.
Concetti chiave delle Comunità Open Source
La comunità Open Source si basa su alcuni principi chiave:
Collaborazione: gli sviluppatori lavorano insieme attraverso piattaforme come GitHub
Meritocrazia: i contributi vengono valutati sulla base della loro qualità
Trasparenza: le discussioni e le decisioni sono pubbliche
Inclusività: chiunque può partecipare indipendentemente dal background
Aspetti negativi dell’Open Source
Bisogna anche imparare a valutare gli aspetti negativi dell’Open Source prima di arrivare alla A.I. di oggi.
Sebbene il software open source possa sembrare una soluzione economica, la realtà è che molti progetti richiedono investimenti significativi in termini di tempo e risorse per svilupparsi e mantenersi. La mancanza di un modello di business chiaro spesso porta a un abbandono prematuro dei progetti, poiché gli sviluppatori, motivati da ideali piuttosto che da incentivi finanziari, possono ritirarsi quando i costi superano i benefici percepiti. Questo fenomeno è accentuato dalla difficoltà di attrarre e mantenere talenti in un ambiente dove la remunerazione è incerta e le aspettative di supporto sono elevate.
Il coordinamento di comunità molto grandi come quelle open source può diventare rapidamente complesso e disorganizzo. Senza una leadership chiara e un sistema di governance efficace, le comunità possono frammentarsi, portando a conflitti interni e a una diminuzione della produttività. Questo può ostacolare la capacità del progetto di evolversi in modo coeso e tempestivo.
Inoltre, la necessità di documentazione accurata è cruciale, ma spesso trascurata nei progetti open source e può rendere difficile per nuovi sviluppatori e utenti comprendere come utilizzare o contribuire al progetto. Questo non solo limita l’accessibilità del software, ma può anche portare a errori nell’implementazione o nell’uso, minando ulteriormente la fiducia degli utenti nel prodotto.
Aspetto delicato: la gestione della sicurezza. Sebbene il codice open source sia accessibile a tutti, questo stesso accesso può rappresentare un rischio se non vengono implementate adeguate misure di sicurezza. Le vulnerabilità possono rimanere non rilevate a lungo termine se non c’è un team dedicato alla loro identificazione e le risoluzioni regolari o patch possono non essere tempestive, esponendo gli utenti a potenziali attacchi informatici.
Intelligenza Artificiale e Open Source
Ed eccoci arrivati ad oggi con Sam Altman che dichiara di essere dalla parte sbagliata, o almeno se non del tutto in parte.
Questa affermazione forte nel suo contenuto deriva dai costi di sviluppo che per Open AI sono stati almeno 10 o 20 volte superiori a quelli di DeepSeek che invece ha adottato un sistema Open e quindi ha “sfruttato” la forza della collettività per imparare e implementare più velocemente il proprio software.
Ma se per ChatGPT si ha ben chiaro il modello di business, cioè come fare i soldi, per DeepSeek un po’ meno.
ChatGPT ha funzioni gratuite e più soluzioni e funzioni business a pagamento, dagli abbonamenti ai PayperUse con le API, per DeepSeek al momento non vi sono previsti ritorni economici.
E nel marketing si dice sempre che quando non c’è nulla da pagare, la moneta sei tu (ed i tuoi dati).