Open Document Mess
Disclaimer: quello che scrivo è sempre e solo frutto del mio pensiero ma vale ancor di più in questo post.
Dico la mia sulla questione dei formati aperti cominciando con uno sguardo al passato basato solo sulla mia memoria. Il monopolio di Office, a differenza delle teorie più o meno dietrologiche che circondano quello di Windows, è un monopolio che si è affermato in maniera commerciale. WordPerfect ad esempio negli anni a cavallo tra fine ‘80 e inizio ‘90 era il word processor standard de facto anche se oggi è difficile a credersi.
La questione affonda le radici nel fatto che, anche se i formati dei documenti Office sono stati pubblici quasi sin dall’inizio, nel corso degli anni hanno subito modifiche drastiche in seguito al susseguirsi di nuove feature.
Se ci si ferma un attimo a pensare un attimo con la testa da developer ci si rende conto che un file .DOC altro non è che la rappresentazione binaria serializzata del modello logico di un “documento Word” e tutte le sue feature (una lettera, un libro, un volantino). Il fatto è che differenti applicazioni supportano feature diverse e che la non-intersezione di queste difficilmente è vuota. Banalizzo con un esempio immaginario: supponiamo che Word supporti grassetto e corsivo, mentre WordPerfect supporti solo sottolineato e corsivo. Non tutti i documenti Word saranno visualizzabili in WordPerfect e viceversa; la cosa si fa più antipatica quando si considera il rilascio di nuove versioni. Non tutti i documenti Word 4 potrebbero essere visualizzabili con Word 3 e se WordPerfect 5 anche fosse stato capace di importare tutti i documenti Word 3 correttamente ci sarebbero buone probabilità che i documenti Word 4 diventino improvvisamente illeggibili. Inoltre è chiaro che se Word 4 offre una fantomatica opzione “stampa il documento in grassetto solo quando c’è la luna piena” in qualche modo l’opzione deve essere salvata nel documento anche se l’opzione ha senso solo per alcuni utenti di Word 4.
Che bel casino? Non è ancora niente…
La maggior parte dei developer a conduzione famigliare, non avendo risorse adeguate, difficilmente si procurava le specifiche ufficiali per implementare il formato soprattutto considerando che ai quei tempi Internet lo si sfogliava solo sulle riviste di telematica: molto semplicemente ci si fermava ad un lavoro certosino di Reverse Engineering con tutti i suoi grattacapi.
Insomma un formato di questo tipo ha senso solo se complementato con l’applicazione che l’ha generato o successive versioni. .DOC v3 con Word 3.x e successivi, .DOC v4 con Word 4.x e successivi, ecc. Neanche la promessa di Bill Gates durante la metà degli anni 90 è servita a frenare l’inarrestabile processo evolutivo (pare abbia detto “non cambieremo mai più il formato dei file di Office”).
Quello che è successo invece con ODF è alquanto strano per tanti motivi e sempre secondo la mia interpretazione. Bisogna tenere in mente che dietro OpenOffice ci sono due aziende come Sun e IBM, la seconda delle quali ha sempre sofferto molto nell’essere causa di entrate nelle casse della Microsoft; una prova di quello che dico è il famoso tasto Windows mai comparso sulle tastiere dei ThinkPad prima della vendita della sezione PC alla cinese Lenovo. Alquanto buffo, da un’azienda ci si aspetterebbe una certa impersonalità in certe questioni.
OpenOffice è sempre stato in grado di aprire e manipolare i formati Microsoft nel frattempo degli anni diventati standard de facto. Ma stranamente per aumentare l’interoperabilità (dubbio) e garantire la preservazione (altrettanto dubbio) è stato studiato a tavolino un nuovo formato. Interessante, se si guarda da developer, è il fatto che il formato sia nato prima della sua applicazione: di solito, per quanto ho detto sopra, avviene esattamente il contrario, ovvero l’ObjectModel logico viene prima in termini temporali della sua rappresentazione su disco (secondaria). Cosa è successo veramente?
Semplice: se si disegna un formato a tavolino, lo si fa diventare standard ufficiale e lo si pompa presso le amministrazioni pubbliche come cosa buona e giusta, si possono facilmente guadagnare fette di mercato laddove commercialmente sarebbe una missione impossibile. Sempre se e solo se il formato è abbastanza incompatibile con lo standard de facto tale da richiedere un lungo lavoro di riscrittura, abbastanza compatibile con l’applicazione di serie B che si vuole favorire e se sul formato si esercita un controllo asfissiante fino alla standardizzazione per impedire che diventi friendly con l’applicazione standard (Office). Questa mia teoria bizzarra è stata confermata da alcuni fatti:
- alcune amministrazioni hanno cominciato a richiedere l’uso del bollino “usa formato aperto”
- alcune aziende, tra cui IBM, hanno fatto una forte opposizione alla standardizzazione e apertura di un altro formato simile; teoricamente quanti più formati aperti e documentati ci sono, tanto meglio e più garantita è la concorrenza nel settore; però se l’obiettivo è quello di pompare artificialmente acqua al proprio mulino l’opposizione frontale è una scelta obbligata
- la motivazione tecnica portata dietro tale opposizione è di natura così superficiale da essere ridicola; l’infaticabile Rob Weir non si stancava mai di porre all’attenzione quante inconsistenze stilistiche fossero contenute in OOXML come se leggere/scrivere file OOXML fosse un lavoro manuale. L’importante nell’informatica è che un formato sia machine-readable e non che piaccia a Rob Weir; d’altro canto alcune gravi lacune di ODF sono state sempre tenute in secondo piano come ad esempio la rappresentazione delle formule in un foglio di calcolo.
Mi soffermo su quest’ultimo punto perché è importantissimo: se io voglio definire un formato che sia “interoperabile” è necessario definire upfront quanto più possibile. Un formato che rappresenta un foglio di calcolo ma che da la libertà alle applicazioni di implementare le formule come cacchio gli pare quanto è interoperabile? È ridicolo che annotazioni come “UsaCompatibilitàConWord95” siano più interoperabili del… vuoto. Al classico tabaccaio che non interessa supportare Word95 non resta che ignorare l’opzione. Ma se il tabaccaio vuole scrivere un foglio che calcoli la rata di un mutuo può inventare del suo o guardare il codice di OpenOffice e vedere come loro hanno implementato nella versione 3.0.4.1 compilata sulla macchina di sempronio la formula di cui sopra: evviva i formati aperti ed interoperabili.
Morale della favola: ad IBM e Sun non interessa cosa usa lo studente o la casalinga, che potrebbero essere più propizi ad usare software pirata in maniera cosciente o meno. Interessa entrare nel mercato delle 100K di installazioni in su, ove i contratti di assistenza hanno un peso specifico molto più alto dei costi di licenza. L’uso dei formati aperti è del tutto legittimo ma che nessuno mi venga a raccontare la favola della beneficienza umanitaria: sono immune. Però altri pareri mi fa sempre piacere ascoltarli.
-quack