-
Notifications
You must be signed in to change notification settings - Fork 41
EESSI Governance #456
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
base: main
Are you sure you want to change the base?
EESSI Governance #456
Conversation
…we can do that in follow up PRs
@casparvl I've fixed some typos in casparvl#1 and casparvl#2. |
fix typo
fix some more typos
Oh yeah, thanks, merged! |
docs/governance/governance.md
Outdated
|
||
### 5.2 Removing Team Members | ||
<!-- Describe under what conditions someone may be removed (e.g., inactivity, conduct). --> | ||
Teams decide themselves decide the procedure to remove new Team members. As for the procedure of adding Team Members, the procedure to remove Team Members should reflect the sensitivity of the position. |
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.
Teams decide themselves decide the procedure to remove new Team members. As for the procedure of adding Team Members, the procedure to remove Team Members should reflect the sensitivity of the position. | |
Teams themselves decide the procedure to remove Team members. As for the procedure of adding Team Members, the procedure to remove Team Members should reflect the sensitivity of the position. |
docs/governance/governance.md
Outdated
TODO: This project follows the [Contributor Covenant](https://www.contributor-covenant.org/) Code of Conduct. | ||
|
||
## 8. Contribution Agreement | ||
TODO: Should refer to some Contribution Agreement. Is contributing only possible after signing this agremeent? If so, that should be stated here |
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.
Linux projects have a standard approach here which doesn't involve signing a CA
TODO: Should refer to some Contribution Agreement. Is contributing only possible after signing this agremeent? If so, that should be stated here | |
TODO: Should refer to some Contribution Agreement. Is contributing only possible after signing this agreement? If so, that should be stated here |
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.
Hm, that sounds attractive, since it means we don't need a lawyer to draw up something for us :)
carefully hand-crafted ... aehm copiloted ... policies
…SSI softwares stack versions and individual software. Remove some duplicate statements
docs/governance/policies.md
Outdated
|
||
- EESSI is committed to providing a complete SBOM for all deployed software. | ||
- The SBOM should include versioning, licensing, and dependency information. | ||
- Preferred formats include SPDX or CycloneDX. |
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.
I'm not sure if we can already meet the latter two points. If not, does it make sense to include them? I don't think so. Or at least we should make clear it's not currently the case, but is a long term goal.
- Governance: governance/governance.md | ||
- EESSI Policies: governance/policies.md | ||
- Code of Conduct: governance/code_of_conduct.md | ||
- Current Steering Committee: governance/steering_committee.md |
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.
We should either set up an auto-redirect for eessi.io/docs/governance
to the moved steering_comittee
URL, or set up a simple index.md
in /governance
with bullets that points to the subpages.
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.
Like this?
tweaks to governance (sections 3-9), charter, policies
Co-authored-by: Kenneth Hoste <[email protected]>
… is meant to resolve
Co-authored-by: Kenneth Hoste <[email protected]>
Co-authored-by: Bob Dröge <[email protected]>
### 2.6 Ingestors | ||
Ingestors are those individuals that have permissions to ingest a tarball into the EESSI CernVM-FS repository, i.e. they are essentially responsible for step 3 as it is described in the [Builders](#builders) Section. | ||
|
||
Ingestors have merge permissions on the (private) `EESSI/staging` GitHub repository. | ||
|
||
Ingestors should check the contents of the tarball as it is reported in the pull requests in the `EESSI/staging` repository. This essentially provides a second check (next to that done by Deployers) on the contents of the tarball. |
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.
I was just making a github team for a new staging repo, and was wondering which name you used for this role. While using it, I started wondering if it shouldn't be ingesters. According to an AI friend:
Both ingester and ingestor are correct and commonly used, though "ingester" is the more widely accepted and preferred term, according to Wiktionary. Both words refer to something that ingests, whether it's a person, an animal, or a machine. While "ingestor" is also a valid word, "ingester" is more frequently encountered in contemporary usage, particularly in technical contexts
### 2.6 Ingestors | |
Ingestors are those individuals that have permissions to ingest a tarball into the EESSI CernVM-FS repository, i.e. they are essentially responsible for step 3 as it is described in the [Builders](#builders) Section. | |
Ingestors have merge permissions on the (private) `EESSI/staging` GitHub repository. | |
Ingestors should check the contents of the tarball as it is reported in the pull requests in the `EESSI/staging` repository. This essentially provides a second check (next to that done by Deployers) on the contents of the tarball. | |
### 2.6 Ingesters | |
Ingesters are those individuals that have permissions to ingest a tarball into the EESSI CernVM-FS repository, i.e. they are essentially responsible for step 3 as it is described in the [Builders](#builders) Section. | |
Ingesters have merge permissions on the (private) `EESSI/staging` GitHub repository. | |
Ingesters should check the contents of the tarball as it is reported in the pull requests in the `EESSI/staging` repository. This essentially provides a second check (next to that done by Deployers) on the contents of the tarball. |
- The Steering Committee ideally consists of an odd number of Members; | ||
- No more than 30% of the Members should be employed by commercial entities; | ||
- The number of Members working for the same company should be limited to 1; | ||
- The number of Members from the same country should be limited to 2; |
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.
Which of these does 'from' refer too?
- place of birth
- nationality
- residence
- place of work
I'm thinking the third is meant here.
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.
No, country of affiliation (company/institution), I'd say. But should be clarified, indeed.
@@ -0,0 +1,49 @@ | |||
<!-- | |||
A project charter discusses _what it is and why it exists_, a governance discusses _how it operates_. |
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.
Oughtn't this to be just "governance"? I don't understand what "a governance" is.
|
||
## Our Pledge | ||
|
||
We as members, contributors, and leaders pledge to make participation in our |
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.
The definitions of "members", "contributors", and "leaders" need to be provided.
In particular, we have a statement in the preceding file that there are no members...
@@ -0,0 +1,238 @@ | |||
<!-- | |||
A project charter discusses _what it is and why it exists_, a governance discusses _how it operates_. |
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.
A "statement of governance principles" or similar?
<!-- Optional section to state high-level principles like openness, meritocracy, consensus, etc. --> | ||
The value of EESSI grows exponentially with two things: the amount of systems that make EESSI available, and the amount of software that is available in EESSI. Thus, the first goal of this governance is to make sure everyone in the community feels sufficiently included so that they are willing to contribute to EESSI (rather than build their own solution). | ||
|
||
The second goal of this governance is to make clear how and by whom decisions in EESSI are taken. This is because trust in this process is important, both to infrastructure providers making the EESSI software stack is available on their systems, as well as by end-users of the software. Note that this concerns both large decisions, such as which architectures are supported in EESSI, as well as small decisions, such as making a specific software package available in EESSI. |
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.
The second goal of this governance is to make clear how and by whom decisions in EESSI are taken. This is because trust in this process is important, both to infrastructure providers making the EESSI software stack is available on their systems, as well as by end-users of the software. Note that this concerns both large decisions, such as which architectures are supported in EESSI, as well as small decisions, such as making a specific software package available in EESSI. | |
The second goal of this governance is to make clear how and by whom decisions in EESSI are taken. This is because trust in this process is important, both to infrastructure providers making the EESSI software stack available on their systems, as well as for end-users of the software. Note that this concerns both large decisions, such as which architectures are supported in EESSI, as well as small decisions, such as making a specific software package available in EESSI. |
|
||
### 2.1 Owners of the `EESSI` GitHub organization & repositories | ||
<!-- Define who contributors are and what they can do (e.g., file issues, submit PRs). --> | ||
The owners of the [EESSI GitHub organization](https://github.com/EESSI) & repositories are those individuals with `owner` rights on the EESSI GitHub organization or one of it's associated repositories. |
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.
The owners of the [EESSI GitHub organization](https://github.com/EESSI) & repositories are those individuals with `owner` rights on the EESSI GitHub organization or one of it's associated repositories. | |
The owners of the [EESSI GitHub organization](https://github.com/EESSI) & repositories are those individuals with `owner` rights on the EESSI GitHub organization or one of its associated repositories. |
Membership of the Steering Committee can terminate in three ways: | ||
|
||
- A Member can resign | ||
- A Member may be voted out. In this case, the vote needs to be unanimous between the other Members. This procedure is intended to provide a mechanism for addressing extraordinary circumstances where a members behavior or actions are deemed severely detrimental to the committee's function or reputation, and/or to the EESSI project. |
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.
- A Member may be voted out. In this case, the vote needs to be unanimous between the other Members. This procedure is intended to provide a mechanism for addressing extraordinary circumstances where a members behavior or actions are deemed severely detrimental to the committee's function or reputation, and/or to the EESSI project. | |
- A Member may be voted out. In this case, the vote needs to be unanimous between the other Members. This procedure is intended to provide a mechanism for addressing extraordinary circumstances where a member's behavior or actions are deemed severely detrimental to the committee's function or reputation, and/or to the EESSI project. |
- The number of Members from the same country should be limited to 2; | ||
- The composition of the Steering Committee should reflect the EESSI community; | ||
|
||
Note that if Members change jobs, or move to another country, some of the above criteria that were taken into account during selection may no longer be satisfied. It is up to the Steering Committee to decide if this is problematic, and if so, try to restore balance by requesting someone to resign. |
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.
Note that if Members change jobs, or move to another country, some of the above criteria that were taken into account during selection may no longer be satisfied. It is up to the Steering Committee to decide if this is problematic, and if so, try to restore balance by requesting someone to resign. | |
Note that if Members change jobs, or move to another country, some of the above criteria that were taken into account during selection may no longer be satisfied. It is up to the Steering Committee to decide if this is problematic, and if so, try to restore balance by requesting someone's resignation. |
|
||
## 4. Transparency and Traceability | ||
|
||
EESSI aims to be transparent regarding how software was build. A combination of the git history, EasyBuild logs, as well as the `easybuild` subdirectory within every installation (which provides the easyconfig and patch files, easyblock, and any hooks used at installation time) provide a detailed description of how software was configured and built. |
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.
EESSI aims to be transparent regarding how software was build. A combination of the git history, EasyBuild logs, as well as the `easybuild` subdirectory within every installation (which provides the easyconfig and patch files, easyblock, and any hooks used at installation time) provide a detailed description of how software was configured and built. | |
EESSI aims to be transparent regarding how software was built. A combination of the git history, EasyBuild logs, as well as the `easybuild` subdirectory within every installation (which provides the easyconfig and patch files, easyblock, and any hooks used at installation time) provide a detailed description of how software was configured and built. |
## 5. Platform Prioritization | ||
|
||
**HPC compatibility and performance are prioritized**, | ||
in cases where technical choices must be made between HPC, Cloud, or PC environments, |
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.
Maybe end-user or local rather than "PC"?
|
||
# EESSI Team Policies | ||
|
||
There are currently no Team Policies yet. |
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.
There are currently no Team Policies yet. | |
There are no Team Policies yet. |
|
||
Note that if Members change jobs, or move to another country, some of the above criteria that were taken into account during selection may no longer be satisfied. It is up to the Steering Committee to decide if this is problematic, and if so, try to restore balance by requesting someone to resign. | ||
|
||
All new Members will appoint an alternate that may represent them and vote on their behalf in case they are unavailable. If a Member resigns or is voted out from the Steering Committee, their alternate immediately loses any rights they had as an alternate. |
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.
Maybe we should make this optional, and even leave the door open for temporary alternate (for 1 meeting)?
To be agreed on by the Steering Committee. I think the most practical is if we keep iterating / wait until every one of us has given an approving review