Proposed Response to FPDAM Part 1 BR-0001, et al
Gareth_Horton at datawatch.com
Thu Feb 4 16:29:36 CET 2010
I think versioning is a requirement if, as Alex states, we make changes to the schemas and indeed to prose, which adds new features or alters existing behaviour within the standard.
The problem is that it is currently not reasonably possible for someone who has implemented ECMA376-1 in an editing capacity to make their product distinguish an instance of ECMA376-1 from an instance of IS29500 transitional. This means it will, quite reasonably open it and use code that was written for ECMA376-1 to read and update the instance. Possibly with an undesirable outcome.
As we know from the issue with serial dates - this can cause serious problems with interoperability.
The problem is still allowed to perpetuate along the transitional line, since there is no *required* element or attribute that reveals the version of the instance document and hence what features the document contains and the behaviour of those features.
On the strict line, we have a break now between ECMA376-1 and IS29500 strict, but not say, IS29500:2008 and IS29500 COR1 / AMD1 etc. When we decide to have a new version of IS29500, has there been a decision in WG4 that I missed about the policy of changing the namespace in strict?
What is the trigger event for a namespace change? Major version, semantic change in element/attribute, other breaking change?
As regards CustomXML, this reminded me of the recent events, where we had to review our implementation in light of the patent case. We had no problems, since we did not use CustomXML, but we were considering using it after seeing Zeyad's presentation in the Seattle WG4 meeting. From what I have read of the case and the patent itself, it seemed we would have been in an uncomfortable grey area as an implementer.
Although you say that i4i doesn't apply to the standard itself, it appears that it can certainly apply to implementations of the standard. Having a feature in a standard that invites (successful) litigation seems to me rather unwise.
I am wondering if i4i have reviewed the relevant area of IS29500 and come up with any conclusions?
Maybe they are rubbing their hands together, since unless one is extremely careful, one inevitably creates an infringing implementation. I don't know, but it is still concerning.
Perhaps if a more technical explanation of the exact infringing implementation details and the changes made to remedy the infringement were available, WG4 would be able to make a more informed decision about CustomXML.
Until we decide to freeze the standard, versioning will be at least highly useful and very likely, critical.
My apologies that I will not be on the call tonight to debate this further.
NOTE: I see Murata-san has weighed in with a similar point, whilst I have been finishing this mail.
From: Shawn Villaron [shawnv at microsoft.com]
Sent: 04 February 2010 14:15
To: Alex Brown; e-SC34-WG4 at ecma-international.org
Subject: RE: Proposed Response to FPDAM Part 1 BR-0001, et al
I would assert that versioning and extensibility are inherently intertwined and hence I think it’s important to educate the various groups what technical tools we have at our disposal. I’m not sure that that ties our hands in any way – it just says that, as of today, these are the tools in our toolbox and our understand of how we’d use them. It doesn’t say that we can’t acquire more tools or find new uses for the existing tools. It’s merely an observation at a point in time. I really don’t think that this restricts us at all.
The CustomXML comment is a complete red herring … i4i doesn’t apply at all to this standard and hence there is no reason that we should be considering removing it.
I’m still baffled why we’re afraid to take a position here. We’re willing to take lots of strong positions elsewhere. Why are we scared when it comes to “versioning?”
From: Alex Brown [mailto:alexb at griffinbrown.co.uk]
Sent: Thursday, February 04, 2010 2:15 AM
To: e-SC34-WG4 at ecma-international.org
Subject: RE: Proposed Response to FPDAM Part 1 BR-0001, et al
This is not quite right as a response, I think.
First, WG 4 has not “concluded” that we should not add versioning to 29500. My recollection is that in Prague we decided to park that discussion and focus on the immediate issues raised by the Swiss comments. I think it would be more accurate to state that this topic is still being studied in WG 4.
Secondly, I’m not sure it’s a good idea to list technologies that we use for versioning, either – partly because this risks confusing versioning technology with extensibility mechanisms, and partly because it might be seen to bind us to a certain approach. Stating that we are using Namespaces (a very blunt instrument) for our major changes is potentially a hostage to fortune.
Of course it _may_ be that we conclude not to add any (more) versioning mechanisms to OOXML.
However, I think it is also likely that we may want to add rich semantics to help consumers know precisely what it is they are consuming – this includes version information but is not limited to it: we may wish to convey information about the status and version of extensions being included, for example.
And if we decide to make first-class changes to the schemas, I believe we may need a versioning mechanisms then. So if (as seems likely) there is a move to amend 29500 to remove CustomXML, how will we convey to consumers that they are consuming resources that conform to this amended spec? We’re not going to make another global Namespace change are we?
Until we have thoroughly explored these kinds of issues, I propose responding as follows:
“WG 4 is still studying the topic of versioning in general, and BR is encouraged to participate in those discussions. The current amendment is focused on addressing the particular versioning issue raised CH, and does not preclude further work in this area.”
From: Shawn Villaron [mailto:shawnv at microsoft.com]
Sent: 22 January 2010 21:56
To: SC 34 WG4
Subject: Proposed Response to FPDAM Part 1 BR-0001, et al
Here is my proposed draft response for this series of comments. Comments welcome, as always.
WG4 has conducted extensive research into versioning technology associated with ISO/IEC 29500. Our conclusions are that, absent a clearly specified, unsupported versioning use case, additional versioning technology should not be added to ISO/IEC 29500. The potential consequences of introducing a flawed versioning technology clearly outweigh any potential benefits.
Furthermore, ISO/IEC 29500 already supports a number of different mechanisms to enable many versioning scenarios. Here is a sampling of such mechanisms:
• XML Namespaces – Provides for “major” version increments that are not designed to be backward compatible with existing implementations.
• Extension Lists – Provides for adding orthogonal data in predefined locations within the XML. See Part 1.
• Parts – Provides for adding entirely new payloads into the file container. See Part 2.
• Alternative Content Blocks – Provides for adding multiple renditions anywhere in the XML. See Part 3.
• Ignorable Namespaces – Provides for adding orthogonal data anywhere in the XML. See Part 3.
Given these, and other, mechanisms currently provided for in ISO/IEC 29500, and that such mechanisms provide support for the known versioning use cases, WG4 does not believe we need a new versioning technology. We continue to evaluate new versioning-related use cases, and in the event we find one which cannot be supported by existing versioning technologies, we will consider adding additional versioning technology at that time.
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the sc34wg4