Remix.run Logo
quotemstr 3 days ago

Some myths just won't die.

OOXML is complex because it has to be. It has to losslessly round trip through an open format every single feature of Office. That's a lot of features.

Yes, it's complex. Should Microsoft have cut features of Office just to make OOXML simpler? That's ridiculous. What about users who relied on those cut features?

It was fair to ask Microsoft to open the file format. It wasn't fair to expect them to cut features and compatibility. The complaints about complexity from RMS and others represent outsiders seeing the sausage factory and realizing that the sausage making is complicated and needs a lot of moving parts. Maybe life wasn't as simple as the Slashdot "Micro$oft" narrative would suggest. Maybe the complexity of the product was downstream of the shit ton of complexity and sweat and thought that had gone into it.

But admitting that would have been hard. Easier to come up with conspiracy theories.

clort 3 days ago | parent | next [-]

You are wrong. Microsoft was not asked to open the file format. There was an open file format already accepted as an ISO standard, so now they needed to make their product compliant with an ISO standard because companies around the world were going to prioritise that in their purchases. They did everything they could to ensure that their format was both an ISO standard, and impossible for somebody else to implement.

hdjrudni 3 days ago | parent | next [-]

From the article,

> First, OOXML was, in material part, a defensive posture under intensifying antitrust and “open standards” pressure. Microsoft announced OOXML in late 2005 while appealing an adverse European Commission judgment centered on interoperability disclosures. Thus, it was only a matter of time before Office file compatibility came under the regulatory microscope. (The Commission indeed opened a probe in 2008.)

> Meanwhile, the rival ODF matured and became an ISO standard in May 2006. Governments, especially in Europe, began to mandate open standards in public procurement. If Microsoft did nothing, Office risked exclusion from government deals.

So... maybe they weren't directly asked to open their file format, but what then? Adopt ODF which is surely incompatible with their feature set, and... just corrupt every .doc file when converting into the new format? And also have to reimplement all their apps?

jesus_666 3 days ago | parent [-]

Work with OpenDocument to get the necessary features into the next version of ODF while keeping national bodies informed about the status of that effort. In the meanwhile, allow Office to save (with reduced functionality) to ODF in order to fulfill the requirements of existing standards-oriented procurement processes. (Fun fact: They did the latter pretty quickly.)

Here's what they shouldn't have done: Undermine ISO's credibility by ramming a hastily-constructed, not-yet-implemented spec through a fast-track process intended for mature specs by stuffing national bodies. I see no reason to place Microsoft's short term profits over the integrity of international standards bodies, nor do I see one to excuse Microsoft for doing so.

jeroenhd 2 days ago | parent [-]

>Work with OpenDocument

Why on earth would they want to do that? Because they hate having money? Because they suddenly decided that opening the market to competition would be more important than the billions they stood to lose?

These standards determine the tools people use to communicate with tax offices and other government institutions. Thanks to their efforts (supported by as much corruption as necessary), Microsoft didn't have to invent a new file format and would let people just use the file format everyone was already using for official business.

Office allows saving as ODF already and has supported it for ages. It was never about supporting open standards. This is all about corporate interests.

I can't think of a single "open" format designed by a large corporation that isn't "open" as a way to make more money.

devnonymous 3 days ago | parent | prev | next [-]

Small change to emphasize the intent:

> because companies and governments around the world were going to prioritise that in their purchases.

Governments are the largest revenue stream of pretty much every large software company starting from IBM/Xerox to OpenAI. MS is well known to indulge in all sort of legally grey practices to win such contracts.

ranger_danger 2 days ago | parent | prev [-]

What companies around the world were prioritizing open standard file formats?

MattPalmer1086 3 days ago | parent | prev | next [-]

But they did define two variants to get their standard approved in the fast track process.

The Transitional variant which is entirely backwards compatible is not fully defined in a way that others can implement without reverse engineering how Microsoft Office does things.

The Strict variant isn't totally compatible with all older binary formats but is fully defined.

Guess which one is the standard file format?

troupo 3 days ago | parent | prev | next [-]

> OOXML is complex because it has to be.

What it didn't have to be is sections upon sections of "this behaviour is as seen in Word 95", "this behaviour is as seen in Word 97" without any further specification or context.

The main struggle for independent implementors was reverse engineering all the implicit and explicit assumptions and inner workings of MS Office software.

> But admitting that would have been hard. Easier to come up with conspiracy theories.

I actually read through a lot of that spec at the time. A lot of it was just lip service to open standards at a time when MS was under a lot of regulatory pressure.

mmis1000 2 days ago | parent | next [-]

> "this behaviour is as seen in Word 95", "this behaviour is as seen in Word 97"

The office relies on behaviour in windows itself "a lot". Even office mac or office web they made themselves isn't a 1:1 replica of the office on windows.

Let alone describe it as a standard.

"this behaviour is as seen in Word 95" sounds sloppy, but it is indeed the closest they can get.

Or what else can you do? You can't just also ship a installation media of word 95 and windows into the ISO standard, right?

troupo 2 days ago | parent [-]

> You can't just also ship a installation media of word 95 and windows into the ISO standard, right?

That's what they almost literally did. The spec is littered with "behavior of this program that has no specification and to see it you need to install it and run it"

And that's on top of re-inventing a bunch of specs in MS-only and MS-specific manner (like dates, for example)

qcnguy 3 days ago | parent | prev [-]

That stuff happens because Microsoft don't know what the behavior is. It's just a bit which forks Word down some ancient code path that nobody understands and isn't properly documented. Given the huge effort that would have gone into producing this thousand plus page specification, is understandable why the spec writers would have given up at times.

I expect most people posting on Hacker News would not be able to write a satisfactory specification for their own software if they are working a large legacy code base.

lozenge 3 days ago | parent | next [-]

This is correct and there's no point fixing the bugs because it means the layout of the document will change.

troupo 3 days ago | parent | prev [-]

> That stuff happens because Microsoft don't know what the behavior is.

They do. Or they did at the time. They literally had things like "save as Word 95" in their office suite.

> Given the huge effort that would have gone into producing this thousand plus page specification, is understandable why the spec writers would have given up at times.

Given the huge effort to produce it in unreasonable timeline they forced themselves into due to regulatory pressure, sure.

The whole OOXML came about only because some large governments said "well, we don't want to be beholden to black box document formats, and we might want a selection of vendors in the future, so ODF looks like a nice proposition compared to Word, actually".

So it was literally rushed through Ecma. MS submitted 2000 pages in December 2005, the spec grew to 6000 pages over the course of the yer, and got standardised in December 2006. So, only a year to significantly increase the spec and standardize it.

And then it was rushed through the ISO standards track which included things like "Swedish vote declared invalid, accusing MS of manipulating votes" https://www.linux-magazine.com/Online/News/Swedish-OpenXML-V... or "Netherlands automatically abstains from voting due to Microsoft" https://archive.ph/20120711220944/http://isoc.nl/michiel/nod... or "near unanimous 'No with comments' turned into 'Abstain' from Malaysia" https://web.archive.org/web/20090726171905/http://www.openma... or...

Google said it best: https://www.csun.edu/~hcmth008/odf/google_ooxml.pdf

--- start quote ---

In developing standards, as in other engineering processes, it is a bad idea to reinvent the wheel. The OOXML standard document is 6546 pages long. The ODF standard, which achieves the same goal, is only 867 pages. The reason for this is that ODF references other existing ISO standards for such things as date specifications, math formula markup and many other needs of an office document format standard. OOXML invents its own versions of these existing standards, which is unnecessary and complicates the final standard.

If ISO were to give OOXML with its 6546 pages the same level of review that other standards have seen, it would take 18 years (6576 days for 6546 pages) to achieve comparable levels of review to the existing ODF standard (871 days for 867 pages) which achieves the same purpose and is thus a good comparison.

Considering that OOXML has only received about 5.5% of the review that comparable standards have undergone, reports about inconsistencies, contradictions and missing information are hardly surprising.

--- end quote ---

Do not for a second assume that anything about OOXML was done in good faith. Well, apart from the thankless work that people assembling the standard did.

qcnguy 2 days ago | parent | next [-]

> They literally had things like "save as Word 95" in their office suite.

And what do you think that setting did? Forked execution down an alternative no longer maintained codepath instead of the rewritten version that wasn't quite compatible.

happymellon 2 days ago | parent | next [-]

Which shouldn't be in an open spec...

troupo 2 days ago | parent | prev [-]

Ah yes. All the changes made to word just continued to work magically when "forked down an alternative codepath no one knew about".

And if that's the case, why was that specified in OOXML?

mmis1000 2 days ago | parent | prev [-]

> save as Word 95

This is for format only and a lossy conversion.

Line break or whatever finer behaviour isn't preserved perfectly.

Or probably any conversion between different office version is a lossy conversion.

They (microsoft) truly don't know how their format behaves exactly at any time I believe.

Even office for mac or office for web behaves slightly different.

I don't believe they have a true spec (A pixel perfect one) about word document. Or they should use it on their office mac or office web first.

user3939382 3 days ago | parent | prev | next [-]

So you put extensions in the spec you don’t make it impossible for anyone else to implement. They knew open source suites were competing with them they did it on purpose.

quotemstr 3 days ago | parent [-]

> So you put extensions in the spec

... which are either public, in which case people complain that the spec+extensions is too long instead of that the spec is too long, or

... which aren't public, in which case people complain that there's no interoperability.

You can't win.

> impossible for anyone else to implement

Except for all the people who did implement it?

fsflover 3 days ago | parent [-]

> Except for all the people who did implement it?

It was never fully implemented. LibreOffice has been trying since then and there are always problems.

dullcrisp 3 days ago | parent | prev [-]

The…sausage has a lot of moving parts?