Sarà capitato qualche volta di avere a che fare con file “strani”, come ad esempio xpti.dat (che si trova nella cartella Data usata da FireFox), il cui nome non ci fornisce informazioni significative per comprendere il tipo di contenuto da essi veicolato.
In particolare, essendo ormai abituati a utilizzare il modello delle estensioni del nome del file per distinguere gli oggetti con cui abbiamo a che fare (.txt per i file di testo, .mp3 per le canzoni, .jpg per le immagini, ecc.), una genericissima e anonima estensione .dat non ci è affatto utile, se non per capire che ci troviamo di fronte a un formato “non standard” o comunque a noi ignoto.
Sarà colpa del “solito” formato “proprietario” che s’è inventata la software house di turno? Difficile crederlo considerato che quel xpti.dat proviene direttamente da “casa” Mozilla, azienda stabilmente legata al mondo open source (notoriamente avverso ai formati “proprietari”). Allora come stanno realmente le cose? Per capirlo dobbiamo fare un salto indietro, alle origini dell’informatica.
L’informatica è una scienza relativamente giovane, che nasce come branca della matematica, e il cui nome deriva dalla contrazione di due parole: informazione automatica. Si occupa, com’è facile intuire, di manipolare l’informazione in maniera “automatica” (o “meccanica” che dir si voglia), ricorrendo a strumenti “programmabili” (ove possibile).
Nel momento in cui si definisce il concetto di informazione trattata “automaticamente”, si pone il problema della sua rappresentazione. Senza il rischio di banalizzare il discorso o di perdere di generalità, possiamo assumere di manipolare informazioni rappresentabili “discretamente”, cioé essendo costituite da insiemi finiti di valori. Il cosidetto formato digitale (che si contrappone a quello analogico), per intenderci.
Il concetto di formato (“proprietario”) è conseguenza diretta, necessaria e immediata della suddetta rappresentazione. Per essere più chiari, nel momento in cui ho, ad esempio, bisogno di memorizzare numeri da 1 a 10.000, e prendo la decisione di utilizzare 2 byte (sfruttando la rappresentazione binaria), anziché 5 byte (uno per ogni cifra / carattere) o altro, ho già definito il formato di questi dati.
Questo processo di definizione riguarda tutte le informazioni manipolate dall’applicazione, per cui si arriva via via alla realizzazione di strutture più o meno complesse nelle quali esse risiedono.
Poiché la memoria dei calcolatori è generalmente volatile (allo spegnimento si perde qualunque informazione), o magari si ha la necessità di dover trasportare o duplicare questi dati, il passaggio successivo è quello della loro archiviazione. Per far questo si sfrutteranno le strutture già progettate e utilizzate, oppure se ne realizzeranno di nuove molte similari (avrebbe poco senso idearne di diverse, visto che sarebbe necessario poi un certo lavoro di adattamento).
Nasce così il formato “proprietario“, definito tale per un motivo molto semplice: perché è legato intrinsecamente all’applicazione per cui è stato realizzato. E’ un male? Non necessariamente. Anzi, quello di definire un formato per i dati manipolati abbiamo visto essere un problema contingente. Non se ne può, cioé, fare a meno.
Quindi una certa applicazione utilizzerà uno o più formati (possiamo anche togliere l’aggettivo “proprietario“, a questo punto, tenendo conto delle motivazioni che hanno portato alla sua creazione) per memorizzare le informazioni che manipola.
I problemi nascono, però, quando si ha l’esigenza di poter leggere e/o scrivere questi dati utilizzando un’applicazione diversa, oppure creandone un’altra. Si pone, cioé, il problema dell’accessibilità delle informazioni, che rappresenta forse (e magari correttamente) la fonte principale di tutte le diatribe incentrate su questi temi.
Diatribe che portano facilmente ad alzare la forca, specialmente quando si tratta di formati blasonati, diffusi, e riconducibili a multinazionali più o meno invise. A volte, però, le rimostranze risultano infondate o comunque non tengono conto della realtà dei fatti, basandosi più che altro sulle solite “voci” che col tempo sono degenerate nelle classiche leggende metropolitane, in un infinito circolo autoreferenziale.
Per fare un esempio, è il caso dei formati utilizzati dalla suite Office di Microsoft. Da tempo “si sa” che si tratta di formati “proprietari“, di cui la ben nota software house tiene chiuse nel cassetto le preziose informazioni necessarie alla “concorrenza” per sviluppare delle alternative.
Pochi, però, sono a conoscenza del fatto che da parecchi anni Microsoft mette liberamente a disposizione le specifiche di questi formati, con tanto di documentazione particolarmente ricca e dettagliata. Non sono nemmeno difficili da recuperare: è sufficiente una veloce (ma mirata, ovviamente) ricerca su qualche motore per ritrovarli fra i primi risultati la paginetta in questione.
Degno di nota è il fatto che risultano ben documentate tutte le versioni di questi formati. Qualcuno, però, potrebbe pensare che si tratti di materiale recente, che è stato messo in circolazione per tenere a bada enti quali l’antitrust. Sicuramente no, visto che esistevano almeno fino alla versione ’97 (un po’ di anni fa, cercando per la rete, li ho trovati e archiviati da qualche parte).
La guerra dei formati (o ai formati “proprietari“) necessita, dunque, d’esser riformulata in altri termini: quelli dell’accessibilità. Perché definire un formato “proprietario” è quanto di più naturale e legittimo possa fare un programmatore che ha l’esigenza di conservare le informazioni delle applicazioni che ha scritto. Con buona pace dei forcaioli che lo vorrebbero vedere “ciondolante”.