Cosa significa Open Source e perchè è la migliore strada per il futuro

Il termine “open source” descrive tutto ciò che può essere condiviso e modificato in quanto il codice sorgente di queste applicazioni è disponibile, utilizzabile e modificabile liberamente da chiunque.

L’espressione “Open Source” è stata usata per la prima volta in relazione allo sviluppo di software per descrivere una certa strategia di scrittura di programmi per computer. Oggi, però, il termine “open source” si riferisce a un insieme più ampio di principi, che noi chiamiamo “la via dell’open source”.

open source
Adobe Stock

Gli sforzi, i progetti e i prodotti open source abbracciano e celebrano i valori della meritocrazia, della prototipazione rapida, della comunicazione aperta e dello sviluppo incentrato sulla comunità.

Che cosa è un Software Open Source

Il software open source consente a chiunque di ispezionare, modificare e migliorare il codice sorgente. La maggior parte degli utenti non vede mai il “codice sorgente” di un software, che è il codice che i programmatori possono aggiornare per modificare il funzionamento di un software, un “programma” o un'”applicazione”.

Quando hanno accesso al codice sorgente di un programma informatico, i programmatori possono migliorarlo aggiungendo nuove funzionalità o riparando le aree che non sempre funzionano correttamente.

Cosa distingue il software open source da altri tipi di programmi

Alcuni software hanno un codice sorgente che può essere modificato solo dalla persona, dal gruppo o dall’azienda che lo ha prodotto e che ne mantiene il controllo esclusivo. Questo tipo di software viene definito “proprietario” o “closed source”.

Il software proprietario può essere copiato, ispezionato e modificato solo dagli sviluppatori originali. Inoltre, per utilizzare il software proprietario, gli utenti devono dichiarare che non lo utilizzeranno per scopi che non siano stati specificamente autorizzati dai creatori del prodotto (spesso firmando una licenza visualizzata la prima volta che si esegue il software). Esempi di software proprietario sono Adobe Photoshop e Microsoft Office.

Il software open source è diverso. I suoi creatori rendono il codice sorgente accessibile a chiunque voglia guardarlo, copiarlo, modificarlo o distribuirlo. Esempi di software open source sono GNU Image Manipulation Program e LibreOffice. Oltre alla miriade di programmi che alimentano gli ecosistemi delle criptovalute e gli Smart Contract.

Gli utenti del software open source devono accettare i termini di una licenza proprio come quelli del software proprietario. Ma i requisiti legali delle licenze open source sono molto diversi da quelli delle licenze proprietarie.

Come si può utilizzare un software open source e come funzionano le licenze

Il modo in cui il software può essere utilizzato, studiato, modificato e distribuito è influenzato dalle licenze open source. Grazie alle licenze open source, gli utenti di computer possono generalmente utilizzare il software open source per gli scopi che desiderano. Alcune licenze open source, comunemente note come licenze “copyleft”, richiedono che chiunque distribuisca un software open source modificato distribuisca anche il codice sorgente del programma. Inoltre, alcuni accordi open source richiedono che chiunque modifichi e distribuisca un programma con altri distribuisca anche il codice sorgente del programma gratuitamente.

Permettendo ad altri di modificare il codice sorgente e di incorporare tali modifiche nei propri progetti, le licenze del software open source incoraggiano per natura la cooperazione e la condivisione. Promuovono l’accesso, la visualizzazione e la modifica del software open source da parte dei programmatori di computer in qualsiasi momento, a condizione che permettano agli altri di fare lo stesso quando contribuiscono con il loro lavoro.

I programmatori sono gli unici a godere dei vantaggi dei software open source?

Assolutamente no. Sia il software open source che le idee open source sono vantaggiose sia per i programmatori che per i non programmatori.

Chiunque utilizzi Internet trae vantaggio dal software open source, poiché i primi creatori hanno sviluppato gran parte di Internet utilizzando la tecnologia open source, come il sistema operativo Linux e il programma di server Web Apache.

Per instradare e trasmettere i loro dati ai dispositivi “locali” che hanno davanti, gli utenti di computer collegano i loro computer, telefoni cellulari o console di gioco a una rete globale di computer ogni volta che visualizzano pagine web, controllano la posta elettronica, chattano con gli amici, ascoltano musica in streaming online o giocano a videogiochi multiplayer. I computer che svolgono tutto questo lavoro cruciale sono spesso situati in luoghi remoti che gli utenti non possono raggiungere o vedere fisicamente, motivo per cui alcuni li chiamano “computer remoti”.

L’ascesa dei servizi di computing remoto

Le persone utilizzano sempre più spesso i computer remoti per svolgere attività che altrimenti potrebbero completare sui loro dispositivi locali. Ad esempio, possono utilizzare alternative online alle applicazioni desktop per l’elaborazione di testi, la gestione della posta elettronica e la modifica di immagini. Invece, le persone utilizzano solo un browser Web o un’applicazione mobile per accedere a questi programmi su macchine lontane. Quando compiono questa azione, si parla di “remote computing”.

Poiché le operazioni (come l’archiviazione di file, la condivisione di foto o la visualizzazione di video) coinvolgono non solo i dispositivi locali, ma anche una rete mondiale di computer remoti che creano un'”atmosfera” intorno ad essi, alcuni si riferiscono al remote computing come “cloud computing”.

Con un numero sempre maggiore di gadget che si connettono a Internet, il cloud computing sta diventando una parte sempre più significativa della vita quotidiana. Alcuni programmi di cloud computing sono proprietari, come Google Apps. Altri sono open source, come ownCloud e Nextcloud.

Spesso si fa riferimento al software che opera “sotto” le applicazioni di cloud computing come a una “piattaforma” per tali applicazioni, poiché questo software aggiuntivo contribuisce al funzionamento efficace e senza interruzioni dei servizi di cloud computing. Le piattaforme per il cloud computing possono essere open source o closed source. Una piattaforma di cloud computing open source si chiama OpenStack.

Perché il software open source è così popolare e utilizzato?

Per una serie di motivi, le persone preferiscono il software open source al software proprietario.

  • Controllo.
    Molte persone apprezzano il fatto di avere un maggiore controllo sul software open source. Possono controllare il codice per assicurarsi che non faccia qualcosa che non vogliono e correggere eventuali sezioni problematiche. Poiché il software open source può essere usato per qualsiasi motivo, non solo per quelli che gli altri pensano che debba essere usato, anche gli utenti che non sono programmatori possono trarne vantaggio.
  • Formazione.
    Ad altri piace il software open source perché migliora le loro capacità di programmazione. Gli studenti possono facilmente studiare il codice open source per imparare a creare software migliore, perché è facilmente disponibile al pubblico. Per migliorare il proprio talento, gli studenti possono anche presentare il proprio lavoro ad altri e chiedere un feedback. Le persone possono condividere con altri gli errori che trovano nel codice sorgente dei programmi, per evitare che commettano loro stessi gli stessi errori.
  • Sicurezza.
    Alcuni scelgono il software open source rispetto al software proprietario perché lo ritengono più affidabile e sicuro. Il software open source è disponibile per l’accesso e la modifica da parte di tutti, quindi qualcuno può trovare e correggere errori o omissioni che gli autori originali del programma potrebbero aver trascurato. Inoltre, il software open source può essere corretto, aggiornato e potenziato più rapidamente rispetto al software proprietario, poiché molti programmatori possono lavorarci senza il consenso degli sviluppatori originali.
  • Stabilità.
    Per compiti importanti e lunghi, molti utenti scelgono il software open source rispetto al software proprietario. Poiché il codice sorgente del software open source è reso disponibile al pubblico, gli utenti che dipendono da esso per compiti importanti possono essere certi che i loro strumenti non spariranno o diventeranno obsoleti se gli sviluppatori originali cessano di lavorarci. Inoltre, il software open source incorpora spesso standard aperti e funziona in conformità con essi.
  • Community.
    Attorno al software open source si sviluppa spesso una comunità di utenti e sviluppatori. Non si tratta di un’esclusiva dell’open source: per molti programmi noti si tengono meetup e gruppi di utenti. Tuttavia, nel caso dell’open source, la comunità è composta da individui che creano, testano, utilizzano, pubblicizzano e infine influenzano il software che amano, piuttosto che da una base di fan che sostiene finanziariamente o emotivamente un gruppo di utenti esclusivo.

“Open Source” è solo un altro modo per dire che qualcosa è gratuito?

Certo che no. Questo è un tipico fraintendimento del significato di “open source” e le conseguenze del concetto vanno ben oltre il semplice business o l’aspetto economico della questione.

Per il software open source che producono o a cui contribuiscono, i programmatori possono chiedere un compenso. Tuttavia, alcuni programmatori scoprono che far pagare ai consumatori i servizi e l’assistenza software (piuttosto che il prodotto stesso) è più redditizio perché una licenza open source può obbligarli a rivelare il loro codice sorgente quando vendono il software ad altri. In questo modo il loro prodotto rimane gratuito e possono guadagnare assistendo gli altri nella configurazione, nell’uso e nella risoluzione dei problemi.

Anche se alcuni software open source possono essere gratuiti, le competenze in materia di programmazione e debug possono essere molto utili. I datori di lavoro spesso cercano programmatori con esperienza nello sviluppo di software open source quando assumono nuovi dipendenti.

Cosa significa esattamente “beyond software” nell’open source

I fautori e promotori di questa modalità amano concepire l’open source come qualcosa di più di un semplice metodo per creare e distribuire software.

Vivere “alla maniera dell’open source” significa essere disposti a condividere, cooperare con gli altri in modo trasparente (in modo che anche gli altri possano vedere e partecipare), accettare il fallimento come un’opportunità per crescere e anticipare, o addirittura incoraggiare, tutti gli altri a fare lo stesso.

Ciò implica anche la decisione di partecipare attivamente al miglioramento del mondo, che è possibile solo se tutti hanno accesso a come il mondo è fatto.

C’è un sacco di “codice sorgente” nel mondo, che dirige e modella il modo in cui lo vediamo e interagiamo con esso. Pensiamo che il codice sottostante, in qualsiasi forma, debba essere condiviso, accessibile e aperto, in modo che molte persone possano contribuire a migliorarlo.

Perché l’amore per l’open source è come qualsiasi altra passione: quando è condiviso, è più bello.

Impostazioni privacy