Interviews

Why you should never use Microsoft’s OOXML pseudo-standard format

14

The UK government recently announced that they would use ISO approved document standard ODF for viewing and sharing government documents. It’s a very important move because it breaks Microsoft’s vendor lock where single US-based company ‘owns’ and ‘controls’ all the documents created on Earth. Microsoft is infamous for using unethical means to make it harder for other players to offer any kind of interoperability with their products which can threaten Microsoft’s market share.

So we reached out to Italo Vignoli of The Document Foundation, the organization responsible for developing LibreOffice which is a fork of OpenOffice, to understand the risks of using OOXML…

Swapnil Bhartiya: What are the practical and technological problems by using Microsoft’s products or the OOXML format (DOCX, XLSX and PPTX extensions).
Italo Vignoli: MS Office locks-in the user not only with proprietary formats but also with the OOXML pseudo-standard format. This is due to the way the supposedly standard format is handled by MS Office.

In fact, each version of MS Office since 2007 has a different and non standard implementation of OOXML, which is defined as “transitional” because it contains elements which are supposed to be deprecated at standard level, but are still there for compatibility reasons.

Although LibreOffice manages to read and write OOXML in a fairly appropriate way, it will be impossible to achieve a perfect interoperability because of these different non standard versions.
In addition to format incompatibilities, Microsoft – with OOXML – has introduced elements which may lead the user into producing a non interoperable document, such as the C-Fonts (for instance, Calibri and Cambria).

C-Fonts are the default choice for MS Office documents, but their license forbids users of other office suites to adopt them for any document (as you must own a Microsoft Office license).

So, a LibreOffice user who receives an OOXML document will be able to open it properly, but the document will not look the same because the C-Font will be automatically replaced by another font.

Most of the times, the LibreOffice user will think that the document does not look the same because of LibreOffice and not because Microsoft intentionally induced him into this “visual incompatibility”.

So, using MS Office with the native OOXML format is a problem for everyone, and the more people are using OOXML the more non standard documents will be around.

Swapnil: OOXML was approved “illegally” as an ISO standard, despite ODF being already a standard. How much of OOXML specifications are used in Microsoft’s own products?
Italo: I disagree with the statement that OOXML was approved “illegally”. On the other hand, it was approved according to a “fast track” process which was totally inadequate for such a standard, and this gave Microsoft the opportunity of using “politics” instead of the usual process (which could point out that two document standards are a nonsense).

Actually, Microsoft is using OOXML specifications, but is not using them consistently between software versions as the nature of the standard would request. So, we have OOXML 2007 Transitional, OOXML 2010 Transitional and OOXML 2013 Transitional, in addition to OOXML 2013 Strict (which is not the default choice of Microsoft Office 2013, and therefore non one is using it).

MS Office users are not aware of this situation, and are producing a “rainbow” of document versions which are a problem for interoperability.

Swapnil: Interoperability between OOXML files created with MS Office and other offerings whether it be LO, Google Docs or Calligra is a nightmare. Which is the reason of this non-interoperability?
Italo: LibreOffice is the free office suite which offers the best level of interoperability with OOXML documents, although it is not and will never be perfect. The issue is related to the non standard management of the OOXML standard by MS Office, and also to C-Fonts.

Of course, Microsoft has introduced C-Fonts when it had to replace the proprietary document formats with a standard one (although mis-managed) in order to artificially extend the interoperability problems to the visual appearance.

Microsoft is extremely efficient when it comes to lock-in users, even with creative solutions. Of course, lock-in does not foresee interoperability, which is the opposite concept. Because of this, any kind of interoperability coming from Microsoft will include a degree of “creative” lock-in.

Swapnil: Is Microsoft doing something to make it harder for other vendors to work with OOXML?
Italo: Microsoft is apparently trying to make it easier to work with OOXML. Recently, the company has released the OOXML SDK under the Apache License (no doubt that Microsoft will ever release something with a true open source license such as GPL, LGPL or MPL).

The real actions against interoperability, though, will never be easy to spot. Microsoft is way too smart to let the ecosystem suspect of a potential issue with document formats based on a specific obstacle built into the standard. For instance, it took quite a long time to spot the C-Font trick built into the last versions of MS Office, and most users – including corporate IT managers – are still completely unaware of it.

Follow TFiR on Twitter, Facebook, YouTube and Reddit. Subscribe to our Weekly Newsletter
Swapnil Bhartiya
I have more than 12 years of experience covering Enterprise Open Source, Cloud, Containers, IoT, Machine Learning and general tech. My stories cover a very broad spectrum - traditional Linux, data center and Free Software to contemporary emerging technologies like 'serverless'. Widely Read: My stories have appeared in a multitude of leading publications including CIO, InfoWorld, Network World, The New Stack, Linux Pro Magazine, ADMIN Magazine, HPE Insights, Raspberry Pi Geek Magazine, SweetCode, Linux For You, Electronics For You and more.

Open Source is driving disruption in technology: Interview with Nithya Ruff of SanDisk

Previous article

Linus Torvalds explains why he created Git

Next article