TIDELIFT.rst
Overview
This document provides an internal overview of how the pytest core team manages activities related to Tidelift, a platform dedicated to making Open Source software sustainable. It explains the purpose of Tidelift, describes the distribution of funds to contributors, outlines administrative roles, and details the process for contributors to receive funding via Tidelift.
The file is a reStructuredText (RST) formatted documentation file, primarily aimed at pytest project contributors and maintainers involved with Tidelift-related processes. It serves as a governance and procedural guideline rather than executable code.
Detailed Content Explanation
Purpose and Functionality
Purpose: To document the pytest core team’s management of Tidelift-related activities.
Functionality: Explains the goals of Tidelift, how funds are allocated to contributors, the list of contributors currently receiving funds, the process for joining or leaving the funded list, and the role of administrators who manage the Tidelift dashboard.
Sections Breakdown
1. What is it
Description: Introduces Tidelift as a platform that funds Open Source maintainers by offering subscriptions to companies that depend on Open Source packages.
Key points:
Companies subscribe to support Open Source sustainability.
Provides assurances on maintenance, quality, and security.
2. Funds
Description: Details how funds from Tidelift subscriptions are distributed among contributors.
Implementation detail:
Funds are split evenly between members of the contributors team who opt-in.
Contributors must submit a Pull Request (PR) to add or remove themselves from the funded list.
PRs must mention the
@pytest-dev/tidelift-adminsteam for administrative follow-up.After merging, contributors must register on the Tidelift platform and sign an agreement.
Current funded contributors:
@nicoddemus@The-Compiler@RonnyPfannschmidt
3. Admins
Description: Describes the administrative roles related to Tidelift within the pytest project.
Role: Admins have access to the Tidelift dashboard to manage contributor funding.
Team: Admins belong to the
@pytest-dev/tidelift-adminsteam.Involvement: Core contributors interested in helping with maintenance are encouraged to contact admins or use the mailing list.
Important Implementation Details
The document does not contain any programming code or algorithmic logic.
It functions as a governance document defining processes and roles.
Uses references and hyperlinks extensively to guide contributors to external resources like mailing lists, GitHub teams, and the Tidelift platform.
PR process is highlighted as the mechanism for contributors to manage their funding status.
Interaction With the System / Application
This RST file interacts indirectly with the pytest project’s contribution workflow through the PR process.
It defines policy that affects contributors’ participation in Tidelift funding.
Admin teams referenced here coordinate updates between pytest’s GitHub repository and the Tidelift platform.
Links to external resources (GitHub teams, mailing lists, Tidelift agreements) are crucial for operationalizing the policies described.
Usage Examples
Since this is documentation, usage examples pertain to contributor interactions:
To receive funding:
Submit a PR adding your GitHub username to the funded contributors list.
Mention the
@pytest-dev/tidelift-adminsteam in the PR.After PR merge, register on the Tidelift platform and complete the agreement.
To stop receiving funding:
Submit a PR removing your username from the list.
Mention the
@pytest-dev/tidelift-adminsteam.No further action after merge.
For admins:
Manage the Tidelift dashboard to reflect contributor funding changes.
Communicate with contributors via mailing lists or GitHub teams.
Visual Diagram
Since this file is a governance and process document, a flowchart illustrating the workflow for managing Tidelift contributor funding is the most appropriate visualization.
flowchart TD
A[Contributor wants to receive funds] --> B[Submit PR adding name to list]
B --> C{PR Mention @pytest-dev/tidelift-admins?}
C -- Yes --> D[PR reviewed and merged]
C -- No --> E[Request contributor to update PR]
D --> F[Contributor registers on Tidelift platform]
F --> G[Contributor signs agreement]
G --> H[Contributor receives funds]
subgraph Admin Actions
I[Monitor PRs for funding changes]
J[Update Tidelift dashboard]
K[Communicate with contributors]
end
D --> I
I --> J
J --> K
%% Process for stopping funds
AA[Contributor wants to stop receiving funds] --> AB[Submit PR removing name from list]
AB --> AC{PR Mention @pytest-dev/tidelift-admins?}
AC -- Yes --> AD[PR reviewed and merged]
AC -- No --> AE[Request contributor to update PR]
AD --> I
Summary
File Type: Documentation (reStructuredText)
Role: Describes pytest project’s Tidelift funding management policies.
Audience: pytest contributors, maintainers, and admins.
Key Topics: Tidelift purpose, fund distribution, contributor onboarding/offboarding, admin roles.
No code or algorithms are present; focus is on procedural instructions.
Integrations: GitHub PR workflow, Tidelift platform, mailing lists, GitHub teams.
Visualized Workflow: Contributor funding management via PRs and admin dashboard updates.
This document is essential for transparent and smooth coordination of Tidelift funds within the pytest project, ensuring sustainability and clear responsibilities.