Jump to section

Cos'è il software open source?

Copia URL

Il software open source viene rilasciato con una tipologia specifica di licenza che rende il codice sorgente legalmente fruibile dagli utenti finali. Esistono svariati tipi di licenze software fruibili in tal senso, ma in linea generale un software è considerato open source se:

  • È disponibile in forma di codice sorgente senza costi aggiuntivi; l'utente potrà quindi visualizzare il codice del software e modificarlo in base alle sue esigenze.
  • Il codice sorgente può essere reimpiegato in nuovi software; chiunque potrà quindi usarlo per creare e distribuire nuovi programmi.

Il fatto che un software sia open source non significa necessariamente che il software eseguibile sia ceduto gratuitamente, ma implica la disponibilità gratuita del codice sorgente.

Il codice sorgente di Red Hat® Enterprise Linux®, ad esempio, è disponibile gratuitamente per tutti (come puoi vedere qui), ma per trasformare tale codice in codice eseguibile occorrono competenze, tempo e server. Le organizzazioni che intendono utilizzare il codice production ready di Red Hat Enterprise Linux senza ricostruirlo dal codice sorgente, possono richiedere una sottoscrizione.

Il software open source viene spesso associato al movimento del software libero, il che può creare confusione rispetto al significato della gratuità. Il movimento del software libero è frutto della cultura degli hacker degli anni '70; fu ufficialmente fondato da Richard Stallman nell'ambito del Progetto GNU e della Free Software Foundation, un'associazione senza scopo di lucro. Con "libero" si intendeva sottolineare la libertà dei diritti degli utenti finali del software, ma il significato è stato spesso frainteso come "libero da ogni costo."

In realtà, né il software libero né quello open source hanno alcun significato associato al loro costo, ed entrambi possono essere legalmente venduti o ceduti.

Software libero e software open source condividono valori in comune, ed i termini vengono talvolta combinati nell'espressione comune "software libero e open source" (FOSS).

Scopri di più sull'open source

Chiedi ulteriori informazioni a Red Hat 

La differenza principale tra software proprietario e software FOSS è data dalla disponibilità del codice sorgente. Software proprietari o commerciali, come Microsoft Windows e Adobe Photoshop, non sono disponibili agli utenti finali come codice sorgente. Al contrario, software liberi come il kernel Linux (su cui si fonda Red Hat Enterprise Linux) e software open source come Google Chromium (la base del browser web Chrome) sono disponibili come codice sorgente tramite le rispettive licenze.

Esistono anche diversi tipi di licenze open source. Se, ad esempio, qualcuno trasforma il tuo codice sorgente in un nuovo software, potrai chiedere che il rilascio del nuovo prodotto avvenga con la stessa licenza, come previsto dalla Licenza Pubblica Generica (GPL) GNU, o con una licenza diversa, come invece consente la Licenza Pubblica Generica Attenuata (LGPA) GNU. Internet e il modello sempre più diffuso di cloud computing a cui oggi siamo abituati sarebbero profondamente diversi se le loro origini non risalissero al software open source.

 

Rispetto a un modello closed source, un software open source offre a tutti — e non solo ai programmatori — la possibilità di contribuire all'innovazione con la propria creatività. Ad esempio, le community open source collaborano a progetti open source, aperti a chiunque voglia condividere le proprie competenze contribuendo alla creazione di codice. Come accade per i realizzatori di software proprietari, anche i gruppi open source aderiscono a standard relativi alla contribuzione ai loro progetti, lasciando però i processi accessibili a chiunque desideri prenderne parte.

Da questo modello di sviluppo open source hanno avuto origine alcune delle più importanti applicazioni e piattaforme cloud attualmente in adozione. La più diffusa tra queste è LAMP, un modello di stack di servizi che fa da pilastro a gran parte del web. L'acronimo LAMP sta per:

  • Linux: un sistema operativo open source ma anche il più grande progetto open source al mondo
  • Apache: un web server open source per più piattaforme che ha giocato un ruolo strategico agli esordi del web;
  • MySQL: un sistema di gestione dei database relazionali impiegato da numerose app web fondate su database;
  • PHP: un linguaggio di scripting generico utilizzato nello sviluppo software (i linguaggi Perl o Python sono a volte usati in alternativa)

Altri esempi di tecnologie open source di grande diffusione sono il sistema operativo mobile Android, il browser web Mozilla Firefox e Git, un sistema di controllo delle versioni largamente utilizzato nonché le due suite per ufficio correlate, OpenOffice e LibreOffice. Le principali innovazioni nel campo del cloud computing, dei big data e dell'intelligenza artificiale nascono da progetti software open source. 

Oltre al ruolo strategico che ha avuto agli esordi del web e nella creazione di alcune delle principali applicazioni che oggi utilizziamo, il software open source offre notevoli benefici anche ai programmatori aziendali o indipendenti. Un codice sorgente open può essere studiato più facilmente da tutti, per sviluppare nuove competenze di programmazione. Le licenze open source offrono a chi voglia acquisire esperienza in materia la possibilità di sperimentare le modifiche, e di condividerle con i pari e la vasta community open source, persino contribuendo con correzioni ai progetti open source in corso.

Alle aziende, il software open source offre possibilità di personalizzazione per soddisfare esigenze specifiche, nonché di inserire nuove esperienze clienti non previste dal codice sorgente originario. Infine, c'è chi preferisce il software open source perché l'accessibilità del codice sorgente fa sì che le eventuali vulnerabilità della sicurezza siano monitorate da un numero maggiore di sviluppatori e da una community attiva e capace di offrire supporto.

Il software open source è il frutto di un modello di sviluppo fondato sull'approccio open source, decentralizzato, che promuove la collaborazione aperta e la produzione paritaria. Ha dato origine a un movimento di sviluppo software di ampia portata e spesso si fa riferimento ai principi su cui si fonda come all'approccio open source.

L'approccio open source è efficace perché capace di attrarre professionisti con straordinarie competenze tecniche. Gran parte dell'innovazione tecnologica si sta sviluppando nella community open source e l'uso di software open source è sempre più adottato, in tutto il mondo. Linux, Kubernetes e Git sono alla base di numerosi e rinomati siti web e applicazioni. Firefox e Chromium sono browser open source usati da milioni di persone.

Scopri perché le soluzioni open source sono fondamentali per le sfide IT aziendali.

Otto consigli tecnici per favorire la sicurezza e la conformità

Approfondisci

Articolo

Differenze tra Fedora e Red Hat Enterprise Linux

Sebbene siano entrambi sistemi operativi, Fedora è creato da una community open source, mentre Red Hat Enterprise Linux è sviluppato da Red Hat per essere utilizzato come piattaforma IT di livello enterprise.

Articolo

Cosa significa open source?

Il termine open source si riferisce al software open source (OSS, da open source software) e indica quel tipo di codice che può essere studiato, modificato e distribuito da chiunque. 

Articolo

LLM open source

Questo articolo spiega come funzionano i modelli linguistici di grandi dimensioni (LLM) open source e com'è possibile adattarli alle proprie esigenze di business.