Skip to content

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

Draft
wants to merge 63 commits into
base: main
Choose a base branch
from
Draft

EESSI Governance #456

wants to merge 63 commits into from

Conversation

casparvl
Copy link
Collaborator

@casparvl casparvl commented May 7, 2025

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

@casparvl casparvl changed the title Governance EESSI Governance May 7, 2025
@bedroge
Copy link
Collaborator

bedroge commented May 7, 2025

@casparvl I've fixed some typos in casparvl#1 and casparvl#2.

@casparvl
Copy link
Collaborator Author

casparvl commented May 7, 2025

Oh yeah, thanks, merged!


### 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.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.

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
Copy link
Member

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

Suggested change
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

Copy link
Collaborator Author

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 :)

casparvl and others added 2 commits June 19, 2025 10:17
carefully hand-crafted ... aehm copiloted ... policies
…SSI softwares stack versions and individual software. Remove some duplicate statements

- 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.
Copy link
Collaborator Author

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
Copy link
Contributor

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.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Like this?

Comment on lines +55 to +60
### 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.
Copy link
Collaborator

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

Suggested change
### 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;
Copy link
Contributor

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.

Copy link
Contributor

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_.

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

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_.

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.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- 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.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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,

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.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
Copy link
Contributor

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)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants