Ormai siamo a dicembre e a dire la verità ho finito il piano di articoli di quest’anno. Per non lasciare il blog non aggiornato per più di un mese, fino all’avvento del 2017, ho deciso di trattare tutta una serie di argomenti che ho sempre avuto particolare interesse a portarveli in uno o più articoli, ma che, per mancanza di tempo e per mancanza di spunti di approfondimento, non li ho mai portati.
In quest’ultimo periodo mi si è presentato il momento opportuno, dopo la grande notizia, che ha scatenato diverso scalpore e che ha diviso il pubblico di opinionisti in due fronti; il fronte delle persone che sono d’accordo e il fronte di persone contrarie. Stiamo parlando dell’entrata di Microsoft nella Linux Foundation.
Grazie a questo continuo scambio di opinioni, non pochi blogger hanno deciso di tuffarsi, scrivendo diversi post e girando diversi video sull’argomento, tra cui posso dire di esserci anche io in questa lista, se così possiamo definirla. Con tutto questo materiale, che ovviamente si è andato a formare, si sono toccati involontariamente alcuni argomenti molto interessanti. Peccato che in molti casi, questi argomenti, dato che sono venuti alla luce in maniera involontaria, non hanno ricevuto la giusta attenzione e quindi sono stati trattati molto frettolosamente, troppo aggiungerei, lasciando gli utenti con in mente una propria opinione secondo me sbagliata.
Uno di questi argomenti, trattati come dicevo, in modo involontario e che fortuna vuole, è anche di mio interesse è la differenza tra la licenza open source e la licenza free software.
Per trattare di questo argomento in modo chiaro, prenderò in esame anche la licenza del software proprietario. La motivazione che mi ha spinto a compiere questa scelta la capirete nel corso di questo articolo, che spero possa essere di vostro gradimento e che vi consenta di acquisire un’idea più chiara in merito a questa differenza tra le varie filosofie software.
Eh si. Stiamo parlando proprio di vere e proprie filosofie di pensiero, che hanno da sempre regolato e che, in futuro, sempre regoleranno, lo sviluppo dei software che tutti i giorni usiamo per adempiere alle nostre attività, più o meno complicate, informatiche.
Partiamo con il posizionare le 3 filosofie software nella giusta collocazione di pensiero. Il software libero, detto anche free software (che non significa software gratuito, come hanno detto davvero in troppi) e il software proprietario (che non necessariamente è a pagamento) si possono posizionare agli estremi di una linea immaginaria. L’open source, dato che è una via di mezzo tra entrambe le filosofie, lo possiamo collocare al centro di questa stessa linea.
Partiamo con il prendere in esame il software proprietario.
Il software proprietario è una filosofia di pensiero che attribuisce la maggior parte dei diritti agli sviluppatori di un progetto o ai proprietari dei progetti stessi. Gli utenti hanno il diritto di usare questi programmi, sotto una licenza, che protegge i diritti dei proprietari, vietando all’utente di copiare, ridistribuire, modificare e danneggiare il prodotto senza consenso. Ovviamente per l’ultimo punto è vietato farlo e basta, in quanto non penso che un’azienda dia il consenso ad un’utente di danneggiare un suo prodotto.
Questo tipo di licenza toglie la possibilità all’utente di poter vedere il codice sorgente del prodotto che sta usando, senza il consenso dell’azienda produttrice. Questo vuol dire che non tutti i programmi proprietari abbiano il codice sorgente privato. Molte aziende produttrici rendono pubblico il codice sorgente, in modo tale da poter essere studiato, esaminato anche dagli utenti. Ovviamente questo stesso codice sorgente, essendo proprietario, è vincolato da quanto stabilito dall’azienda che lo fornisce.
Un prodotto proprietario può essere brevettato da chi lo ha inventato, rendendolo ovviamente di sua proprietà.
In poche parole, possiamo riassumere tutto questo con poche e semplici parole:
il software proprietario è di proprietà di chi lo ha inventato e messo nel mercato e può farci tutto quello che ritiene più opportuno, indipendentemente se l’utente è favorevole o contrario.
Ovviamente un’azienda terrà sempre conto di quello che pensano i propri clienti, dato che, se così non fosse, tutte le aziende di questo settore fallirebbero miseramente.
Dato che il software proprietario è una filosofia che tutela i voleri del proprietario di uno o più prodotti, questo significa che accetta, ovviamente con il volere del proprietario del prodotto stesso, software proveniente da filosofia free (inteso come free software) e filosofia open. Non ci sono problemi. E’ una filosofia piuttosto aperta in questo senso.
Anche gli utenti hanno dei diritto con questa filosofia. Hanno per esempio il diritto di accettare o meno tali condizioni. Se non le accetta, però, non può usufruire di un determinato servizio. Gli utenti, inoltre, sono tutelati da eventuali problemi. Se per esempio il software che ha scaricato dovesse avere dei malfunzionamenti, sarà compito di chi gestisce il software risolvere tali problemi il prima possibile.
Passiamo ora al software libero
Il software libero, o free software, coniato dalla Free Software Foundation (FSF), autrice della GNU (GNU’s Not Unix), è l’esatto opposto del software proprietario.
Con questo tipo di licenza ha come linee guida, 4 libertà principali, inviolabili in nessun modo.
Libertà 0: Libertà di eseguire il programma per qualsiasi scopo.
Libertà 1: Libertà di studiare il programma e modificarlo.[3]
Libertà 2: Libertà di ridistribuire copie del programma in modo da aiutare il prossimo.
Libertà 3: Libertà di migliorare il programma e di distribuirne pubblicamente i miglioramenti, in modo tale che tutta la comunità ne tragga beneficio.
Fino alla GPLv2, ovvero la seconda versione di questa licenza, la free software era una filosofia che permetteva agli utenti di lavorare con il software e con il relativo sorgente e ai proprietari, che in questo caso non si chiamano più così, ma si chiamano autori, veniva fornita la possibilità di avere riconosciuto il lavoro svolto, aveva la possibilità di vendere versioni del software modificate ad hoc per le aziende e aveva la possibilità di poterci guadagnare in un qualche modo.
Ma poi avvenne un problema. Di recente è uscita la terza versione della GPL (GPLv3) e sono iniziati i problemi.
Da questa nuova versione, infatti, sono iniziate tantissime problematiche relative a molte restrizioni delle libertà verso gli autori dei software e l’avvento di un fenomeno alquanto spiacevole per le aziende. Il fenomeno consiste in una riduzione drastica dei parametri di tolleranza della licenza. Ora, per quanto riguarda il software libero, vengono escluse tutte le società, programmatori e autori di software che in un qualche modo usano, anche minimamente, del software proprietario, per rendere possibile agli utenti di usare i propri computer nuovi con sistemi operativi alternativi a Windows. Voglio sottolineare il fatto che senza questi driver, i computer sono inutilizzabili.
Da questo momento, oltre a questo drastico cambiamento, non è più possibile brevettare un proprio prodotto con la GPLv3. Se si vuole avere questo privilegio, bisogna ricorrere alla GPLv2, finché rimane legalmente valida. Poi quando non lo sarà più, beh saranno problemi gravi per il software libero.
Voglio fare una premessa, prima di proseguire
Parte dei problemi che citerò più avanti, erano già presenti nella versione GPLv2 della licenza, ma in forma meno grave, per così dire. Con la GPLv3, le cose sono peggiorate, come staremo per vedere
Molti software e tecnologie importanti, anzi fondamentali, di diverse aziende, come ad esempio Apache, MySQL, MariaDB, SQL, Java, OpenJDK, Linux (kernel) non rientrano più nei parametri della GPL. E la FSF li ha sbattuti fuori, in quanto le aziende non acconsentono a rinunciare al loro marchio e ai loro guadagni con queste tecnologie. E queste che ho elencato sono solo alcune delle tecnologie fondamentali che non rientrano più nella Free Software.
Ma andiamo per gradi
Con questa nuova versione della licenza, la FSF si colloca all’esatto opposto rispetto alla filosofia del software proprietario, in quanto ha rimosso gran parte dei diritti degli autori. Ha rimosso la possibilità di brevettare un prodotto, in quanto, a seconda di quello che sostiene la FSF, possa limitare la libertà degli utenti. Ha privato la possibilità di guadagnare su un prodotto. Con questa restrizione, è stato imposto anche il divieto di finanziamenti da parte di altre aziende. Ha rimosso la libertà di utilizzare anche minimamente un software non completamente free. Con quest’ultimo punto la FSF ha eliminato da se tutte le tecnologie più importanti, che si usano ogni giorno, come i server. Senza Apache, che è l’orgoglio di Linux in ambito server, cosa si deve usare? E senza database?
Sono problemi di un’entità mostruosa. Ma andiamo avanti.
La FSF ha buttato fuori Linux (inteso come kernel) in quanto usa dei blob (nuclei) di codice binario proprietari, per far funzionare dei dispositivi. Cosa che, come abbiamo spiegato prima, se venisse limitato l’utilizzo di queste tecnologie nel kernel, tutti i pc moderni non sarebbero in grado di funzionare.
Ovviamente Linus Torvalds non è rimasto molto soddisfatto della situazione e ha scritto diversi comunicati in proposito. Vi lascio a questo articolo, che vi spiega meglio questa situazione e spiega meglio la gravità, sopratutto, della questione.
Tutto questo si può riassumere in poche e semplici parole:
con il free software gli utenti hanno pieni diritti e poteri sui programmi e prodotti che usano in ambito informatico. Gli autori hanno il dovere di sviluppare il software ad alta qualità e risolvere tutti i problemi che incorrono durante lo sviluppo, come la correzione di bug. Le aziende e gli autori dei software non hanno il diritto di brevettare, aprire un marchio registrato o monetizzare il loro lavoro, se non con regolamenti molto stretti, hanno il dovere di consegnare agli utenti il codice sorgente, anche se quest’ultimo possa risultare un problema di sicurezza, se il progetto è in beta o comunque ancora in fase di sviluppo.
Detto tutto questo passiamo all’open source
All’inizio dell’articolo annunciavo alla posizione etica delle 3 filosofie software che prendiamo in esame in questo post. Per posizionare queste 3 filosofie in modo chiaro, abbiamo immaginato un filo invisibile, dove ai due estremi si collocano il software libero e il software proprietario. Al centro si colloca l’open source. Abbiamo accennato al fatto che questa filosofia si colloca tra questi due estremi, in quanto è una via di mezzo.
Dalla nascita, l’open source è stata una via moderata, che fornisce agli utenti i giusti diritti, ma che tuteli anche le aziende che producono i programmi.
Vediamo cosa vuol dire
Gli utenti innanzi tutto hanno il diritto di studiare il codice sorgente di ogni programma, in quanto l’open source condivide pienamente i 4 principi fondamentali della FSF.
Le aziende, però, hanno innanzi tutto il diritto di scegliere di pubblicare il sorgente quando il progetto è finito, quindi è stabile, o pubblicare il sorgente quando quest’ultimo è ancora in fase di sviluppo.
Gli utenti hanno il diritto di scaricare il software, di condividerlo e di usarlo senza alcun limite, anche modificandolo. Ma quando un’utente modifica un software di un’azienda o anche di un privato, quest’ultimo deve specificare la fonte del progetto originale ed è costretto a specificare tutte le tecnologie usate, con i rispettivi proprietari, in modo tale che chi proverà la versione modificata del software possa sapere da cosa deriva esattamente.
Il software open source non è gratuito. Questo vuol dire che un’azienda (o uno sviluppatore indipendente) può decidere se pubblicare il proprio progetto a pagamento o se fornirlo gratuitamente. Altrimenti, come fanno diverse società, come l’azienda Suse o Red Hat, forniscono una versione base dei loro prodotti in modo gratuito. Chi poi richiede una versione più avanzata, dovrà pagare per ottenerla.
Ogni azienda o sviluppatore indipendente può brevettare il proprio prodotto. Una volta brevettato, ogni utente potrà modificare ugualmente il prodotto in questione, rispettando però i criteri che abbiamo visto prima.
Guadagni
Come accennato poco fa, tutte le aziende che aderiscono al software libero, possono guadagnare sul loro operato. I guadagni possono provenire da donazioni, dalla vendita di servizi o software o da diversi partner aziendali (come succede nella Linux Foundation).
Se un’utente produce una derivata di un tale software, può a sua volta guadagnarci, ovviamente rispettando il lavoro dell’autore originale, citando, come detto anche prima, le tecnologie e i software usati per realizzare tale derivata. Inoltre, ovviamente, è necessario che l’utente informi su quale progetto si basa la propria derivata.
Utilizzo di software proprietari
L’open source tollera l’utilizzo di software proprietario per permettere il corretto utilizzo dei computer e per permettere di poter continuare a lavorare a determinati progetti. Ad esempio esistono molti programmi di grafica che non possono essere sostituiti in alcun modo con delle alternative. Vuoi perché si è abituati a lavorare su una determinata piattaforma e ci si fida solo di quella, vuoi perché ci siano alcune funzionalità che non possono essere imitate… beh per queste ragioni l’uso di software proprietario è indispensabile e l’open source lo permette.
In definitiva possiamo riassumere l’open source in poche e semplici parole
l’open source garantisce agli utenti sufficienti diritti sui software e sul loro utilizzo, permettendo loro di studiare il sorgente, modificarlo, condividere il proprio operato senza problemi. Allo stesso tempo garantisce agli autori di software diritti sui prodotti che realizzano, fornendo loro la possibilità di brevettarli, di poterci guadagnare e di avere tutte le libertà decisionali di cui hanno bisogno
Queste sono le differenze tra l’open source e il free software. Mi è sembrato importante scrivere questo articolo, per informare meglio gli utenti su questo argomento, che come detto prima, influenza e continuerà ad influenzare lo sviluppo dei software.
Non so se queste informazioni tu le condivida. Se così non fosse, scrivimi un commento dove mi dici dove ho sbagliato, così possiamo magari aprire una discussione a riguardo e quindi imparare qualcosa di nuovo.
Con questo è tutto. Io ti saluto e ti aspetto al mio prossimo post!