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?

@@ -0,0 +1,35 @@
# EESSI – Terms of Use

**Effective Date:** 23 June 2025
Copy link
Contributor

Choose a reason for hiding this comment

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

I would change this to:

Suggested change
**Effective Date:** 23 June 2025
**Last change:** 23 June 2025

and then also have a Changelog at the end (which for now can just mention something like "No changes since initial publication of this Terms of Use on ")

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Effective Date is the correct legal term here. It signifies when the (i.e. this version of the) Terms and Conditions have become applicable. It doesn't just signify the change: you can make a change and decide it will only become effective 1 month from now, if that's what you want.


**Effective Date:** 23 June 2025

By using the **European Environment for Scientific Software Installations (EESSI)**, you agree to the following terms:
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
By using the **European Environment for Scientific Software Installations (EESSI)**, you agree to the following terms:
By using the [**European Environment for Scientific Software Installations (EESSI)**](https://eessi.io), you agree to the following terms:

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Fixed in fb0e8e6

By using the **European Environment for Scientific Software Installations (EESSI)**, you agree to the following terms:

## 1. Purpose
EESSI provides a shared scientific software stack for academic, research, and educational use. Access and usage are intended for non-commercial scientific computing.
Copy link
Contributor

Choose a reason for hiding this comment

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

We need to be careful with our wording here, I think...

As such, this doesn't forbid the use of EESSI for "commercial scientific computing" (whatever that may mean)

I guess as it is now, it's OK?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Clarified phrasing: fb0e8e6

Contributions are welcome and governed by the project’s contribution guidelines. By contributing, you agree your input may be publicly shared and reused under compatible open-source licenses.

## 8. Contact
For support or inquiries, visit [https://eessi.github.io](https://eessi.github.io) or contact the maintainers via **[Insert Email or GitHub]**.
Copy link
Contributor

Choose a reason for hiding this comment

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

To fix, maybe just point to https://www.eessi.io/docs/support ?

Comment on lines 1 to 26
<!--
# EESSI Policies
-->

<!--
No policies have been defined (yet) ==> see draft based on the thoughts below
-->

<!--
Should we have separate policies that Teams themselves can set? I.e. distinguish Project and Team policies, where project policies are set by the Steering Committee and Team policies by the respective Teams? Team policies could be ways to formalize concensus-based decisions. Clearly, if Team policies and Project policies contract, Project policy should come first.

EESSI Policies could be things like

- Should build for all architectures
- If something isn't available for an architecture, the end-user should be informed at runtime, e.g. through an error printed by a modulefile
- If something cannot be optimized for a micro-architecture, do we provide a less-optimized form (e.g. doesn't build for zen4 but does for zen3, so we provide zen3)?
- Something on the fact that we try to provide a full software Bill-of-Materials for all software we deploy?
- Acceptance of new software for the EESSI repository is "Yes, unless we can't" or "Yes, as long as it meets the Contribution Policy", i.e. we'll accept _anything_ that's reasonable?
- Rebuild policy: when do we rebuild?
- Removal policy: when do we remove?
- Something on optimization?
- Something on contributions _other_ than software for the EESSI repository (i.e. build logic, test suite, build bot). Should a requirement be that we can test it? Or is this too specific and should it be Team Policy?
- Include our current Contribution Policy? Or should that be separate? (it's maybe more a Team Policy?) https://www.eessi.io/docs/adding_software/contribution_policy/
- For security-critical roles (we should define which roles are security critical!), we only adopt new people that we (i.e. at least one person in that Team) knows _personally_.
- Whenever technical choices need to be made between (optimizing for) HPC, Cloud, or a PC, we prioritize HPC usage (?). I.e. if we can choose between two implementations, and one would break usage on HPC, and another would break Cloud usage, and there is no implementation that works on both, we prioritize HPC? Or do we NOT make this explicit? Or: do we only make it explicit for _optimization_ related stuff (but not for 'it works' vs 'it does not work')?
-->
Copy link
Contributor

Choose a reason for hiding this comment

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

to remove?

mkdocs.yml Outdated
- Overview: governance/index.md
- Charter: governance/charter.md
- Governance: governance/governance.md
- EESSI Policies: governance/policies.md
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
- EESSI Policies: governance/policies.md
- Policies: governance/policies.md


There are currently no Team Policies yet.

_Last updated: 23 June 2025_
Copy link
Contributor

Choose a reason for hiding this comment

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

I would replace this with a "Changlog" section, and mention on top when this page was last updated and point to the changelog for details?

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.

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.

5 participants