Skip to content

Conversation

@tombentley
Copy link
Member

These changes to the project's GOVERNANCE.md (and associated files) replace the existing single Code Owner role with two roles, Committer and Project Manager. The motivation for this proposed change is to be able to scale the number of people with commit privileges without putting additional duties on those people in terms of the project's longer term governance and sustainability. The division of responsibilities is broadly similar to, and based upon, the model used by the Apache Software Foundation, but it's not precisely the same. To be clear, this change does not change anyone's eligibility for these roles.

The change from Code Owner to Committer includes a move away from using CODE_OWNERS to limit people's scope of approval to particular parts of the repository. This has several motivations:

  • Necessity: Other projects, such as Apache Kafka, seem to manager just fine with a high trust model when a Committer is trusted to involve the relevant SMEs about part of a PR where they lack expertise.
  • Unreliability: I think it's relatively easy for directories to get renamed without updating the CODE_OWNERS, breaking the apparent security that CODE_OWNERS offers.
  • Simplicity: Maintaining CODE_OWNERS imposes a burden in keeping everything up to date. After all, in terms of governance, a change is a code owner's scope should also be voted on, just like making them a code owner in the first place.

All existing Code Owners would become the initial Committers and Project Managers.

There are some other changes, in terms of github team names and communications, made to align with the proposed new terminology. Those changes will be made if this PR is accepted.

Signed-off-by: Tom Bentley <tbentley@redhat.com>
Signed-off-by: Tom Bentley <tbentley@redhat.com>
Signed-off-by: Tom Bentley <tbentley@redhat.com>
Signed-off-by: Tom Bentley <tbentley@redhat.com>
Signed-off-by: Tom Bentley <tbentley@redhat.com>
Signed-off-by: Tom Bentley <tbentley@redhat.com>
Signed-off-by: Tom Bentley <tbentley@redhat.com>
GOVERNANCE.md Outdated

## Becoming a Committer or Project Manager

New Project Managers can be elected by a majority vote of the Project Managers following the [Decision Making](#decision-making) process.
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 clarify if this is a majority of all Project Managers, or just those participating in the vote.

GOVERNANCE.md Outdated
The Project Managers should endevour to match the number of active committers to the reported review burden, by inviting Contributors to become Committers.

### Code Owner Criteria
New Committers are elected by a majority vote of the Project Managers following the [Decision Making](#decision-making) process.
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 clarify if this is a majority of all Project Managers, or just those participating in the vote.

@robobario
Copy link
Member

Thanks Tom, generally agree with the split into Committer + Project Manager, with the technical/governance split. Agree that a single committer role is sufficient for the scope of our project, rather than managing per-component privileges. Just some quibbles around details.

Signed-off-by: Tom Bentley <tbentley@redhat.com>
@tombentley
Copy link
Member Author

Thanks @robobario, I've addressed your comments, and tried to make it clearer how the decision making around committers and pms works. Please take another look when you have a chance.

GOVERNANCE.md Outdated
This project uses the following decision making process for PRs in the repository containing this `GOVERNANCE.md`, [COMMITTERS.md][committers] and [PMs.md][PMs] files:

## Trademark Policy
1. **Voting:** Decisions may be made through a simple majority vote among the committers who participate in a vote, as tallied 7 days after the start of the voting process.
Copy link
Member Author

Choose a reason for hiding this comment

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

The intent with starting with a vote is simply that it makes clear that there is a consensus.

For code PRs it's not a huge deal if someone after the fact disagrees that something was merged: Fixing it is only a git revert away. But goverance and role changes aren't quite like that. We need it to be clear and transparent that those decisions really did meet the threshold right from the start.

I added the 7 day limit simply to avoid a kind of live lock which becomes more likely to happen once PMs move on to other things and don't participate in votes at all.

Signed-off-by: Tom Bentley <tbentley@redhat.com>
Signed-off-by: Tom Bentley <tbentley@redhat.com>
@tombentley tombentley marked this pull request as ready for review February 8, 2026 21:08
@tombentley tombentley requested a review from a team as a code owner February 8, 2026 21:08
Those people with code ownership responsibilities will be identified in each repository (`.github/CODEOWNERS`).
For the sake of transparency, the membership of github teams will be made public in [TEAMS.md](TEAMS.md).
- **Contributors:** Anyone who contributes to the project in any form.
- **Contributors:** Anyone who contributes to the project, in any form, is a Contributor.
Copy link
Member

Choose a reason for hiding this comment

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

Is someone who participates in a Github discussion, Git issue, or Slack discussion also a Contributor?

Copy link
Member Author

Choose a reason for hiding this comment

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

According to this definition, yes. But the way the rest of the document is written, including such people as Contributors shouldn't affect the decision making processes. i.e. contributions which don't require approval are made by such Contributions, but because they don't require approval there's nothing more to be said.


## Becoming a Code Owner
* inform the Project Managers about the review burden they're experiencing.
* suggest to the Project Managers other individuals who they consider meet the Committer criteria below.
Copy link
Member

@k-wall k-wall Feb 10, 2026

Choose a reason for hiding this comment

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

Should we suggest the channel to be used to start this process? Maybe a Github discussion in an appropriate category would be a good approach.

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 don't think we need to be prescriptive (and let's remember this document is intended to be prescriptive) about where the communication happens. The point is that it does happen, and that the PMs should be taking review burden into account, because that's an important factor for sustaining the project.

We're all technical people, so we're drawn to nice hard and fast rules which we can reason about, but too many rules can make it hard to act, and limit the reasons for doing so, which can be problematic in itself. In this example, if we name a channel then what are we supposed to do if people use the wrong channel? Discount the input? What if a Committer doesn't want to use a public channel to give their feedback? Personally I'm very cautious about making value judgements about individuals at all, and especially in public.

@k-wall
Copy link
Member

k-wall commented Feb 10, 2026

Couple of comments and questions, but otherwise LGTM

Signed-off-by: Tom Bentley <tbentley@redhat.com>
Copy link
Member

@SamBarker SamBarker left a comment

Choose a reason for hiding this comment

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

Thanks @tombentley I'm largely +1 but would like to see a mechanism for removal before hitting approve.

* Tom Bentley, IBM (@tombentley)
* Robert Young, IBM (@robobario)
* Sam Barker, IBM (@SamBarker)
* Grace Grimwood, IBM (@gracegrimwood)
Copy link
Member

Choose a reason for hiding this comment

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

nit: I'm assuming @gracegrimwood should be marked as unaffiliated

Other aspects of this representation are left to the discretion of the Project Managers using the [Decision Making](#decision-making) process.


## Ceasing participation
Copy link
Member

Choose a reason for hiding this comment

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

While I'd hope it would be irrelevant I think we probably need a documented mechanism for removing committers and project managers. I don't think we need to get over overly prescriptive about the criteria for doing so but we should have a mechanism.

One of the obvious reasons for doing so would be Code Of Conduct violations, though I'm sure there are other possible rerasons.

Copy link
Member Author

Choose a reason for hiding this comment

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

There is already a mechanism for removing people from these roles: A change to the Committers or Project Managers is a change to the PMs.md and COMMITTERS.md in this repo, which is handled by the decision making process. (I added this section simply to make it unambiguous that people can just unilaterally resign without needing to have a vote about it, which seems like pointless ceremony to me).

So are you suggesting:

  • being more explicit about this mechanism, but not changing how it would work?
  • or some other mechanism that's not equivalent to what's already implicitly defined? If so, can you elaborate what you're looking for?

Without wanting to suggest that the COC is not important (it is), I don't think a COC violation should necessarily result in removing a role. Certainly it should be a sanction that's available. But tying the PMs' hands and disallowing them any discretion based on the specific circumstances seems like it might not be in the best interests of the project. For example, what if the complainant specifically asked that the accused only apologise, and not be removed from their role? If it's in the governance rules the other PMs would then be in a difficult position. And the reality is that we can always involve the CF to make a decision for us.

* Francisco Vila, IBM (@franvila)
* Paul Mellor, IBM (@PaulRMellor)

The committers can be addressed collectively in GitHub using the `@kroxylicious/committers` team.
Copy link
Member

Choose a reason for hiding this comment

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

We say @kroxylicious/committers here and @kroxylicious/code-reviewers in CONTRIBUTING.md do we need both?

If the change is being authored by someone who is a Code Owner, that change must be reviewed by at least one other Code Owner before being merged.
All changes which are to be committed in project source control must be reviewed by at least one [Committer](COMMITTERS.md) before being merged.
If the change is being authored by someone who is a Committer, that change must be reviewed by at least one other Committer before being merged.
The GitHub teams `@kroxylicious/code-reviewers` and `@kroxylicious/doc-reviewers` can be used to request a PR review from contributors.
Copy link
Member

Choose a reason for hiding this comment

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

Should the governance doc outline how people get membership of either group?

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