Open source: il codice sorgente aperto spiegato in maniera semplice

Il termine “open source” significa molto di più di un software a disposizione di tutti il cui codice può essere visto, copiato e modificato da terzi. Negli ultimi decenni open source è diventato un modo di lavorare, un movimento caratterizzato dallo scopo di risolvere problemi in maniera collettiva, ossia condivisa. Grazie al modello produttivo decentralizzato, i software open source dipendono principalmente dalla peer review o revisione paritaria, ovvero un procedimento indipendente di verifica qualitativa, e dagli input delle community di programmatori. Questa collaborazione rappresenta una delle principali caratteristiche dei cosiddetti “software aperti”.

In questo articolo vi offriamo una definizione esatta di open source e vi spieghiamo la differenza tra software liberi, aperti e chiusi.

Che cosa significa open source?

Il termine open source deriva da software open source, abbreviato OSS. Si tratta di una tipologia di software il cui codice sorgente è visibile a chiunque e che programmatori e utenti hanno la possibilità di modificare e condividere. Diversamente dai software proprietari, i prodotti open source risultano più flessibili e convenienti da realizzare.

Un software open source non appartiene né a singoli né ad aziende. A prendersene cura è infatti una grande community di sviluppatori che si occupa anche di migliorare il prodotto grazie ai continui input offerti dalla collettività. Non di rado organizzazioni e aziende uniscono i propri sforzi con lo scopo di realizzare progetti open source con un notevole risparmio dei costi di sviluppo.

Questo modello produttivo dello sviluppo software è tutt’altro che nuovo. Infatti, l’open source è tanto vecchio quanto Internet. Già negli anni 50 e 60 vennero sviluppati in un ambiente aperto i primi protocolli di rete per le telecomunicazioni. L’ARPANET (Advanced Research Projects Agency Network), che pose le basi dell’Internet moderno, nacque grazie alla collaborazione e alla peer review. Esattamente come oggi accade per i software open source. Anche il movimento degli hacker negli anni 70 e quello per il software libero negli 80 hanno contribuito a rafforzare l’idea di un libero scambio di sapere nell’ambito dello sviluppo software.

Definizione

Open source: Open source è il principio su cui si basano i software il cui codice sorgente può essere letto, copiato o modificato a proprio piacimento. Il concetto decentralizzato di open source indica inoltre un forte senso di collettività, dove gli input generati dal libero scambio di sapere all’interno di una grande comunità di sviluppatori aiutano a risolvere problemi, aggiornare e migliorare il prodotto per il bene di tutti gli utenti che ne fanno uso.

Qual è la differenza tra software liberi, aperti e chiusi?

Prima che si affermasse il termine open source, si parlava di software liberi per indicare i modelli di software pubblicamente accessibili. L’introduzione del termine open source risale al progetto GNU, un sistema operativo nato durante il movimento per il software libero con l’obiettivo di garantire agli utenti la massima libertà nell’utilizzo del codice sorgente. All’epoca i software cosiddetti liberi si contrapponevano ai software proprietari o chiusi.

I software chiusi hanno un proprietario legale (fisico o giuridico), che è l’unico soggetto ad avere diritto ad accedere, modificare e condividere il codice sorgente. Agli utenti di questi software spetta solamente la possibilità di utilizzarlo per le finalità espressamente indicate e per lo più a pagamento.

Come in inglese (free software), anche in italiano la denominazione di software liberi può causare confusione. Infatti, questo termine indica solamente la libertà di utilizzo degli utenti, ma non implica che il prodotto sia gratuito o rientri nel patrimonio pubblico. Tuttavia, anche in materia di libertà di utilizzo ci sono delle limitazioni. Sia con i software liberi e i relativi contratti Creative Commons che con i software open source non tutto è permesso. L’utilizzo prevede sempre il rispetto di alcune condizioni.

Nel 1998 il Foresight Institute decise di coniare il termine open source al fine di specificare l’utilizzo libero e non commerciale dei software, distinguendoli così dai software liberi. Come già menzionato, il termine significa “sorgente aperta” o più in generale “software aperto”.

N.B.

Un’ulteriore distinzione è quella tra i software open source e i public domain software, chiamati anche freeware. Tuttavia, data la difficoltà di distinguere chiaramente tra le due definizioni, in molti casi questi termini vengono impropriamente usati come sinonimi.

A cosa si deve prestare attenzione con l’open source?

Soprattutto all’inizio le aziende risultavano piuttosto scettiche verso l’utilizzo di software open source. La motivazione era duplice: le restrizioni d’uso dettate dalle licenze e la paura di svelare parti del proprio software. Questi timori si sono affievoliti con il passare del tempo e oggi sono molte le aziende che decidono di puntare consapevolmente su soluzioni open source. La volontà di coinvolgere una base di sviluppatori la più ampia possibile ha portato alla nascita di diversi modelli di licenza. Le relative condizioni d’utilizzo si limitano a richiedere agli utenti di documentare e rendere noto l’uso che fanno dei progetti open source.

Prima di utilizzare componenti open source, verificate però sempre con quali licenze vengono messe a vostra disposizione. Per evitare problemi legali è importante che adoperiate le singole componenti esclusivamente secondo quanto stabilito dalle condizioni previste dalla licenza, assicurandovi di documentare il tutto. Infatti, vi potrebbe venir richiesto di dover rendere noti i vostri strumenti e codici sorgente.

Le piattaforme per sviluppatori come GitHub, usate per la gestione delle versioni dei progetti di sviluppo software, e gli strumenti di licenza vi aiutano significativamente nell’uso corretto dei software open source. Inoltre, la redazione di una lista degli elementi risulta vantaggiosa per avere sempre sotto controllo quale licenza corrisponde a ciascuna componente software da voi utilizzata.

Esempi di software open source

Senza saperlo la maggior parte degli utenti di Internet utilizza regolarmente software rilasciati con licenza open source. Qui di seguito elenchiamo tre progetti a sorgente aperta conosciuti in tutto il mondo e che hanno influenzato in modo determinante il movimento open source.

PHP: questo linguaggio di programmazione è stato sviluppato per la creazione di pagine web dinamiche. Dalla sua pubblicazione nel 1995 si è affermato globalmente come uno dei linguaggi di programmazione più utilizzati al mondo. PHP offre a programmi come Slack o Spotify un’elevata flessibilità per il supporto dei database e per l’utilizzo del protocollo Internet.

Mozilla Firefox: il browser liberamente configurabile Mozilla Firefox offre una gigantesca scelta di plug-in, il che ha contribuito a renderlo uno dei tre client web più diffusi al mondo. Approdato sul mercato nel 2002, ha rivoluzionato l’industria tecnologica con il suo approccio aperto. Secondo il sito web americano CNET, Mozilla Firefox ha svolto un ruolo centrale nella diffusione dell’open source.

WordPress: il sistema di gestione dei contenuti WordPress esiste dal 2003. Da allora il progetto ha continuato a svilupparsi continuamente. WordPress si basa sul linguaggio di programmazione open source PHP e fu originariamente sviluppato per la creazione e la gestione di blog. Grazie all’integrazione di plug-in esterni, il CMS offre ai propri utenti molte possibilità di configurazione con uno sforzo minimo. WordPress appartiene oggi ai sistemi di gestione dei contenuti più amati e utilizzati al mondo.

Vantaggi e svantaggi dei software open source

Molte valide argomentazioni sostengono l’uso di software open source. Tuttavia, il loro impiego porta con sé anche alcuni rischi che vale la pena analizzare prima di fare la propria scelta. Soppesate i vantaggi e gli svantaggi dell’open source qui di seguito elencati per stabilire se questo modello di software sia effettivamente adatto alle vostre esigenze.

Vantaggi:

  • Costi di acquisto minimi: solitamente gli utenti possono entrare in possesso del codice sorgente di un software open source senza dover sostenere alcun costo.
  • Affidabilità: il solo fatto di avere un’intera community di sviluppatori che lavora al miglioramento del prodotto rende questo tipo di software spesso più affidabili di quelli proprietari.
  • Longevità: un’altra caratteristica dei software open source è la costanza, in quanto il loro successo non è legato a una singola azienda o a uno specifico fornitore e anche in caso di fallimento il software può continuare a essere utilizzato.
  • Sicurezza: la comunità di sviluppatori individua bug e minacce alla sicurezza del software non appena compaiono e le risolve nel più breve tempo possibile.
  • Flessibilità: l’open source garantisce agli utenti una flessibilità elevata, così da poter adattare il software alle proprie necessità senza aver bisogno del consenso del fornitore.

Svantaggi:

  • Spese continue nel tempo: i progetti open source possono comportare determinati costi legati all’apprendimento del loro utilizzo da parte dei dipendenti della propria azienda o all’esternalizzazione della risoluzione di eventuali errori.
  • Assistenza: diversamente dai software proprietari che offrono un servizio di assistenza ai propri clienti, come la risoluzione dei problemi, gli utenti degli OSS non hanno alcun referente.
  • Usabilità: i software open source sono pensati per gli sviluppatori. Per una corretta configurazione richiedono una certa conoscenza tecnica.
  • Dismissione: sebbene la maggior parte dei progetti OS abbia vita lunga, può capitare che la community di sviluppatori non sia più interessata a un singolo progetto.
  • Sicurezza: la sicurezza contraddistingue solitamente l’utilizzo dei progetti open source. Tuttavia, bisogna tenere conto che questi si sviluppano in un ambiente non controllato, nel quale possono essere facilmente integrati dei malware.
Considerazioni finali sugli OSS

In considerazione dei vantaggi non c’è da stupirsi dell’affermazione dell’open source negli ultimi decenni. Con il giusto approccio e gli strumenti necessari, gli utenti di software open source possono beneficiare dei vantaggi che offre questo modello di sviluppo, rendendoli al contempo parte di un movimento informatico globale che punta sul valore aggiunto delle collettività.

Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top