OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

office message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Proposal to amend TC charter, re interoperability with non-conformant applications

On 5/3/07, David A. Wheeler <dwheeler@dwheeler.com> wrote:
> Marbux:
> > The present situation boils down to two issues: [i] can full fidelity
> > interoperability with MS Office be achieved in light of the vote just
> > taken;
> I believe the answer is "absolutely!".  The majority-vote proposal uses 3 keys, instead of 2, but bidirection mapping should be fine:
> * MS XML -> ODF is trivial, because it's trivial to map 2 keys into 3.
> * ODF -> MS XML is generally easy, but in certain cases it can be more complex to map 3 into 2.  The main issue is that in certain cases the ODF->MS XML will require special handling, but  those conditions (and solution) are the same kind of special handling that Fleurian's proposal requires.
> In certain cases, the accepted proposal can represent numbering systems that MS XML and Fleurian's proposal CANNOT represent at all.  Obviously, if MS XML cannot represent it, then it can't be accurately transformed, but clearly that didn't originate in .doc or MS XML anyway.  I don't think we need to apologize that ODF can do a lot of things that MS XML simply cannot.
I agree on an apology not being needed, but a solution is. The only
solution to those kinds of problems I've become aware of is an MS
Office profile/interop subset of ODF with corresponding compatibility
modes implemented in ODF apps.

> I don't see a problem round-tripping MS XML and ODF.  However, it IS true that after round-tripping MS XML -> ODF -> MS XML the generated XML would be different.  But that's true for MS Office too, just by loading and saving, so it's not clear that's a big deal.  It might be useful to document a "suggested mapping" each way, so that round-trips would LOOK similar.  But rather few Microsoft users examine the XML directly :-), and as long as exchanging doesn't lose data you should be fine.

I am not so concerned with 1:1 rendering of data (the visual
presentation). My concern is that there has to be a non-lossy,
transparent-to-the-user way to convert data in both directions, across
multiple applications, both for the migration use case and for the
business process use case. If we don't achieve that, then the
Microsoft vendor lock-in is left standing in the enterprise/government
markets and we might more productively redirect our efforts to
salvaging the Microsoft/Ecma Office Open XML monstrosity instead of
continuing development of ODF.

I do not believe we can realistically hope to achieve ODF critical
mass in the market if we close our eyes to the high-end data
conversion fidelity use cases. Because of legislated mandates like the
E-SIGN and Sarbanes-Oxley acts, lossy data conversions are not a legal
option for governments and enterprises except in Third World nations
willing to accept lossy migrations to ODF. As the maintainer of the
ODF Fellowship Precedent page who wallows in the relevant reports,
<http://opendocumentfellowship.org/node/91>, I see clear trends in
government adoption decisions and implementation of ODF.  ODF adoption
decisions are legion. But looking at implementation gives a different
picture. E.g., there is a clear trend toward ODF in new government
programs and in educational programs, where there is no requirement
for compatibility with legacy documents. But in programs that of
necessity have to deal with legacy documents, things are proceeding
much more slowly. In other words, we're largely picking the
low-hanging fruit but in danger of grinding to a halt on the
conversion fidelity front. Soon we will largely run out of low-hanging

And if you look at the very few large shops that have actually
successfully made the transition from Microsoft Office to ODF apps
like the City of Munich, it's clear that non-lossy migration-to-ODF
costs are clear off the radar screen for government bodies that don't
have money to burn. So I'm seeing a decisive crunch coming. Microsoft
sees it too, which is why they are stressing conversion fidelity and
the business process use cases in their Office Open XML lobbying
materials. If Microsoft didn't see it, they would be backing off on
their software piracy campaigns outside the industrialized nations,
which is what is driving most Third World government's decisions to
adopt ODF. It's clear that crunch time comes when folks with high-end
conversion fidelity requirements actually have to begin implementing
their transition to office XML formats. If we have no full fidelity
conversion capability, ODF loses because of Microsoft's presently
overwhelming market share and those billions of binaries we hear so
much about. Can't integrate those legacy documents with ODF
applications without assurances of no data loss? -- Boom! Microsoft's
vendor lock-in triumphs again.

I am not saying that seamless interoperability with MS Office is
everything in the enterprise/government markets, only that ODF doesn't
stand a chance to have its other virtues seriously considered in the
vast majority of offices with high-end conversion fidelity
requirements without meeting those requirements.  And the clock is

> You propose:
> >    7. it must provide all feasible functionality required to suppport
> > full fidelity conversions from and to existing office document binary
> > file formats.
> I think many of us are working on that, but defining "full fidelity" is tricky.  MS XML doesn't have "full fidelity" in the sense of absolute page placement of all items (change printers and it'll reformat the page).

Precise page placement is not an issue with me so long as internal
document references remain  clear, e.g., "see Fig. 1 in left column."
Renumbering list items -- or any other data loss -- when converted is.
E.g., the E-SIGN Act requires preservation of "information." I expect
that the courts will ultimately arrive at a common-sense
interpretation of such terms and not require visual replication except
to the extent that placement impacts the meaning of data.

If the proposal requires clarification as to the meaning of "full
fidelity," I'm open to that.

I'd change "existing" to "existing widely-used", and drop the term "binary".

That's acceptable to me.

So here's an effort to combine your last two suggestions:


  7. it must provide all feasible functionality required to support
conversions without loss of data from and to existing widely-used
office document file formats.


> Also, "all" is a little tricky.  It's quite possible to create a spreadsheet formula that depends on non-portable semantics NOT agreed on by other spreadsheets, for good reasons.  E.G., A1+5, where A1 contains the text "4", will produce 5 on many spreadsheet programs but 9 on Excel.  It is LEGAL for spreadsheet implementations to convert the text "4" to the number 4, but NOT required (due to internationalization issues, which are discussed in the formula spec); Word Perfect Quattro Pro, OpenOffice.org, IBM/Lotus 1-2-3, and probably others always convert text in another cell into 0 when a number is requested.  In such cases we make it POSSIBLE to exchange with full fidelity, but clearly document that some constructs are NOT portable.  This is no different than with C compilers; gcc accepts many constructs that are NOT legal C code, but are product-unique extensions... if you want portability, you need to stay within the set of PORTABLE constructs.
> On the other hand, the we've certainly worked hard to make it POSSIBLE to exchange with extremely high fidelity.  Again, examples from the formula spec.  There are only a few cases in the formula spec where we define a function with semantics specifically DIFFERENT than Excel, and in those cases we define a way to get Excel's semantics.  The examples that come to mind are FLOOR and CEILING; in Excel, these have horrific definitions that are completely contrary to their normal mathematical meaning.  We define these functions instead with their normal meaning, and add extra parameters so that you can also get Excel's bone-headed semantics in case you need them (primarily for exchange).  If you use FLOOR and CEILING in the usual mathematical way, you can't send them to Excel because Excel doesn't actually have that functionality... but if you use the forms that Excel can handle, a 2-way exchange is trivial (though requiring some parameter twiddling).

Does it help to consider that the meaning of the adjective "all" in
the text I suggest is limited by the subsequent adjectives "feasible"
and "required?" I'm open to changing the text if clarification is
required, but I'm not convinced yet that my language doesn't account
for your examples. I'm intending that language to specify a minimum
goal rather than to place limits on how the goal is implemented,
beyond the fact that the minimal feasible functionality has to be in
the specification as opposed to being implemented separately by
different ODF developers without guidance in the specification needed
for cross-application interoperability.

> I think many of us are working on what you MEAN by that text, but defining what we mean is difficult.
As an ex-lawyer (I love that phrase), I've got a lot of experience in
drafting language people can agree on. More cases do settle than are
litigated to a conclusion, after all. Plus we'll have the archive of
the relevant discussion to fall back on as well, assuming the charter
change is adopted.

I appreciate your constructive criticism, David.

Best regards,


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]