Che un programma sia open source o meno non è importante per gli sviluppatori, ma è importante anche per gli utenti. Le licenze di software open source offrono agli utenti le libertà che altrimenti non avrebbero.
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 quante copie del programma originale vogliono. 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 una quantità illimitata di computer. È possibile creare remix del disco di installazione di Ubuntu e distribuirli. Se sei particolarmente motivato, puoi scaricare il codice sorgente di un programma in Ubuntu e modificarlo, creando la tua versione personalizzata di quel programma o di Ubuntu stesso. Le licenze open source ti consentono di farlo, mentre le licenze a codice chiuso ti impongono delle restrizioni.
Firefox, Chrome, OpenOffice, Linux e Android sono alcuni esempi popolari di software open-source, mentre Microsoft Windows è probabilmente la parte più popolare del software closed-source in circolazione.
Open Source contro software libero
Le applicazioni open source sono generalmente disponibili gratuitamente, sebbene non ci sia nulla che impedisca allo sviluppatore di addebitare copie del software se in seguito consentono la ridistribuzione dell'applicazione e il suo codice sorgente.
Tuttavia, non è quello a cui si riferisce il "software libero". Il "libero" nel software libero significa "libero come in libertà", non "libero come nella birra". Il campo del software libero, guidato da Richard Stallman e dalla Free Software Foundation, si concentra sull'etica e la morale dell'uso di software che può essere controllato e modificato dall'utente. In altre parole, il campo del software libero si concentra sulle libertà degli utenti.
Richard Stallman. Immagine di Fripog su Flickr.
Il movimento del software open source è stato creato per concentrarsi su ragioni più pragmatiche per la scelta di questo tipo di software. I sostenitori dell'open source volevano concentrarsi sui vantaggi pratici dell'uso di software open-source che avrebbe attratto maggiormente le imprese, piuttosto che l'etica e la morale.
In definitiva, sia i sostenitori del software libero che open source stanno sviluppando lo stesso tipo di software, ma non sono d'accordo sulla messaggistica.
Tipi di licenze
Esistono molte licenze diverse utilizzate da progetti open-source, a seconda di quali gli sviluppatori preferiscono per il loro programma.
La GPL, o GNU General Public License, è ampiamente utilizzata da molti progetti open source, come Linux. Oltre a tutte le suddette definizioni di open source, i termini della GPL specificano che, se qualcuno modifica un programma open source e distribuisce un'opera derivata, deve anche distribuire il codice sorgente per il proprio lavoro derivato. In altre parole, nessuno può prendere il codice open source e creare un programma closed-source da esso - devono rilasciare le loro modifiche alla comunità. Microsoft ha definito la GPL "virale" per questo motivo, poiché costringe i programmi che incorporano il codice GPL a rilasciare il proprio codice sorgente. Naturalmente, gli sviluppatori di un programma possono scegliere di non utilizzare il codice GPL se questo è un problema.
Vantaggi per gli utenti
Questo non è tutto materiale secco, non importante che interessa solo agli sviluppatori. Il vantaggio più evidente del software open source è che può essere ottenuto gratuitamente. L'esempio di Ubuntu Linux sopra lo rende chiaro: a differenza di Windows, puoi installare o distribuire tutte le copie di Ubuntu che vuoi, senza restrizioni. Questo può essere un server particolarmente utile: se stai configurando un server, puoi semplicemente installare Linux su di esso. se stai configurando un cluster virtualizzato di server, puoi facilmente duplicare un singolo server Ubuntu. Non devi preoccuparti delle licenze e di quante istanze di Linux puoi eseguire.
Un programma open-source è anche più flessibile.Ad esempio, la nuova interfaccia di Windows 8 ha deluso molti utenti desktop di lunga data di Windows. Poiché Windows è closed-source, nessun utente Windows può utilizzare l'interfaccia di Windows 7, modificarlo e farlo funzionare correttamente su Windows 8. (Alcuni utenti di Windows ci stanno provando, ma questo è un processo scrupoloso di reverse engineering e modifica di file binari. )
Il software open source consente inoltre agli sviluppatori di "stare sulle spalle dei giganti" e creare il proprio software. Prova i sistemi operativi Android e Chrome, che sono sistemi operativi basati su Linux e altri software open source. Il nucleo dell'OS X di Apple - e quindi di iOS - è stato costruito anche su codice open source. Valve sta lavorando furiosamente al porting della piattaforma di gioco Steam su Linux, in quanto ciò consentirebbe loro di creare il proprio hardware e controllare il proprio destino in un modo che non è possibile su Windows di Microsoft.
Questa non è una descrizione esauriente - sono stati scritti interi libri su questo argomento - ma ora dovresti avere un'idea migliore di cosa sia il software open-source e perché sia utile per te.