fsfe-website/activities/msooxml/msooxml.en.xhtml

254 lines
11 KiB
HTML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<html>
<version>1</version>
<head>
<title>MS-OOXML Overview</title>
</head>
<body class="article" microformats="h-entry">
<p id="category">
<a href="/activities/activities.html">Our Work</a>
</p>
<h1 class="p-name">MS-OOXML: a pseudo-standard that pretends to be open</h1>
<div class="e-content">
<div id="introduction">
<p>Since the very beginning of the standardisation process for Microsoft's
Office Open XML - OOXML (hereinafter MS-OOXML), the FSFE has expressed
serious doubts about whether MS-OOXML could be considered as open, if
even, as a standard at all. The FSFE first raised the issue in the
community and led the movement against the standardisation of MS-OOXML,
following closely over the years the relevant developments. But why
can MS-OOXML still not be considered an<a href="/freesoftware/standards/standards.en.html">
Open Standard</a>, despite its approval by international standards
organisations?</p>
</div>
<h2 id="What-is-microsoft's-ooxml">What is Microsoft's OOXML?</h2>
<p>MS-OOXML is an XML-based format for office documents developed by
Microsoft. It covers word processing documents, spreadsheets, presentations,
charts, diagrams, shapes, and other graphical material. MS-OOXML was first
adopted in 2006 by <a href="http://www.ecma-international.org/publications/standards/Ecma-376.htm">
ECMA International</a> - a private international standards organisation -
allegedly as an Open Standard.</p>
<p>In 2008, the International Standards Organisation (ISO) also approved
the MS-OOXML, as international Open Standard under the
<a href="http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html">
ISO/IEC 29500</a>, after Microsoft requested fast-track process.
ISO approved the standard despite the fact that it was initially rejected,
due to a big number of justified concerns expressed by its national member
bodies.</p>
<h2 id="how-did-we-get-there">How did we get there?</h2>
<p>In 2001 a collective effort started to create an open document format,
promoting Open Standards and trying to limit Microsoft's office software
monopoly. The result of this effort which lasted four years, was the Open
Document Format v1.0 (ODF), implemented with Free Software. It was first
approved in 2006 as an <a href="https://www.oasis-open.org/">OASIS Standard</a>
and later, by <a href="http://www.iso.org/iso/home.html">ISO</a>/IEC JTC1
as an International Standard, under the code ISO/IEC 26300:2006. Such a
format could threaten Microsoft's dominant position in the Document market,
which at the time ran on closed formats. Under the fear of losing its power,
the latter produced its own allegedly open document through a dubious ISO
approval process.</p>
<p>As it can be imagined, the "new" format seemed in a first vote unnecessary
to the ISO working group since there was already an existing document standard
-ODF- and was, therefore, rejected. However, Microsoft, in a more political
than technical process, got its proposal fast-tracked even though specific
clauses of it still met resistance from the national member bodies. And
this is the point in the revision process, where a suggestion came on the
table, to create two sub-standards of MS-OOXML, namely ISO 29500 Transitional
and ISO 29500 Strict. Here is what happened: the Strict version got accepted
by ISO, while the Transitional version was granted to Microsoft, allowing
it to exclude certain legacy features and facilitating conversion from the
older closed-source binary formats.</p>
<p>ISO then gave its approval to MS-OOXML in 2008, and justified its decision
by claiming that the market needed another document standard. It is noteworthy
that Microsoft did not have, at the time of the approval, an available
version of Microsoft Office that would be compliant to the ISO/IEC standard
it has just passed. That was the result of the multiple changes on the original
version of the standard in order for the approval process to move forward.</p>
<p>Consequently, although the older binary formats (.doc, xls, and .ppt)
continued to be supported by Microsoft, MS-OOXML became the default standard
of all Microsoft Office documents (.docx, .xlsx, and .pptx), starting
with Microsoft Office 2007. Nevertheless, MS-OOXML Transitional is the
only variant in widespread use and this is a note to keep in mind: those
dual requirements led to a situation where one standard exists, and
another format is fully implemented and spread all around, despite just
having the status of an undocumented, proprietary specification. In other
words, something that started as an intent to enable a transitional period
was turned into a norm, setting obstacles to any interoperability claims.</p>
<p>At a glance, Microsoft Office 2010 provides read-support for ECMA-376,
read/write-support for ISO/IEC 29500 Transitional, and read support for
ISO/IEC 29500 Strict. Microsoft Office 2013 and Microsoft Office 2016
additionally support both reading and writing of ISO/IEC 29500 Strict.
However, in all of them, the default option is the transitional one, meaning
that the strict standard is still not used in practice, unless the
users change the default settings ad hoc.</p>
<h2 id="is-ms-ooxml-a-true-open-standard">Is MS-OOXML a true open standard?</h2>
<p>Although many people share the assumption that some widely used formats
can be identified as Open Standards, there is a number of them that does
not comply with the criteria listed in the
<a href="/freesoftware/standards/def.en.html">Open Standards definition</a>.
MS-OOXML is one of them, the so-called pseudo-standards.</p>
<h3 id="dual-standards">Dual Standards</h3>
<p>As first objection, MS-OOXML could be seen as unnecessary. Software
engineers could instead use Open Document Format (ODF), as a less
complicated office software format that was already an international
standard at the time of the MS-OOXML review process, is also built upon XML
technology and has the same theoretical capabilities. Microsoft itself
is a member of OASIS, the organisation in which the ODF standard was
developed and where it is being maintained. Microsoft was aware of the
whole process and was invited to participate, but allegedly refused to do
so, although it could have submitted its technological proposals to OASIS
for inclusion into ODF. Having two overlapping standards for the same thing
creates only further burden and confusion, and can be detrimental for
competition.</p>
<h3 id="compatibility-and-interoperability">Compatibility and interoperability</h3>
<p>One of the alledged main advantages of MS-OOXML was its ability to allow
for backward compatibility. However, in practice MS-OOXML seems to be
compatible only with Microsoft documents, whilst its interoperability with
products from other vendors appears to have been made extremely complicated
by design. This is also related to the fact that MS-OOXML was initially
designed to be compatible with existing Microsoft closed formats, in comparison
to ODF, which was designed with the aim to achieve document interoperability.</p>
<h3 id="supporting-pre-existing-open-standards">Supporting pre-existing
Open Standards</h3>
<p>Whenever applicable and possible, standards should build upon previous
standardisation efforts and not depend on proprietary, vendor-specific
technologies. Albeit, MS-OOXML neglects various standards and uses its
own vendor-specific formats instead. This puts a substantial burden on
all vendors to fully implement MS-OOXML. It seems questionable how any
third party could ever implement them equally well, especially when a
standard comes with 6000 pages of specifications without serving its
<a href="/freesoftware/standards/minimalisticstandards.en.html">
minimalistic</a> purpose.</p>
<h3 id="proprietary-extensions">Proprietary extensions</h3>
<p>Proprietary, application-specific extensions are a known technique
employed in standardisation by vendors to abuse monopoly. Abusive behaviour
was at the core of <a href="/activities/ms-vs-eu/timeline.en.html">
the decision against Microsoft by the European Commission in 2004</a>.
For this reason, it is common understanding that Open Standards should not
allow such proprietary extensions, and that such market-distorting techniques
should not be possible on the grounds of an Open Standard.</p>
<h3 id="application-independence">Application independence</h3>
<p>Standards should not depend on certain operating systems, environments
or applications, since application and implementation independence is one
of the most important characteristics of all standards. Nevertheless,
MS-OOXML includes references to particular Microsoft products.</p>
<h2 id="conclusion">Conclusion</h2>
<p>MS-OOXML Strict does not serve its purpose as Open Standard. It was
deliberately never implemented, to allow its transitional proprietary
version to gain more ground as a default format for MS Office and to keep
people locked in to proprietary solutions. <a href="/freesoftware/standards/standards.en.html#what-can-you-do">
See what you can do about it.</a></p>
</div>
</body>
<sidebar promo="our-work">
<dynamic-content/>
<h2>Table of Contents</h2>
<ul>
<li>
<a href="#what-is-microsoft's-ooxml">What is Microsoft's OOXML?</a>
</li>
<li>
<a href="#how-did-we-get-there">How did we get there?</a>
</li>
<li>
<a href="#is-ms-ooxml-a-true-open-standard">
Is MS-OOXML a true open standard?
</a>
</li>
<li style="padding-left:10px;">
<a href="#dual-standards">Dual Standards</a>
</li>
<li style="padding-left:10px;">
<a href="#compatibility-and-interoperability">Compatibility and interoperability</a>
</li>
<li style="padding-left:10px;">
<a href="#supporting-pre-existing-open-standards">Supporting pre-existing Open Standards</a>
</li>
<li style="padding-left:10px;">
<a href="#proprietary-extensions">Proprietary extensions</a>
</li>
<li style="padding-left:10px;">
<a href="#application-independence">Application independence</a>
</li>
<li>
<a href="#conclusion">Conclusion</a>
</li>
</ul>
<h2>Further reading</h2>
<ul>
<li>
<a href="/activities/msooxml/msooxml-interoperability.html">FSFE Context Briefing: Interoperability woes with MS-OOXML
</a>
</li>
<li>
<a href="/activities/msooxml/msooxml-idiosyncrasies.html">FSFE Context Briefing: DIS-29500: Deprecated before use?
</a>
</li>
<li>
<a href="/activities/msooxml/msooxml-questions.html">Six questions to national standardisation bodies
</a>
</li>
</ul>
<h2>External links of interest</h2>
<ul>
<li>
<a href="http://www.groklaw.net/articlebasic.php?story=20061208135621706">Article on Groklaw: Novell's "Danaergeschenk"
</a>
</li>
<li>
<a href="/activities/msooxml/msooxml-questions-for-ms.html">Article on BBC: Questions for Microsoft on open formats
</a>
</li>
<li>
<a href="/activities/msooxml/msooxml-converter-hoax.html">Article on Heise.de: The converter hoax
</a>
</li>
</ul>
</sidebar>
</html>
<!--
Local Variables: ***
mode: xml ***
End: ***
-->