mirror of
https://gh.wpcy.net/https://github.com/fairpm/tsc.git
synced 2026-05-03 10:58:22 +08:00
160 lines
4.6 KiB
Markdown
160 lines
4.6 KiB
Markdown
# The Technical Steering Committee and How to Participate
|
||
|
||
To learn about the different contribution pathways you can take, you can read [about how to get started](../getting-started) which has more detail about how you can contribute to the project
|
||
|
||
## Contributions
|
||
|
||
There are many ways to contribute to the project. You can:
|
||
|
||
- Contribute with a pull request
|
||
- Join a discussion on a ticket
|
||
- Join a working group
|
||
- Contribute to documentation
|
||
- Help with developer engagement
|
||
|
||
---
|
||
|
||
## Active Working Groups
|
||
|
||
Active working groups should be listed here. It is the responsibility of the working group **Organizer** to list the project here while it is active.
|
||
|
||
**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.
|
||
- [Community](https://github.com/fairpm/tsc) - a documentation, governancem and process-focused initiative to support contributor onboarding and clarify how to engage with the FAIR Package Manager project
|
||
|
||
Each working group has its own repository for working on its deliverables.
|
||
|
||
---
|
||
|
||
## 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:
|
||
|
||
- [Script it](https://stackoverflow.com/a/46536244/2575)
|
||
- Cursor/VSCode: go to `Extensions -> Git` and check the option (globally or per project)
|
||
- CLI:
|
||
```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
|
||
|
||
- **TSC Chair(s)** – One or three (voting)
|
||
- **Organizers** – Appointed maintainers and leaders (voting)
|
||
- **Contributors** – Community members in any capacity (non-voting)
|
||
|
||
TSC involvement includes all aspects of the project: code, documentation, marketing, accessibility, and more.
|
||
|
||
### Responsibilities
|
||
|
||
- 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
|
||
- Lead marketing, events, and outreach
|
||
|
||
---
|
||
|
||
## Project Roles
|
||
|
||
### Contributor
|
||
|
||
Anyone contributing in any form, including:
|
||
|
||
- Code
|
||
- Documentation
|
||
- Training materials
|
||
- Project management
|
||
- Translation
|
||
- Architecture
|
||
- Support
|
||
|
||
> Contributors are **non-voting members** of the TSC.
|
||
|
||
### Organizer
|
||
|
||
Contributors elevated to leadership roles:
|
||
|
||
- Modify/approve repository content
|
||
- Lead contributors or working groups
|
||
|
||
**Becoming an Organizer:**
|
||
|
||
- Requires majority approval of existing Organizers
|
||
|
||
**Removal:**
|
||
|
||
- Requires majority vote of existing Organizers
|
||
|
||
> Voting rights limited: related companies can only use up to **30%** of the TSC’s total votes.
|
||
|
||
### TSC Chairs
|
||
|
||
The TSC decides whether to have 1 or 3 chairs. They:
|
||
|
||
- Run TSC meetings
|
||
- Ensure voting process adherence
|
||
- Act as primary liaison with the governing board
|
||
- May be non-developers
|
||
- Cannot all be from the same company (if 3 co-chairs)
|
||
|
||
> Current TSC Chairs are **interim** until **June 2025**, after which elections will be held.
|
||
|
||
---
|
||
|
||
## Voting Process
|
||
|
||
- Consensus is preferred
|
||
- When necessary, TSC votes: 1 vote per member
|
||
- **Quorum**: 50% of voting members required
|
||
- **Majority vote** to pass decisions
|
||
- Asynchronous voting allowed with:
|
||
- 50% participation
|
||
- Clear deadline
|
||
- 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.
|
||
|
||
👉 **[View the full Code of Conduct here](/../code-of-conduct.md)**
|
||
|
||
---
|