Rick Jelliffe: I have long-standing bias towards plurality, I don’t think that standards should be about stifling rich computer environments but enabling them: some overlap between standards is good.
+1
Rick Jelliffe: I have long-standing bias towards plurality, I don’t think that standards should be about stifling rich computer environments but enabling them: some overlap between standards is good.
+1
There are a number of potential objections to OOXML. It is all too easy for those incented to do so to identify spurious ones in such a list, and thereby discredit the whole.
The anti-choice objections are amongst the weakest.
As wikipedia (currently) reflects: There is little really universal agreement about the usage of either of the terms “open” or "standard". In my mind, the reason for this is simple: the definitions put forward deal with potentialities instead of measurable realities.
I prefer simpler definitions. A standard is one that has multiple, inter-operable, independent implementations. An open standard, at least in the software world, is one where at least one of those implementations is open source.
Even with this simpler definition, a spectrum exists. Web developers tend to find ECMAScript more interoperable than the W3C DOM, at least with respect to ubiquitous extant implementations. Samba is clearly open and yet interoperability (in particular, the potential for future interoperability) continues to be an issue. I would also continue to assert that the classic PowerPoint binary formats fit into this spectrum.
At the present time, OOXML fails to achieve either criterion. Could OOXML potentially foster multiple complete independent implementations? Could OOXML potentially be completely implemented by an open source implementation? Both of these questions are subjects of endless debate. OOXML will continue to be controversial until these issues are addressed.
By contrast ODF undeniably meets both criteria.
may be implemented
That’s an example of a potentiality that I would prefer to avoid. People can (and will) differ at length as to whether or not OOXML (for example) is implementable by anybody other than Microsoft. Until it is actually done, nobody can be sure.
I don’t think an open source implementation is sufficient to call a standard ‘open': what if the implementation is a sprawling mass of code in a language that can’t possibly run in the environment I’m targeting?
My personal definition of what makes a standard 'open’ has long been ‘can I imagine a talented developer building an implementation of this (or at least something useful based on it) in 6 months?’ Most of the really good open standards are also simple enough to be understood and implemented in a meaningful way in a relatively short period of time, while the standards that lack open source support tend to do so because they are too complex for an initial implementation to form; their complexity acts as a barrier that makes the standard appear to be closed or proprietary.
Comparing HTML/XML/CSS with ODF or OOXML is interesting. Both can represent the abstract structure and concrete style of a document, but for me only CSS provides a rendering model that is solid enough to claim it is open. ODF and OOXML require a developer to invest a lot of time understanding the undocumented rendering quirks of the de facto implementation of the standard, taking it well beyond the realm of one developer/6 months.
what if the implementation is a sprawling mass of code in a language that can’t possibly run in the environment I’m targeting?
My primary issue with most definitions of open is that they accept things with an unproven ability to be implemented in an open source manner by an independent third party, not that the software can run in every niche environment or that some implementation exists that meets some subjective standards of “well written”.
My personal definition of what makes a standard 'open’ has long been ‘can I imagine a talented developer building an implementation of this (or at least something useful based on it) in 6 months?’
I definitively sympathize with this, but it is way to subjective and too easy to skirt. For example, WS-* is a large collection of small standards, each relatively small, and fairly independent.
Especially the OOXML spec has a lot of stuff that is related to micromanaging esoteric layout bugs and features of legacy apps. What is often disregarded, though, is that the visual exact layout duplication depends on the originator of the document and the recipient having the same fonts and the same font rendering subsystem. Rendering text is so complicated these days that it would be naïve to expect FreeType, Microsoft, Adobe and Apple (to mention the top 4) interoperate 100% even with the same text and the same font file.
Taking a document to a different system with different fonts means changing the algorithm (engine) and part of the input (font) and still expecting the same result! Tweaking the details around this problem is missing the point.
The only format that works around this is PDF which puts the glyph placement on the generator side and ships glyphs and their positions over to the recipient. Of course, the result is final-form with rigid lines. The alternative is taking the HTML/CSS approach and saying that text reflow on the client is a screaming feature and not a bug.
Anyway, trying to achieve PDF-like results (which many people seem to expect from word processing files for some reason) without doing what PDF does is an exercise in futility. You are still hiring Guillaume Portes’ font engine and font portfolio.
exercise in futility
That may very well be. I particularly like this comment by Maynard Handley.
But it may also be true that reasonable people disagree on that. Even if they don’t, every once in a while somebody manages to do something that everybody else thinks isn’t reasonable. Heck, even HTTP and HTML sound insane when you think about it.
*shrug*
I just don’t see any reason to object to other people spending their resources to pursue their dreams. On that point I agree with Rick.
if a year from now, OpenOffice and other office suites (say GNumeric and others) have support for OOXML (there’s already a lot of talk of this happening) - would you call it an open standard then?
If this support is widely viewed as inter-operable, then yes. In fact, it is likely the quickest path to silencing critics, or at least changing the conversation to tangible terms. If you read my continue to assert link above, you will see that such thinking was the cornerstone of our thought process regarding the open sourcing of IBM’s SOAP4J through the ASF.
Since you identified yourself as associated with Microsoft, please permit me to share an observation / open question. I was once involved with ECMA’s TC39 TG3. In fact, I was the one who encouraged Miguel de Icaza to join.
Mono contains an open source implementation of ECMA 335. The degree to which this implementation is perceived to be inter-operable with Microsoft’s implementation is something that Microsoft could do more to foster, if that is something they truly felt was important.
To what extent does Microsoft want OOXML to be viewed as an Open Standard?
“To what extent does Microsoft want OOXML to be viewed as an Open Standard?” I think the main question at hand is whether it should be an ISO standard, not whether it is “open”. There are all sorts of open and non-open (by your definition) ISO standards, offered with different intellectual property licensing terms. All sorts of industries manage to function and interoperate via standards that are not open or free. I do agree with the widespread consensus that software / data standards should be open and royalty free, I’m just noting that these questions aren’t particularly relevant to the ISO OOXML debate.
To the extent “Microsoft” has an opinion, however, I’m sure it would disagree with “IBM’s” position equating open standards and open source. The closest thing I can find to an official statement on this is [link] and [link]
“Open” as I personally understand it implies a) open to being understood-- the technology is documented to the level needed for people competent in the technology domain to understand, evaluate and implement it; b) open to implementation by 3rd parties without onerous license conditions (that’s the point of the Open Specification Promise); and c) open to change ONLY via the standards body’s process, e.g. the original submitter can’t rev the underlying spec and claim that it is a “standard”. That’s not as simple as Sam’s definition, but I think it’s more robust, and more in line with actual industry policy and practice. For example, some hypothetical spec that is “open” by this definition and has multiple implementations that interoperate would a useful standard, whether or not any of the implementations are open source. More specifically, would recent SQL standards be an “open” by your definition? I don’t know ...
I think the main question at hand is whether it should be an ISO standard, not whether it is “open”.
That could very well be the “main” question in your mind, but not in mine.
To the extent “Microsoft” has an opinion, however, I’m sure it would disagree with “IBM’s” position equating open standards and open source.
Please don’t do that. There is a reason why this page has a Disclaimer link on the right hand side.
“Please don’t do that. ” Sorry. I hate it when my babbling is treated as coming from “Microsoft” so I should have been more careful.
Anyway, I wasn’t referring specifically to you. Lots of people employed by IBM have put “open source” in the definition of “open standard”. I put the company names in quotes to try to emphasize that it’s people not companies with an opinion.
Lots of people employed by IBM have put “open source” in the definition of “open standard”.
I certainly do.
IBM’s position is a bit more nuanced. I don’t speak for IBM on this particular subject, but I have been involved with the open sourcing a number of codebases which implement one standard or another. One of the oft-repeated criticisms of standards is that there are so many to chose from — the inevitable downside of being “pro choice”. In such an environment, ubiquity is an important attribute, and ensuring that there is an open source implementation under a permissive license (like Apache’s) can be an important enabler.
My own position is a bit more extreme, and is a reaction to seeing phrases like open to being understood being put forward in a duplicitous fashion. More specifically, seeing a pattern of behavior which involves trumpeting official certification as a proxy for openness while simultaneously fostering a climate of fear, uncertainty, and doubt about the interoperability of competing implementations.
And that’s why I answered Sriram’s question the way I did.