[Standards] A Meta-Discussion about the Standards Process

Dave Cridland dave at cridland.net
Thu Dec 12 09:22:03 UTC 2019


Many moons past, we had a clever idea.

What we thought was that we should change the XML namespace system we used
- previously, XEPs had been allocated a namespace when adopted, and they
stuck with this namespace throughout. Sometimes this broke things during
Experimental (indeed, if a XEP had to change in Draft, it'd break things
then, too). As a result, people were very shy of implementing anything in
Experimental, and this was a problem. Also a problem was that people who
did take the plunge on Experimental could end up affecting people who had
waited for Draft.

We initially changed it to a URN, "urn:xmpp:tmp:XYZ". This meant that we
could go wild during Experimental, but then change to "urn:xmpp:XYZ" on
Draft, stabilising the XEP. While this meant that people who waited for
Draft were fine, it still meant that using a "tmp" namespace was a wild
west.

Our final change was that we introduced "versioned" namespaces.
Essentially, we stopped being so proud about the final namespace, and just
used a prefix to generate new namespaces for a XEP, changing the namespace
any time an incompatible change was introduced. We've got so used to this
we often change namespace when we shouldn't, frankly, but it's still better
than the wild west.

The effect this has had, though, goes beyond merely allowing safe
Experimentation during Experimental - instead, we've a number of XEPs that
Council has "allowed in", but have resulted in such widespread
implementation and deployment during Experimental that we cannot
meaningfully change them without heavy disruption. Meanwhile, the "rules",
such as they are, for adopting Experimental do not really reflect that
people can safely implement and deploy, from an interoperability point of
view. This has lead to another problem, wherein XEPs are adopted in a rough
state, but stay rough and the proponents of the XEP never bother changing
the XEP. I could give concrete examples of both cases, but I suspect that
would only serve to debate whether these are indeed correct - instead I'll
leave people to make up their own minds. In any case, the effect of this
has been that Council are quite reticent about adopting Experimental XEPs.

To address these problems, I see several possibilities. I'm putting these
in no particular order, because I'm personally conflicted on which, if any,
are the right solution, but I hope these can be an interesting start point.

1) The "Florian Plan" - introduce a phase prior to Experimental, wherein a
XEP is semi-adopted but remains without a number. This somewhat happens
anyway, but it does so outside our IPR rules, so arguably this is a case of
formalizing the status quo to some degree. On the other hand, it abandons
anything Experimental about Experimental. I'm calling this the Florian Plan
just because Florian Schmaus has been a vocal proponent - but he's far from
the only one.

2) The "Daniel Plan", which is to encourage Council to adopt pretty well
anything. If this sounds radical to you, it might help if I described it as
simply reimposing the de-jure standards process as described in XEP-0001. I
can certainly see the attraction, but I also think it ignores the status
quo and the problems alluded to above. Most recently suggested by Daniel
Gultsch.

3) Something Else. We could introduce an additional phase *with* a number,
for example, or we could decide the problems are outliers and do nothing.

While I don't have any particular opinion about what solution, if any, to
choose, I do think we have to address a couple of issues:

a) We have to define what our standards process actually is. I don't mind
if that means we change our standards process to match our documentation,
or we change the documentation to match the process, or a mixture.

b) We have to, in particular, codify what each transition means, and
therefore tighten up Council's veto-for-any-reason here. I don't mean that
we remove any judgement calls on the part of Council, but I do mean that we
should create a yardstick on what constitutes a "usual" versus "unusual"
veto.

Finally, whatever we choose, we should make that choice by considering
carefully the outcome we desire. The namespace changes we made - which
contributed to the current state - were made in good faith, and we never
foresaw what effect they'd have over the years.

Thanks for reading this wall of text,

Dave.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.jabber.org/pipermail/standards/attachments/20191212/4593a10a/attachment.html>


More information about the Standards mailing list