On 10/01/2023 15.03, Dave Cridland wrote:
On Sat, 7 Jan 2023 at 20:46, Florian Schmaus <[email protected] <mailto:[email protected]>> wrote:

    But let use assume that we remove the council approval requirement for
    experimental XEPs. And further assume that we clearly state that
    experimental XEPs may change protocol without namespace bumps.


Forgetting everything else for a moment, why do you want to get rid of namespace bumps?

I do not want to get rid of namespace bumps in general. I like how XMPP versions its protocols by XML namespaces. That is certainly one of the outstanding things about XMPP.

However, in the "early" phase of the development of an extension protocol, there seems to be a need to modify the protocol without bumping the namespace. One reason is probably that people enjoy the agility that this brings, while also avoiding the cost that the bump entails.

This phase obviously contains the ProtoXEP phase. But IIRC I've heard people considering not performing a namespace bump in the 'experimental' stage of a XEP, when one would be required. I assume this desire comes up, for example, with XEPs that rather quickly entered the 'experimental' stage. Probably without any, or just a few, corresponding implementations, and insufficient prior review.

As soon as a XEP got accepted by council, we also have no good mechanism to collect pending breaking changes. This leads to premature namespace bumps, which may be shortly followed by another bump [1].

My current proposal would:
A) distinguish the states where bumps are necessary and unnecessary
B) switch to a (relaxed [2]) "one namespace per XEP" approach

A) addresses the need for a stage where namespace bumps are not strictly required. And B) makes it easy to collect changes for a new major version of the protocol, namely in the stage where namespace bumps are not required, using the stage introduced with A).

B) also fixes the "why isn't this XEP stable yet?" problem. The OMEMO XEP is experimental for over 12 months and widely deployed. But we can not (should not?) move it to 'stable'. Why? Because the current XEP is not the OMEMO version that is widely deployed.

B) also fixes the "omg, I just implemented the wrong version of the XEP" problem. Assume someone is hacking on a shiny new XMPP client with OMEMO support. Consider the amount of frustration once the hacker finds out that the shiny new client can not talk OMEMO with anyone else, because the client uses a modern OMEMO version, that nobody else implemented yet…

I've seen this situations causing confusion and frustration multiple times.

And I really think we can do better.

- Flow


1: I believe there is a prime example for this. Was it MAM?
2: I see no need to enforce this
_______________________________________________
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: [email protected]
_______________________________________________

Reply via email to