- From: Jeremy Carroll <jjc@hplb.hpl.hp.com>
- Date: Fri, 07 May 2004 22:45:31 +0100
- To: Alex Rousskov <rousskov@measurement-factory.com>
- Cc: Lynne Rosenthal <lynne.rosenthal@nist.gov>, www-qa@w3.org
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