Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MSC3087(MX-EXT0000): Standardised extensions #3087

Closed
wants to merge 2 commits into from
Closed

MSC3087(MX-EXT0000): Standardised extensions #3087

wants to merge 2 commits into from

Conversation

erkinalp
Copy link

@erkinalp erkinalp commented Apr 1, 2021

Standardised extensions procedure proposed.

Signed-off by: Erkin Alp Güney <erkinalp9035@gmail.com>
@turt2live turt2live added kind:feature MSC for not-core and not-maintenance stuff process Related to the spec process itself (MSC process) proposal A matrix spec change proposal proposal-in-review labels Apr 1, 2021
Comment on lines 3 to 7
Currently, there is a Matrix specification, which comprises of two main
documents and many supplemental addenda. The protocol itself is designed
to be easily extensible, however, there is currently a gap between spec
and implementation defined extensions. This defines a new RFC process
akin to the one we have on MSCs, with a few differences:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This smells strongly of trying to convert Matrix to XMPP style governance where clients have to list which extensions they support so users can pick an appropriate server. We do not want this.

The unstable feature process is deliberate to ensure MSCs/ideas end up in the spec, effectively making any extension system irrelevant. We are painfully aware of some MSCs taking a literal eternity to land, however with every MSC we push into FCP we are getting better at avoiding those scenarios.

This kind of MSC is the stuff we generally like to talk about in #matrix-spec before it is opened, as this is historically not an approach we have been willing to entertain.

Copy link
Author

@erkinalp erkinalp Apr 1, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My intent was more of a two-track system like ISO C++ WG and IETF RFCs use, a standards track and an extensions track, with more and more extensions being merged into the mandatory standards track over time.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is very unclear in this proposal. Considering the MSC process was originally created out of MSC1779, I'd expect something of similar detail to MSC1779 for any major change to the proposal process.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ISO C++ workgroups do not produce "extensions", and IETF RFCs are not "extensions" either. In both cases that's just a part of the standardisation process, a playground for proposals. Our equivalent to IETF RFCs is exactly MSCs. Hint for the future: provide references to explain your sources of inspiration, and examples to be clearer in what kind of problem and how you're trying to address.

Signed-off by: Erkin Alp Güney <erkinalp9035@gmail.com>
@uhoreg uhoreg marked this pull request as draft April 1, 2021 20:08
Copy link
Member

@KitsuneRal KitsuneRal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I basically echo what Hubert and Travis said:

  1. The MSC lacks detail to the point it feels like an attempt to put a name on things that don't yet exist; there's no substance in this.
  2. It seems (there are really too few things described here to be sure) that this MSC tries to introduce something similar to XMPP extensions; in that case, this MSC should show understanding of the current process and its reasons (your "why" section rather shows lack of that knowledge) and clarify why it effectively reverses the current consolidated specification approach. And then it should at least aspire to have the same level of elaboration and (most importantly) references to other sources as the respective XEP has.
  3. That's another MSC that entirely disregards the structure recommended in the MSC proposal template, for no apparent reason.

Due to the reasons above, it's not even a draft for me, it's a no-go.

@ara4n
Copy link
Member

ara4n commented Apr 2, 2021

The reason we have a single spec (containing modules for different feature profiles) is to avoid fragmentation and ensure there is at most one official specified way to implement a given feature in Matrix (for a given version of the spec). Meanwhile folks can use MSCs to go wild and propose their own experiments, and the proven good ones get incorporated into the spec.

I see no value in this proposal over the current process, and instead it risks opening the same mess that XMPP has with XEPs, which Matrix deliberately is set up to avoid.

@mscbot fcp close

@mscbot
Copy link
Collaborator

mscbot commented Apr 2, 2021

This FCP proposal has been cancelled by #3087 (comment).

Team member @mscbot has proposed to close this. The next step is review by the rest of the tagged people:

Once at least 75% of reviewers approve (and there are no outstanding concerns), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up!

See this document for information about what commands tagged team members can give me.

@mscbot mscbot added disposition-close proposed-final-comment-period Currently awaiting signoff of a majority of team members in order to enter the final comment period. labels Apr 2, 2021
@uhoreg uhoreg added this to Ready for FCP ticks in Spec Core Team Backlog Apr 2, 2021
@Zachinquarantine

This comment has been minimized.

@turt2live

This comment has been minimized.

@erkinalp
Copy link
Author

erkinalp commented Apr 6, 2021

Self-close to pre-empt the SCT's backlog.

@erkinalp erkinalp closed this Apr 6, 2021
@erkinalp erkinalp deleted the patch-10 branch April 6, 2021 05:59
@turt2live
Copy link
Member

@mscbot fcp cancel

@mscbot mscbot added proposal-in-review and removed disposition-close proposed-final-comment-period Currently awaiting signoff of a majority of team members in order to enter the final comment period. labels Apr 6, 2021
@turt2live turt2live added abandoned A proposal where the author/shepherd is not responsive and removed proposal-in-review labels Apr 6, 2021
@turt2live turt2live moved this from Ready for FCP ticks to Done to some definition in Spec Core Team Backlog Apr 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
abandoned A proposal where the author/shepherd is not responsive kind:feature MSC for not-core and not-maintenance stuff process Related to the spec process itself (MSC process) proposal A matrix spec change proposal
Projects
Spec Core Team Backlog
  
Done to some definition
Development

Successfully merging this pull request may close these issues.

None yet

7 participants