diff --git a/_posts/2026-03-05-evolving-governance.md b/_posts/2026-03-05-evolving-governance.md new file mode 100644 index 00000000..f1d6e459 --- /dev/null +++ b/_posts/2026-03-05-evolving-governance.md @@ -0,0 +1,117 @@ +--- +layout: post +title: "Scaling for the Future: Evolving Kroxylicious Governance" +date: 2026-03-05 00:00:00 +1300 +author: "Tom Bentley" +author_url: "https://github.com/tombentley" +categories: +--- + +Hot on the heels of [the release of Kroxylicious 0.19.0]({{ '/blog/kroxylicious-proxy/releases/2026/03/04/release-0_19_0.html' | absolute_url}}) we have some other news to share. +We are excited to announce a shift in how we manage the project, partly based on the proven model used by the Apache Software Foundation. + +We’ve always believed that open-source success is built on transparency, community trust, and a shared vision. +The project continues to evolve, and our governance model needs to change with it while ensuring the project remains truly vendor-neutral. + +## Decoupling Roles: Introducing Committers and Project Managers + +Previously, we relied on a flat "Code Owner" structure. +While this worked well in the early days, we realised it was starting to make it harder to scale the project: +In order to grow, we are going to need more people able to review and merge contributions. +But those people might not always be interested, or able to make a commitment to helping ensure the project’s long term sustainability. + +To solve this, we have split these duties into two distinct roles: +* **Committers** focus on code quality and technical output. + They have write access to our repositories and are responsible for reviewing and merging contributions. +* **Project Managers** (PMs) focus on the long-term health and sustainability of the project. + They manage the governance files, handle community elections, and ensure the project remains aligned with its goals and deal with our interactions with the CommonHaus foundation. + +We hope that by decoupling these roles, we’ll be better able to scale our number of Committers to match our review volume without burdening them with administrative overhead. +It creates a clearer pathway for contributors to take on leadership roles based on their interests, whether that’s deep technical work or project stewardship. + +These changes are already reflected in our updated [`GOVERNANCE.md`](https://github.com/kroxylicious/.github/blob/main/GOVERNANCE.md). + +## Moving Beyond `CODEOWNERS` + +We are also moving away from using the GitHub `CODEOWNERS` file to enforce directory-level restrictions. + +We trust Committers to know the limits of their expertise and to pull in the right subject matter experts when a PR spans areas outside their immediate knowledge. +This reduces the friction of managing complex ownership files and avoids the pitfalls of stale ownership definitions that don't match the current team structure. + +## Strengthening Our Organizational Memory + +The 90 day history we have on our free Slack workspace is starting to hurt. +As we grow, we need to ensure that important technical decisions aren't lost. + +We think that, even in 2026, mailing lists are the least-worst way to share and record formal technical discussions and voting. + +* The barrier to entry is low +* Everyone gets their own copy of the history, but there's a public archive too +* Everyone can use familiar tools to organise and search history + +These features should ensure our decision-making process is archived, searchable, and publicly verifiable. + +So we'd like the [`kroxylicious-dev`][kroxylicious-dev] list to be our primary channel for development discussions, open to all contributors and committers. +Meanwhile, Slack remains our home for quick, day-to-day conversation. + + +
| Use Slack for... | +Use Mailing Lists for... | +
|---|---|
| Quick check-ins and status updates. | +Formal technical discussions and proposals. | +
| Real-time coordination on active tasks. | +Voting on technical decisions. | +
| Informal brainstorming and team culture. | +Summaries of major decisions made in Slack. | +
| Urgent alerts that need an immediate response. | +Long-form information that should be searchable. | +