Governance of Open Registry
NOTICE: This document is currently being developed and not complete yet. Help us finish it by giving feedback about anything in this document!
Last Update: 2019-04-18
1. Name & Purpose
1.1 The official name of the project and organization is "Open Registry".
1.2 The purpose of the organization is to facilitate development and sustainability of the "Open Registry" project in it's users interest.
1.3 This means all members and leadership of the project should consider users of the service and code as the sole benefiters of the work on the project, and all changes should be for improving the service for the user.
2. Contributors
2.1 Contributors are individuals who are contributed once or more to the organization or it's projects. These contributions include:
- Bug fixes
- Feature additions
- Bug triaging
- Funding
- Documentation changes
- Talks & Presentations in a venue with other people + public recording
2.2 Currently, the inclusion in this group is manual. You'll receive an invite to the "Contributors" team on GitHub if activity from you is seen.
2.3 Being in the Contributors group gives you the option to participate in Votes
3. Members
3.1 Members are Contributors who have contributed enough to merit participating in organization votes. Members have the following responsibilities:
- All the responsibilities from being a Contributor
- Read, understand and clarify proposed RFCs
- Participate in Votes, while fully understanding the reasoning behind the Vote
- Voting for any changes in Leadership
3.1 To become a part of the Members Group, you should go through the following:
- Start a Membership Vote with existing Leadership and Members, arguing for your inclusion in the Leadership group
- The vote should be open for at least one weeks
- The vote needs to end up with a majority "yes" for the candidate, otherwise it's result is "no".
- The people voting will be from the Members + Leadership groups
4. Leadership
4.1 Leadership has the final say on the direction of the project. If no consensus among Leadership can be found for a specific issue, a binding vote with reasonable options should be presented to all Members and Contributors.
4.2 Leadership has the following responsibilities:
- All the responsibilities from Members
- Evaluate carefully any proposed additions/removals from the Leadership
- Provide a weekly changelog of work done by themselves
- Provide a Veto vote if a vote doesn't include all realistic options or question is biased
4.3 How to become a part of Leadership
If a person would like to join Leadership, they need to:
- Start a Leadership Vote with existing Leadership and Members, arguing for their inclusion in the Leadership group
- The vote should be open for at least two weeks
- The vote needs to end up with a majority "yes" for the candidate, otherwise it's result is "no".
- The people voting will be from the Members + Leadership group
5. Reaffirmation of membership
5.1 Everyone who is a part of either Members or Leadership needs to confirm each year that they still want to be a part of that group.
5.2 Each year in January a "Call For Reaffirmation" will be made for Members and Leadership to confirm their involvement.
5.3 The "Call For Reaffirmation" will be open for one month
5.4 Failure to answer or a declination to the "Call For Reaffirmation" will lead to a immediate removal from the Leadership/Members group.
6. Code Of Conduct
6.1 All Members and Leadership individuals needs to follow the CONTRIBUTOR COVENANT CODE OF CONDUCT (version 1.4) (https://www.contributor-covenant.org/version/1/4/code-of-conduct)
6.2 Complaints can be made by reporting it to code-of-conduct@open-registry.dev
7. Changes to Governance
7.1 These are the bylaws that the Open Registry acts by
7.2 Changes can be proposed by anyone. Voting will be open to Leadership and Members.
7.3 For the change to pass, it needs to be the majority option + 50% turnout
7.4 You can start the proposal by sending a Pull Request that changes this document.
7.5 The voting will close after one month of consideration.
7.6 If a change passes, it's effect will start one month after being merged.
8. No-Confidence Vote
8.1 If a person in a Leadership position is not acting in the Open Registry's best interest, a No-Confidence Vote can be started by anyone from the public.
8.2 At least one person from Members or Leadership needs to approve the Vote for it to start.
8.3 The vote will be open to Contributors, Members and Leadership for a week
8.4 Once the vote has been open for a week, it's up to everyone in the Leadership to implement the results of the vote
9. Communication about Open Registry between Members and/or Leadership
9.1 No conversations or discussions about Open Registry between it's Members or Leadership should be kept in private, and need to be accessible to at least Contributors but preferably by the public unless there is a reason why private.
9.2 Private conversations are allowed between a limited number of participators, as long as the full minute notes from the conversation are published publicly within a week.
10. Votes
10.1 Binding votes should be presented from the Leadership every time there is a issue or change proposed that cannot find a solution with majority consensus among the Leadership
10.2 The binding vote should be open to Leadership, Members and Contributors, with everyone being allowed one vote and everyones vote being considered equal.
10.3 The option with the most votes, wins.
10.4 The vote needs to be open at least two weeks to be considered valid.
10.5 If a realistic option is missing from the vote, or the initial question is biased (or otherwise faulty), Leadership has the responsibility of vetoing the vote, which lets the vote run fully but not consider the results.
10.6 After a veto, Leadership needs to work towards preventing another veto for the next time by adjusting the vote options or question.
11. Funding of Open-Registry
11.1 Open-Registry should only be funded by individuals or organizations who chose to donate a set amount each month, or one-time donations.
11.2 Only donations made from individuals allows you to join the Contributors Group (see 12. Company-Representation)
11.3 All income/expenses of Open-Registry and all related entities should be publicly viewable, within one business day of the transaction happening.
11.4 Funding should go directly to services to keep Open-Registry up and well running (servers, DNS and similar)
11.4 Any excess from covering the general month-to-month expenses should go towards funding developers to work Open-Registry
11.5 Any excess from funding developers to work on Open-Registry, will be donated towards LiberaPay
11.6 One individual should be elected by vote to be the Treasurer who is responsible for the donation pipeline and making sure the funding is correct
11.7 Current Treasurer is Victor Bjelkholm (victorb)
12. Company-Representation
12.1 You're not allowed to be part of either Contributors, Members or Leadership representing a company. You have to represent yourself as an individual and make all decisions considering the best for the users of the service.
13. Licensing
13.1 All code work done for Open Registry must be licensed under MIT and giving the copyright to "Open Registry Community".
13.2 Excluded from this rule is any non-code work, which needs to be licensed under Attribution-ShareAlike 4.0 International (CC BY-SA 4.0).
Governance Inspiration
The governance setup currently has mostly be inspired by Homebrew, Rust, and the Apache Foundation. Thanks to everyone who spent a lot of time setting up a good precedent for how to govern a open source project.
- https://docs.brew.sh/Homebrew-Governance
- https://www.rust-lang.org/governance
- https://www.apache.org/foundation/governance/
Changelog
You can always inspect the history of this document here: https://github.com/open-services/open-registry/commits/master/docs/governance.md