Cos'è il software open source?
Il software open source è sviluppato attraverso una collaborazione aperta e il suo codice sorgente è disponibile per essere utilizzato, esaminato, modificato e ridistribuito da chiunque.
Uomo che lavora a un computer desktop
Cos'è il software open source?

Il software open source è un software sviluppato e gestito attraverso collaborazione aperta e reso disponibile, in genere gratuitamente, affinché chiunque possa utilizzarlo, esaminarlo, modificarlo e ridistribuirlo come preferisce. Ciò contrasta con le applicazioni software proprietarie o chiuse, ad es. Microsoft Word, Adobe Illustrator, che vengono vendute agli utenti finali dal creatore o dal detentore del copyright e non possono essere modificate, migliorate o ridistribuite se non nei modi specificati dal detentore del copyright.

Il termine open source si riferisce anche e più in generale ad un approccio che prevede l'apporto alla creazione di qualsiasi proprietà intellettuale (quale un software) di una comunità, tramite collaborazione aperta, inclusività, trasparenza e con frequenti aggiornamenti pubblici.

Breve storia del software open source

Fino alla metà degli anni '70, il codice del computer era visto come implicito nel funzionamento dell'hardware del computer e non come proprietà intellettuale unica soggetta alla protezione del copyright. Le organizzazioni codificavano il proprio software e la condivisione del codice era una pratica comune.

La Commission on New Technological Uses of Copyrighted Works (CONTU) è stata istituita nel 1974 e ha concluso che il codice software era una categoria di opera creativa adatta alla protezione del copyright. Ciò ha alimentato la crescita dell'editoria di software indipendente come settore, con il codice sorgente proprietario come principale fonte di ricavo. Poiché il personal computer ha portato le applicazioni su tutte le scrivanie aziendali e in molte famiglie, il mercato del software è diventato estremamente competitivo e gli editor di software sono diventati sempre più attenti alle violazioni dei loro diritti di proprietà.

Una sorta di ribellione contro le restrizioni e le limitazioni del software proprietario iniziò nel 1983. Il programmatore Richard Stallman era irritato dall'idea che gli utenti non potessero personalizzare il software proprietario nel modo che ritenevano più opportuno per svolgere il proprio lavoro. Stallman riteneva che "il software dovesse essere gratuito, come nel linguaggio, non nella birra" e sosteneva l'idea di un software liberamente disponibile per la personalizzazione.

Stallman fondò la Free Software Foundation e avrebbe in seguito continuato a guidare lo sviluppo, tra le altre applicazioni, di un'alternativa open source al sistema operativo Unix di proprietà di AT&T. Ha anche innovato la prima licenza software copyleft, la GNU General Public License (GPL), che richiedeva a chiunque migliorasse il suo codice sorgente di pubblicare liberamente per tutti la propria versione modificata.

Il saggio di Eric S. Raymond del 1997 intitolato "The Cathedral and the Bazaar" è visto come un altro spartiacque nel movimento del software libero. Raymond contrappose l'approccio chiuso e dall'alto verso il basso, tipico dello sviluppo di software proprietario in cui tutto lo sviluppo era gestito da un gruppo centrale (che chiamava The Cathedral), rispetto allo sviluppo pubblico aperto e liberamente condiviso su Internet (The Bazaar). Poco dopo, Netscape Corporation ha rilasciato il codice del browser Mozilla come open source e il movimento open source ha acquisito legittimità.

Poiché molti ritenevano che il termine "software libero" di Stallman sottolineasse in modo improprio "gratis" come valore principale del software, nel 1999 fu adottato il termine "open source". L'Open Source Initiative è stata creata per sostenerlo; l'organizzazione ha anche stabilito le regole di base per il settore attraverso la definizione di open source e ospita licenze open source conformi. Oggi i termini free software (software libero), open source software o OSS (software open source), free and open source software (FOSS) e free/libre-open source software (FLOSS) si riferiscono tutti alla stessa cosa: software con codice sorgente disponibile per l'uso pubblico e la personalizzazione.

Open source nell'informatica a livello aziendale e personale

Il software open source ora svolge un ruolo fondamentale nell'informatica, con tecnologie open source che forniscono le basi di Internet, del business computing e del personal computing. Praticamente tutti i dispositivi informatici ora contengono codice open source di molti tipi, tipicamente adottato dagli sviluppatori per eseguire operazioni fondamentali e spesso funzioni più avanzate.

Alcune delle applicazioni software open source più diffuse includono 

  • Il sistema operativo Linux, un open source alternativo al sistema operativo Unix
     

  • Mozilla Firefox, un browser web originariamente basato su Netscape Navigator
     

  • LibreOffice, una suite per la produttività dell'ufficio che rivaleggia con Microsoft Office
     

  • GIMP (GNU Image Manipulation Program), un open source alternativo ad Adobe Photoshop
     

  • VLC Media Player, un'app multipiattaforma per la visualizzazione di video

I programmi open source sono anche ampiamente utilizzati nell'elaborazione su rete, nel cloud e a livello aziendale. Le categorie di software open source citate dai professionisti IT come le più comuni nell'ambito delle implementazioni delle loro organizzazioni includono:

  • Linguaggi e framework di programmazione
     

  • Database e tecnologie per i dati
     

  • Sistemi operativi
     

  • Repository pubblici basati su Git
     

  • Framework per Intelligenza Artificiale/Machine Learning/Deep Learning

Perché gli utenti e le aziende scelgono l'open source

Le ragioni per la scelta del software open source possono variare in modo significativo da persona a persona e da organizzazione ad organizzazione. In molti casi, gli utenti finali sono completamente all'oscuro dei programmi open source presenti sui loro computer o nei loro dispositivi mobili. È ormai anche molto comune per gli utenti finali scaricare un'applicazione gratuita come il browser Mozilla Firefox o un'app Android. Questi utenti desiderano semplicemente la funzionalità del software, senza alcuna intenzione di riscrivere o guardare il codice sorgente.

Un'azienda, d'altra parte, potrebbe scegliere un software open source rispetto a un'alternativa proprietaria per il suo basso costo (o gratuità), per la possibilità concessa di personalizzare il codice sorgente o per la presenza di una vasta comunità che supporta l'applicazione. Programmatori professionisti o dilettanti potrebbero infine mettere volontariamente a disposizione di un progetto open suorce le proprie capacità di sviluppo e test, spesso per migliorare la propria reputazione e per entrare in contatto con altri nel campo. È ormai comune per le aziende fornire dipendenti retribuiti a progetti open source per supportare la vitalità dello sviluppo di software open source e aiutare a garantire prodotti di alta qualità.

Se da un lato i prodotti open source possono risparmiare alle aziende il costo delle licenze, dall'altro possono comportare altri costi, in genere per l'integrazione di rete, il supporto agli utenti finali e all'IT e altri servizi tipicamente inclusi nel software proprietario. Tuttavia, molte aziende ritengono che il software open source aziendale sia affidabile e sicuro almeno quanto il software proprietario e si sentono più a loro agio con le soluzioni open source perché possono ispezionare il codice del programma e capire esattamente cosa stanno aggiungendo alla loro infrastruttura informatica.

Come nasce il software open source

Il modello di sviluppo open source è molto vario. Un gran numero di programmi open source è stato creato da programmatori singoli o da piccoli gruppi di programmatori. Ad esempio, Guido van Rossum ha dichiarato di aver iniziato a lavorare sul popolare linguaggio di programmazione Python perché aveva del tempo libero durante le vacanze di Natale del 1989; allo stesso modo, il server web Apache è nato da un piccolo gruppo di programmatori che hanno lavorato insieme per migliorare il software del server originariamente scritto da Robert McCool come studente universitario in un programma di supercomputing.

Nel corso della loro maturazione, questi e altri progetti open source hanno coinvolto molte migliaia di programmatori che hanno contribuito con innumerevoli righe di codice, oltre che a testare il software, scrivere la documentazione, costruire il sito web del progetto e altro ancora.

All'altro capo dello spettro, la piattaforma di orchestrazione di container Kubernetes è stata avviata dagli specialisti di Google, come implementazione open source di una tecnologia originariamente creata internamente per bilanciare i carichi di lavoro dei server di Google. Google ha aperto il progetto alla comunità open source attraverso la creazione di un nuovo consorzio all'interno della Linux Foundation chiamato Cloud Native Computing Foundation (CNCF). Da allora, migliaia di sviluppatori hanno lavorato all'evoluzione del kernel, compresi i rappresentanti delle principali aziende informatiche.

Nel tempo, un ecosistema deve sostenere i progetti di software open source. Servizi di hosting del codice come GitHub, Bitbucket, SourceForge e Google Code forniscono repository centralizzati, controllo della versione e altre funzioni che consentono a gruppi di lavoro diversi e distribuiti di collaborare e gestire progetti open source. Solo GitHub ha registrato 83 milioni di sviluppatori e oltre 20 milioni di repository di progetti open (ogni repository rappresenta un ramo unico di un progetto open source).

Per sostenere e finanziare la manutenzione continua dei progetti open source sono nate diverse organizzazioni senza scopo di lucro, come la Free Software Foundation e la Open Source Initiative (OSI). E ci sono molte decine di fondazioni per specifiche applicazioni come la Linux Foundation, che sostiene specifici programmi open source e progetti correlati a supporto di tali tecnologie.

Software open source e proprietà intellettuale

"Open source" e "proprietario" rappresentano approcci alternativi alla proprietà intellettuale (IP) insita in un'applicazione. Con l'open source la proprietà intellettuale è destinata al pubblico, quindi non legata a scopi di lucro. Al contrario, il software proprietario monetizza il valore della proprietà intellettuale (facendo pagare un abbonamento o una licenza proprietaria).

L'idea alla base del software open source, tuttavia, non vi è principalmente un messaggio contro il profitto o l'anticapitalismo, ma piuttosto quello che, nelle mani della sua comunità di utenti, il software raggiungerà naturalmente il suo massimo potenziale fornendo un valore maggiore a più utenti. Il più grande progetto open source della storia, Internet, è stato originariamente utilizzato per condividere documenti accademici; tutto ciò che va oltre questo ristretto caso d'uso è il risultato di innumerevoli menti che hanno immaginato e implementato nuove possibilità.

Sebbene il software open source sia reso liberamente disponibile al pubblico, non è di dominio pubblico , quindi non va considerata come una categoria legale di proprietà intellettuale priva di qualsiasi diritto di proprietà. Grazie a un ingegnoso stravolgimento del diritto d'autore tradizionale, i creatori di software open source hanno dato vita a quello che hanno chiamato "copyleft", che consente l'uso pubblico illimitato, l'alterazione e la ridistribuzione del codice sorgente, ma impedisce ad altri di trasformare le opere basate sul codice in software proprietario e protetto da copyright (di seguito maggiori informazioni a riguardo). Tuttavia, oggi esistono più di 100 tipi diversi di licenze per il software open source, alcune delle quali permettono che le opere derivate dal codice open source siano protette da copyright e vendute. Ciò amplia le opportunità commerciali per chi crea software open source.

Licenze del software open source

Ancora una volta, la GPL di Stallman prevedeva che chiunque potesse riscrivere il suo software come meglio credeva, a patto che il codice risultante fosse pubblicato gratuitamente per tutti. In questo modo, la licenza GPL copyleft ha creato un nuovo tipo di proprietà intellettuale di dominio quasi pubblico, ma con restrizioni legalmente applicabili imposte dal titolare del copyright originale per proteggersi da successive rivendicazioni di proprietà restrittiva da parte di altri.

Da allora sono state sviluppate numerose licenze di software open source; l'Open Source Initiative contempla oltre 100 licenze open source approvate. Alcune di queste consentono di creare prodotti proprietari a partire da codice open source.

Le licenze open source sono talvolta classificate come "permissive", ossia che consentono agli utenti di tutelare i propri lavori, o "protettive", come il copyleft. Le licenze open source MIT e BSD sono le licenze permissive più utilizzate, mentre la GPL rimane una delle licenze copyleft protettive più utilizzate. Numerose licenze alternative sono "compatibili con" la GPL o la MIT, il che significa che il codice del software scritto ai sensi di questa licenza può essere utilizzato in un'altra applicazione che utilizza la licenza GPL o MIT.

Modelli di business open source

Sebbene sembri che la creazione di software open source sia un'impresa di alto livello, persino caritatevole, la creazione, la manutenzione e l'evoluzione di questo software comportano un certo lavoro e la realizzazione di questo lavoro è una questione di soldi. Fortunatamente esistono diversi modi in cui i progetti open source, e le aziende che vi ruotano attorno, possono prosperare.

Una strada è quella dei contributi filantropici alle fondazioni. Le aziende hanno interesse a sostenere il software open source, dal momento che fornisce funzionalità importanti a costi molto ridotti, e quindi spesso contribuiscono con fondi e persino dedicano dipendenti ad attività su progetti open source. Ma ciò serve soprattutto per la manutenzione a lungo termine della tecnologia e non porta a profitti per il progetto open source.

Un modello di business più comune consiste nel far pagare ai clienti l'assistenza e la consulenza. Nel 1993, Red Hat ha iniziato a vendere la distribuzione del sistema operativo Linux per le aziende, facendo pagare ai clienti il supporto e aggiungendo funzionalità mirate a risolvere i problemi che un'azienda potrebbe incontrare nell'implementazione di un sistema operativo non curato e continuamente aggiornato. Nel 2012, Red Hat è diventata la prima società di software open source a superare il miliardo di dollari di fatturato; nel 2019 IBM Corporation ha acquisito Red Hat per 34 miliardi di dollari, la più grande acquisizione di software della storia.

WordPress, originariamente una piattaforma di blogging, è ora ampiamente utilizzato per la creazione, la gestione e l'hosting di siti Web. WordPress funziona come una piattaforma basata su cloud o software-as-a-service (SaaS) e addebita ai clienti canoni di abbonamento a più livelli per l'hosting web, il supporto e le funzionalità aggiuntive del sito (ad es. funzionalità di e-commerce, strumenti SEO).

Altri creatori di software open non addebitano nulla per il proprio software, ma guadagnano somme significative grazie al traffico generato dal proprio software. Ad esempio, GitHub guadagna dalla pubblicità che appare sul proprio sito; Mozilla Firefox guadagna dai motori di ricerca che supporta.

Soluzioni correlate
Red Hat Software on IBM Cloud

Le soluzioni IBM e Red Hat possono aumentare la produttività, ridurre i costi e migliorare i risultati di business.

Esplora le soluzioni IBM e Red Hat
IBM LinuxONE

Scopri i server con software open source protetti con sicurezza e scalabilità ottimali per le applicazioni critiche.

Esplora LinuxONE
Linux su IBM Z

Il sistema operativo Linux sulla piattaforma mainframe IBM Z consente privacy dei dati e sicurezza informatica in un ambiente di multicloud ibrido.

Esplora Linux on IBM Z
Enterprise Linux on IBM Power

Con Enterprise Linux® on IBM® Power®, puoi amplificare i molteplici vantaggi della tecnologia open source, affidabilità, sicurezza e scalabilità, con opzioni di implementazione native del cloud leader del settore.

Esplora Linux on Power
Risorse Open source in IBM

Dalla blockchain ai contenitori, dall'AI ai sistemi operativi, i nostri sviluppatori creano progetti open source emergenti e li completano con codice, documentazione e materiale di supporto.

Il tuo software open source protetto?

Migliorare la supply chain del software può ridurre significativamente il rischio di essere danneggiati.

Passa alla fase successiva

La missione di IBM è aiutare i clienti a massimizzare la velocità del proprio percorso verso la trasformazione digitale delle aziende, grazie a una base agile basata sulla tecnologia open source di Red Hat che consente di creare una volta e di distribuire ovunque. Scopri come le soluzioni IBM e Red Hat possono aumentare la produttività, ridurre i costi, migliorare i risultati aziendali e accelerare la trasformazione digitale, indipendentemente dal settore in cui operi.

Esplora le soluzioni IBM e Red Hat