posts - 463, comments - 1515, trackbacks - 139

OpenXML viaggia verso lo standard de-facto prima di quello ISO

Il background è che il sottoscritto ed Andrea siamo entrambi parte della commissione di UNINFO che è chiamata ad esprimersi per decidere sul voto Italiano circa l'approvazione di OpenXML come standard ISO.

OpenXML, già standard ECMA, è il formato usato in modo nativo da Office 2007 e fruibile grazie ad un plugin gratuito anche nelle versioni precedenti di Office.

Il formato fisico del file (come ebbi modo di descrivere fin dalla WPC 2006) si chiama OPC è fatto di più layer:

  • il file è binario e compresso zip (basta rinominare a .zip per aprirlo e vedere cosa c'è dentro)
  • la struttura dello zip fa parte delle specifiche OPC e stabilisce le relazioni tra i file XML che sono custoditi all'interno

Le specifiche fisiche descrivono solo il contenitore ed infatti questo stesso container viene usato da XPS, come forse molti ricorderanno anche dalla mia sessione ai più recenti Community Days. La differenza tra XPS e i vari file di Office 2007 sta nel contenuto dei file XML al suo interno.

Le specifiche del file fisico sono implementate a partire dal Framework 3.0 (classe System.IO.Packaging.Package, etc.) ma visto che parliamo di zip e XML, è ovviamente fruibile da qualsiasi piattaforma.

Lavoro con la produzione di documenti dai primi anni 90. Ho ancora in ufficio il formato binario di Word per DOS che chiesi e ottenni a Microsoft per una vecchia applicazione DOS di quegli anni. Ho visto passare standard come Wordstar, Wordperfect, e tanti altri. Ognuno risolveva problemi differenti.

Da persona pratica, non credo che un solo standard possa coprire tutti i possibili scenari, perciò il fatto che già ODF sia standard ISO, a mio avviso nulla deve togliere alla candidatura di OpenXML. D'altra parte il mondo delle immagini ha un'immensità di standard (de-facto e/o ufficiali) e questo accade anche un po' per tutte le discipline.

Almeno OpenXML è standard Ecma prima di ISO, e questo fa una gigantesca differenza. Significa che lo standard è pubblico. Già perché il tanto beneamato Jpeg è standard ISO e pluricitato nelle RFC, ma ahimè è a pagamento. Già, è tanto diffuso che nessuno ci fa più caso che lo standard del formato file Jpeg non sia pubblicamente disponibile. Un vero peccato.

Adesso dopo il mio famoso generatore di file XLS (che usa oledb per semplicità) ho cominciato a generare i primi file XLSX nonostante le migliaia di pagine dello standard. Non servendomi non le implementerò tutte, ma mi sono fatto una proof-of-concept da solo.

Sono comunque contento che le reazioni positive arrivano a tutto campo:

  • OpenOffice ha annunciato di voler supportare OpenXML nella imminente versione 3.0.
  • Novell ha già un plugin per la sua versione di OpenOffice
  • Google supporta già tutti i nuovi formati di OpenXML. Per provare basta mettere nella textbox di ricerca uno dei seguenti:
    • filetype:docx
    • filetype:xlsx
    • filetype:pptx

      (Update, dopo aver girovagato sulla rete)
  • IBM supporta OpenXML in DB/2 Content Mananger, Lotus e pureXML dove viene elogiato il nuovo formato.

Print | posted on mercoledì 23 gennaio 2008 22.57 |

Feedback

Gravatar

# re: OpenXML viaggia verso lo standard de-facto prima di quello ISO

E' curioso il fatto che IBM elogi OpenXLM, visto che gli stanno facendo una guerra (stupida e incomprensibile) a tutto campo, come riportato nel blog di Brian Jones: http://blogs.msdn.com/brian_jones/archive/2007/12/08/ibm-s-rob-weir-makes-it-clear-he-wants-war.aspx .
Cose dell'altro mondo!
24/01/2008 1.54 | Nicolò Carandini
Gravatar

# re: OpenXML viaggia verso lo standard de-facto prima di quello ISO

Appena postato il commento ho trovato un'altro post di Jones, fresco fresco ( http://blogs.msdn.com/brian_jones/archive/2008/01/23/links-1-23-08.aspx ), che risponde alla mia questione sul supporto (ma senza appoggio) del formato OpenXML da parte di IBM, con un link al sito di Rob Weir (IBM anti OpenXML dei più accaniti) http://www.robweir.com/blog/2008/01/standard-trolls.html
Viene il latte alle ginocchia a leggerlo. Davvero non capisco a loro cosa gliene viene di male se OpenXML dovesse diventare uno standard ISO.
Invece di partecipare con critiche costruttive, fanno il diavolo a quattro. Mahhhhh....
24/01/2008 2.03 | Nicolò Carandini
Gravatar

# re: OpenXML viaggia verso lo standard de-facto prima di quello ISO

Consiglio la lettura di questo articolo. E' di parte ma molto approfondito

http://ooxmlisdefectivebydesign.blogspot.com/2007/08/microsoft-office-xml-formats-defective.html

Non è così insensato dire che lo standard fa schifo...
24/01/2008 9.43 | Fabrizio
Gravatar

# re: OpenXML viaggia verso lo standard de-facto prima di quello ISO

@Fabrizio. Diverse di quelle cose non le condivido affatto ma la mia obiezione di fondo a quelle accuse è che i detrattori non sono costruttivi. Ci sono cose da correggere? Perché no ... basta proporre i problemi e le soluzioni. Invece è un no secco aprioristico.
Schifo perchè è complesso? Il formato deve riflettere tutte le possibili feature di un foglio di calcolo, di un word processor, etc.. Il formato non può essere "semplice" se vogliamo che preveda tutte queste possibilità (evitando quindi le interpretazioni che sono il peggior nemico degli standard). Questo implica complessità, credo non ci siano dubbi.
La domanda è quindi complessità o interpretabilità?
L'Italia ha presentato una richiesta di reference implementation e questo risolverebbe certamente i problemi pratici di chi vuole manipolare i file.
24/01/2008 12.34 | Raffaele Rialdi
Gravatar

# re: OpenXML viaggia verso lo standard de-facto prima di quello ISO

@Fabrizio: non entro nel merito perchè non ho le necessarie competenze, ma come ho già avuto modo di scrivere quello che mi dispiace è la mancanza di critiche costruttive. Se poi volgliamo giocare a chi è peggio, allora leggiti l'intervista a Hisier (http://blogs.computerworld.com/gadfly_ibm_open_xml_support), marketing lead for OpenOffice.org, che dopo alcuni anni ha gettato la spugna nei confronti di ODF perchè "is not the open format with the open process we thought it was" e ora lavora col World Wide Web Consortium (W3C) sul "Compound Document Format" (CDF). Credo proprio che Raf abbia assolutamente ragione quando parla di una necessaria coesistenza di una pruralità di standards. Il fine non è e non deve essere quello di una battaglia all'ultimo sangue perchè "vinca il migliore" (alla Hightlander), ma di uno sforzo congiunto e il più trasparente e collaborativo possibile affinche vi sia la migliore documentazione possibile e conseguentemente una piena (e possibilmente non ambigua) interoperatività tra i vari standards.
24/01/2008 13.39 | Nicolò Carandini
Gravatar

# re: OpenXML viaggia verso lo standard de-facto prima di quello ISO

@Nicolò. Dal mio punto di vista quello che dici è impeccabile.
24/01/2008 16.42 | Raffaele Rialdi
Gravatar

# re: OpenXML viaggia verso lo standard de-facto prima di quello ISO

Ma avete letto il documento? evidenziare quali sono i difetti mi sembra una critica costruttiva. Un esempio? incorporare nell'xml dei pezzi in binario (e già c'è da rabbrividire) che corrispondono esattamente a pezzi dei file binari attuali di excel, di cui non esistono specifiche chiare. Ergo, solo un programma MS può scrivere un file in quel formato. Un altro? usare i formati data specifici di Windows. Riporto testualmente: "If Windows dates were replaced by ISO dates, a dependency on Windows would be gone.". Questa è una critica costruttiva.
Il punto non è se OpenXML diventerà standard di fatto, è ovvio che sarà così, ma l'approvazione dell'ISO ha lo scopo di promuovere l'interoperabilità, tra software e sistemi diversi, e con uno standard fatto in quel modo non è chiaramente possibile.
La mossa di MS di spingere per l'approvazione ISO ha solo uno scopo commerciale, dato che negli ultimi anni diversi paesi stanno iniziando ad interessarsi a formati aperti, e senza giocare la carta dello "standard ISO" rischierebbe di esser tagliata fuori.
24/01/2008 17.51 | Fabrizio
Gravatar

# re: OpenXML viaggia verso lo standard de-facto prima di quello ISO

@Fabrizio. Si l'ho letto ed è molto di parte. Molte delle risposte stanno già al link postatao da Nicolò. Io stesso ho ottenuto quasi 20 anni fa una delle prime versioni del formato binario di Word ... prima o poi posterò una foto del papiro. I formati binari non sono nè nascosti nè altro e a quel link c'è scritto che saranno pubblicamente reperibili senza dover formalizzare una richiesta.

Io non sto mettendo in dubbio le proteste, io dico solo che si tratta di essere propositivi. Sul mercato ci sono milioni di documenti editati con Office e la pretesa IBM è quella di spostare tutto su ODF come unico standard? È questo il target? Allora mi viene proprio da ridere. Oppure devo dire che IBM vuole tenere solo per se uno standard come ODF "a solo scopo commerciale" per non essere tagliata fuori?
La vera risposta è che entrambi vogliono la ISO per lo stesso motivo e nessuno di loro deve vergognarsene ma lasciare che lo siano entrambi per avere pari opportunità sul mercato che è l'unico che deve decidere.

Invece di formalizzare come standard un binario, si formalizza come standard la sua controparte basata su XML che è più fruibile come IBM stessa ha scritto sul proprio sito. Che c'è di male, considerato che oggi i formati binari dell'applicativo sono standard de-facto per i documenti, spreadsheet e slides?
Avere uno standard è una sicurezza per chi, come il sottoscritto, sviluppa e deve investire tempo in qualcosa che il produttore non potrà cambiare o rivoltare come un calzino nel giro di un anno. Questo è il motivo per cui IO voglio lo standard, e non credo di essere il solo.

Se gli standard devono essere belli, allora dobbiamo mandare a casa w3c e IETF. Ma non è così, gli standard spesso sono stati molto peggio di quello che è OpenXML. Chi ha proposte per migliorarlo si faccia sotto, chi vuole fare solo flame fa solo danni e null'altro.
24/01/2008 20.55 | Raffaele Rialdi
Gravatar

# re: OpenXML viaggia verso lo standard de-facto prima di quello ISO

@Fabrizio. Perchè dici che non ci sono specifiche chiare? I formati binari sono accedibili da due anni in modalità gratuita a chi ne faccia richiesta (SUN ed IBM lo hanno fatto); inizialmente la richiesta doveva essere esplicita e richiedeva l'accettazione di una licenza gratuita in modo esplicito (la cosiddetta covenant not to sue), adesso si possono scaricare dal sito con la licenza Open Specification Promise.
Ma la documentazione dei formati bìnari non era segreta neppure prima; quando ero in Olivetti, avevamo accesso alle specifiche di formato e come noi tante altre aziende.
La storia della segretezza dei formati è solo parzialmente vera e non obiettiva.
Oltre a questo, vi sono statate diverse realizzazione di accesso ai formati binari basati su reverse engineering, il più famoso è stato il progetto POI, un branch del Jakarta Project dell'Apache Foundation.
In merito all'interoperabilità, esistono ormai decine di convertitori da Office OpenXML a qualche cos'altro incluso ODF e non sono stati scritti da Microsoft. Non sarebbe comunque la prima volta che in ISO esistono standard sulla stessa area tematica (es i formati di scrittura su disco ottico), eppure nessuno ha gridato alla mancanza di interoperabilità in quel caso. Perchè?
25/01/2008 16.32 | andreav
Gravatar

# re: OpenXML viaggia verso lo standard de-facto prima di quello ISO

NO all'adozione del formato Microsoft Office come standard ISO

Chiedo ai membri nazionali dell'Organizzazione Internazionale degli Standard (ISO) di esprimere un "NO" alla votazione di Office OpenXML (o formato OOXML) come standard ISO DIS 29500 per le seguenti ragioni:

1. Esiste già lo standard ISO 26300 - Open Document Format (ODF): un doppio standard aggiungerebbe costi, incertezza e confusione per industrie, governi e cittadini;
2. Non esistono implementazioni della specifica OOXML: Microsoft Office 2007 produce una versione particolare di OOXML, differente da quella descritta nella specifica OOXML;
3. Mancano delle informazioni nel documento di specifica, ad esempio su come utilizzare autoSpaceLikeWord95 o useWord97LineBreakRules;
4. Più del 10% degli esempi menzionati all'interno della proposta di standard non sono conformi alle specifiche XML;
5. Non c'è alcuna garanzia che si possa scrivere software che implementi completamente o in parte la specifica OOXML senza essere perseguibili per infrazione di brevetto o senza dover pagare licenze di brevetto alla Microsoft;
6. Questa proposta di standard va in conflitto con altri standard ISO, come lo standard ISO 8601 (Rappresentazione di date e orari), lo standard ISO 693 (Codici per la rappresentazione di nomi e lingue) e lo standard ISO/IEC 10118-3 (Hash crittografici);
7. È presente un bug nel formato del foglio di calcolo che impedisce l'uso di date antecedenti il 1900: tale bug è presente nella specifica OOXML quanto in Microsoft Excel nelle versioni 2000, XP, 2003 e 2007;
8. Questa proposta di standard non è stata creata tenendo conto delle esigenze e delle esperienze di tutte le parti interessate, ovvero i produttori, i venditori, gli acquirenti, gli utenti ed i regolatori, ma soltanto ed esclusivamente della Microsoft.
01/04/2008 12.31 | Jeco
Gravatar

# re: OpenXML viaggia verso lo standard de-facto prima di quello ISO

Jeco, innanzitutto si è già votato e poi voglio rispondere alle tue obiezioni che mi sembrano più politiche che tecniche.

1. Ci sono dozzine di tecnologie su cui esistono standard doppi o tripli. Ogni standard copre degli *scenari* e pensare che un formato documentale possa coprire il 100% è, IMHO, folle.
2. Io sto producendo file OpenXML e sia Office2007 che OpenOffice (grazie al converter MS) leggono i file prodotti da me.
3. Non conosco quella specifica ma mi sembra sia stata indirizzata dalle recenti modifiche. Lascio ad altri il completamento di questo punto.
4. Gli errori editoriali sono stati corretti prima dell'ultima votazione. Questo è stato un buon lavoro fatto da molte (ma non tutti) gli organi nazionali. La propositività di chi ha sottomesso le correzioni (e non ha invece bocciato a priori) è l'essenza del lavoro del national body.
5. FALSO. La Open Protocol promise è uno statement pubblico che smentisce totalmente questo punto
6. Sia Office OpenXML che ODF adottano standard di ora/data per permettere la compatibilità indietro con i documenti esistenti (in modo che possano essere convertiti ai nuovi formati). Il formato ISO è uno dei formati permessi e non vedo perché bisognerebbe sbattere la porta in faccia agli utenti con vecchi documenti solo per inutile purismo.
7. Il bug al quale ti riferisci è di Lotus 123 e al quale nessun foglio di calcolo ha potuto esimersi di mimare per motivi di compatibilità. E per quanto riguarda ODF, leggi bene qui: http://blogs.msdn.com/brian_jones/archive/2008/03/25/can-i-mention-that-it-s-also-in-odf.aspx
8. Questo punto, oltre ad essere opinabile è pure ridicolo. Un produttore propone uno standard la cui approvazione va a vantaggio di chi usa quel formato in quanto obbliga il produttore ha restare conforme a quanto depositato. Questo è il vero vantaggio, il resto sono solo politiche sterili.

Quello che mi mette il nervoso di commenti come i tuoi è che sono unilaterali e ottusi. Il compito di un national body è di discutere di problemi tecnici per rendere *migliore* la proposta e non di un no politico aprioristico.
Io ho deciso di far parte del comitato per difendere i miei sorgenti da possibili modifiche del formato da parte di MS. Produco già file xlsx e docx sofisticati, cosa che nel precedente formato richiedevano molto più lavoro. Di questo però non ne parla nessuno?
01/04/2008 13.17 | Raffaele Rialdi

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 4 and 3 and type the answer here:

Powered by: