Scrivere documenti: Open Document Format

0. Scusate l’assenza

E’ passato un sacco di tempo dall’ultimo articolo apparso su questo blog. Non abbiamo ancora finito di installare Linux, ma prometto che prima o poi ci arriveremo; purtroppo in questo periodo sono preso da altre faccende e il mio tempo per scrivere su internet è davvero poco. Perdonatemi, sappiate che non vi ho dimenticato.

1. Tutti scriviamo documenti!

Una delle attività per cui il computer è più utilizzato nel mondo è quello di scrivere documenti. Alzi la mano chi non conosce la suite da ufficio Microsoft Office. Scommetto che tra quelli che hanno la mano abbassata molti si sono trovati almeno una volta nella vita di fronte a problemi di compatibilità tra file creati con versioni di Microsoft Office diverse da quella installata sul computer che stiamo utilizzando per guardarli o editarli.

Oggi impareremo a risolvere questi problemi.

Scherzo, oggi vedremo solamente quale potrebbe essere la soluzione elegante, intelligente, ma che ovviamente è ben lontana dall’essere messa in pratica.

Vi ricordate l’articolo dove si parlava di software libero e software proprietario? Ottimo. le stesse considerazioni si possono applicare, con qualche differenza tecnica, ma non sostanziale, ai formati di file. I formati di file si riconoscono (i puristi mi odieranno per ciò che sto per dire, ma per ora prendetela buona per come ve la dico, prometto che poi vi spiegherò per bene la faccenda) leggendo la cosiddetta estensione. I nomi dei file hanno una forma del tipo nome.estensione dove il nome è quello che più ci piace e l’estensione è tipica del formato del file. Per fare qualche esempio .doc identifica file di Microsoft Word, .pdf sono i famosi file PDF, .jpeg sono immagini e via così.

2. Formati liberi e formati proprietari

Manco a dirlo i formati aperti hanno molti vantaggi e i formati proprietari spesso hanno molte restrizioni. Un formato libero può essere letto da chiunque, basta utilizzare un software capace di leggere quel formato di file. Al limite, se non esiste nessun programma capace di farci leggere il file che ci interessa, possiamo scrivere il nostro personale lettore, perché tutte le “istruzioni” per leggere il file sono state pubblicate da qualche parte da chi ha inventato quel formato di file e ha deciso di renderlo libero, cioè accessibile a chiunque.

Per un formato proprietario è vero invece il contrario: le istruzioni per leggere il file sono segrete e sono incluse in certi programmi che funzionano da lettori, ma quando chi ha inventato il formato del file decide che nessuno deve più essere in grado di leggerlo semplicemente smette di produrre lettori, oppure se aveva concesso in licenza a qualcun altro la possibilità di produrre un lettore semplicemente aspetta che scada il contratto e rifiuta di rinnovarlo. In poco tempo smetteranno di essere prodotti lettori e le versioni vecchie dei lettori esistenti diventeranno incompatibili con i nuovi computer e i nuovi sistemi operativi e se volessi leggere quel tipo di file dovrei tenere un vecchio computer da qualche parte con vecchie versioni di software semplicemente per leggere quel tipo di file. Sperando che non si rompa visto che i pezzi di ricambio vengono naturalmente messi fuori produzione nel giro di pochi anni.

3. Dunque, quali sono questi formati liberi?

Ve ne indico una serie pensata per le suite da ufficio (ma ne esistono molti altri) e sono gli ODF. Questi formati si contrappongono a quelli di Microsoft Office i famosi .doc .xls e tutti i loro parenti.

Vi pongo una domanda: quanti di voi hanno dovuto aggiornare qualche anno fa la propria versione di Office perché gli venivano forniti file chiamati .docx o .xlsx e con le vecchie versioni di Office non si riuscivano a leggere oppure si avevano molti problemi? Molte mani alzate, immagino.

Avete capito dove sta l’inghippo? I formati di Office sono così tanto diffusi che Microsoft può obbligarci ad aggiornare la versione di Office (e dunque a spendere dei soldi) a sua completa discrezione.

4. Le alternative

Quali sono le alternative? Ve ne nomino una per tutte, che forse conoscerete già: Libre Office. Libre Office è una suite da ufficio completa di tutto ciò di cui possiamo avere bisogno e legge e scrive documenti dal formato aperto. Legge e scrive anche i documenti nei formati di Microsoft Office. E’ disponibile per Linux, Mac e Windows.

5. Incompatibilità

A questo punto molti di voi si lamenteranno perché avendo provato Libre Office i loro file nei formati Microsoft non vengono letti come si deve. Avete ragione, non sono completamente fuori dal mondo (anche se le suite da ufficio le uso veramente poco).

Ma chi sta dalla parte sbagliata? Microsoft può integrare nei propri programmi la possibilità di leggere i formati aperti perfettamente poiché le specifiche sono consultabili da tutti e lo fa (dalle recentissime versioni di Office, quelle un po’ vecchie non leggevano i file ODF) male. Gli sviluppatori di Libre Office si fanno invece un tombino quadrato per riuscire a leggere e scrivere i file di Microsoft visto che devono farlo utilizzando tecniche di “reverse engineering” poiché Microsoft non fornisce informazioni su come leggere i propri file.

6. Conclusione

Ecco qua la triste conclusione. Se tutti utilizzassero i formati aperti nessuno avrebbe problemi, ma invece i formati di Microsoft sono molto diffusi e pare che nessuno riesca a farne a meno.

Pensate alle pubbliche amministrazioni. E’ corretto che molti documenti pubblici debbano essere in formati chiusi? Il cittadino deve essere obbligato a pagare il software per leggere documenti pubblici?

Pensateci, ma intanto installate Libre Office. E’ gratis. Ed è legale averlo gratis, non come la copia “gratuita” di Office che molti di voi hanno installato sul proprio computer. :^)

Software libero VS software proprietario

Nello scorso articolo di questa serie abbiamo scoperto che il computer e` sostanzialmente hardware che ha bisogno di software per funzionare e per poter essere comandato dagli esseri umani. Il software piu` importante e` il sistema operativo: il piu` noto e` Microsoft Windows, ma non esiste soltanto lui. Se vi state avvicinando al mondo di Linux sicuramente avrete sentito parlare di software libero e anche di software proprietario. Oggi proviamo a capire la differenza tra questi due approcci.

Un po’ di storia

All’inizio della storia dell’informatica non esisteva la distinzione tra software libero e non. I programmatori scrivevano codice e lo mettevano naturalmente a disposizione di tutti. La parola in grassetto sta a significare che il fatto di mettere il codice a disposizione di chiunque lo volesse non era una convenzione o una regola: semplicemente era sempre stato fatto cosi`, funzionava e nessuno di era mai sognato di fare diversamente. Un bel giorno qualcuno decise di farsi pagare un tanto per ogni copia del software che veniva messo a disposizione e, soprattutto, decise di non mettere a disposizione il codice sorgente del programma. Questo evento modifico` profondamente l’approccio dei programmatori al proprio lavoro tanto che (almeno fino a pochi anni fa, ultimamente qualcosa si sta muovendo) era impensabile che qualcuno mettesse a disposizione gratuitamente e liberamente il proprio lavoro.

Come e` fatto un programma

Nel paragrafo precedente ho parlato di software e di codice. Un programma per computer si costruisce scrivendo piu` o meno a mano il codice sorgente. Il programmatore, dunque, scrive uno o piu` file di testo (testo semplice, non Word, per esempio, che e` un tipo di testo arricchito) che contengono le regole e le istruzioni che il programma dovra` seguire ed eseguire durante l’interazione con l’utente. Questo codice sorgente possiamo chiamarlo la ricetta. Come ogni ricetta che si rispetti ha poi bisogno di essere messa in atto dal cuoco: questo lavoro lo fa il compilatore. Il compilatore e` uno speciale programma che legge il codice sorgente e genera il file eseguibile del programma (i famosi .exe in ambiente Windows). Dopo che il cuoco ha fatto il suo dovere c’e` bisogno che qualcuno mangi il piatto: siamo noi utenti che utilizziamo il programma per i nostri scopi.

Software libero

Il software libero, in generale, e` quel software il cui codice sorgente e` liberamente consultabile, modificabile e redistribuibile, senza alcun vincolo. Ovviamente questa liberta` non tocca la proprieta` intellettuale, ovvero il merito sara` sempre riconosciuto a chi ha creato il programma, ma se qualcuno avesse bisogno di funzionalita` aggiuntive non dovra` pregare in ginocchio il creatore perche` le aggiunga oppure cercare un software piu` adatto alle proprie esigenze o ancora riscrivere il programma da capo aggiungendo le le funzionalita` desiderate. Gli basta prendere il codice e modificarlo. Poi si puo` utilizzare senza violare alcuna legge.

Nota: non e` detto che questo tipo di software sia sempre disponibile gratuitamente. L’unica condizione e` che sia disponibile il codice sorgente.

Software proprietario

E` quel software i cui sorgenti non sono consultabili. Di norma (ma non sempre) viene concesso in licenza a pagamento. Non e` dato sapere come funziona il programma e cosa ci sia “dentro il cofano”. Se c’e` bisogno di aggiungere funzionalita` dovremo sperare che il creatore le aggiunga (oppure pagarlo per farlo), oppure rivolgerci a software diversi, con notevole dispendio di tempo ed energie (spesso si e` costretti a reinventare la ruota piu` di una volta).

Riferimenti

Per ora fermiamoci qua. Negli articoli successivi andremo a vedere che impatto hanno i due diversi approcci sulla vita di tutti i giorni e perche` e` preferibile (quando possibile) utilizzare software libero.

Come sempre vi invito a utilizzare Google (o qualsiasi motore di ricerca sia di vostro gradimento) per reperire informazioni piu` dettagliate. Vi consiglio di usare i seguenti termini di ricerca: Richard Stallmann, Copyleft, GPL, GNU, Open Source, Free Software.

Il sistema operativo: non esiste solo Windows

Iniziamo oggi la prima serie di articoli di questo blog. In queste pagine vi voglio raccontare le motivazioni che dovrebbero spingervi ad abbandonare Windows e il software proprietario per passare a software liberi, quando possibile. Cominciamo subito!

Software e hardware

I computer possono essere visti come l’unione di due grandi parti: il software e l’hardware, la roba molle e la roba dura. Per quanto riguarda l’hardware, se state leggendo questo articolo, ne state maneggiando un po’, che sia un mouse, un telefonino, un tablet o una tastiera. I computer (lasceremo da parte i sistemi mobili, almeno per ora) si compongono di molto hardware: microprocessore, memorie di vario tipo (HDD, SDD, RAM), mouse, tastiera, monitor, stampante e aggiungete a questa lista tutto ciò che potete andare a comprare dal negoziante e potreste aver voluto usare per picchiare il vostro collega che vi da fastidio tutti i giorni in ufficio.

Il software è invece ciò che che permette, in qualche modo, l’interazione tra l’uomo e la macchina. Il browser web che state usando per leggere questo articolo è un software, il foglio di calcolo che usate per tenere i conti di famiglia, il word processor che usate per scrivere le lettere, i fantomatici driver della stampante, l’antivirus: tutto questo è software. Anche il software lo potete reperire dai negozianti acquistandolo salvato su qualche supporto (CD-ROM, chiavetta USB, altro?), ma il prodotto che state acquistando non è una semplice memoria, ma è ciò che è stato scritto su quella memoria. Il software spesso si può anche reperire gratuitamente sul web in modo legale (per quei software gratuiti) o in modo illegale (per quei software che si pagano e che l’amico vi installa sul computer gratis).

Il sistema operativo

Il software più importante per un computer moderno è il sistema operativo. Questo è il software che permette l’interazione tra tutti gli altri software e l’hardware. Un computer senza sistema operativo può essere usato come un costoso fermaporta o come un simpatico oggetto di arredamento. Questo dovrebbe farvi accendere una lampadina e farvi capire che la scelta del sistema operativo non può e non deve essere qualcosa fatto in fretta e non si può delegare questa scelta a nessuno che sia l’amico più esperto, il commesso del centro commerciale oppure il produttore del computer. Bisogna scegliere il sistema operativo che meglio risponde alle nostre esigenze e che ci possa offrire tutto (o la maggior parte di) ciò che vorremmo che ci offrisse un sistema operativo.

Il più famoso: Windows

Negli anni un particolare sistema operativo ha ottenuto un grande successo sui computer casalinghi: Microsoft Windows. Questo è il sistema operativo che nella stragrande maggioranza dei casi troviamo installato quando compriamo un nuovo computer, negli anni si sono avvicendate diverse versioni, l’ultima delle quali risponde al nome di Windows 8.

Windows è un sistema operativo proprietario (vedremo in dettaglio il significato di questa definizione in un altro articolo) ed si ottiene solamente a pagamento. Anche qualora lo trovaste già installato sul computer che avete comprato, una parte del prezzo che avete pagato è servito per pagare la licenza (vedremo successivamente di capire anche questo aspetto) di Windows.

Aprire gli occhi: esistono altri sistemi operativi

Se Microsoft grazie agli accordi commerciali con i produttori di hardware è riuscita a imporre Windows su una larghissima fetta dei computer casalinghi esistono in realtà una grande varietà di sistemi operativi, sia proprietari che liberi.

Esiste OSX, il sistema operativo installato sui computer Apple, ma non parlerò, almeno per ora, di lui per una precisa scelta “editoriale”, se così possiamo chiamarla. Anche lui fa parte dei sistemi operativi proprietari.

Un terzo concorrente è Linux (o GNU/Linux, come amano chiamarlo i puristi, io utilizzerò molto spesso il primo nome per brevità, ogni tanto mi scapperà il secondo, non allarmatevi). Questo sistema operativo ha una storia molto interessante ed è un sistema, per quanto più possibile, libero.

Ne esistono molti altri, ma mi limito a citare i tre più famosi per l’uomo della strada evitando volontariamente di parlare dei sistemi operativi per smartphone e tablet (iOS e Android: sono anche loro sistemi operativi!). Le altre opzioni sono molto meno diffuse, a volte parecchio specialistiche e, di solito, le conoscono e le utilizzano solo i veri appassionati o chi deve svolgere compiti particolari con i computer.

Quale scegliere?

Non esiste, ovviamente, una risposta univoca a questa domanda. Ci possono, però, essere degli argomenti generali su cui riflettere.

  • Mi servono per lavoro o per diletto dei software che posso far funzionare solo su uno (o alcuni) sistemi operativi?
  • Mi serve il computer per svolgere un determinato compito: esiste un sistema operativo che lo svolge meglio di altri?
  • Un sistema operativo particolare può garantirmi una vita più semplice in alcuni ambiti?
  • Il mio computer riuscirà a “sopportare” il lavoro richiesto per far funzionare il sistema operativo che vorrei installare?
  • Esiste un sistema operativo che può dare nuova vita al mio vecchio computer?

Rispondendo a questa sicuramente incompleta lista di domande dovremmo riuscire a chiarirci le idee su quale sia il sistema operativo migliore per l’utilizzo che vogliamo fare del computer.