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

Update the README with details on the Matrix spec process + unstable prefixes #3891

Merged
merged 12 commits into from
Sep 28, 2022

Conversation

anoadragon453
Copy link
Member

This PR serves to distill the text under https://spec.matrix.org/proposals/ into something a little more approachable. The text on that page is tersely written on purpose, but may not be the easiest introduction to spec writing. These words, presented in somewhere easy to find (this repository's readme) aims to fill that gap. It also tries to describe some common edge cases in the process in a candid manner.

Much of this text was adapted from words originally written by @erikjohnston. It has been updated and expanded upon here.

This PR does not require a changelog entry.

@anoadragon453 anoadragon453 requested a review from a team September 14, 2022 16:43
Copy link
Member

@richvdh richvdh left a comment

Choose a reason for hiding this comment

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

I think that this is great, though per below I worry about putting people off even with 5 steps.

README.md Outdated Show resolved Hide resolved
Comment on lines +89 to +90
The Spec Core Team will notice this and apply various labels/status tracking to
your MSC, which will announce it to the wider world.
Copy link
Member

Choose a reason for hiding this comment

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

will they? it's certainly not a thing I do 😳

Copy link
Member Author

Choose a reason for hiding this comment

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

I think this is currently always done by Travis 😇

Copy link
Member

Choose a reason for hiding this comment

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

This is supposed to be done by the SCT. We should be sharing responsibility on this, too.

Copy link
Member

Choose a reason for hiding this comment

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

can we automate it? what labels are we talking about here?

Copy link
Member Author

Choose a reason for hiding this comment

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

proposal can be automated if we see a file land in the proposals/ directory. We also need to add one of:

  • kind:core
  • kind:feature
  • kind:maintenance

which is up to the SCT's discretion and depends on the proposal's subject matter.

Additionally needs-implementation; we can probably add this automatically too. In the small cases an implementation is not necessary, someone will complain and a human will review and remove it.

And then ideally one or more of:

  • client-server
  • integrations
  • push
  • s2s
  • widgets

etc. for different parts of the spec. Could potentially be done later by a human too, but having no labels is currently a good prompt to add these.

Copy link
Member

Choose a reason for hiding this comment

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

file land in the proposals/ directory.

We have to be careful to ensure that updates to existing proposals don't trigger this, fwiw. We should be checking the MSC number against the file(s) in the diff.


We can add needs-implementation automatically. The process for getting that removed is to go to the SCT office specifically and ask for it - pings on github are unreliable for this case.


In future there's also going to be other planning considerations for every inbound MSC, so while we can automate some labels, there's still going to be a reason for a human to visit and make decisions: deciding on some labels is reasonable here. The automation could/should throw the MSC into an "inbound" queue for this, though.

README.md Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
Copy link
Member

@richvdh richvdh left a comment

Choose a reason for hiding this comment

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

lgtm

README.md Outdated Show resolved Hide resolved
@anoadragon453 anoadragon453 merged commit 1676be3 into main Sep 28, 2022
@anoadragon453 anoadragon453 deleted the anoa/spec_process_docs branch September 28, 2022 13:34

Some tips for MSC writing:

* Please wrap your lines to 80 characters maximum (some small leeway is OK).

Choose a reason for hiding this comment

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

Contradicts instructions in the specification repository

Copy link
Member Author

Choose a reason for hiding this comment

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

Indeed, and looking at comments from the SCT on various MSCs (1, 2, 3), we're happy to either have a wrap at 80 or 120 characters. So let's go for 120 as a suggested maximum.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants