Homepage » come » Cos'è il software open source e perché è importante?

    Cos'è il software open source e perché è importante?

    I geek spesso descrivono i programmi come "open source" o "software libero". Se ti stai chiedendo esattamente cosa significano questi termini e perché sono importanti, continua a leggere. (No, "software libero" non significa solo che puoi scaricarlo gratuitamente.)

    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.

    Immagine di credito: Quinn Dombrowski su Flickr

    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.

    L'opposto del software open source è un software closed-source, che ha una licenza che limita gli utenti e ne mantiene il codice sorgente.

    Firefox, Chrome, OpenOffice, Linux e Android sono alcuni esempi popolari di software open-source, mentre Microsoft Windows è probabilmente il più popolare 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 consentono successivamente la ridistribuzione dell'applicazione e il relativo 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.

    Alcune altre licenze, come la licenza BSD, impongono meno restrizioni agli sviluppatori. Se un programma è concesso in licenza con la licenza BSD, chiunque può incorporare il codice sorgente del programma in un altro programma. Non devono rilasciare le loro modifiche alla comunità. Alcune persone vedono che questo è ancora più "libero" della licenza GPL, in quanto offre agli sviluppatori la libertà di incorporare il codice nei propri programmi closed-source, mentre alcune persone lo considerano meno "libero" perché toglie i diritti dagli utenti finali del programma derivato.

    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 scaricato 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 Windows da lungo tempo. Poiché Windows è closed-source, nessun utente Windows può prendere 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. )

    Quando un desktop Linux come Ubuntu introduce una nuova interfaccia desktop di cui alcuni utenti non sono fan, gli utenti hanno più opzioni. Ad esempio, quando GNOME 3 è stato rilasciato, molti utenti di desktop Linux sono stati ugualmente disattivati. Alcuni hanno preso il codice della vecchia versione, GNOME 2, e lo hanno modificato per farlo girare sulle ultime distribuzioni Linux - questo è MATE. Alcuni hanno preso il codice in GNOME 3 e lo hanno modificato per farlo funzionare nel modo che preferivano - questo è Cinnamon. Alcuni utenti sono passati a desktop alternativi esistenti. Se Windows era open source, gli utenti di Windows 8 avrebbero più scelta e flessibilità. Dai un'occhiata a CyanogenMod, una popolare distribuzione basata su community di Android che aggiunge funzionalità e supporto per i nuovi dispositivi.

    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 Microsoft Windows.


    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é è utile per te.