300 lines
12 KiB
HTML
300 lines
12 KiB
HTML
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<html>
|
|
<version>1</version>
|
|
|
|
<head>
|
|
<title>
|
|
Interoperabiliteitsproblemen met
|
|
MS-OOXML
|
|
</title>
|
|
</head>
|
|
|
|
<body>
|
|
<h3>FSFE achtergrondinformatie</h3>
|
|
|
|
<h1>Interoperabiliteitsproblemen met MS-OOXML</h1>
|
|
|
|
<center>
|
|
[<a href="msooxml-interoperability.pdf">
|
|
Ook beschikbaar als PDF (Engelse versie)(1.3M)</a>]
|
|
</center>
|
|
|
|
<p>
|
|
De voorgestelde MS-OXML/DIS29500 specificaties geven aanleiding
|
|
tot ernstige technische en juridische bezwaren.
|
|
<sup><a href="#1">1</a></sup> Dit document legt aan de hand van
|
|
drie voorbeelden uit hoe de voorgestelde MS-OOXML specificaties
|
|
en de praktische toepassing ervan in MS Office 2007 de
|
|
interoperabiliteit hinderen, je afhankelijkheid van één bepaalde
|
|
verkoper verhogen en hoe dat leidt tot een verstoorde markt.
|
|
</p>
|
|
|
|
<p>
|
|
Deze bezorgdheid is allerminst afgenomen tijdens de ISO Ballot
|
|
Resolution Meeting over de meer dan 1000 technische bezwaren en
|
|
voorgestelde oplossingen. De deelnemers konden slechts over 20
|
|
tot 30 voorstellen discussiëren en aanvaardden ongeveer 200
|
|
kleine aanpassingen in de voorziene tijd.Over ongeveer 900 zaken
|
|
werd niet gediscussieerd. <sup><a href="#2">2</a></sup>
|
|
</p>
|
|
|
|
<h2>
|
|
Voorbeeld #1: Niet-gedefinieerde binaire gegevens in het door MS Office
|
|
gegenereerde MS-OOXML formaat verhinderen interoperabiliteit
|
|
</h2>
|
|
|
|
<p>
|
|
Analyses hebben aangetoond dat de XLSX-documenten die gecreëerd
|
|
worden door MS Office 2007 bovenop de inhoud beschreven in de
|
|
voorgestelde MS-OOXML-specificaties ook binaire gegevens
|
|
bevatten. Dit kan de interoperabiliteit verhinderen en kan de
|
|
betrouwbaarheid van de documenten sterk verminderen. De analyses
|
|
werden uitgevoerd door de XLSX-documenten te downloaden van
|
|
microsoft.com en de bestanden te 'unzippen', zo kon men de
|
|
interne bestandsstructuur
|
|
bestuderen.<sup><a href="#3">3</a></sup>
|
|
<sup><a href="#4">4</a></sup>
|
|
</p>
|
|
|
|
<p>
|
|
De binaire inhoud bestaat uit drie door de implementatie
|
|
gedefinieerde bestanden met de name printerSettings1.bin,
|
|
printerSettings2.bin en printerSettings3.bin. Ze komen van
|
|
Microsoft en hun inhoud wordt niet gedefinieerd in de
|
|
voorgestelde specificaties. Als men de binaire bestanden
|
|
bestudeert in een HEX-editor geven ze enkele verwijzingen vrij
|
|
naar 'Microsoft OneNote Import' en 'Letter'. 'Letter' is
|
|
blijkbaar een verwijzing naar de grootte van de pagina.
|
|
</p>
|
|
|
|
<p>
|
|
Naar de grootte van een pagina verwijzen in een binaire, door de
|
|
implementatie gedefinieerde file is problematisch. Informatie
|
|
over de grootte van de pagina is cruciaal om een correcte
|
|
lay-out van de pagina te verkrijgen. Europese toepassingen die
|
|
geen toegang hebben tot deze binaire informatie zouden een A4
|
|
pagina kunnen gebruiken waardoor meer gegevens op één pagina
|
|
passen. Twee verschillende gebruikers kunnen de indruk krijgen
|
|
over heel andere documenten bezig te zijn als hun
|
|
paginanummering niet overeenkomt.
|
|
</p>
|
|
|
|
<h2>
|
|
Voorbeeld #2: De clausule over de conformiteit heeft geen waarde
|
|
</h2>
|
|
|
|
<p>
|
|
De voorgestelde specificatie heeft een erg vaag omschreven
|
|
clausule om te bepalen of een toepassing conform is aan de
|
|
specificaties. Er wordt gesteld dat een conforme 'klant' een
|
|
conform document moet kunnen openen zonder foutmeldingen en een
|
|
conforme 'producent' moet in staat zijn om een conform bestand
|
|
te genereren. Elk onderdeel van de specificatie dat door de
|
|
toepassing wordt geïmplementeerd moet overeen komen met de
|
|
definities uit de voorgestelde specificaties.
|
|
<sup><a href="#5">5</a></sup> Aan deze voorwaarden voldoen zelfs
|
|
programma's die deze conforme documenten niet gebruiken.
|
|
</p>
|
|
|
|
<p>
|
|
Een voorbeeld van een programma dat voldoet aan de
|
|
conformiteitsclausule uit de voorgestelde specificaties maar dat
|
|
men moeilijk als een conforme toepassing kan beschouwen is GNU
|
|
'cp', een programma dat bestanden kopieert.
|
|
<sup><a href="#6">6</a></sup> 'cp' voldoet als 'klant' techisch
|
|
gezien aan de voorgestelde specificatie aangezien het geen enkel
|
|
conform document verwerpt en elk onderdeel van de specificatie dat
|
|
geïmplementeerd is (er zijn er geen) voldoet aan de definitie
|
|
ervan. 'cp' voldoet ook als 'producent' aan de voorgestelde
|
|
specificaties aangezien het conforme bestanden creëert en elk
|
|
onderdeel van de specificatie dat geïmplementeerd is (geen)
|
|
voldoet aan de definitie ervan.
|
|
</p>
|
|
|
|
<p>
|
|
De conformiteitsclausule in de voorgestelde specificaties
|
|
voldoet niet aangezien bijna elke toepassing die bestanden opent
|
|
en opslaat volgens die regels conform is. Wat zo'n programma
|
|
eigenlijk doet met een conform document wordt niet bekeken, zo
|
|
kan men makkelijk de valse bewering maken dat een programma de
|
|
specificatie ondersteunt. <sup><a href="#7">7</a></sup> Een
|
|
conformiteitsclausule is één van de meest belangrijke delen van
|
|
een standaard en de tekst die men daarvoor gebruikt in DIS29500
|
|
heeft in de praktijk geen enkele betekenis.
|
|
</p>
|
|
|
|
<h2>
|
|
Voorbeeld #3: Microsofts Open Specification Promise is geen
|
|
juridisch betrouwbaar middel voor volledige interoperabiliteit
|
|
</h2>
|
|
|
|
<p>
|
|
MS-OOXML-bestanden gegenereerd door MS Office 2007 bevatten
|
|
gegevens die door de implementatie gedefinieerd worden. Aangezien
|
|
deze inhoud niet beschreven wordt in de voorgestelde
|
|
specificaties stellen wij ons vragen bij de juridische status
|
|
ervan onder Microsofts Open Specification Promise (OSP). De OSP
|
|
is namelijk beperkt tot patenten "that are necessary to
|
|
implement only the required portions of the Covered
|
|
Specification that are described in detail and not merely
|
|
referenced in such Specification."(die noodzakelijk zijn voor
|
|
het implemeteren van het 'vereiste' deel van de voorgestelde
|
|
specificaties die in detail beschreven worden en niet die delen
|
|
waar slechts naar verwezen wordt in die specificatie.)
|
|
<sup><a href="#8">8</a></sup>
|
|
</p>
|
|
|
|
<p>
|
|
In de laatste zin van de tweede paragraaf stelt de OPD dat "No
|
|
other rights except those expressly stated in this promise shall
|
|
be deemed granted, waived or received by implication,
|
|
exhaustion, estoppel, or otherwise"(geen andere rechten dan
|
|
diegene die expliciet vermeld worden in deze belofte toegekend
|
|
worden ...) <sup><a href="#9">9</a></sup> Het lijkt dus niet
|
|
meer dan logisch om niet op de OSP te vertrouwen voor zaken die
|
|
noodzakelijk zijn voor de interoperabiliteit maar die niet in detail
|
|
beschreven zijn of waarnaar slechts verwezen wordt in de
|
|
voorgestelde specificaties.
|
|
</p>
|
|
|
|
<p>
|
|
Deze bezorgdheid wint nog aan belang als het document wordt
|
|
weggeschreven in één van de andere variaties van het
|
|
voorgestelde formaat. XLSM-documenten bevatten zowel
|
|
niet-gedefinieerde als binaire inhoud. XLSB-documenten
|
|
bevatten inhoud die is opgeslagen volgens een methode die niet
|
|
beschreven wordt in de voorgestelde specificaties. XSLX-documenten
|
|
die worden beschermd met een paswoord worden opgeslagen in een
|
|
soort container die blijkbaar ook niet beschreven wordt in de
|
|
voorgestelde specificaties.
|
|
</p>
|
|
|
|
<h2>Besluit</h2>
|
|
|
|
<p>
|
|
Binaire gegevens, het ontbreken van een efficiënte
|
|
conformiteitsclausule en juridische onzekerheid zijn slechts
|
|
enkele van de bezwaren rond de voorgestelde MS-OOXML specificatie.
|
|
</p>
|
|
|
|
<p>
|
|
Als men weet dat het ISO-proces ongeveer 900 onopgeloste
|
|
technische commentaren heeft en niet discussieert over
|
|
juridische bedenkingen, kan men zich vragen stellen bij de
|
|
geschiktheid van de voorgestelde specificaties. Het enige
|
|
mogelijke resultaat van de voorgestelde specificatie en de
|
|
praktische implementatie ervan in MS Office 2007 is het
|
|
bemoeilijken van de interoperabiliteit, een grotere
|
|
afhankelijkheid van één verkoper en een voortdurende verstoring
|
|
van de markt.
|
|
</p>
|
|
|
|
<p>
|
|
Volgens de FSFE kunnen de nationale bureaus maar één zinvol
|
|
antwoord geven: verwijder DIS29500 uit het FastTrack-proces door
|
|
"AFKEURING, met commentaren" te stemmen. Stel voor om de
|
|
specificaties via de normale procedures door ISO te loodsen, in
|
|
het beste geval door integratie in ISO/IEC 26300, het Open
|
|
Document Format (ODF).
|
|
</p>
|
|
|
|
<h2>Meer infomatie</h2>
|
|
|
|
<ul>
|
|
<li><a href="/activities/msooxml/msooxml-idiosyncrasies.html">
|
|
DIS-29500: Al verworpen voor men het gebruikt?</a></li>
|
|
<li><a href="/activities/msooxml/msooxml-questions.html">
|
|
Zes vragen aan de nationale standaardisatiebureaus</a></li>
|
|
<li><a href="/activities/msooxml/msooxml-converter-hoax.html">
|
|
Het convertieleugen </a></li>
|
|
<li><a href="/activities/msooxml/msooxml-questions-for-ms.html">
|
|
Vragen voor Microsoft over open formaten </a></li>
|
|
</ul>
|
|
|
|
<hr />
|
|
|
|
<p class="footnote">
|
|
[<a name="1">1</a>]
|
|
een voorbeeld op http://www.grokdoc.net/index.php/EOOXML_objections
|
|
</p>
|
|
|
|
<p class="footnote">
|
|
[<a name="2">2</a>]
|
|
http://www.consortiuminfo.org/standardsblog/article.php?story=20080229055319727
|
|
</p>
|
|
|
|
<p class="footnote">
|
|
[<a name="3">3</a>]
|
|
http://download.microsoft.com/download/a/a/3/aa3411df-5b02-463a-8ab1-9587dd8a2508/Salesdata.xlsx
|
|
</p>
|
|
|
|
<p class="footnote">
|
|
[<a name="4">4</a>] De zip-container bevatte de volgende
|
|
bestanden: ./Content_Types].xml, ./_rels/.rels,
|
|
./docProps/app.xml, ./docProps/core.xml, ./docProps/custom.xml,
|
|
./xl/_rels/workbook.xml.rels, ./xl/calcChain.xml,
|
|
./xl/printerSettings/printerSettings1.bin,
|
|
./xl/printerSettings/printerSettings2.bin,
|
|
./xl/printerSettings/printerSettings3.bin,
|
|
./xl/sharedStrings.xml, ./xl/styles.xml, ./xl/tables/table1.xml,
|
|
./xl/theme/theme1.xml, ./xl/workbook.xml,
|
|
./xl/worksheets/_rels/sheet1.xml.rels,
|
|
./xl/worksheets/_rels/sheet2.xml.rels,
|
|
./xl/worksheets/_rels/sheet3.xml.rels,
|
|
./xl/worksheets/sheet1.xml, ./xl/worksheets/sheet2.xml,
|
|
./xl/worksheets/sheet3.xml
|
|
</p>
|
|
|
|
<p class="footnote">
|
|
[<a name="5">5</a>] De exacte formulering is "A conforming
|
|
consumer shall not reject any conforming documents of at least
|
|
one document conformance class. the document type (§4) expected
|
|
by that application. A conforming producer shall be able to
|
|
produce conforming documents of at least one document
|
|
conformance class. A conforming application shall treat the
|
|
information in Office Open XML documents in a manner consistent
|
|
with the semantic definitions given in this Specification. An
|
|
application's intended behavior need not require that
|
|
application to process all of the information in an Office Open
|
|
XML document. However, the information that it does process
|
|
shall be processed in a manner that is consistent with the
|
|
semantic definitions given in this Specification."
|
|
</p>
|
|
|
|
<p class="footnote">
|
|
[<a name="6">6</a>]
|
|
Begin met een conform document 'test.docx'. Voer het commando
|
|
'cp test.docx test_copy.docx' uit. U kan zien dat er geen
|
|
foutmeldingen worden gegeven en dat er ook een conform document is
|
|
gecreëerd.
|
|
</p>
|
|
|
|
<p class="footnote">
|
|
[<a name="7">7</a>]
|
|
Voorbeelden van toepassingen die volgens Microsoft de
|
|
voorgestelde specificaties ondersteunen: Apple Mac OS X, heeft
|
|
geen ondersteuning voor afbeeldingen en ingebedde
|
|
objecten. iWork, ondersteunt geen rekenbladen, kan slechts een
|
|
beperkt deel van de documenten importeren en kan geen documenten
|
|
opslaan. Google (Search, Preview) kan omgaan met de tekst maar
|
|
ondersteunt geen layout, afbeeldingen en ingebedde objecten.
|
|
</p>
|
|
|
|
<p class="footnote">
|
|
[<a name="8">8</a>] http://www.microsoft.com/interop/osp/default.mspx
|
|
</p>
|
|
|
|
<p class="footnote">
|
|
[<a name="9">9</a>] Ibid
|
|
</p>
|
|
|
|
</body>
|
|
|
|
</html>
|
|
<!--
|
|
Local Variables: ***
|
|
mode: xml ***
|
|
End: ***
|
|
-->
|