There has been quite a lot of heat (and rather less light) in the blogosphere lately on the topic of document conformance, and – in particular – on the topic of whether Microsoft’s newly released Service Pack for their Office suite is conformant to the Open Document Format (ODF).
Conformance is, in reality, a complex topic. When we are considering the conformance of an office application there are really two distinct types of conformance at issue:
- Document conformance
- Application conformance
Simply put, document conformance is an assessment of whether the documents emitted by an application are as the specification says they must be; application conformance is an assessment of whether an application does what the specification says it must.
In the overheated blogs, one can find many pronouncements about what might (or might not) be conformant, but disappointingly few informed readings of what the ODF specification actually states about conformance. Curious readers might what to investigate further and decide for themselves …
There Are No Rules
The specification to consult is Open Document Format for Office Applications (OpenDocument) v1.1, specifically section 1.5 on “Document Processing and Conformance”. From this we learn various things about validity and foreign elements, and the section closes with these words:
There are no rules regarding the elements and attributes that actually have to be supported by conforming applications, except that applications should not use foreign elements and attributes for features defined in the OpenDocument schema.
It is not necessary to re-word or interpret what is written here – the meaning is plainly stated in exactly the place we’d expect to find it. Consequently we can confidently describe ODF as a very liberal specification indeed, and know it is very hard for an application to be non-conformant, so long as its document processing behaviour passes the technical XML validation and namespace tests stated earlier in this conformance section.
So while issues of document portability and application interoperability may well be worth discussing, I cannot see from this reading of ODF 1.1 how a discussion of application conformance is relevant to the new service pack from Microsoft.
Personally, I believe this conformance statement in ODF 1.1 is badly misconceived, and I am glad that the conformance requirements of the ODF 1.2 draft have been beefed-up – even though applications are still free to omit support for features of the specification and still claim full conformance. The “application description” feature in OOXML gets it right, I think, by introducing the concept of defined feature sets which conformant applications can claim to support (or not).
Going Beyond the Spec
Document conformance and portability is a problem for ODF, as it is for any similar specification, and in recognition of this OASIS has wisely created the OASIS Open Document Format Interoperability and Conformance (OIC) TC who are busy working on the wider issues of conformance than those envisaged within ODF itself. This work is very important and I am very happy to see it underway.
OOXML needs to have a parallel activity, as its specification too will not, on its own, be sufficient to guarantee the degree of document portability or application interoperability that users rightly demand. This is a theme I hope to return to in coming blog entries over the next couple of weeks …