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

MSC1779: Proposal for Open Governance for Matrix.org (v2) #1779

Open
wants to merge 42 commits into
base: master
from

Conversation

@ara4n
Copy link
Member

ara4n commented Jan 7, 2019

Rendered

Obsoletes #1318

ara4n added some commits Jan 7, 2019

@ara4n ara4n changed the title MSC1779: Proposal for Open Governance for Matrix.org MSC1779: Proposal for Open Governance for Matrix.org (v2) Jan 7, 2019

ara4n added some commits Jan 7, 2019

@turt2live
Copy link
Member

turt2live left a comment

Thanks for converting this to Markdown - I actually find it easier to read/review than the Google Doc it once was. Largely, this looks fine to me although I do have some process-related concerns highlighted in this review.

Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved proposals/1779-open-governance.md
Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved proposals/1779-open-governance.md
Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved proposals/1779-open-governance.md Outdated

@turt2live turt2live added this to In review (just the PRs) in August 2018 r0 Jan 7, 2019

@erikjohnston
Copy link
Member

erikjohnston left a comment

🎉

Amazing, thank you.

Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved proposals/1779-open-governance.md
Show resolved Hide resolved proposals/1779-open-governance.md
Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved proposals/1779-open-governance.md

ara4n and others added some commits Jan 8, 2019

Update proposals/1779-open-governance.md
Co-Authored-By: ara4n <matthew@arasphere.net>
@uhoreg
Copy link
Member

uhoreg left a comment

Mostly looks good.

Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved proposals/1779-open-governance.md
Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved proposals/1779-open-governance.md
Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved proposals/1779-open-governance.md Outdated
add new technical guidelines to proposals.rst
this was originally a todo for MSC1779, but belongs better in proposals.rst

uhoreg and others added some commits Jan 12, 2019

s/core spec team/Spec Core Team/
Co-Authored-By: ara4n <matthew@arasphere.net>
grammar
Co-Authored-By: ara4n <matthew@arasphere.net>
spec and is updated using the Matrix Spec Change process. However, changes to
the governance process also require a 75% positive approval from the Guardians
(acting as a formal decision of the Foundation's Directors), in order to ensure
changes are aligned with the Foundation's mission.

This comment has been minimized.

@KitsuneRal

KitsuneRal Jan 14, 2019

Contributor

Worth clarifying here the case of a person co-sitting as a Guardian and a Spec Core Team member - I suppose they can only vote in one capacity or another but not in both at once?

This comment has been minimized.

@ara4n

ara4n Jan 14, 2019

Member

hm, perhaps. is this really needed though? it feels like it could make the dynamics and logistics quite confusing in terms of what majorities are actually needed to make a decision either as spec core team or guardians if that person is flipping back and forth between roles.

This comment has been minimized.

@KitsuneRal

KitsuneRal Jan 15, 2019

Contributor

TL;DR - after some thinking and calculating I actually tend to prefer a co-sitter having 2 votes. Anyway, my original request was about having a clarification in the text, such as: "For avoidance of doubt, Spec Core Team votes and Guardians' votes are distinct and a person having both hats has to vote independently on both forums with the respective hat on."
FTR, the calculations:

  • If a co-sitter is against the change, there's no difference because he gives 0 votes in any case.
  • If there are 4 Guardians:
    • if he only has 1 vote and gives it to Spec Core Team, 3 remaining Guardians should agree because 2 only comprise 66% (which is probably overly conservative);
    • if he has 2 votes (one per team), or he has 1 vote but uses it as a Guardian then 1 other Guardian may abstain/disagree and the process change will still be accepted.
  • If there are 5 Guardians:
    • if it's only 1 vote and it's given in Spec Core Team, 3 of remaining 4 Guardians should agree;
    • if it's two separate 2 votes (one in Spec Core Team, one among Guardians) then - still 3 more Guardians (out of total 5) should agree to reach 75% votes.
      So the difference is only in case of 4 Guardians, and even that difference is dubious.
Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved specification/proposals_intro.rst Outdated
Show resolved Hide resolved specification/proposals_intro.rst
Show resolved Hide resolved specification/proposals_intro.rst Outdated
Show resolved Hide resolved proposals/1779-open-governance.md
Show resolved Hide resolved proposals/1779-open-governance.md Outdated

@richvdh richvdh self-requested a review Jan 14, 2019

Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved proposals/1779-open-governance.md Outdated
point (with 75% majority), and may resign the role at any point (notifying the
team and the Guardians). The lead automatically resigns the role if they resign
from the Spec Core Team. Resignation automatically triggers selection of a new
lead, who must be selected from the existing Spec Core Team.

This comment has been minimized.

@dbkr

dbkr Jan 14, 2019

Member

Project lead is presumably elected in the same was as other core team members: by the core team with 100% majority?

This comment has been minimized.

@ara4n

ara4n Jan 14, 2019

Member

hm, weird that i missed this. 100% sounds a bit risky in terms of deadlocks; i wonder if 75% would avoid that?

This comment has been minimized.

@michaelkaye

michaelkaye Jan 14, 2019

Contributor

Having everything be the same decision is easier to understand - the magic number shall be 75%.

ara4n and others added some commits Jan 14, 2019

improve wording around compensation for team members.
tweak Greater Benefit (particularly adding SnR and filtering goals
deanonymise kitsune
Co-Authored-By: ara4n <matthew@arasphere.net>

The Spec Core Team itself will be made up of roughly 8 members + 1 project lead.
Roughly half the members are expected to be from the historical core team
(similar to Rust). The team must have 5 members to be quorate, with the aim of

This comment has been minimized.

@michaelkaye

michaelkaye Jan 14, 2019

Contributor

This is slightly confusing: Quorate is generally used to define what count of people from a larger group are required to be present in order to make decisions, but in this sense it seems to be giving a minimal size of the team.

Stating a quorum is 5 members, would normally mean that from a group of any size, 5 or more people must take part in a vote, of whom (75% or 100% depending on the vote) must agree for the vote to be carried.

I think this would be clearer rather than "to be quorate", say "to be able to function", such that the Guardians requirement to intervene and fix the team kicks in as they're not able to function.

term for the project lead. The lead may be removed by the core team at any
point (with 75% majority), and may resign the role at any point (notifying the
team and the Guardians). The lead automatically resigns the role if they resign
from the Spec Core Team. Resignation automatically triggers selection of a new

This comment has been minimized.

@michaelkaye

michaelkaye Jan 14, 2019

Contributor

Should the spec core team be required to wait for the new lead, or can they continue without them?

* Guardians must keep each other honest, providing a ‘checks and balances’
mechanism between each other to ensure that all Guardians and the Spec Core
Team act in the best interests of the protocol and ecosystem.
* Guardians may appoint/dismiss members of the Spec Core Team who are in serious

This comment has been minimized.

@michaelkaye

michaelkaye Jan 14, 2019

Contributor

May appoint people who are in serious breach of the guiding principles? This could be clearer as to when and why the guardians may step in - see above.

* kitsune (Clients on behalf of Community)
* TBD

MSCs require >= 75% approval from the Spec Core Team to proceed to Final Comment

This comment has been minimized.

@michaelkaye

michaelkaye Jan 14, 2019

Contributor

We use lots of different language to mean the same thing here:

  • (The 75% is measured of the whole team, including the member in question)
  • (requiring a 75% consensus threshold between the Guardians)
  • requiring the confidence of 75% of the team
  • (with 75% majority),
  • require 100% consent

I think we have across this document the thought that all the sizes are "75% of the members of the team" rather than 75% of those voting or anything else, so let's just use one language to avoid differences where they don't exist, maybe "Approved by 75% of the current members of the team"

This comment has been minimized.

@michaelkaye

michaelkaye Jan 14, 2019

Contributor

Currently, https://matrix.org/docs/spec/proposals says only a Majority of the Core (Spec) Team are required to progress an MSC, and also something about individuals blocking MSCs. While changing that is not necessarily a problem, we should be aware that this says something different.

structure of the Spec Core Team runs into trouble.

In practice, this means that:
* Guardians must approve changes to the Spec Core Team

This comment has been minimized.

@michaelkaye

michaelkaye Jan 14, 2019

Contributor

Is this that the guardians must explicitly approve of any and all changes to the spec core team, or that they are responsible for reviewing the changes and using their power to add and remove members to address issues?

Perhaps "Guardians are responsible for ensuring the Spec Core Team continues to function, and have the power to appoint/dismiss members of the spec core team (with the agreement of 75% of the Guardians) to address issues with the Spec Core Team.

This comment has been minimized.

@michaelkaye

michaelkaye Jan 15, 2019

Contributor

Couched in "ensuring that ... " means they are not in the critical path for changing the spec core team, but must be aware of it and may object after the fact by removing the added member.

Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved proposals/1779-open-governance.md Outdated
@richvdh
Copy link
Member

richvdh left a comment

This is not my area of expertise, but it broadly looks great.

Some minor nit-picking below about words and grammar.


* People should have full control over their own communication.

* People should not be locked into centralised communication silos, but free to

This comment has been minimized.

@richvdh

richvdh Jan 14, 2019

Member
Suggested change Beta
* People should not be locked into centralised communication silos, but free to
* People should not be locked into centralised communication silos, and should instead be free to
### Mission

The Matrix.org Foundation exists to act as a neutral custodian for Matrix and
nurture it as efficiently as possible as a single unfragmented standard, for the

This comment has been minimized.

@richvdh

richvdh Jan 14, 2019

Member
Suggested change Beta
nurture it as efficiently as possible as a single unfragmented standard, for the
to nurture it as efficiently as possible as a single unfragmented standard, for the

The Matrix.org Foundation exists to act as a neutral custodian for Matrix and
nurture it as efficiently as possible as a single unfragmented standard, for the
greater benefit of the whole ecosystem; not benefiting or privileging any single

This comment has been minimized.

@richvdh

richvdh Jan 14, 2019

Member
Suggested change Beta
greater benefit of the whole ecosystem; not benefiting or privileging any single
greater benefit of the whole ecosystem, not benefiting or privileging any single
Show resolved Hide resolved proposals/1779-open-governance.md Outdated
Show resolved Hide resolved proposals/1779-open-governance.md Outdated

richvdh and others added some commits Jan 14, 2019

scifi IANA
Co-Authored-By: ara4n <matthew@arasphere.net>

August 2018 r0 automation moved this from In review (just the PRs) to Reviewer approved Jan 15, 2019

@michaelkaye
Copy link
Contributor

michaelkaye left a comment

More commentary, I'm afraid.

requirement for the Spec Core Team when appointing new members.
* Guardians may also override deadlocks when appointing a Spec Core Team leader
(with a >= 75% majority)
* Guardians must approve changes to the Guiding Principles (above)

This comment has been minimized.

@michaelkaye

michaelkaye Jan 15, 2019

Contributor

A 75% majority of the guardians must ...

other areas such as marketing Matrix.org, registering custom event types,
or "Made for Matrix" certification.
* It's likely a subset of Guardians will be hands-on for day-to-day
administrative purposes, whilst the others act to keep them in balance.

This comment has been minimized.

@michaelkaye

michaelkaye Jan 15, 2019

Contributor

Guardians are either responsible for things or not; If they're not responsible for a thing, then don't add it to the list of their responsibilities. Perhaps the following words can remove the "may" and "likely" to components.

  • Guardians are responsible for choosing if, when and how staff are hired by the Foundation to fill administrative and other functions required to facilitate the Foundations' mission.
  • Guardians are responsible for choosing if and when additional committees are formed, and to oversee those committees.
  • Guardians are not required to be involved on a day-to-day basis, however those not taking a hands on approach are required to monitor to ensure a suitable balance is kept by those that do.
* Guardians must approve changes to the Spec Core Team
* Guardians must keep each other honest, providing a ‘checks and balances’
mechanism between each other to ensure that all Guardians and the Spec Core
Team act in the best interests of the protocol and ecosystem.

This comment has been minimized.

@michaelkaye

michaelkaye Jan 15, 2019

Contributor

This is actually a duplicate of the wording further below asking those not involved in a day to day basis to keep an eye on those who are.

structure of the Spec Core Team runs into trouble.

In practice, this means that:
* Guardians must approve changes to the Spec Core Team

This comment has been minimized.

@michaelkaye

michaelkaye Jan 15, 2019

Contributor

Couched in "ensuring that ... " means they are not in the critical path for changing the spec core team, but must be aware of it and may object after the fact by removing the added member.

* Collaboration rather than competition
* Accessibility rather than elitism
* Transparency rather than stealth
* Empathy rather than contrariness
* Pragmatism rather than perfection
* Proof rather than conjecture

Please see [MSC1779](https://github.com/matrix-org/matrix-doc/pull/1779)

This comment has been minimized.

@michaelkaye

michaelkaye Jan 15, 2019

Contributor

Do you mean to self-reference this document?

* External systems which are bridged into Matrix.
* Anyone using Matrix for data communications.

"Greater benefit" is defined as maximising:

This comment has been minimized.

@michaelkaye

michaelkaye Jan 15, 2019

Contributor

We should be reviewing very carefully a fixed list of goals at a low level. If we say this is the only definition of Greater Benefit, we should judge every MSC and action of the Foundation against them, and by an accidental omission in this list, we could force ourselves to reject a valid and beneficial MSC, because it is not for the defined "Greater Benefit" of the Foundation.

This list acts as a useful set of guidance for how to uphold the Manifesto and Mission, but I don't think it can be a complete list of the only ways we can uphold the Manifesto and Mission for the next thirty years.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment