.

martedì 17 marzo 2015

Ma cos'è il Software Libero? - prima parte

Questo articolo non vuole sostituire un corso introduttivo al mondo GNU Linux, tengo corsi di questo tipo in istituti scolastici ed è impossibile poter concentrare il tutto in poche righe ma per chi ora che ha installato elementary OS o un'altra distribuzione volesse capire di più su cosa è il Software Libero, come nasce e i vantaggi rispetto al Software Proprietario, cercherò di riassumere i fondamenti principali in alcuni articoli che man mano approfondiranno i vari aspetti.

Prima di tutto capiamo cosa sono il software e l'hardware, a tale scopo riporterò una frase, non mia, che facilmente ci fa capire meglio di qualunque altra spiegazione tecnica

Hardware è tutto ciò che possiamo prendere a calci, software è tutto ciò che possiamo solamente maledire!

Penso che la differenza sia chiaramente percepibile, il software è inventiva, è idea, è genio, non ha massa, peso, non si può pesare, non si può misurare, l'hardware è ferro, plastica, silicio, rame ed è forse la parte meno importante, è solo ciò che ci serve a sviluppare ed usare un idea, un progetto, quindi un software.

Software Proprietario

Il software proprietario, che si tratti di un driver, di un programma o di un intero sistema operativo, è un software che sulla carta non ha alcuna differenza con un software libero, ciò che conta, chi fa la reale differenza è la licenza con cui viene distribuito.

Solitamente il software proprietario che acquistate o che vi viene fornito assieme al vostro nuovo computer, utilizza una licenza proprietaria che definisce e limita le libertà dell'utente stabilendo regole ben precise e da rispettare.


Vediamo, a grandi linee ed in maniera estremamente semplificata le imposizioni principali di tali licenze:

  • il programma non può essere utilizzato al di fuori delle funzioni con cui è stato progettato e programmato
  • non ne viene fornito il codice, cioè l'elenco delle istruzioni di programmazione in linguaggio accessibile
  • non ne è consentita la copia, la duplicazione, la diffusione a terzi sia in forma gratuita che a pagamento
  • non è consentita alcuna modifica strutturale e di funzionamento 
È evidente pertanto che i limiti sono estremamente restrittivi, praticamente non è lasciata alcuna libertà all'utente se non quella di utilizzare il programma, senza sapere come funziona, senza possibilità di modificarlo in alcun modo.

Il software proprietario deve essere acquistato, non esistono alternative, è pur vero che è possibile scaricare in maniera fraudolenta copie pirata, sappiate che è una procedura disdicevole sia in termini morali che legali con possibili ripercussioni penali.

Il punto peggiore di tutte queste regole è però a mio parere il secondo, non divulgare il codice significa non poter sapere come il programma funziona e, a maggior ragione, non poter sapere se il programma esegue a nostra insaputa azioni al di fuori del nostro controllo e potenzialmente pericolose per la nostra privacy.

Software Libero

Finalmente, basta parlare del male, vediamo ora cosa
significa invece software libero e quali le sue
differenze principali rispetto a quello proprietario, qui dovremmo inziare una cronologia, che invero sarebbe noiosa in questa prima fase e che quindi eviterò, su come il software libero nasce grazie all'indispensabile impegno di due persone, Richard Stallman e Linus Torvalds, nei prossimi articoli analizzaremo chi sono, cosa hanno fatto e perchè è grazie a loro che oggi disponiamo di elementary OS e di tutte le altre distribuzioni GNU Linux sparse in tutto il mondo.

Eccoli in questa immagine,
                                               

                                              Linus Torvalds          Richard Stallman


Tralasciando pertanto per ora tutte fasi storiche, diciamo solo che Stallman è importantissimo anche per aver ideato la licenza a tutela del Software Libero, licenza che assume il nome di GNU GPL ovvero General Public License, questa licenza è la chiave di volta che da il via alla diffusione del Software Libero perchè anche lei, come la licenza proprietaria stabilisce delle regole ben precise da rispettare ma che come vediamo esposte nelle seguenti 4 leggi principali, ben differenti da quelle proprietarie:

  • Libertà 0 - Libertà di eseguire il programma per qualsiasi scopo purchè nel rispetto delle leggi del paese nel quale si utilizza
  • Libertà 1 - Libertà di studiare il programma e pertanto di modificarlo e adattarlo alle proprie esigenze (l'accesso al codice sorgente ne è requisito fondamentale)
  • Libertà 2 - Libertà di poter copiare e distribuire liberamente il programma 
  • Libertà 3 - Libertà di distribuire liberamente copie modificate del programma originale sia gratuitamente che dietro compenso
Anche senza scendere nel tecnico e limitandoci ad un'analisi superficiale sono evidenti le differenze rispetto alle regole imposte dal software proprietario.

Soprattutto libertà 1, la quale ci dice che di quel software ci viene consegnato anche il codice sorgente, e quindi chiunque disponga delle capacità tecniche necessarie può capire come funziona, può riprogrammarlo per fargli fare cose che il programmatore iniziale non aveva previsto.

La libertà 2, non ci limita ma anzi ci invoglia, nel puro spirito di libera condivisione del sapere, a copiare e distribuire il programma ai nostri amici, conoscenti, colleghi di lavoro, a chiunque riteniamo il programma possa essere utile, possa risolvere una determinata problematica.

La libertà 3, consente a chi ne ha le capacità, di distribuire liberamente le copie da lui modificate, senza alcun limite al fine di condividere con la comunità i miglioramenti da lui apportati al programma in modo che tutti ne possano godere.

Focalizzate l'attenzione all'ultima frase delle Libertà 3, non fatevi ingannare, la parola compenso non è malevola e non è un tentativo di riavvicinarsi al software proprietario, è invece e al contrario la possibilità, per chi sa scrivere codice, di poter fare business con il Software Libero, fornendo versioni di quel programma migliori, più performanti e magari abbinandole a servizi supplementari quali assistenza etc, ma sono tutte cose che approfondiremo successivamente.

Altro aspetto fondamentale della licenza GPL è che, anche in presenza di modifiche ad un determinato programma che ne consentano un utilizzo migliore, più performante, più completo e comunque in definitiva migliore dell'originale DEVONO sempre essere tassativamente redistribuite con le medesima licenza, in modo tale che il software e la conoscenza possano girare liberamente, senza ostacoli o costrizioni,

Come abbiamo visto le differenze sono sostanziali, abnormi e sono calibrate con l'obiettivo di facilitare l'utente e la comunità, non aziende private.

La comunità è proprio la forza del Software Libero, qualunque sia la distribuzione che sceglierete, forum di discussione, community, chat e tutti i vari metodi di comunicazione metteranno a vostra disposizione una comunità mondiale di appassionati, sviluppatori, semplici utilizzatori che potranno aiutarvi nella risoluzione dei più comuni problemi, sempre nello spirito della libera condivisione del sapere e con la logica del "do ut des" frase che significa "io do affinchè tu dia" nella consapevolezza che la vostra crescita di conoscenza del Software Libero sarà da voi allo stesso modo condivisa, liberamente.

Credo per oggi di avervi annoiato oltremodo, in un prossimo articolo andremo a vedere la storia della nascita del Software Libero e dei suoi principali artefici.

A presto






Nessun commento:

Posta un commento