Files
fsfe-website/activities/msooxml/msooxml-interoperability.nl.xhtml

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: ***
-->