Skip to content

Latest commit

 

History

History
119 lines (78 loc) · 5.86 KB

GOVERNANCE.md

File metadata and controls

119 lines (78 loc) · 5.86 KB

Trickster Governance

Principles

The Trickster community adheres to the following principles:

  • Open: Trickster is Open Source Software
  • Welcoming and respectful: See Code of Conduct.
  • Transparent and accessible: Changes to the Trickster organization, Trickster code repositories, and CNCF related activities (e.g. level, involvement, etc) are done in public.
  • Merit: Ideas and contributions are accepted according to their technical merit and alignment with project objectives, scope, and design principles.

Project Lead

The Trickster project has a project lead.

A project lead in Trickster is a single person that has a final say in any decision concerning the Trickster project.

The term of the project lead is one year, with no term limit restriction.

The project lead is elected by Trickster Maintainers according to an individual's technical merit to Trickster project.

The current project lead is identified in the MAINTAINERS file.

The Trickster Maintainers can be contacted via email at [email protected]

Becoming a Maintainer

Trickster Maintainers are selected by invitation from our community of contributors, based on their experience with the project and in what domains help is needed. We also invite anyone to submit nominations (including self-nominations) for new Maintainers by emailing [email protected].

Expectations from Maintainers

Trickster has a fairly relaxed set of expectations from Maintainers. Their role is to help advance the project in cooperation with the broader community. To that end, we ask that Maintainers be engaged with Issues and Pull Requests as time permits, while being especially responsive to @mentions.

Changes in Maintainership

If a maintainer cannot fulfill the "Expectations from Maintainers", we will completely understand if they step down. Outgoing Maintainers who've made significant contributions to the project will remain in the Maintainers file with Emeritus status, unless they decline this designation. Emeritus status is determined by nomination and a majority vote of the remaining Maintainers.

The Trickster organization will never forcefully remove a current Maintainer, unless they fail to meet the principles of Trickster community, or adhere to the Code of Conduct.

Changes in Project Lead

Changes in project lead or term is initiated by opening a GitHub PR.

Anyone from Trickster community can vote on the PR with either +1 or -1, however only votes from current Maintainers (at the time of PR creation) are binding.

The PR should only be opened no earlier than 6 weeks before the end of the project lead's term. The PR should be kept open for no less than 4 weeks. The PR can only be merged after the end of the last project lead's term, with more +1 than -1 in the binding votes.

When there are conflicting PRs about changes in project lead, the PR with the most binding +1 votes is merged.

The project lead can volunteer to step down.

Changes in Project Governance

Changes in project governance (GOVERNANCE.md) should be initiated by opening a GitHub PR. The PR should only be opened no earlier than 6 weeks before the end of the project lead's term. The PR should be kept open for no less than 4 weeks. The PR can only be merged following the same voting process as in Changes in Project Lead.

Decision making process

Decisions are built on consensus between Maintainers. Proposals and ideas can either be submitted for agreement via a GitHub issue or PR, or by sending an email to [email protected].

In the Trickster project, contributors often have ideas, experiment with those ideas, and end up with a viable PR, without first getting buy-in from the Maintainers. That is fine too - we welcome all contributions. We simply ask that all discussion and decision-making about the contribution is transparent and in the open.

Any disputes between community members should be resolved amicably between the involved parties. If a dispute cannot be decided independently, get a third-party maintainer (e.g. a mutual contact with some background on the issue, but not involved in the conflict) to intercede. If a dispute still cannot be decided, the project lead has the final say to decide an issue.

All decision-making processes should be transparent so as to adhere to the principles of Trickster project. All proposals, ideas, and decisions by Maintainers or the project lead should either be part of a GitHub issue or PR, or be sent to [email protected].

GitHub Project Administration

The @trickstercache/maintainers team reflects the list of Maintainers.

Other Projects

While Trickster is a highly-focused project, we are open to accepting sub-projects into the organization. Such sub-projects would need to meet the following criteria:

  • Must be closely related to the Trickster project:
    • Supports project artifacts (website, deployments, CI, etc.)
    • Supplemental tools and files (dashboard templates, mocks, migration assistants, etc.)
  • Must be licensed under the terms of the Apache License v2.0

If you would like to submit a sub-project, contact the Maintainers. Note that by donating your project, its sponsorship and ownership of any associated marks are transferred to the Cloud Native Computing Foundation.

Code of Conduct

The Trickster Code of Conduct simply points to the CNCF Code of Conduct.

Credits

Sections of this documents have been borrowed from the Fluentd, Envoy and CoreDNS projects.