Liberiamo il… software! | Blog Wadsl
open-source-software

Liberiamo il… software!

Articolo di Francesco Politi.

Come può il concetto di libertà avere a che fare con il mondo dei programmi? Scopriamolo in questo articolo.

Chiunque abbia un minimo di dimestichezza con il computer si è trovato, nella sua vita, a dover installare un programma sul proprio PC.

Poteva essere un software acquistato online, in un negozio, oppure un programma di cui un conoscente ci aveva fornito il CD o il file d’installazione.

Altre volte, invece, abbiamo scaricato software da un sito e lo abbiamo installato direttamente.

Apparentemente, quindi, le possibilità sono solo due: il software ha un costo oppure è gratis.

Ma allora, potremmo ragionevolmente concludere che il software libero è quello gratuito?

Ebbene, non è così.

Prima di spiegare meglio cosa significhi software libero (free software), è opportuno qualche cenno tecnico.

Probabilmente ci sarà capitato di sentir dire che il computer “capisce solo il linguaggio binario: 0 e 1”.

Per quanto semplicistica possa suonare la frase, in fin dei conti è proprio così: il computer legge ed interpreta lunghissime stringhe di 0 e 1 ed esegue operazioni di conseguenza.

Tuttavia, gli esseri umani (i programmatori) non scrivono i programmi direttamente in quella forma…

real-programmers-code-in-binary

…ma usano piuttosto linguaggi di programmazione di alto livello, ognuno con una propria sintassi e struttura.

Ad esempio, un banalissimo programma che mostri la scritta “Hello World!” nel linguaggio di programmazione C, appare così:

 

#include <stdio.h>

main ()

{

printf(“Hello World!”);

}

 

Ma, se come abbiamo detto, il computer comprende solo il linguaggio binario (0 e 1), ci deve essere una processo intermedio che trasformi il codice di cui sopra in un qualcosa che il nostro computer possa comprendere.

Questo processo si chiama compilazione, e serve appunto a tradurre il codice scritto dagli umani in linguaggio binario. Solo allora il computer potrà eseguirlo!

Agli albori era uso comune scambiarsi il codice: lo si condivideva con gli altri, lo si migliorava, e lo si condivideva nuovamente.

In questo senso, si potrebbe dire che il codice scritto dai programmatori era di pubblico dominio.

L’antagonista di questo “spirito di collaborazione tra programmatori” è il software proprietario, che nella quasi totalità dei casi viene rilasciato direttamente in formato binario.

E’ proprio questo il genere di software che installiamo quando decidiamo di utilizzare, ad esempio, Skype o Acrobat Reader.

Possiamo liberamente scaricare questo genere di programmi dai rispettivi siti, ma non potremmo mai analizzarli e apportare modifiche/migliorie: non viene infatti reso disponibile il codice sorgente. Ciò che viene reso disponibile è il programma direttamente in formato binario. E’ il classico Setup.exe su cui si fa doppio click per portare a termine l’installazione.

Anche se viene pagato un prezzo, ciò che si paga non è la proprietà di quel programma (che rimane della società informatica che l’ha creato) ma il permesso di utilizzarlo, ossia la licenza d’uso.

Questa è l’essenza del software proprietario, detto anche closed source.

free_software

Il software open source, invece, è tale perché chi lo crea e lo distribuisce, ne consente anche la consultazione del codice sorgente. I programmi di questa categoria sono spesso distribuiti in due forme:

  • formato binario, per semplificare agli utenti la possibilità di installarlo sui propri computer
  • codice sorgente, che gli utenti più esperti posso comunque compilare e ottenere il file binario

Ma perché è tanto importante poter consultare il codice sorgente? Apparentemente sembra solo una complicazione, una via decisamente più lunga per arrivare allo stesso risultato: il file binario su cui si fa doppio click.

In realtà, dietro tutto ciò, si nasconde una fondamentale proprietà: la totale trasparenza nel poter vedere nel dettaglio ogni singola parte, in modo che non si possa aver alcun dubbio sulle sue funzionalità.

Purtroppo non è infrequente che programmi “closed” abbiano delle funzioni nascoste, spesso e volentieri con l’obiettivo di raccogliere dati sugli utenti.

E’ importante infine sottolineare che open source e free software non siano esattamente sinonimi.

L’essenza dell’Open Source è la mera distribuzione del codice sorgente, senza coinvolgere altri aspetti ideologici.

Il Free Software è più vicino ad essere una corrente di pensiero, una filosofia incentrata sulla libertà degli utenti, i quai devono avere la possibilità di usare i programmi per qualsiasi scopo, di disporre del codice sorgente, di modificarlo, e in caso di ridistribuirlo (a patto di mantenere la stessa licenza, che nel mondo Free Software viene ironicamente definita copyleft – in contrapposizione con copyright).

Per approfondimenti:

Revolution OS (documentario)

Open non è free. Comunità digitali tra etica hacker e mercato (testo).