-
Notifications
You must be signed in to change notification settings - Fork 4
Adopt Governance Improvement Process #22
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
base: main
Are you sure you want to change the base?
Changes from all commits
b7ff5f9
dfb8aa1
a02eb12
d1afb17
2c3c54a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -11,11 +11,18 @@ This governance model is designed to uphold the principles of transparency, open | |
|
|
||
| ## Table of Contents | ||
|
|
||
| - [Roles and Responsibilities](#roles-and-responsibilities) | ||
| - [Decision Making](#decision-making) | ||
| - [Code of Conduct](#code-of-conduct) | ||
| - [Trademark Policy](#trademark-policy) | ||
| - [Contributing](#contributing) | ||
| <!-- TOC --> | ||
| * [Kroxylicious Governance](#kroxylicious-governance) | ||
| * [Table of Contents](#table-of-contents) | ||
| * [Roles and Responsibilities](#roles-and-responsibilities) | ||
| * [Decision Making](#decision-making) | ||
| * [Code of Conduct](#code-of-conduct) | ||
| * [Trademark Policy](#trademark-policy) | ||
| * [Contributing](#contributing) | ||
| * [Becoming a Code Owner](#becoming-a-code-owner) | ||
| * [Code Owner Criteria](#code-owner-criteria) | ||
| * [Governance Improvement Process](#governance-improvement-process) | ||
| <!-- TOC --> | ||
|
|
||
| ## Roles and Responsibilities | ||
|
|
||
|
|
@@ -65,3 +72,37 @@ To ensure that all potential Code Owners are judged fairly and consistently the | |
| * Promotion of Kroxylicious, for example by blogging, speaking at conferences, and so on. | ||
| * Knowing when to ask for help or seek consensus. | ||
| * An indication of being committed to the long term success of the project. | ||
|
|
||
| ## Governance Improvement Process | ||
|
|
||
| We define the following process for improving the Governance of Kroxylicious. | ||
|
|
||
| > **_NOTE:_** This is the formal process for changing project Governance, but in most cases we would appreciate a conversation | ||
| > beforehand. You can reach out to us on Slack, or create an Issue in this repository to get the ball rolling. | ||
|
|
||
| 1. **Eligibility:** Any member of our community may submit a proposal to improve our governance. | ||
| The author is referred to as the **Proposer**. | ||
| 2. **Identification:** Every proposal requires a unique ID following the pattern `GIP-000`, `GIP-001`, etc. | ||
| * The Proposer selects the next available number based on existing files in the `decision-records` directory and the | ||
| ids used by open PRs. | ||
| * *Note:* If a numbering collision occurs with another open PR, the newer PR must update its ID to the next | ||
| available number. | ||
|
Comment on lines
+86
to
+89
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think collision detection needs to be eager rather than on merge. We don't want people discussing GIP-012 and that potentially referring to two different things. Also if we think about how this works in Kafka the number is allocated eagerly regardless of outcome.
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. yep the ids are definitely a pain, not sure what would be a cheap fix, create an issue first and use the issue number? Have an action workflow that checks your id is unique across PRs? Create PR with placeholder than edit in the PR number.
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. decided in call to leave id selection as a Proposer responsibility, we don't anticipate a flood of these. I think the process as described is eager, you pick a unique id at Proposal creation time. The note tells you what to do if you mess it up, update the id in the newer PR. |
||
| 3. **Submission:** A Proposal is created by opening a Pull Request (PR) in this repository. | ||
| 4. **Requirements:** Each PR must represent a single proposal and include: | ||
| * **The Policy Change:** Edits to the actual governance files (e.g., `Governance.md`). | ||
| * **The Record:** A new Governance Decision Record (GDR) file in `decision-records/`, named like | ||
| `GIP-000-brief-description.md`. This file must follow the template located | ||
| at [decision-records/TEMPLATE.md](decision-records/TEMPLATE.md). | ||
| * **The Title:** A PR title containing the ID, e.g., `[GIP-000] Adopt Governance Improvement Process`. | ||
| 5. **Visibility:** The Proposer must announce the PR in the `#general` channel of the Kroxylicious Slack to invite | ||
| community review. | ||
| 6. **Review:** We discuss and amend the Proposal until it's in a good shape. | ||
| 7. **Open Decision Making Period:** We follow the [Decision-Making](#decision-making) policy. | ||
| * A **Code Owner** must announce that the Decision Making Period has started, or restarted due to significant modifications. | ||
| This should be announced in the `#general` channel of our Community Slack. | ||
| * Discussion, objections, and voting should be done in the PR comments. | ||
| 8. **Finalization:** | ||
| * **If Accepted:** The Proposer must update the GDR file status to "Accepted" and record the ratification date. A | ||
| Code Owner will then merge the PR. | ||
| * **If Rejected/Stale:** If a proposal is rejected or remains stale (no decision making period declared) for two months, the PR will be closed. | ||
| A Code Owner will extract the GDR file from the PR, set its status to "Rejected" and commit it to this repository. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| # [GIP-000] Adopt Governance Improvement Process | ||
|
|
||
| **Status:** Proposed | ||
| **Decision Date:** YYYY-MM-DD | ||
| **Vote Results:** record votes here | ||
|
|
||
| --- | ||
|
|
||
| ## 1. Context | ||
|
|
||
| There are deficiencies in our current process to change our internal Governance model (within our remit as part of the Commonhaus Foundation). | ||
|
|
||
| 1. There is no defined way for Contributors to propose governance changes. It would be informal, maybe captured in a Pull Request into this repository, maybe on slack. | ||
| 2. There is no defined way to record the reasons for changes. It might be captured in a PR, or a commit message, but it will be scattered. | ||
|
|
||
| These issues add up to an intransparent process that is not friendly to new Contributors. They don't know how their rights and responsibilities might change under their feet or how to join in. | ||
|
|
||
| While a relatively informal approach may suit our needs in the technical areas of the Project, the Governance aspects feel like they should be more rigourous as they touch on responsibilities to our | ||
| Foundation, sharing of powerful credentials which represent a security risk to the world, and making our neutrality transparent. So I feel some light process is justified. | ||
|
|
||
| ## 2. Proposed Changes | ||
|
|
||
| All changes to Kroxylicious Governance must be made through a **Government Improvement Process** (GIP). Using this process any Contributor can create a Proposal for an improvement to our Governance. | ||
robobario marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| A Proposal will have an identifier, like `GIP-000`. A proposal will be created by making a Pull Request (PR) into this repository. The PR will contain changes to the relevant Governance files and | ||
| a Governance Decision Record (GDR) file which provides context and an administrative record of the decision if the Proposal is accepted. | ||
|
|
||
| We will use our existing decision making process, recording objections and approvals using comments on the PR. If it is accepted, a Code Owner will update the administrative details in the GDR | ||
| file, approve and merge the PR. At that point it will become part of our Governance model. | ||
|
|
||
| ## 3. Rationale | ||
|
|
||
| 1. The community can learn how to participate in Governance | ||
| 2. There will be clarity for organization members on how their rights/responsibilities are determined | ||
| 3. We will leave a useful history, providing details of what changed and evidence that we followed our process | ||
|
|
||
| ## 4. Rejected Alternatives | ||
|
|
||
| - N/A | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| # [GIP-XXX] Proposal Title | ||
|
|
||
| **Status:** Proposed | ||
| **Decision Date:** YYYY-MM-DD | ||
| **Vote Results:** record votes here | ||
|
|
||
| --- | ||
|
|
||
| ## 1. Context | ||
|
|
||
|
|
||
| ## 2. Proposed Changes | ||
|
|
||
|
|
||
| ## 3. Rationale | ||
|
|
||
|
|
||
| ## 4. Rejected Alternatives |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As a title it works, but I'm not really liking GIP, I know it echos KIP but we can't really re-use KIP either.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some options: