-
Notifications
You must be signed in to change notification settings - Fork 24
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
Propose documentation of maintainers and lightweight governance process #71
base: main
Are you sure you want to change the base?
Changes from 1 commit
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 | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,88 @@ | ||||||
# Go-securesystemslib Project Governance | ||||||
|
||||||
This document covers the project's governance and committer process. The | ||||||
project consists of the | ||||||
[go-securesystemslib](https://github.com/secure-systems-lab/go-securesystemslib) | ||||||
and related documentation. This governance does **NOT** apply to any other | ||||||
projects under the [secure-systems-lab](https://github.com/secure-systems-lab) | ||||||
Github organization. | ||||||
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.
Suggested change
|
||||||
|
||||||
## Motivation | ||||||
|
||||||
The goal of the go-securesystemslib project is to be a common foundational | ||||||
library for cryptographic signing and verifying. We strongly believe a common, | ||||||
widely reviewed library, will result in a higher quality and more secure | ||||||
implementaiton. The project, while not limited to, is specificly interested in | ||||||
jkjell marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
the signing and verification of metadata and signing envelopes. Several major | ||||||
foundation-based open source projects would like to contribute to and consume | ||||||
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. With foundation-based, do we just mean CNCF / OpenSSF etc? |
||||||
this library. The motiviation of this governance is to give these projects the | ||||||
confidence to invest their time towards collaboration and leverage this library | ||||||
as a critical and foundational piece of their projects. This goverance will be | ||||||
as lightweight as possible to allow the project to keep pace with rapidly | ||||||
evolving technology. It is based on an assumption of good will and good intent. | ||||||
jkjell marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
|
||||||
## Code of Conduct | ||||||
|
||||||
The go-securesystemslib project abides by the Cloud Native Computing Foundation's | ||||||
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. We should clarify that CoC violations are not actually handled by the CNCF. |
||||||
[code of conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md). | ||||||
An excerpt follows: | ||||||
|
||||||
> We are committed to making participation in the CNCF community a harassment-free | ||||||
experience for everyone, regardless of age, body size, caste, disability, | ||||||
ethnicity, level of experience, family status, gender, gender identity and | ||||||
expression, marital status, military or veteran status, nationality, personal | ||||||
appearance, race, religion, sexual orientation, socioeconomic status, tribe, | ||||||
or any other dimension of diversity. | ||||||
|
||||||
The go-securesystemslib project members represent the project and their fellow | ||||||
contributors. We value our community tremendously, and we'd like to keep | ||||||
cultivating a friendly and collaborative environment for our contributors and | ||||||
users. We want everyone in the community to have a positive experience. | ||||||
|
||||||
We also interact closely with other open source groups and projects, most | ||||||
notably the [CNCF projects](https://www.cncf.io/) [in-toto](https://in-toto.io) | ||||||
and [TUF](https://theupdateframework.io). Maintaining a productive and healthy | ||||||
collaborative relationship with projects hosted at other open source foundations | ||||||
is also a major goal. | ||||||
|
||||||
## Maintainership | ||||||
|
||||||
The project is maintained by the people indicated in [MAINTAINERS.md](MAINTAINERS.md). | ||||||
A maintainer is expected to (1) submit and review GitHub pull requests and (2) | ||||||
open issues. A maintainer has the authority to approve or reject pull requests | ||||||
submitted by contributors. | ||||||
|
||||||
## Changes in maintainership | ||||||
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.
Suggested change
|
||||||
|
||||||
Active contributors may be offered or request to be granted maintainer status. | ||||||
This requires approval from a 2/3 majority of currently voting maintainers with at | ||||||
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. What distinguishes a voting maintainer from a non voting maintainer? |
||||||
least a 72 hour public voting period. | ||||||
|
||||||
Maintainers may be moved to emeritus status. This is done at the request of the | ||||||
maintainer moving to emeritus at any time. Alternatively, moving a maintainer to | ||||||
emeritus status may be proposed by any maintainer and will be passed with a 2/3 | ||||||
majority of voting maintainers with at least a 72 hour public voting period. | ||||||
Emeritus maintainers are listed in the MAINTAINERS.md file as acknowledgment for | ||||||
their prior service to the project, but no longer have code review, voting, or other | ||||||
maintainer privileges for the project. | ||||||
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. Can an emeritus maintainer come back as a current maintainer? |
||||||
|
||||||
## Project-specific dedicated maintainer roles | ||||||
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. Should we add a way to govern this? Similar to changes if governance by having 72 hour public comment period + the need of a 2/3 majority. 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.
Suggested change
|
||||||
|
||||||
Any project that demonstrates a commitment to consuming this library as a | ||||||
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. Do we need direct maintainers and project specific maintainers? I think in this case, we could get away with just having the latter, given the nature of the library? |
||||||
foundational piece of their own project may be eligible for a dedicated maintainer | ||||||
postion for their project. The role is allocated to a representative of a project. | ||||||
If that representative ends their relationship with the project, the project will | ||||||
be able to recommend a new dedicated maintainer. The current set of projects that | ||||||
meet these requirements are: | ||||||
|
||||||
| Project | Maintainer | | ||||||
| -------------------------------------------- | ---------- | | ||||||
| [In-toto](https://github.com/in-toto) | TBD | | ||||||
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.
Suggested change
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 the table shouldn't list the maintainer, so that we don't touch GOVERNANCE.md for personnel changes. |
||||||
| [TUF](https://github.com/theupdateframework) | TBD | | ||||||
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. Should this be specifically go-tuf? |
||||||
|
||||||
**Note: Dedicated Maintainer roles are still subject to general maintainer rules* | ||||||
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.
Suggested change
|
||||||
|
||||||
## Changes in governance | ||||||
|
||||||
The maintainers supervise changes in governance. Changes are approved by a 2/3 | ||||||
majority of voting maintainers with a 72 hour public voting / discussion period. | ||||||
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.
Suggested change
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Maintainers | ||
|
||
| Name | GitHub | | ||
|----------------------------|-----------------| | ||
| Marina Moore (NYU) | [@mnm678](https://github.com/mnm678) | | ||
| Aditya Sirish (NYU) | [@adityasaky](https://github.com/adityasaky) | | ||
| in-toto representative | [TBD](TBD) | | ||
| TUF representative | [TBD](TBD) | |
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.
Should we add a section that describes non-project-specific maintainers?
To a newcomer, it may seem a bit confusing that there are multiple maintainers affiliated with a project.
Also, how important would it be to maintain an academic/researchy core?