Tue, 10 Jun 2008

I'm confused about ODF. Remember a few years back when we kept reading
about how governments and schools and everybody else should switch away
from proprietary formats, and therefore they should use software
that supported the open international standard of ODF (Open Document
Format)? Never mind that at the time, there was only one program
in existence that could read ODF (the then brand new Open Office 2,
usually present only on new installs of cutting-edge Linux distros).
Honest, we were told, lots of other open source word processors
(meaning basically Abiword and Kword -- are there others?)
would soon add ODF support in their upcoming releases -- so
everybody should stop using .doc now and switch to Open
Office 2.0.

Fast forward a few years. Now all the open source word processors
support ODF, no problem, and there's even a plug-in available for
MS Word even though MS is fighting with their usual underhanded
tactics to get their latest Word format (OOXML) blessed as a standard too.

Meanwhile, Open Office 3.0 is in beta ... and since it actually has
comment support that's usable (you can write new comments and read
existing ones, and even see where they were in the document),
I downloaded a copy and have been using it.

OOo 3.0 beta has a lot of problems reading and writing to .doc
format, as it turns out. If I save something in any of the (three?)
available .doc formats, then read it back in, lots of the formatting
will have disappeared or changed. And about half the time, .doc
files that I write will crash Dave's copy of Word 2003 if he tries
to read them (yes, crashing says more about the quality of Word 2003
than about the quality of OOo 3 ... until you try to explain to your
editor why your documents cause Word to crash.)

Anyway, I decided that the way to go was to save my intermediates as
ODF until they're ready to submit, at which point I'll export a copy to
Word 2000 format. Sounds straightforward, right?

So today, I was on the laptop (which doesn't have OOo 3 beta) and
I used Ubuntu's existing OOo 2.4.0 to read in one of those .odt
files I'd been saving.

And I got this warning:

This document was created by a newer version of OpenOffice.org. It may contain features not supported by your current version.

Click 'Update Now...' to run online update and get the latest version of OpenOffice.org.

I'm a little confused now. Wasn't ODF (.odt) was the format we were
all supposed to use because it was an international standard, and
therefore documents written by any program could be read by any
other ODF-supporting program? And no one would be tied to any
particular program or version?

I double-checked OOo 3's "Save as" file type menu, and the format
I was using was:

ODF Text Document (.odt)

I don't see anything there about "OpenOffice 3.0 format (may not be
readable by earlier versions or by other programs)." I just see the
exact same string OOo 2.4.0 gives me for ODT -- for a format that
apparently is not the same. Even Microsoft at least gives the option
in Word of saving in formats that older Word versions used.
It looks to me like ODF in OOo3 is a step backward, not a step forward.
(In fact, it looks like OOo2 is reading the document just fine ...
but I can't be sure after seeing that warning, and will have to check
it very carefully before I send it anywhere.)

Can one of you ODF-enthusiasts please explain where I'm going wrong
here, and why it makes sense to define an international standard
format that's nevertheless different depending on what software
wrote it? (I know this blog doesn't have comments, but I promise
to publish here any comments I get if you say you want them
published (and only then ... private comments are okay too).
Here's my contact page.

Update, Jun 11 2008:
Two helpful replies this morning.

Markku Korkeala tells me that the ODF standard has more than one version.
OpenOffice 2.x writes ODF 1.1, while OO 3 writes 1.2.
He also points me to Rob Weir's
ODF
Validation for Dummies, which includes a long discussion on
XML validation methods (specifically, validation of ODF vs.
Microsoft's OOXML).

Harm Hilvers writes a longer reply with some more useful
information, which I'll include here:

ODF is a standard, but it's a constantly developing one. This should
not be a problem, since as we all know the first ISO ODF was already quite
comprehensive and complete. Newer versions are making ODF even more
complete. This should not mean that ODF should be versioned in the Save As
dialogue (although there might be differences in the ODF version's
features) if OOo gives a list of the things that don't work in the older
OOo if a newer ODF document is opened.

Personally I don't use Linux, but Mac OS X, and I use both OOo 3 and Pages
(from the iWork office suite). Every time I open a Word document in Pages,
it gives me a list of things that weren't imported properly because certain
features are missing. OOo should do the same I guess: if a newer ODF
document is opened in OOo 2 and one of the newer features is used, it
should tell the user exactly that. That's a lot better than just telling
the user that something might be wrong (or not).

(Akkana here:) What an excellent solution! I agree with Harm: if OOo
had either mentioned ODF version numbers, or said something like
"This document may use the 'foo' feature, which is not implemented
in this version of Open Office", it would have gone a long way
toward making me feel better about using ODF.

I still consider it a problem, though, that
OpenOffice doesn't give you any option to save in a more backwards
compatible format, nor does either version of OOo give you any hints
about what might be incompatible. If you're using OOo 3 and you have
to send a document to someone using software that can only read ODF
1.1 or 1.0, there's no way of knowing how much of your document
they'll be able to read.

Thanks, both Markku and Harm, for the information.

Update, November 2008:
Tom Wright wrote to let me know that the OpenOffice 3.0 final
release does allow choosing between ODF 1.1 or 1.2. Excellent news!
That'll make it a lot easier to work with older versions.
Thanks to Tom for letting me know.