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

 


Help: OASIS Mailing Lists Help | MarkMail Help

tag message

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


Subject: What "backward-compatibility" means


It occured to me that the use of backward-compatibility is not exactly clear
in the discussion about Namespace revisions and what doesn't require change
of the namespace.

I think there are two kinds of compatibility among implementations of
different specification versions:

1. Up-level compatibility.  What a conformant older version has/does is
accepted with precisely the same interpretation by what newer-version
conformant entities have/do.

2. Down-level compatibility.  The same constructs for which there is
up-level compatibility have no additions that would have them appear
non-conformant to/in an older version.

3. Graceful higher-level extensions.  When there are extensions that are not
recognized in the lower-level specification/implementation, there is a
graceful means for restricted down-level interpretation that should be (not
shall be) good enough.

I think what is meant by backward-compatibility is case (1), above.  It
seems to be the only one that makes sense in the usages I have found so far.

Whether or not we use the term "backward-compatibility", we should be clear
what we can be counted on for all three situations with regard to namespace
components and their semantics.

 - Dennis

-----Original Message-----
From: Dennis E. Hamilton [mailto:dennis.hamilton@acm.org] 
http://lists.oasis-open.org/archives/tag/200911/msg00036.html
Sent: Saturday, November 14, 2009 09:08
To: stephen.green@documentengineeringservices.com
Cc: 'TAG TC List'
Subject: [tag] Namespace versioning and backward-forward-compatibility
issues

I know of no architectural principle that suggests a restriction of an
allowed, conformant case to a narrower case qualifies as a
compatibility-preserving change.  That is generally regarded as a breaking
change since potentially-implemented cases will now be (1) invalid or (2)
mistakenly interpreted as conforming to the new restriction when that is not
the semantics that was intended by the previous conformant use.

[ ... ]

The boilerplate example of what constitutes preservation of
backwards-compatible changes is a bit mystifying to me.  I do not know how
to interpret the "wildcard" mention.  In any case, we should say what
constitutes backwards-compatible change for us or be willing for the default
statement to be made for us.

[ ... ]



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