Re: Extension/Extensibility examples in W3C Specifications

Lynne Rosenthal wrote:
>> I believe an extension must not
>>break conforming functionality.
> 
Alex Rousskov wrote:
> If the specification _allows_ its extensions to change its normative
> requirements (under certain conditions), is it accurate to say that
> such extensions are "breaking things"? I do not think so.

I think that what a spec allows or not should try to have some overall 
sense to it, and there should be some sense of what common functionality 
all implementations have.
The RDF extension mechanism is carefully described as monotonic 
increasing in truth. i.e. an extension can make a description that is 
logically false in RDF, into one that is logically true, but not 
conversely. Now, it is an arbitrary decision by the WG that making 
something which is true into something false is breaking RDF, whereas 
the other way round it is not.
But having made that one single arbitrary decision (which actually fits 
quite well with the RDF philosophy), that gives a sense of what is base 
RDF (the things that are true as a result of the recommendation, no 
extension can make these false).

I think there are examples of extension mechanisms that are so powerful 
that they become very confusing, macro facilities are often cited - I 
seem to remember that those in ASN.1 are some of the worst.

So I think the limitation on not breaking things, should not merely be 
by fiat (i.e. the spec can allow anything to happen), but it is sensible 
to warn that an overly powerful extension mechanism means that the 
guaranteed interoperable behaviour is less (possibly close to zero).

Jeremy

Received on Friday, 7 May 2004 17:46:03 UTC