Skip to content.
Logo tecnoteca

Portale Tecnoteca.it

Logo tecnoteca

Vai al sito aziendale Tecnoteca.com


 

Cos’è il software libero/open source

Prima di andare a definire quali caratteristiche siano utili a identificare un determinato software come software libero/open source dobbiamo chiarire alcuni punti oscuri legati alla terminologia che hanno permeato di ambiguità la sua definizione fin dalla sua comparsa.

Il termine inglese “free”, a causa del suo duplice significato ( può essere inteso sia come “libero”, con riferimento alle libertà che garantisce agli utenti, che come “gratis”) ha portato a numerosi fraintendimenti e a diverse proposte di nuove terminologie, tra le quali il diffusissimo termine “open source”, che si focalizza sull’apertura del codice sorgente.

In questo lavoro utilizzeremo unitamente entrambi i termini, in quanto li consideriamo espressione di due filosofie diverse, anche se legate da molti punti in comune, all’interno dello stesso universo.

In particolare la corrente del Free Software, rappresentata dalla Free Software Foundation , è convinta dell’importanza di utilizzare il termine “free”, in quanto mette in luce il concetto di libertà degli utenti. La Open Source Iniziative  invece, sostenitrice del termine “open source”, è maggiormente interessata ad evidenziare gli aspetti economici, tecnici e innovativi del software a codice aperto.

E’ importante chiarire che la gratuità del software non è una caratteristica basilare del software libero/open source,  e non va confuso con il software freeware, gratuito ma non necessariamente “libero”. Con il termine freeware ci si riferisce infatti a software distribuito in forma gratuita ma esclusivamente in formato binario, senza concedere la visibilità dei sorgenti, condizione necessaria per permettere la creazione di versioni modificate e la loro ridistribuzione. Generalmente questo tipo di software viene rilasciato gratuitamente per attrarre i clienti verso altri programmi (a pagamento) della stessa casa produttrice.

La possibilità di vendere il software libero/open source è sempre stata contemplata,  fin dalla costituzione del Progetto GNU negli anni ottanta e ora sono numerose le aziende che basano la loro attività commerciale sulla vendita di software a codice aperto e di servizi correlati ad esso.

Indipendentemente dal fatto che si siano ottenute copie di software GNU a pagamento o gratuitamente, si ha sempre la libertà di copiare e cambiare il software, e anche di venderne copie.
"Software libero" non vuol dire "non-commerciale". Un programma libero deve essere disponibile per uso commerciale, sviluppo commerciale e distribuzione commerciale.

Il software libero/open source si identifica per mezzo delle libertà concesse all’utente al momento dell’acquisto o della ricezione da terzi di una copia del programma.

Le principali libertà di cui dispone un utente di questo tipo di software sono le seguenti:

  • ogni utente ha la libertà di eseguire il programma per qualsiasi fine. Non sono ammesse discriminazioni di alcun tipo sulla nazionalità, confessione religiosa, età, genere o posizione politica dell’utente.
  • Il software deve permettere all’utente la sua modifica per rispondere ai propri bisogni individuali. Questo significa che deve essere possibile correggerne gli errori, aggiungere o togliere alcune funzioni, personalizzarlo a proprio piacimento e studiarlo per capire il suo funzionamento. Per poter disporre di questa libertà il prerequisito fondamentale è disporre del codice sorgente. Ogni utente è poi libero di apportare delle modifiche al programma, se lo desidera e ne è capace, oppure può commissionarle ad altri, gratuitamente o a pagamento.
  • Deve essere possibile ridistribuire copie del software di cui si è in possesso, indipendentemente dal fatto che questo sia stato acquistato oppure copiato da terzi. Lo stesso vale per le modifiche apportate: ogni utente ha la possibilità di ridistribuire  pubblicamente i miglioramenti; che ha aggiunto, permettendo così ad altri utilizzatori di goderne.

Un requisito fondamentale di questo software è l’accessibilità del codice sorgente, il codice scritto dall’ autore (o dagli autori) del programma, molto più gestibile del codice binario (linguaggio macchina).

Questa caratteristica innesca una serie di conseguenze positive sull’innovazione.

In primo luogo, fa sì che un programma possa essere costantemente migliorato e consegna il suo futuro alla comunità degli sviluppatori/utilizzatori.

Il futuro di un programma non è nelle sole mani di un’azienda che ne detiene il controllo completo, ma è frutto di un dialogo tra le parti interessate al suo sviluppo.
La direzione che prenderà una determinata tecnologia software è il prodotto di una contrattazione tra i diversi attori: sviluppatori, utenti, aziende, istituzioni.

L’apertura del codice sorgente, in un contesto caratterizzato da un’infrastruttura aperta e distribuita come quella di Internet, può inoltre garantire una maggiore durata della vita di un software. Anche quando un programma cessa di avere un uso “di massa” o quando i suoi principali sviluppatori smettono di aggiornarlo, tutti gli interessati, aziende o privati, possono organizzarsi per lanciare un progetto per continuare a tenerlo aggiornato e in vita.

E’ la disponibiltà dei sorgenti che agevola la portabilità di un programma da una macchina ad un’altra. Questa caratteristica è di importanza sempre maggiore ai giorni nostri, in cui il software sta penetrando in un numero sempre crescente di dispositivi: dagli strumenti casalinghi (software “embedded” o incastonato) al software per l’automazione, utilizzato per eseguire numerose lavorazioni industriali.

Oltre a tutto questo, l’apertura del codice sorgente è anche garanzia di trasparenza.
Il codice di un programma è innanzitutto informazione: attraverso di esso possiamo conoscere le azioni che compie un programma.
Man mano che le principali attività economiche e culturali tenderanno a spostarsi sull’infrastruttura digitale, diventerà sempre più importante sapere come un programma compie il trattamento dei dati.

Lo studio del codice di un programma, oltre ad essere un importante strumento di apprendimento per gli studenti di informatica, è un documento a tutti gli effetti e la sua disponibilità pubblica è una garanzia di trasparenza nel prevenire intromissioni nella privacy dei cittadini.

La possibilità di sottoporre i programmi ad una verifica di migliaia di utenti e a un dibattito pubblico attraverso mailing list e forum di discussione è una eccellente garanzia sulla loro sicurezza. Il codice aperto permette infatti di correggere più facilmente rispetto a un software proprietario i bachi del sistema.

La possibilità, grazie all’infrastruttura di Internet che unisce utenti e programmatori di tutto il mondo, di testare i programmi in una moltitudine di contesti diversi per macchine utilizzate, tipo e modo di utilizzo, fornisce una ulteriore garanzia di sicurezza.

In poche parole, i programmi vengono per così dire “testati sul campo” e inseriti fin da subito (anche se inizialmente attraverso versioni sperimentali, dette “beta”) in contesti di utilizzo reali, più ricchi dei contesti di laboratorio in cui viene testato il software di tipo proprietario.

E’ il caso del sistema operativo Linux, che viene rilasciato in due versioni: una stabile e ampiamente testata, destinata al pubblico più vasto ed una sperimentale, spesso piuttosto instabile, in cui vengono inserite le ultime novità, dedicata agli sviluppatori e a tutti quelli che desiderano testarla o farne il debugging.

La filosofia insita nel software libero/open source restituisce ai programmi di computer una dimensione “a tutto tondo”: non viene considerata solo la visione utilitaristica, secondo la quale la cosa importante di un programma è ciò che permette di fare, ma anche la dimensione sociale, considerando il modo in cui lo fa e mettendo in luce la questione del chi detiene il controllo del suo sviluppo.

Questa stessa dimensione sociale del software a codice aperto è anche alle origini di un possibile rischio: è difficile sapere, soprattutto alla sua nascita, se un certo progetto raggiungerà uno stato di maturità e un buon livello di diffusione. Lo sviluppo di un progetto dipende infatti dalla capacità dei suoi promotori di riuscire a coinvolgere un buon numero di programmatori interessati a collaborare.

Il software libero/open source, infine, si rivela ottimale in uno scenario tecnologico che ci sta abituando a cambiamenti sempre più rapidi e ad una convergenza tra tecnologie differenti sempre più presente.

La visibilità del codice sorgente dona al software una maggiore flessibilità nell’adattarsi a nuove tecnologie, fattore fondamentale per assicurare al tempo stesso stabilità e dinamicità all’ infrastruttura informatica odierna.


Tesi di laurea in Sociologia della Comunicazione:
"Il software libero Open Source. Una dimensione sociale"

di Andrea Todon


- Università degli Studi di Trieste-  
- Facoltà di Scienze della Formazione -
- Corso di Laurea in Scienze della Comunicazione -

Creative Commons Attribuzione - Non commerciale - Non opere derivate 2.0 Italia http://creativecommons.org/licenses/by-nc-nd/2.0/it/