Working to Rule

Microsoft recently released service pack two (SP2) for their flagship office product, Office 2007. As I'm not a user of Microsoft products normally I wouldn't have noticed, but Office 2007 SP2 had an important new feature for users of Open Source office productivity software that made me pay attention.

SP2 contains Microsoft's first native implementation of the file format Open Document Format (ODF), originally created for Sun's Open Source OpenOffice product. ODF was standardized by the International Standards Organization (ISO) before Microsoft's rival Office Open XML (OOXML) and is seen as the competitor to Microsoft's offering for the future of XML based office file formats, so Microsoft implementing it in Office is a big deal.

With the implementation of ODF in SP2, we finally have one portable office file format, accepted and implemented by most office productivity software. That's the theory, right? The devil, as always, is in the details.

IBM's Rob Weir, chair of the ODF Technical Committee and one of the people involved in the design and standardization of ODF examined Microsoft's implementation of spreadsheet interoperability. He specifically looked at the case of spreadsheets using formulas (which in practical terms is most spreadsheets that users would create and use), and he published his findings here.

I'm not going to go into great technical detail of what Microsoft actually did wrong in their implementation, Rob does an excellent job of that in his blog. Let's just look at an overview instead. In short, Microsoft managed to reduce interoperability between office productivity software by their implementation of ODF inside SP2.

How can this be? After all, ODF is an ISO standard. Surely if you implement a standard fully, which Microsoft claim to have done in SP2, then you must have an interoperable product. So long as others also implement the standard as written then everything should just work together. That's the way things are supposed to work.

One of the reasons is that standards themselves are often not perfect. Microsoft and their attendant band of astroturf bloggers are already raising a hue and cry over Rob's findings, claiming the ODF standard itself is at fault, and in some cases calling for his resignation as chair of the ODF Technical Committee for the heinous sin of pointing out this emperor has no clothes.

They are right about the ODF standard of course. It is missing a proper definition of spreadsheet formulas. This is the truck-sized hole that Microsoft drove through in their implementation. Sure Excel saves formulas in ODF documents, just in a separate namespace where no other application is currently designed to look for them. The result is that anyone trying to open an ODF spreadsheet created in Excel will have it rejected. Excel reading an ODF spreadsheet created by another application does something worse, it will use the last value for the data in the spreadsheet cell that should be governed by the formula. The formulas themselves are silently dropped.

Yet Microsoft Office SP2 claims to have a fully compliant version of ODF, and that's probably true, as defined by the specification. It's just completely useless at interoperating with other vendors products. This is not interoperability, it's an attack on the very concept.

Unions are not popular in either the USA or the UK any more, which I think is a sad state of affairs. My first action on getting my first job in the UK was joining the local Union. So for those readers not experienced with Union activity I'd like to explain the concept of "Working to Rule". When a Union is trying to negotiate with management there are a broad range of options they can take before using the ultimate weapon of going on strike. One of these tactics is "Working to Rule". Normally in a working day, there are hundreds of small rules that people ignore in order to get their jobs done. From refilling the coffee machine for themselves (which could be a health and safety hazard, if you really think about it) to fixing small problems with the machines they use for the job. "Working to Rule" means deliberately obeying every single one of these rules. Coffee machine out of water? "Not my job mate." Ethernet cable fallen out of a machine? "I'm a programmer, not a hardware engineer. Someone had better come and fix that for me." I'm sure you get the idea. Punctilious observation of every possible rule in order to disrupt orderly working.

This is what Microsoft has done with ODF in SP2.

They've done this before.

When Windows NT was first announced, one exciting new feature was the concept of "subsystems". Windows NT was to be a chameleon operating system. Not only would it run Windows binaries, it had two other "subsystem personalities", OS/2 and POSIX. Yes, that's right, Windows NT was originally a fully POSIX compliant operating system. POSIX is the standard for UNIX programs, meaning you could re-compile the same source code on any POSIX compliant system and it was guaranteed to work the same. POSIX was popular in government contract specifications, as it was supposed to save the government money on IT systems by forcing vendors to be interoperable.

I remember getting my hands on the first beta of Windows NT, starting up the POSIX subsystem and trying some code out on it. It was a joke. Networking? That's not part of the official POSIX spec, so no access to the network. Windowing? That's not in there either, so no fancy graphical interfaces for your POSIX programs, pure text based code only. Anything not fully mandated by the spec was ripped out. Yes, it could pass the pure POSIX conformance tests, but that was all it was able to do. No useful code could run on this system, as all of it expected something more than the basic standard, which most other POSIX vendors had managed to create de-facto standards around. The Windows subsystem even had some of these de-facto POSIX-like standards (the Berkeley sockets networking interface for example) but these were explicitly excluded from the Windows NT POSIX subsystem. The only purpose was to allow government purchasers to check the box marked "POSIX compliant" but allow them to purchase completely proprietary Windows solutions, and that's just what they did. It implemented the letter of the law, whilst completely ignoring the spirit of it.

So how do you do real interoperability? Well I like to think that my own project Samba could teach engineers a thing or two about how to do that. We're working from specifications for the Common Internet File System (CIFS) protocol that are not an official standard, but we go out of our way to make sure we work with other vendors implementations. We attend interoperability testing conferences, where we work with the engineers of other vendors (including Microsoft engineers) to ensure that customers deploying any of our implementations don't get any nasty surprises. We've changed our code to work with Windows 95 and 98, Windows mobile, Windows CE, Windows 7, Network Appliance, a host of un-named embedded versions of CIFS in different appliances, even old versions of OS/2. It's not hard, it's just careful, detailed work. The only rule is to follow the words of the Internet Engineering Task Force (IETF) for interoperability, "Be conservative in what you send, be liberal in what you will accept."

If we simply worked from a specification, we'd end up with a product that would work with itself, but would have no chance of working in the real world with other vendors implementations. Very similar to what Microsoft have produced with Office 2007 SP2's ODF support.

A complete cynic would say that was what was intended. That Microsoft, being the dominant vendor of office suites, would only benefit from creating an implementation of a competing standard that was worthless for interoperability. That causing confusion in the marketplace like this was designed to make customers scuttle back to the safety of only using Microsoft Office and the endlessly mutating versions of .DOC or .DOCX, as these interoperability issues are at least problems the customers have learned to live with over the years.

But I've seen Microsoft do better than this. I've worked with their engineers on CIFS, they've attended interoperability events, they've even logged bugs on Samba when they've found problems. They know how to do this properly.

But what we currently see in Office 2007 SP2 is still "Working to Rule" in every sense of the phrase.

Jeremy Allison,
Samba Team.
San Jose, California.
May 2009.



Comments

Another good term:

That would be a good argument if Linux was POSIX compliant too

But as for ODF im sure its easy to blame an incomplete and poorly thought out "standard" and try to enforce people to use it.

Standarndards generally evolve from what is most popular, like batamax and VHS video. Betamax may have been the better technical standard. But VHS was by far the most popular (except in studio's) and VHS became the standard.

History is littered with failed standards that did not meet the requirement of being popular and being wanted and used by the majority.

You really need to talk to Alex Brown, you know the document-format expert who is convenor of the process to standardise Office Open XML (OOXML).
Who has reported that Open Office.org (OO.o) does not conform tothe international Organization for Standardization's (ISO's)) version of the OpenDocument Format (ODF) STANDARD..

"Therefore there are no documents in existence which are vlid to ISO ODF"

So please clean up your own house, before throwing stones in others no so glass houses.

Im so sick of this dirty politics that FOSS uses, its so common is politics when the politician has little or nothing to offer, resorts to trying to degrade the opposition. To make themselves look better by default.
We do see it for what it is, and most of the world see's it as well. but FOSS seem to live is this fantisy world where the rules are life are somehow different.

No wonder no one (virtually) really trusts FOSS.

Try this, doing something good and independent, use innovation, and stop stealing and copying others peoples success.

Good luck with that !!! :)

Responsibilities

So who in the ODF standardization forum is responsible for finalizing an ODF standard which is incomplete in regards to formulas which permitted Microsoft to claim compliance in implementation while at the same time there is no interoperability? I always thought in a standard you first list all the necessary and desired features and then finalize the standard. Not finalize something and improve on it later. Sorry, but someone from the interoperability side messed this up, too, probably because of lazyness or incompetence.

a FOSS user

Slight Inaccuracy

FYI, Alex is not the convenor of ISO/IEC JTC1 SC34 Working Group 4, that is Makoto Murata.

http://en.wikipedia.org/wiki/Makoto_Murata

However, Alex is a member of that working group.

I also suggest that the first port of call for a view from an authority is the Editor for ODF, Patrick Durusau:

http://www.durusau.net/publications/whats_to_like.pdf

Rob does have a tendency of whipping up a frenzy around the Office file formats, so please read widely to get a balanced view.

Thanks

Gareth Horton
Datawatch Corporation

dirty politics that FOSS uses?

What about all the dirty politics that Microsoft uses? Doesn't MS degrade their opposition with all kinds of "wild" accusations? TOC is on they seem to play up again and again. What a joke.
It seems to me that most of MS products aren't their own, like the author said, many have been purchased and re-branded.
No wonder no (virtually) really trust FOSS? Do you have stats to back that up?

Yeah, Microsoft is perfect....not

I've had compatibility problems reading documents created by Word 2003 and opened in Word 2007, and vice-versa. The Word team can't even get their own proprietary format compatibility working correctly!

Let me say that I've used Open Office, and that I don't recommend it to friends, in large part because of issues of interoperability with Word, but also because of basic UI issues. I'm not a fanboy of Open Office, though I would support if it were good enough. I have to assume that writing a word processor is much, much more difficult than it seems, considering how many subtle ways OO gets things wrong. It makes me sad.

But this article is not dirty politics: The de-facto standard implementation of ODF is Open Office, and no one with any credibility would claim otherwise. So to claim to support ODF, and then to NOT support interoperability with Open Office, is disingenuous at best.

shill

nuff said.

Fanboyz....

Well, I get sick of MS Fanboyz.... When OOo cannot fully read / write the closed MS Office format, it is OOo's fault. When MS willfully (read Rob Weir's piece!) issues a broken implementation, it is the standard's fault.

MS have ALWAYS made abuse of the gaps in standards to create their own implementation of any standard. Their HTML implementation in IE had enough incompatibilities to warrant for a deviation. They implemented their own IPX stack in the days of Novell that was just a bit different. They come up with Silverlight when the whole world uses Flash, and use strong-arm methodology to get customers to use it. They come up with proprietary codecs in their media player to push things like Theora and Vorbis away. They force an OOXML standard through OSI's throat and don't adhere to it themselves. Their Exhange server sucks when it comes to e.g. WEBDAV compliance. I am sure there is more, but I cannot be bothered.

Bottom line: MS are the king of non-interoperability. They have a history of locking in customers on purpose. What the hell makes anybody think that this time the ODF standard is to blame? Either their Interoperability Directors, Analysts and Programmers are really too dumb to create something that just works with other implementations or they break things on purpose. You take your pick.

Skip MS Office

The only solution get people/companies/organizations to migrate away from Microsoft products. Start by using OpenOffice and ODF instead! Stop buying machines with preinstalled Windows (or demand a Windows refund). A modern Linux distro works for all normal usage (Browse web, Office, Printer, WLAN, camera, etc)

Re: Alex Brown

> You really need to talk to Alex Brown, you know the document-format expert who is convenor of the process to standardise Office Open XML (OOXML).

That wouldn't be the Alex Brown who presided over the BRM which pushed through OOXML as an ISO standard, would it?

I say nothing.

Not Surprised

Ahhh yes.... seems like the same issues popped up before during the MS Java years... look MS has never innovated, they buy tech, revamp, re skin and call it their 'innovation'... don't get your knickers in a twist... think sharepoint was an MS 'innovation' think again.. the same with their Excel, Word, etc..etc..

The only thing they 'innovate' is new marketing schemes and lock in for the betterment of their bottom line while being a detriment to the bottom line and wallet of everyone else.

They started out as the 'bottom basement' of software and think that buying their way up by pricing, dirty deeds and lock in, has made them somehow the crown jewels is laughable.

Now so as not to start a rage from those that suckle at the 'MS weenie' for their daily dose of ummmm....kool-aid. Let me be clear, I use their products (some of them) not by choice, but to go down a notch so that others can comprehend pretty pictures.

In proper terms and education the 'software / computer' is a tool for the user in the MS world of education (or lack thereof) the user is a 'tool' (lol)... or in terms better associated with the standard MS fanboi just a repository dump for the kool-aid from the 'MS weenie'

"Work to Rule"

Your label, Work to Rule, sounds very much like what I used against a supervisor (and Vice President of the company) when he tried to micro-manage computer assisted drafting in the company (without knowing the software or even how to turn on a computer). I called it "White War", though I don't claim that the term was original to me. After a sufficient amount of that, and before he actually got to the point of thinking of firing me, I started my conversations with him by saying, "what do you THINK you want?" That made him stop and think. THEN, he was open to discussing the problem and possible solutions.

The problem with using either "Working to Rule" or "White War" as a weapon is that one has to KNOW what the other thinks he wants to be able to use it successfully. To only apply it as a means of achieving what YOU want can result in failure. I was fortunate enough to be able to realize where he wanted to go, and that his methods would not achieve that goal, but the only way to convince him was to give him what HE wanted - absolutely and without fudging.

Microsoft has yet to learn that valuable lesson

I've also heard of "White Mutiny"

apparently the military equivalent of "Work To Rule", in which all orders are obeyed *precisely* as given.

Of course, all standing regulations must also be obeyed -- and if the officer's orders conflict with regulations, an oh-so-respectful discussion ensues as to how the commanding officer suggests the order may be obeyed without breaking the rules...

Bernard Swiss

Back to top