a 'mooh' point

clearly an IBM drone

Vejledning fra IT- og Telestyrelsen

I går eftermiddags offentliggjorde IT- og Telestyrelsen deres vejledningsmateriale for anvendelse af åbne dokumentformater i den offentlige sektor. Hvis du er journalist eller IT-ansvarlig i en offentligt myndighed, så er deres vejledning et "must-read" for dig - den er fuld af værdifuld information.

Se den på http://dokumentformater.oio.dk 

What is a conversion, really?

I have been part of some work for the the Danish National Telecom and IT Agency (IT- og Telestyrelsen). They have coordinated quite a few projects around the country to evaluate the usage of ODF and OOXML and possible problems with co-existance of the two document standards. The website for this work is at http://dokumentformater.oio.dk .

The basic setup for the projects and tests has been:

How does a particular department handle the two document formats and possible conversion between them?

Which problems will arise given their current software install-base?

Is it possible to provide some guidance to the departments regarding which specific features of a document format to avoid since they cause problems?

In other words it has been a rather pragmatic approach based on trying to answer the question: "Why do you experience the problems you see?"

Observations

The first thing we realized during the very first day was something quite crucial:

We were not testing compatibility between two formats - instead we were testing quality of converter-tools and compatibility between the specific format and the internal object model the format is loaded into.

Converter-tools

Both OOXML and ODF are rather immature document formats in the market today since neither of them has a broad market penetration as such. Despite the document count on Google, ODF is not widely used and most people still save their work in .DOC-files -even though they have Microsoft Office 2007 installed. This means that conversion between them is also rather immature and this affects the quality of the converters and the results of converting between one format and another. The ODF-Converter project has an extensive list of the differences between the formats themselves and also a list of features currently not supported by the converter and similar lists exist of features not supported by the other tools used. Luckily it seems that the quality of the converters are drastically improving for each incremental new release.

We also noted that a converter is not "just a converter". It lives and breathes on the application it is installed. This was of particular interest when looking at the ODF-Converter Office Add-In and the SUN OOXML-converter. They are both add-ons to existing Office applications but the application behaviour we saw was in principle the same when using OpenOffice.org, IBM Lotus Notes 8 or OpenOffice Novell Edition.

The problem lies in the fact, that every application has an internal object model that determines how a document is persisted in memory in the application. The binary format for Microsoft Office files were essentially a binary dump of the current memory in the application and this basically counts for at lot of applications with binary file formats. Anyway - regardless of how a document is "converted" or "transformed" using another application than the originator, at the end of the day it has to be loaded into the internal object model for the receiving application. This essentially means, that unless there is a 100% air-tight 1-1-mapping of the document format and the internal object model ... information will be lost. This was one part of the problem - the other was the sequence of conversion. Take a look at the sequence listed here:

Sequence 01  Sequence 02
   
load original format Load original format
 ↓
Convert format to new format Load original format into internal object model
 ↓
load new format into internal object model (make changes)
 ↓
(make changes) Persist as new document format
 
Persist as new document format  

It is not entirely evident that this will produce the same output, and we have seen no evidence that any of applications tested did actually have a 1-1 mapping between (any) document format and their internal object model. This also counts for Microsoft Office and its corresponding file types and OpenOffice itself. In short, this was a fact that we had to deal with in our tests.

On a funny note:

The conversion tools we used were all based on XSLT-transformation between the document formats. They are both XML-formats, so it is a good choice. However, we heard rumours that Novell would dump their OOXML-converter (based on XSLT) and develop their own converter based on the internal object model. It will be interesting to see, if it brings greater quality to the converters.

On a lighter note:

We saw in our tests that using the binary Microsoft Office file format as a middle-man when converting from OOXML to ODF (and back) actually produced the best results ... by a long shot. Having this step and using the binary Office file format as a type of "Lingua Franca", was more or less the key to "flaw-less conversion". If you stop and think about it, it makes perfect sense why we saw this. The Microsoft Office Binary file format is well established in the market (not thanks to Microsoft, but to reverse engineering) and the format has been arround for a long time. Basically, all applications can read it and all applications can write it. But why is this interesting? Well, OOXML is an XML-version of the binary Office file format, so since there are "no problems" with converting from the binary format to ODF, it should be technically relatively easy to convert from OOXML to ODF, since OOXML is a binary version of the binary file format.

It is just a matter of time ... and continious improvement of the format converters. 

Er det nok at standarden er åben?

Efterhånden som det går op for flere og flere af ODF-only fortalerne, at deres foretrukne format ikke er modent nok, er taktikken nu blevet ændret. Fra at tale om ODFs fortræffeligheder i kraft af letlæsbar xml, specifikationens diminutive sideantal og reference til eksisterende standarder tales der nu næsten udelukkende om de politiske overvejelser bag valget af format. Specielt tales der meget om åbne standarder.

aabnestandarder.dk er listet en definition af egenskaber for en åben standard.

  1. Veldokumenteret med den fuldstændige specifikation offentligt tilgængelig.
  2. Frit implementerbar uden økonomiske, politiske eller juridiske begrænsninger på implementation og anvendelse.
  3. Standardiseret og vedligeholdt i et åbent forum (en såkaldt "standardiseringsorganisation") via en åben proces.


Jeg vil i øvrigt anbefale læsere at læse lidt på siden. Det er interessant læsning og forklarer på en god måde årsagen til at åbne standarder er en god idé. Bagmændene bag definitionen fik i øvrigt noget af et scoop, da ovenstående definition endte i det såkaldte B 103-forslag.

Når jeg bruger lidt tid på at skrive om denne definition skyldes det at den i øjeblikket misbruges af fortalerne for "Only-ODF" (fremover benævnes dette som oODF) i deres argumentation for kun at vælge ODF. Argumentet er det simple, at da OOXML ikke opfylder denne definition kan den ikke vælges - altså en reel apriori-forudsætning for valg af format. Tilsvarende omtales definitionen nærmest som én af matematikkens 5 aksiomer eller i det mindste som var de ristede i runer (Jellingestenens uægte lillebror) eller stod med småt på tavlerne, som Moses havde med efter sin tête-a-tête med Gud på Sinajbjerget. Lad mig ydmygt understrege, at ingen af disse ting er tilfældet.

For mig er de tre punkter en hensigtserklæring og et mål, men det er ikke udgangspunktet - og de trumfer slet ikke den virkelighed de skal anvendes i eller de tekniske egenskaber ved en standard, der skal overvejes. Har vi en situation, hvor standard X og standard Y reelt er ens og de adskillende detaljer kun er småting, vil jeg naturligvis foretrække den standard, der i videst muligt omfang dækkes af definitionen af en åben standard. Er vi derimod i en situation som med OOXML og ODF er billedet mere grumset og bestemt ikke sort/hvidt.

Når oODF-fortalerne insisterer på udelukkende at tale om overholdelse af aksiomerne, så siger de dermed samtidig, at de tekniske aspekter ikke har så høj rang i diskussions-kæden. Det er også den fornemmelse det giver at deltage i diskussionerne, hvor det er tydeligt at bevæggrundende ofte er politiske og også ofte drevet af et ideologisk "korstog" imod Microsoft. Jeg behøver vel ikke at nævne, at jeg ser det lidt anderledes. Jeg er pragmatiker af natur og det er vigtigere for mig at der er valgfrihed og at valget af dokumentstandard ikke kommer til at hæmme produktiviteten i den offentlige sektor, hvor jeg dagligt arbejder. Det er i øvrigt en holdning som jeg nu kan se jeg deler med IT-ordførerne i Folketinget. Når oDDF-fortalerne siger, at det vigtigste er at formatet opfylder alt i definitionen end at formatet er "spiseligt", bringer det minder frem fra tiden, hvor Linux var et relativt nyt fænomen. Dengang kunne man ofte høre Linux-brugere sige, at "ja, brugerfladen kan forbedres, det er svært at installere og indlæringskurven er lidt for stejl. Men Linux er meget mere stabil og så er det gratis". Til Linux-fortalernes ros er de blevet klogere (eller mere pragmatiske) - det er blot ærgeligt at vi nu igen skal spilde tid på den samme diskussion - blot nu med et nyt format, nemlig ODF.

Hvis du spørger mig, så er det ikke til diskussion at ODF ikke er modent nok til at kunne stå alene som eksklusivt dokumentformat i den offentlige, sektor ligesom det heller ikke er til diskussion, at OOXML er langt mere grundigt bearbejdet og langt mere gennemført end ODF. Ja, der er nogle usikkerheder omkring vedligeholdelse af formatet men teknisk set er der ikke rigtigt noget at rafle om. OOXML er ganske enkelt et bedre format. Når oODF-fortalerne alligevel negligerer disse ting og siger at "der vil naturligvis være en indkørselsfase med problemer" og "det er vigtigere at fravriste Microsoft deres monopol end sikre effektiviteten i den offentlige sektor", så kan jeg ikke lade være med at tænke på Grev Farquard fra DreamWorks-filmen "Shrek". Inden han sender en flok riddere afsted for at redde Prinsesse Fiona for ham (han tør jo ikke selv), siger han med megen empati: "Some of you may die, but that is a sacrifice I am willing to make". Ligeledes synes det at være åbenbart, at mange af oODF-fortalernes eneste fremtidige interaktion med ODF bliver deres installation af OpenOffice.org eller KOffice ... og kommer altså slet ikke til at arbejde konkret med formaterne i den offentlige sektor. De kommer altså ikke til at mærke problemer på egen krop.

Smile

Post-afgørelses hysteri

Som man næsten kunne forvente, kogte debatforaerne i går næsten over med diskussioner om afgørelsen omkring valgte dokumentformater i den offentlige sektor i Danmark. Som jeg skrev i går, så er jeg af den holdning, at beslutningen var klog og afvejet og tog hensyn til den tekniske verden, der eksisterer i den offentlige sektor. Trist nok står jeg ret alene med denne holdning. Der er et par "holdnings-frænder" på version2.dk og også et par stykker på computerworld.dk ... men vi er groft "underbemandede".

Som sagt nåede den skingre tone i går nye højder - ja selv jeg blev beskyldt for at være en "troll" på version2.dk :o)

Angrebene på beslutningen var generelt fokuserede på et par områder, og jeg vil prøve at addressere disse her.

1. Beslutningen var taget på forhånd

Sådan en udtalelse er jo svær at tilbagevise - ligesom den er svær at bevise. Det er sådan en af de udtalelser, der er på linie med "JFK blev myrdet af CIA" eller "Prinsgemalen er bøsse og Dronningen har et seksuelt forhold til Susse Wold". Sandhedsværdien i disse udsagn er nok relativt begrænset og i øvrigt tjener de intet formål andet end at "kridte banen op" for et skænderi. Generelt burde man holde sig for god til at komme med disse udtalelser.

2. Høringen var en parodi, da man ikke lyttede efter indsigelserne

Tja- udtalelser som disse indikerer jo, at man ikke helt har fanget idéen med en høring. En høring er jo ikke en afstemning, hvor man rækker hånden op og stemmer for et forslag. En hørings formål er at indhente feedback fra interessenterne i en konkret problemstilling. I debatten tilknyttet artiklen "Dokument-afklaring på vej allerede i dag" på version2.dk blev der udtalt:

"Hvis du kikker på høringssvarene vil du altså se at ret vægtige foretagender som Sun, Oracle, IBM, samt f.eks. region Midtjylland på det kraftigste fraråder dobbelt standard, men alligevel negligeres deres argumenter."

Lad mig for et øjeblik glemme, at både Sun, IBM og Oracle har vægtige forretningsmæssige grunde til at mene, at ODF er det eneste rigtige format. Der blev også udtalt:

"det er da en parodi at der laves en skinhøring, hvor ca. 80% af svarende siger at 2 formater er en dårlig løsning, ca. 70% peger på kun ODF, ca. 20% er ligeglade, og kun et høringssvar (gæt fra hvem) går 100% helhjertet ind for OOXML!"

Igen er det i mine øjne en misforståelse af idéen med en høring. Lad mig sætte det lidt på spidsen og antage, at der var 100 virksomheder, der alle sagde, at ODF skulle være eneste tilladte format pga fx frigørelse fra Microsoft etc og at der var 1 virksomhed, der sagde, at de ikke var enige i dette, da der er nogle tekniske problemer i valget af kun ODF og derfor anbefalede to formater. Dette betyder altså ikke, at ODF-only argumentet vægter 100 gange mere end den enkelte virksomhed - specielt ikke når den ene virksomhed kan argumentere for dens sag. Uanset hvordan ODF-only fortalerne vender og drejer det, er der nogle tekniske udfordringer i kun at tillade ODF og der er nogle procesmæssige udfordringer i kun at tillade ODF. Når ODF-only fortalerne ikke kan argumentere for, hvorfor dette ikke er tilfældet, så er det ligemeget hvor mange de indkalder til at sige "Jeg mener det samme som ham den anden".

... og så skal man også lige huske, at de indsendte svar ikke nødvendigvis er repræsentative for danske virksomheder generelt. Typisk er det jo de sureste, der råber højest, og det har desværre en tendens til at skævvride resultaterne.

Moralen

Hvis der skal være nogen morale i dette er det jo, at høringen rent faktisk har tjent sit formål. En række virksomheder indsendte deres svar og efter behandling er Folketinget nu nået frem til, at ODF og OOXML bliver obligatoriske for offentlige myndigheder. Som jeg læser svaret har man anerkendt følgende kendsgerninger:

  1. ODF er ikke modent nok til at blive anvendt alene
  2. ODF kan ikke alene dække behovene i den offentlige forvaltning
  3. Der er tvivl om, hvorvidt andre end Microsoft kan implementere OOXML

 

Løsningen på denne gordiske knude har været at tillade begge formater og lave en post-vurdering om et par år for at se, om det har vist sig at andre kan implementere OOXML. Jeg synes ganske enkelt, at det er en perfekt løsning.

Hvis jeg endog skal konkludere en smule på debatten omkring ODF og/eller OOXML, så må det være den glædelige kendsgerning, at så længe man argumenterer sagligt og nøgternt, så er det faktisk muligt at budskabet trænger igennem - selvom oppositionen er nok så følelsesladet.

... PS: og dagen i går var også dagen, hvor jeg blev beskyldt for at være korrupt. I hvert fald faldt jeg over følgende afsnit på en blog "i nærheden":

The bad things are:

  1. [...]
  2. The MP's shows that they are not ready to make a decision, after almost half a year with discussion and documents. They can see the reports, that shows all the benefits of open standards and that the only pro EOOXML is Microsoft related of payed by Microsoft directly.

 

Huskede jeg at nævne, at tonen var blevet lidt skinger?

Foreløbig afgørelse i OOXML/ODF-problemstillingen

Ifølge sædvanligvis velunderrettet kilde arbejder Folketingets partier i øjeblikket på en beslutning om standarderne, der indebærer følgende:

  1. Offentlige myndigheder pålægges at kunne modtage henvendelser i både ODF-formatet og OOXML-formatet.
  2. De to formater bliver obligatoriske dokumentstandarder i det offentlige.
  3. Det bliver obligatorisk for offentlige institutioner at indkøbe software, der understøtter mindst én af de to standarder.
  4. Tidsrummet fra 1. januar 2008 til 1. januar 2009 skal bruges til at vurdere om OOXML reelt kan fungere uafhængigt af produkter og leverandører. Er det tilfældet "ophøjes" formatet til obligatorisk standard.


Umiddelbart er det faktisk en ganske glimrende løsning, de åbenbart er ved at tage. Den afbalancerer nemlig ønsket om at frigøre sig fra Microsofts defacto-monopol på kontorprogrammer i den offentlige sektor - samtidig med at den tilgodeser virkeligheden i den offentlige forvaltning - nemlig at det vil være en katastrofe for arbejdsprocesserne i det offentlige at kræve, at man bruger et nedbarberet dokumentformat som ODF.

Det er også værd at bemærke ordlyden af ovenstående. Den siger nemlig, at offentlige myndigheder skal kunne modtage og dermed også reelt kunne sende dokumenter i begge formater, hvorimod offentlige institutioner ikke er bundne af samme krav men "blot" skal kunne honorere det ene format. I mine øjne giver dette fint mening. Christian Nobel skrev på version2.dk, at det ville give uhensigtsmæssigheder, når han så skal sende et brev til en vuggestue, der jo ikke er en myndighed og derfor ikke nødvendigvis kan læse ODF-dokumenter. Det har han jo ret i og det vil givetvis give nogle problemer i indkørselsfasen. Min pointe er blot, at kravet er fuldt rimeligt, da offentlige myndigheder - dvs den del af den offentlige verden, der reelt betyder noget - skal kunne modtage begge formater men at andre (mindrebetydende) institutioner ikke stilles overfor samme krav.

I punkterne ovenfor står også, at der vil være en indkørselsperiode på et års tid fra 1. januar 2008. Morten Messerschmidt udtaler iflg. Computerworld, at det vil være fint med en indkørselsperiode, hvor der kan blive samlet erfaringer. Han har også betinget sig, at konkurrencestyrelsen bliver en del af denne post-indkørselsvurdering, der skal foretages. Igen kan jeg kun sige, at det for mig er ganske rimelige ting. Faktum er jo, at der er blevet sået så meget tvivl (i mine øjne uretmæssigt) om OOXMLs muligheder for anvendelse af andre end Microsoft, at jeg godt kan forstå, at politikerne er urolige ved det. Jeg bifalder dermed, at de er så modige, at de tør sige, at nu kigger vi igen på det om et års tid.

I hovedtræk mener jeg, at politikerne har taget ikke alene en god politisk beslutning, men også en pragmatisk rigtig beslutning om at sikre den offentlige sektor så optimale vilkår som muligt. Hvis de havde hørt efter de meget højrystede ODF-only fortalere og smidt OOXML på porten, så ville konsekvenserne have været uoverskuelige og jeg er sikker på, at de har haft dette for øje. Med beslutningen i dag signalerer politikerne at de både vil blæse og have mel i munden - menher på den gode måde. De signalerer at de vil fravriste Microsoft deres monopol i den offentlige sektor samtidig med, at de respekterer den virkelighed, som de offentligt ansatte lever i hver dag. Dét er da en god beslutning!

... og så glæder jeg mig i øvrigt til se se ordlyden af aftalen. Specielt bliver det spændende at se, hvilke versioner af de enkelte formater de vælger at anbefale. Jeg håber meget, at de vælger at anbefale navngivne versioner af de to standarder, og det vil sandsynligvis blive Ecma 376 for OOXMLs vedkommende og ISO/IEC 26300:2006 for ODFs vedkommende.

Og lad os så komme i gang med at arbejde med formaterne. Som Brian Jones sagde: "We aren't philosophers; we're geeks who build software to solve people's problems…".