Skip to content

Latest commit

 

History

History
46 lines (28 loc) · 2.92 KB

GOVERNANCE.md

File metadata and controls

46 lines (28 loc) · 2.92 KB

NATS Governance

This document defines the project governance for NATS.

Principles

The NATS community adheres to the following principles:

  • Open: NATS is open source. See repository guidelines and processes below.
  • Welcoming and respectful: See Code of Conduct, below.
  • Transparent and accessible: Work and collaboration are done in public.
  • Merit: Ideas and contributions are accepted according to their technical merit and alignment with project objectives, scope, and design principles.

Maintainer Role Expectations

Overall, Maintainers are responsible for the project as a whole and are expected to guide the general project direction as well as be the final reviewer on PRs and perform releases. Maintainers may be specifically responsible for one or more components within a project, and are expected to contribute code and documentation, review PRs including ensuring quality of code, triage issues, proactively fix bugs, and perform maintenance tasks for these components.

Changes in Maintainership

New maintainers must be proposed by an existing maintainer and must be elected by a 2/3 majority organization vote. Maintainers can be removed by a 2/3 majority organization vote or can resign by notifying the maintainers.

Project Decision Making and Voting

The NATS project employs "organization voting" to ensure no single organization can dominate the project. Ideally, all project decisions are resolved by consensus, but if this is not possible, maintainers may call a vote.

Individuals not associated with or employed by a company or organization are allowed one organization vote. Each company or organization (regardless of the number of maintainers associated with or employed by that company/organization) receives one organization vote.

In other words, if two maintainers are employed by Company X, two by Company Y, two by Company Z, and one maintainer is an un-affiliated individual, a total of four "organization votes" are possible; one for X, one for Y, one for Z, and one for the un-affiliated individual.

Any maintainer from an organization may cast the vote for that organization.

For formal votes, a specific statement of what is being voted on should be added to the relevant Github issue or PR, and a link to that issue or PR added to the maintainers voting document. Maintainers should indicate their yes/no vote on that issue or PR, and after a suitable period of time, the votes will be tallied and the outcome noted.

GitHub Project Administration

Maintainers will be added to the NATS GitHub organization.

Approving and Merging PRs

All PRs must receive approval from at least one maintainer prior to merging.

Changes in Governance

All changes in Governance require a 2/3 majority organization vote of the maintainers.

Code of Conduct

NATS follows the CNCF Code of Conduct:

https://github.com/cncf/foundation/blob/master/code-of-conduct.md