Che cos’è il software open source e perché è importante?

Che cos’è il software open source e perché è importante?

Nei forum vengono spesso usano termini come “open source” o “software libero”. Se ti stai chiedendo esattamente cosa significano questi termini e quale sia la loro importanza, continua a leggere.

Software libero e Open source sono spesso usati come sinonimi ma, sono due concetti simili ma non uguali.

Vedremo di chiarire con questo articolo, le differenze tra i due concetti e i vantaggi nell’utilizzo di questi software per l’utente finale.

La definizione di open source

Se un programma è open-source, il suo codice sorgente è liberamente disponibile per i suoi utenti. I suoi utenti – e chiunque altro – hanno la possibilità di prendere questo codice sorgente, modificarlo e distribuire le proprie versioni del programma.

Gli utenti hanno anche la possibilità di distribuire tutte le copie del programma originale che desiderano. Chiunque può utilizzare il programma per qualsiasi scopo; non ci sono costi di licenza o altre restrizioni sul software.

L’OSI ha una definizione più dettagliata di “open source” sul suo sito web.

Ad esempio, Ubuntu Linux è un sistema operativo open source. Puoi scaricare Ubuntu, creare tutte le copie che vuoi e regalarle ai tuoi amici. Puoi installare Ubuntu su un numero illimitato di computer.

È possibile creare personalizzazioni del disco di installazione di Ubuntu e distribuirli. Se fossi particolarmente motivato, potresti scaricare il codice sorgente di un programma in Ubuntu e modificarlo, creando la tua versione personalizzata di quel programma o di Ubuntu stesso.

In genere vengono utilizzate licenze GPL, dette in gergo tecnico che consentono di utilizzare il software, infinite volte, ma vanno inseriti i diritti d’ autore di chi ha realizzato il software.

Altre licenze, ad esempio la licenza BSD, impongono meno restrizioni agli sviluppatori. Se un programma è concesso con la licenza BSD, chiunque può incorporare il codice sorgente del programma in un altro programma. Non devono rilasciare i loro cambiamenti alla comunità.

Alcune vedono che questo è ancora più “libero” rispetto alla licenza GPL, in quanto dà agli sviluppatori la libertà di incorporare il codice nei propri programmi closed-source (codice chiuso); mentre alcune persone lo vedono come meno “libero” perché toglie i diritti agli utenti finali del programma derivato.

Definizione di software Libero

La definizione di software libero scritta da Richard Stallman e pubblicata da Free Software Foundation (FSF), definisce il software libero come un software che assicura agli utenti finali la libertà di utilizzare, studiare, condividere e modificare tale software. Il termine “libero” viene utilizzato nel senso di “libertà di parola”, non di “gratuito”.

Col tempo il concetto è stato ripreso e modificato ecco le 4 libertà, fondamentali per chi voglia usare software libero:

  1.  La libertà di eseguire il programma come si desidera, per qualsiasi scopo.
  2.  La libertà di studiare come funziona il programma, e cambiarlo in modo che si adatti alle prorpie esigenze.
  3. La libertà di ridistribuire le copie in modo da poter aiutare il prossimo.
  4. La libertà di distribuire copie delle versioni modificate ad altri (libertà 3). In questo modo si può dare all’intera comunità la possibilità di beneficiare dei cambiamenti. L’accesso al codice sorgente è una condizione preliminare per questo.

Molti pensano che sia il software libero, che l’open-source, consenta di utilizzare software gratuito e libero da ogni forma di proprietà intellettuale, niente di più sbagliato.

Posso utilizzarli, copiarli e modificarli a mio piacimento ma, non è detto che questo software non sia completamente libero da vincoli di proprietà intellettuali, o di licenze da pagare agli autori che hanno realizzato tali software.

Vantaggi per gli utenti finali nell’utilizzo di software libero e open-source?

Il vantaggio più evidente di tali licenze è che il software può essere ridistribuito gratuitamente. L’esempio di Ubuntu Linux renderà chiaro questo concetto- a differenza di Windows, è possibile installare o distribuire tutte le copie di Ubuntu come si desidera, senza restrizioni.

Se si sta configurando un server, si può semplicemente installare Linux su di esso. se si sta configurando un cluster virtualizzato di server, è possibile duplicare facilmente un singolo server Ubuntu.

Non devi preoccuparti delle licenze e del numero di copie di Linux che puoi eseguire.

Un programma open-source è anche più flessibile. Ad esempio, la nuova interfaccia di Windows 10 ha deluso molti utenti di Windows anche i più affezionati.

Quando un desktop (interfaccia grafica che si presenta a Video) Linux come Ubuntu introduce una nuova interfaccia desktop, gli utenti hanno più opzioni.

 Ad esempio, quando GNOME 3 è stato rilasciato;alcuni hanno continuato con la vecchia versione, GNOME 2, e lo hanno modificato per farlo funzionare sulle ultime distribuzioni Linux – quindi è nato MATE.

Altri hanno adottato il Desktop GNOME 3 e lo hanno modificato per farlo funzionare nel modo che preferivano – quindi è nata Cannella, altri ancora utenti sono passati ai desktop alternativi esistenti.

Se Windows fosse open-source, gli utenti di Windows 10 avrebbero più scelta e flessibilità.

 Basta dare un’occhiata a CyanogenMod, una distribuzione Linux popolare, basata sulla comunità di Android che aggiunge funzionalità e supporto per i nuovi dispositivi.

Questa non è una descrizione esaustiva – interi libri sono stati scritti su questo argomento – ma ora dovresti avere una migliore idea di cosa sia effettivamente il software open source e perché sia utile rispetto a una piattaforma chiusa come Windows di Microsoft, nessun utente di Windows può prendere l’interfaccia di Windows 8, modificarla e farla funzionare correttamente in Windows 10.

Quali progetti sono nati dal mondo del software libero e Open-source?

Il software open-source consente inoltre agli sviluppatori di “stare avanti ai giganti del mondo informatico” e creare il proprio software.

 Ottimi progetti come Android e Chrome OS, non sono che sistemi operativi basati su Linux e altri software open-source.

Il nucleo di OS X di Apple – e quindi per iOS – è completamente basato sul codice open-source, Ti sembra poco?

Ecco un altro esempio, il famoso Cloud è nato grazie al processo di virtualizzazione, nato nel mondo Linux, poi è divenuto, quel sistema complesso e sofisticato che tutti noi conosciamo e utilizziamo.

Per non parlare dei vari programmi, per la grafica, per la progettazione CAD e CAM e molto altro.

Open-source e software libero non sono solo dei concetti astratti oh programmi gratuiti, ma hanno dato una grande spinta e innovazione al software, anticipando servizi molto avanzati impensabili fino a qualche anno fa.