2025-06-06 10:25:27 -07:00
# Welcome to the FAIR Package Manager GitHub Repository
2025-06-05 14:15:56 +01:00
2025-06-06 10:25:27 -07:00
We’ re happy that you’ re here and want to learn more about the project structure and our different roles.
2025-06-09 00:03:28 +01:00
To learn about the different contribution pathways you can take, you can read [about how to get started ](getting-started.md ) which has more detail about how you can contribute to the project.
2025-06-05 14:15:56 +01:00
## Contributions
There are many ways to contribute to the project. You can:
2025-06-06 10:25:27 -07:00
- Contribute with a pull request
- Join a discussion on a ticket
- Join a working group
- Contribute to documentation
- Help with developer engagement
- Come to a [meeting ](https://zoom-lfx.platform.linuxfoundation.org/meetings/fair-package-manager?view=month )
2025-06-05 14:15:56 +01:00
---
## Active Working Groups
2025-06-06 10:25:27 -07:00
Active working groups are listed here. It is the responsibility of the working group **Organizer** to list the project here while it is active.
2025-06-05 14:15:56 +01:00
**Current active working groups are:**
- [Technical Independence ](https://github.com/fairpm/fair-plugin ) - responsible for developing a solution to independence from the existing central WP server
- [FAIR ](https://github.com/fairpm/fair-protocol ) - responsible for the development and operation of The FAIR Package Manager, including server infrastructure, protocol design, and a connector plugin.
2025-06-06 10:25:27 -07:00
- [Community ](https://github.com/fairpm/tsc ) - a documentation, governance and process-focused initiative to support contributor onboarding and clarify how to engage with the FAIR Package Manager project
2025-06-05 14:15:56 +01:00
Each working group has its own repository for working on its deliverables.
2025-06-06 10:25:27 -07:00
For a list of all groups, past and present, you can read the [Working Groups Documentation ](working-groups/README.md )
2025-06-05 14:15:56 +01:00
---
## Code Signing
When committing code to a Project repository, you need to sign your commits by adding this to your commit messages:
```
Signed-off-by: Author Name < authoremail @example .com >
```
If you're unfamiliar with signing commits, here are some resources:
2025-06-06 10:25:27 -07:00
- [Script it ](https://stackoverflow.com/a/46536244/2575 )
- Cursor/VSCode: go to `Extensions -> Git` and check the option (globally or per project)
- CLI:
2025-06-05 14:15:56 +01:00
```bash
git commit -s
```
---
## Legal Requirements
[To be updated]
### Licensing & Copyright
- You **retain copyright**
- Code contributions must use the **GNU GPL v2 license**
- Docs and content: **Creative Commons Attribution 4.0**
- All code contributions must include a **DCO sign-off**
- Sign-off applies to your employer if applicable
- Project releases use **GPL v2**
- Will follow Upstream Project license terms
- **License exceptions** require a two-thirds TSC vote
- Files should use **SPDX identifiers**
---
## Technical Steering Committee (TSC)
The TSC governs the project, ensures progress, and adheres to governance practices.
### Composition
2025-06-06 10:25:27 -07:00
- **[TSC Chair(s) ](organizers.md#tsc-co-chairs )** – One or three (voting)
- **[Organizers ](organizers.md#tsc-members )** – Appointed maintainers and leaders (voting)
2025-06-05 14:15:56 +01:00
- **Contributors** – Community members in any capacity (non-voting)
TSC involvement includes all aspects of the project: code, documentation, marketing, accessibility, and more.
### Responsibilities
2025-06-06 10:25:27 -07:00
- Coordinate project direction
- Approve proposals (new ideas, deprecations, scope changes)
- Manage sub-projects
- Create working groups for technical issues
- Appoint collaboration representatives
- Define norms, workflows, release, and security policies
- Set contribution guidelines and resolve issues with the Series Manager
- Vote on multi-project-impacting changes
2025-06-05 14:15:56 +01:00
- Lead marketing, events, and outreach
---
## Project Roles
### Contributor
Anyone contributing in any form, including:
- Code
- Documentation
- Training materials
- Project management
- Translation
- Architecture
- Support
2025-07-24 19:58:13 +02:00
> Contributors to the technical project are not TSC members.
2025-06-05 14:15:56 +01:00
### Organizer
Contributors elevated to leadership roles:
- Modify/approve repository content
- Lead contributors or working groups
**Becoming an Organizer:**
- Requires majority approval of existing Organizers
2025-07-24 19:58:13 +02:00
- An existing Organizer can nominate a Contributor
- Nominee must accept nomination
- When possible, nominations are approved by [lazy consensus ](https://www.apache.org/foundation/glossary.html#LazyConsensus )—if no objections are raised within 5 business days, the nomination moves forward
- If objections are raised, a vote will be held
2025-06-05 14:15:56 +01:00
**Removal:**
- Requires majority vote of existing Organizers
2025-07-24 19:58:13 +02:00
> Voting rights limited: related companies can only use up to **30%** of the TSC’ s total votes per our [Charter](charter.md).
2025-06-05 14:15:56 +01:00
### TSC Chairs
The TSC decides whether to have 1 or 3 chairs. They:
2025-06-06 10:25:27 -07:00
- Run TSC meetings
- Ensure voting process adherence
- Act as primary liaison with the governing board
- May be non-developers
2025-06-05 14:15:56 +01:00
- Cannot all be from the same company (if 3 co-chairs)
2025-07-24 19:58:13 +02:00
#### Nominations
- Nominations for TSC Chair(s) are open to all Organizers
- Interested persons may nominate themselves
- Nominations are facilitated by the Linux Foundation ([example ](https://github.com/orgs/fairpm/discussions/43 ))
#### Term Limits and Rotation
To ensure continuity and stable leadership, Co-Chair terms are staggered as follows:
* All Co-Chair positions serve a three-year term
* To establish staggered terms:
* The initial three Co-Chairs will serve 1-, 2-, and 3-year terms, as agreed upon among themselves
* After the first year, one Co-Chair will rotate off and a new one will be elected annually
* This rotation helps preserve stability by ensuring:
* Only one Co-Chair changes each year
* At least two experienced Co-Chairs remain at all times
2025-06-05 14:15:56 +01:00
---
## Voting Process
2025-06-06 10:25:27 -07:00
- Consensus is preferred
- When necessary, TSC votes: 1 vote per member
- **Quorum**: 50% of voting members required
- **Majority vote** to pass decisions
2025-06-05 14:15:56 +01:00
- Asynchronous voting allowed with:
- 50% participation
2025-06-06 10:25:27 -07:00
- Clear deadline
2025-06-05 14:15:56 +01:00
- Unresolved issues can be escalated to the **Series Manager**
---
## Code of Conduct
We want our project to be **welcoming and inclusive** . All project members must adhere to our Code of Conduct.
2025-06-06 10:25:27 -07:00
👉 ** [View the full Code of Conduct here ](code-of-conduct.md )**
2025-06-05 14:15:56 +01:00
---