Il termine “open source” significa molto di più di un software a di­spo­si­zio­ne di tutti il cui codice può essere visto, copiato e mo­di­fi­ca­to da terzi. Negli ultimi decenni open source è diventato un modo di lavorare, un movimento ca­rat­te­riz­za­to dallo scopo di risolvere problemi in maniera col­let­ti­va, ossia condivisa. Grazie al modello pro­dut­ti­vo de­cen­tra­liz­za­to, i software open source dipendono prin­ci­pal­men­te dalla peer review o revisione paritaria, ovvero un pro­ce­di­men­to in­di­pen­den­te di verifica qua­li­ta­ti­va, e dagli input delle community di pro­gram­ma­to­ri. Questa col­la­bo­ra­zio­ne rap­pre­sen­ta una delle prin­ci­pa­li ca­rat­te­ri­sti­che dei co­sid­det­ti “software aperti”.

In questo articolo vi offriamo una de­fi­ni­zio­ne esatta di open source e vi spie­ghia­mo la dif­fe­ren­za tra software liberi, aperti e chiusi.

Che cosa significa open source?

Il termine open source deriva da software open source, ab­bre­via­to OSS. Si tratta di una tipologia di software il cui codice sorgente è visibile a chiunque e che pro­gram­ma­to­ri e utenti hanno la pos­si­bi­li­tà di mo­di­fi­ca­re e con­di­vi­de­re. Di­ver­sa­men­te dai software pro­prie­ta­ri, i prodotti open source risultano più fles­si­bi­li e con­ve­nien­ti da rea­liz­za­re.

Un software open source non ap­par­tie­ne né a singoli né ad aziende. A pren­der­se­ne cura è infatti una grande community di svi­lup­pa­to­ri che si occupa anche di mi­glio­ra­re il prodotto grazie ai continui input offerti dalla col­let­ti­vi­tà. Non di rado or­ga­niz­za­zio­ni e aziende uniscono i propri sforzi con lo scopo di rea­liz­za­re progetti open source con un notevole risparmio dei costi di sviluppo.

Questo modello pro­dut­ti­vo dello sviluppo software è tutt’altro che nuovo. Infatti, l’open source è tanto vecchio quanto Internet. Già negli anni 50 e 60 vennero svi­lup­pa­ti in un ambiente aperto i primi pro­to­col­li di rete per le te­le­co­mu­ni­ca­zio­ni. L’ARPANET (Advanced Research Projects Agency Network), che pose le basi dell’Internet moderno, nacque grazie alla col­la­bo­ra­zio­ne e alla peer review. Esat­ta­men­te 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 con­tri­bui­to a raf­for­za­re l’idea di un libero scambio di sapere nell’ambito dello sviluppo software.

De­fi­ni­zio­ne

Open source: Open source è il principio su cui si basano i software il cui codice sorgente può essere letto, copiato o mo­di­fi­ca­to a proprio pia­ci­men­to. Il concetto de­cen­tra­liz­za­to di open source indica inoltre un forte senso di col­let­ti­vi­tà, dove gli input generati dal libero scambio di sapere all’interno di una grande comunità di svi­lup­pa­to­ri aiutano a risolvere problemi, ag­gior­na­re e mi­glio­ra­re il prodotto per il bene di tutti gli utenti che ne fanno uso.

Qual è la dif­fe­ren­za tra software liberi, aperti e chiusi?

Prima che si af­fer­mas­se il termine open source, si parlava di software liberi per indicare i modelli di software pub­bli­ca­men­te ac­ces­si­bi­li. L’in­tro­du­zio­ne 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 co­sid­det­ti liberi si con­trap­po­ne­va­no ai software pro­prie­ta­ri o chiusi.

I software chiusi hanno un pro­prie­ta­rio legale (fisico o giuridico), che è l’unico soggetto ad avere diritto ad accedere, mo­di­fi­ca­re e con­di­vi­de­re il codice sorgente. Agli utenti di questi software spetta solamente la pos­si­bi­li­tà di uti­liz­zar­lo per le finalità espres­sa­men­te indicate e per lo più a pagamento.

Come in inglese (free software), anche in italiano la de­no­mi­na­zio­ne di software liberi può causare con­fu­sio­ne. Infatti, questo termine indica solamente la libertà di utilizzo degli utenti, ma non implica che il prodotto sia gratuito o rientri nel pa­tri­mo­nio pubblico. Tuttavia, anche in materia di libertà di utilizzo ci sono delle li­mi­ta­zio­ni. 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 con­di­zio­ni.

Nel 1998 il Foresight Institute decise di coniare il termine open source al fine di spe­ci­fi­ca­re l’utilizzo libero e non com­mer­cia­le dei software, di­stin­guen­do­li così dai software liberi. Come già men­zio­na­to, il termine significa “sorgente aperta” o più in generale “software aperto”.

N.B.

Un’ulteriore di­stin­zio­ne è quella tra i software open source e i public domain software, chiamati anche freeware. Tuttavia, data la dif­fi­col­tà di di­stin­gue­re chia­ra­men­te tra le due de­fi­ni­zio­ni, in molti casi questi termini vengono im­pro­pria­men­te usati come sinonimi.

A cosa si deve prestare at­ten­zio­ne con l’open source?

So­prat­tut­to all’inizio le aziende ri­sul­ta­va­no piuttosto scettiche verso l’utilizzo di software open source. La mo­ti­va­zio­ne era duplice: le re­stri­zio­ni d’uso dettate dalle licenze e la paura di svelare parti del proprio software. Questi timori si sono af­fie­vo­li­ti con il passare del tempo e oggi sono molte le aziende che decidono di puntare con­sa­pe­vol­men­te su soluzioni open source. La volontà di coin­vol­ge­re una base di svi­lup­pa­to­ri la più ampia possibile ha portato alla nascita di diversi modelli di licenza. Le relative con­di­zio­ni d’utilizzo si limitano a ri­chie­de­re agli utenti di do­cu­men­ta­re e rendere noto l’uso che fanno dei progetti open source.

Prima di uti­liz­za­re com­po­nen­ti open source, ve­ri­fi­ca­te però sempre con quali licenze vengono messe a vostra di­spo­si­zio­ne. Per evitare problemi legali è im­por­tan­te che ado­pe­ria­te le singole com­po­nen­ti esclu­si­va­men­te secondo quanto stabilito dalle con­di­zio­ni previste dalla licenza, as­si­cu­ran­do­vi di do­cu­men­ta­re il tutto. Infatti, vi potrebbe venir richiesto di dover rendere noti i vostri strumenti e codici sorgente.

Le piat­ta­for­me per svi­lup­pa­to­ri come GitHub, usate per la gestione delle versioni dei progetti di sviluppo software, e gli strumenti di licenza vi aiutano si­gni­fi­ca­ti­va­men­te nell’uso corretto dei software open source. Inoltre, la redazione di una lista degli elementi risulta van­tag­gio­sa per avere sempre sotto controllo quale licenza cor­ri­spon­de a ciascuna com­po­nen­te software da voi uti­liz­za­ta.

Esempi di software open source

Senza saperlo la maggior parte degli utenti di Internet utilizza re­go­lar­men­te software ri­la­scia­ti con licenza open source. Qui di seguito elen­chia­mo tre progetti a sorgente aperta co­no­sciu­ti in tutto il mondo e che hanno in­fluen­za­to in modo de­ter­mi­nan­te il movimento open source.

PHP: questo lin­guag­gio di pro­gram­ma­zio­ne è stato svi­lup­pa­to per la creazione di pagine web dinamiche. Dalla sua pub­bli­ca­zio­ne nel 1995 si è affermato glo­bal­men­te come uno dei linguaggi di pro­gram­ma­zio­ne più uti­liz­za­ti al mondo. PHP offre a programmi come Slack o Spotify un’elevata fles­si­bi­li­tà per il supporto dei database e per l’utilizzo del pro­to­col­lo Internet.

Mozilla Firefox: il browser li­be­ra­men­te con­fi­gu­ra­bi­le Mozilla Firefox offre una gi­gan­te­sca scelta di plug-in, il che ha con­tri­bui­to a renderlo uno dei tre client web più diffusi al mondo. Approdato sul mercato nel 2002, ha ri­vo­lu­zio­na­to l’industria tec­no­lo­gi­ca con il suo approccio aperto. Secondo il sito web americano CNET, Mozilla Firefox ha svolto un ruolo centrale nella dif­fu­sio­ne dell’open source.

WordPress: il sistema di gestione dei contenuti WordPress esiste dal 2003. Da allora il progetto ha con­ti­nua­to a svi­lup­par­si con­ti­nua­men­te. WordPress si basa sul lin­guag­gio di pro­gram­ma­zio­ne open source PHP e fu ori­gi­na­ria­men­te svi­lup­pa­to per la creazione e la gestione di blog. Grazie all’in­te­gra­zio­ne di plug-in esterni, il CMS offre ai propri utenti molte pos­si­bi­li­tà di con­fi­gu­ra­zio­ne con uno sforzo minimo. WordPress ap­par­tie­ne oggi ai sistemi di gestione dei contenuti più amati e uti­liz­za­ti al mondo.

Vantaggi e svantaggi dei software open source

Molte valide ar­go­men­ta­zio­ni so­sten­go­no l’uso di software open source. Tuttavia, il loro impiego porta con sé anche alcuni rischi che vale la pena ana­liz­za­re 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 ef­fet­ti­va­men­te adatto alle vostre esigenze.

Vantaggi:

  • Costi di acquisto minimi: so­li­ta­men­te gli utenti possono entrare in possesso del codice sorgente di un software open source senza dover sostenere alcun costo.
  • Af­fi­da­bi­li­tà: il solo fatto di avere un’intera community di svi­lup­pa­to­ri che lavora al mi­glio­ra­men­to del prodotto rende questo tipo di software spesso più af­fi­da­bi­li di quelli pro­prie­ta­ri.
  • Longevità: un’altra ca­rat­te­ri­sti­ca 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 fal­li­men­to il software può con­ti­nua­re a essere uti­liz­za­to.
  • Sicurezza: la comunità di svi­lup­pa­to­ri individua bug e minacce alla sicurezza del software non appena compaiono e le risolve nel più breve tempo possibile.
  • Fles­si­bi­li­tà: l’open source ga­ran­ti­sce agli utenti una fles­si­bi­li­tà 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 com­por­ta­re de­ter­mi­na­ti costi legati all’ap­pren­di­men­to del loro utilizzo da parte dei di­pen­den­ti della propria azienda o all’ester­na­liz­za­zio­ne della ri­so­lu­zio­ne di eventuali errori.
  • As­si­sten­za: di­ver­sa­men­te dai software pro­prie­ta­ri che offrono un servizio di as­si­sten­za ai propri clienti, come la ri­so­lu­zio­ne dei problemi, gli utenti degli OSS non hanno alcun referente.
  • Usabilità: i software open source sono pensati per gli svi­lup­pa­to­ri. Per una corretta con­fi­gu­ra­zio­ne ri­chie­do­no una certa co­no­scen­za tecnica.
  • Di­smis­sio­ne: sebbene la maggior parte dei progetti OS abbia vita lunga, può capitare che la community di svi­lup­pa­to­ri non sia più in­te­res­sa­ta a un singolo progetto.
  • Sicurezza: la sicurezza con­trad­di­stin­gue so­li­ta­men­te l’utilizzo dei progetti open source. Tuttavia, bisogna tenere conto che questi si svi­lup­pa­no in un ambiente non con­trol­la­to, nel quale possono essere fa­cil­men­te integrati dei malware.
Con­si­de­ra­zio­ni finali sugli OSS

In con­si­de­ra­zio­ne dei vantaggi non c’è da stupirsi dell’af­fer­ma­zio­ne dell’open source negli ultimi decenni. Con il giusto approccio e gli strumenti necessari, gli utenti di software open source possono be­ne­fi­cia­re dei vantaggi che offre questo modello di sviluppo, ren­den­do­li al contempo parte di un movimento in­for­ma­ti­co globale che punta sul valore aggiunto delle col­let­ti­vi­tà.

Vai al menu prin­ci­pa­le