On Wed May 18 16:26:39 2011, Peter Saint-Andre wrote:
So here is what I proposed during the XMPP Council meeting:

<stream:features>
  <dialback xmlns='urn:xmpp:features:dialback'/>
</stream:features>

http://xmpp.org:5290/muc_log/muc.xmpp.org/council/110518/#15:05:44

That would mean "I support updated dialback with the fancy dialback
errors stuff", because we advertise support for traditional dialback via
namespace declaration on the stream header.

Thus we get rid of the <errors/> child element because we seem to have
consensus that it's Just Wrong [tm].

I'm slightly concerned that there may exist implementations that treat this as being equivalent to the (old-skool) dialback namespace declaration. I'll investigate our own.

This said, my primary objection to the original change is rooted in a basic objection to allowing changes to implemented and deployed protocols on purely aesthetic grounds. This seems like a very small wart, as warts go - even if one assumes it *is* a wart, and that's not clear to me. Whichever it doesn't seem worth breaking things to fix.

As an SDO, we do, of course, have a duty to design "good" protocols. But we also have a duty to interoperability, and a duty to security. These are in roughly increasing order; I'm willing - if there's no option - to break interoperability for the sake of security. (The introduction of dialback is one such case, well before my time with XMPP).

Security does not entirely trump interop, mind, because a non-interoperable protocol is worthless - but it may be a reason for a breaking change to parts of the protocol at times - and hopefully very early in deployment.

Aesthetics of a protocol - up to and including the stability of XML schemas, in my view, though I accept that's not a universal opinion - should always be outweighed by interoperability of deployed code. I'm very wary of arguments based on the "importance" of such deployment, too - absent evidence to the contrary, it should be assumed that such deployment is now in the wild.

So while I'm not particularly bothered about whether future dialback options should be signalled as individual stream features or sub-elements of the existing dialback feature, I see no value in changing the errors sub-element now that there exist deployed implementations using it for signalling.

Dave.
--
Dave Cridland - mailto:[email protected] - xmpp:[email protected]
 - acap://acap.dave.cridland.net/byowner/user/dwd/bookmarks/
 - http://dave.cridland.net/
Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade

Reply via email to