diff --git a/.github/ISSUE_TEMPLATE/maintainer-nomination.md b/.github/ISSUE_TEMPLATE/maintainer-nomination.md new file mode 100644 index 0000000..d272247 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/maintainer-nomination.md @@ -0,0 +1,21 @@ +--- +name: Maintainer Nomination +about: Nominate a Member to become a Maintainer of the Transports Working Group. +title: 'Maintainer Nomination: @[username]' +labels: ['nomination', 'maintainer'] +assignees: '' +--- + +**Nominee:** @[GitHub handle] +**Scope:** Transports Working Group +**Sponsor:** @[GitHub handle, must be Maintainer or Core Maintainer] + +**Requirements:** +- [ ] Member for 6+ months with sustained, high-quality contributions +- [ ] Links to demonstrated leadership in WG or significant initiatives +- [ ] Evidence of representing MCP's interests above employer/organization interests +- [ ] Deep understanding of MCP vision, roadmap, and design principles +- [ ] Security and governance onboarding completed (or scheduled) + +**Core Maintainer Approval:** +- [ ] Approved by Core Maintainers diff --git a/.github/ISSUE_TEMPLATE/member-nomination.md b/.github/ISSUE_TEMPLATE/member-nomination.md new file mode 100644 index 0000000..b11a4a8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/member-nomination.md @@ -0,0 +1,21 @@ +--- +name: Member Nomination +about: Nominate a contributor to become a Member of the Transports Working Group. +title: 'Member Nomination: @[username]' +labels: ['nomination', 'member'] +assignees: '' +--- + +**Nominee:** @[GitHub handle] +**Sponsors:** @[GitHub handles] +**Organizations represented:** [Must be 2+ different orgs among sponsors, or 1 Core/Lead Maintainer] + +**Contributions:** +- [ ] Link to merged PR(s) +- [ ] Link to issues filed/triaged +- [ ] Link to discussions participated in +- [ ] Duration of participation: [X months] + +**Sponsor Attestations:** +- [ ] Sponsors confirm nominee demonstrates community values +- [ ] Sponsors confirm nominee demonstrates sustained engagement diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 195aa5a..8cc38fd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,28 +4,24 @@ We welcome contributions from anyone interested in improving MCP transports! ## Quick Start -1. **Join the community** — Connect on the `#transports-wg` channel in [MCP Discord](https://discord.com/invite/6CSzBmMkjX) -2. **Understand the scope** — Review the [CHARTER](./CHARTER.md) and [README](./README.md) -3. **Start contributing** — Attend meetings, open issues, or submit PRs +1. **Join the community** — Connect on the `#transports-wg` channel in [MCP + Discord](https://discord.com/invite/6CSzBmMkjX) +2. **Understand the scope** — Review the [CHARTER](./CHARTER.md) and + [README](./README.md) +3. **Start contributing** — Attend meetings (find the next meeting at + [https://meet.modelcontextprotocol.io/](https://meet.modelcontextprotocol.io/)), + open issues, or submit PRs ## Ways to Contribute ### Participate in Discussions -- Join weekly meetings (no approval needed!) +- Join weekly meetings (no approval needed!). Find the next meeting at + [https://meet.modelcontextprotocol.io/](https://meet.modelcontextprotocol.io/) - Engage in Discord conversations - Comment on GitHub issues and PRs - Share your transport implementation experiences -### Submit Proposals - -Have an idea for improving MCP transports? We'd love to hear it! - -1. **Open an issue** to discuss the idea first -2. **Draft a proposal** following the template in `proposals/` -3. **Submit a PR** for community review -4. **Iterate** based on feedback - ### Improve Documentation - Fix typos or clarify existing docs @@ -38,14 +34,25 @@ Have an idea for improving MCP transports? We'd love to hear it! - Test proposed changes - Share implementation feedback -## Proposal Development +## Proposing Changes -When developing transport proposals: +Have an idea for improving MCP transports? We'd love to hear it! -1. **Propose first** — Open an issue to discuss before writing a full proposal -2. **Follow MCP standards** — Align with existing MCP conventions and patterns -3. **Document thoroughly** — Include rationale, examples, and edge cases -4. **Consider breadth** — Think about applicability across implementations +### Process + +1. **Open an issue** to discuss the idea first. This helps avoid duplicate work and ensures initial alignment. +2. **Draft a proposal** following the template in the `proposals/` directory. +3. **Submit a PR** with your proposal for community review. +4. **Iterate** based on feedback from the community and maintainers. + +### Guidelines + +When developing transport proposals, keep these principles in mind: + +* **Propose first** — Always start with an issue before investing time in a full proposal. +* **Follow MCP standards** — Align with existing MCP conventions and patterns. +* **Document thoroughly** — Include rationale, examples, and edge cases. +* **Consider breadth** — Think about applicability across different implementations and languages. ## Promoting Proposals to Core Spec @@ -75,9 +82,19 @@ And must avoid: - Customer lists or strategies - Competitive information -## Recognition +## Recognition and Advancement -Active contributors — those who attend 2+ meetings or make substantive contributions — can request recognition in [GOVERNANCE.md](./GOVERNANCE.md). Self-nomination is welcome! +The Transports Working Group follows the [MCP Contributor +Ladder](https://modelcontextprotocol.io/community/contributor-ladder). + +Contributors who demonstrate sustained engagement can become **Members** of the +Working Group. Members have additional privileges and are listed in +[GOVERNANCE.md](./GOVERNANCE.md). + +To learn more about the roles (Contributor, Member, Maintainer) and how to +advance, please see [GOVERNANCE.md](./GOVERNANCE.md) and the full [MCP +Contributor +Ladder](https://modelcontextprotocol.io/community/contributor-ladder). ## Communication Channels @@ -88,11 +105,6 @@ Active contributors — those who attend 2+ meetings or make substantive contrib | GitHub Discussions | Longer-form conversations | | Weekly Meetings | Synchronous collaboration and decisions | -## Getting Help - -- **Discord:** Ask in `#transports-wg` -- **GitHub Issues:** Open an issue with your question -- **Meetings:** Bring questions to the weekly call -- **Maintainers:** Reach out to maintainers listed in [GOVERNANCE.md](./GOVERNANCE.md) - -We're here to help — don't hesitate to ask! +If you need help, feel free to ask in any of these channels (Discord is usually +fastest for quick questions). You can also reach out to the maintainers listed +in [GOVERNANCE.md](./GOVERNANCE.md). diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 5c6eb5f..cd1b0e7 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -1,76 +1,109 @@ # Transports Working Group Governance -The Transports Working Group operates under a lightweight, consensus-driven governance model aligned with the broader MCP community. +The Transports Working Group operates under a lightweight, consensus-driven +governance model aligned with the broader MCP community. ## Principles 1. **Open Participation** — Anyone can participate regardless of affiliation 2. **Transparency** — All decisions are documented and publicly accessible -3. **Consensus-Driven** — Maintainers seek agreement; objections prompt discussion -4. **Antitrust Compliance** — All activities follow the [MCP Antitrust Policy](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/ANTITRUST.md) -5. **Ecosystem Alignment** — Work aligns with broader MCP goals and specifications +3. **Consensus-Driven** — Maintainers seek agreement; objections prompt + discussion +4. **Antitrust Compliance** — All activities follow the [MCP Antitrust + Policy](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/ANTITRUST.md) +5. **Ecosystem Alignment** — Work aligns with broader MCP goals and + specifications ## Roles -### Maintainers - -Maintainers are responsible for: - -- Reviewing and merging pull requests -- Coordinating meetings and setting agendas -- Managing repository and community health -- Making governance decisions -- Representing the working group to the broader MCP community - -**Current Maintainers:** - -| Name | Organization | GitHub | -|------|--------------|--------| -| Kurtis Van Gent | Google | [@kurtisvg](https://github.com/kurtisvg) | -| Basil Hosmer | Anthropic | [@bhosmer-ant](https://github.com/bhosmer-ant) | -| Peter Alexander | Anthropic | [@pja-ant](https://github.com/pja-ant) | - -### Active Contributors - -Active contributors regularly participate in discussions, meetings, or code contributions. They: - -- Have demonstrated sustained engagement -- May receive triage permissions -- Are recognized in this document - -**Current Active Contributors:** - -_None yet — get involved!_ +The Transports Working Group aligns with the [MCP Contributor +Ladder](https://modelcontextprotocol.io/community/contributor-ladder). ### Contributors -Anyone who participates in any way: +Anyone who participates in the project: - Joining Discord discussions - Attending meetings - Opening or commenting on issues - Submitting pull requests -- Reviewing proposals No formal approval is needed to become a contributor. +### Members + +Members are established contributors with sustained engagement. They: + +- Have multiple contributions (code, documentation, or community) +- Have at least one merged PR +- Have enabled two-factor authentication on GitHub +- Can be assigned to issues and PRs +- Can use review commands like `/lgtm` + +**Current Members:** + +| Name | Organization | GitHub | +|------------------|--------------|--------------------------------------------------------| +| Caitie McCaffrey | Microsoft | [@CatieM20](https://github.com/CatieM20) | +| Jonathan Hefner | - | [@jonathanhefner](https://github.com/jonathanhefner) | +| Mark Roth | Google | [@markdroth](https://github.com/markdroth) | +| Mike Kistler | Microsoft | [@mikekistler](https://github.com/mikekistler) | +| Shaun Smith | Hugging Face | [@evalstate](https://github.com/evalstate) | + +### Maintainers + +Maintainers have demonstrated sustained commitment and leadership. They are +responsible for: + +- Reviewing and merging pull requests +- Coordinating meetings and setting agendas +- Managing repository and community health +- Making technical and governance decisions within the WG scope +- Representing the working group to the broader MCP community + +**Current Maintainers:** + +| Name | Organization | GitHub | +|-----------------|--------------|------------------------------------------------| +| Basil Hosmer | Anthropic | [@bhosmer-ant](https://github.com/bhosmer-ant) | +| Kurtis Van Gent | Google | [@kurtisvg](https://github.com/kurtisvg) | +| Peter Alexander | Anthropic | [@pja-ant](https://github.com/pja-ant) | + + ## Decision Making 1. **Proposal** — Ideas are raised via GitHub issues, PRs, or meetings 2. **Discussion** — Open discussion in Discord and GitHub 3. **Consensus** — Maintainers seek agreement; silence implies consent -4. **Objection Resolution** — Objections trigger further discussion until resolved +4. **Objection Resolution** — Objections trigger further discussion until + resolved 5. **Documentation** — All decisions are recorded in meeting notes or GitHub +## Becoming a Member + +To become a Member, a contributor must: + +1. Have made multiple contributions to the WG (code, docs, or community). +2. Have at least one merged PR or accepted contribution. +3. Demonstrate ongoing engagement. +4. Have 2FA enabled on GitHub. +5. Be sponsored by two existing Members or Maintainers from different + organizations (or one Core/Lead Maintainer). +6. Have no objections from existing Members within 7 days of nomination. + ## Becoming a Maintainer -Maintainer status is earned through sustained, high-quality contributions: +Maintainer status is earned through sustained, high-quality contributions and +leadership: -1. Demonstrate expertise in transport-related topics -2. Contribute regularly over an extended period -3. Show good judgment in technical discussions -4. Be nominated by an existing maintainer -5. Receive consensus approval from current maintainers +1. Be a Member for at least 6 months. +2. Demonstrate sustained, high-quality contributions. +3. Demonstrate leadership in WG initiatives. +4. Show ability to represent MCP's interests above an individual employer's + interests. +5. Complete security and governance onboarding (as required by the project). +6. Be sponsored by an existing Maintainer or Core Maintainer. +7. Be approved by the project Core Maintainers. ## Meeting Requirements diff --git a/README.md b/README.md index f22ae70..05be649 100644 --- a/README.md +++ b/README.md @@ -35,16 +35,19 @@ All meetings include: - Published agenda (48h prior) - Open attendance for all interested participants -## How to Participate +## Getting Involved -We welcome participation from anyone interested in MCP transports! +We welcome contributions from anyone interested in MCP transports! Here is how you can get involved: -- **Join** the `#transports-wg` channel on [MCP Discord](https://discord.com/invite/6CSzBmMkjX) -- **Attend** weekly meetings (no approval needed!) -- **Contribute** by opening issues, submitting PRs, or providing feedback -- **Review** the [CONTRIBUTING guide](./CONTRIBUTING.md) for detailed guidelines +1. **Join the community** — Connect on the `#transports-wg` channel in [MCP Discord](https://discord.com/invite/6CSzBmMkjX). +2. **Attend meetings** — Join our weekly calls (find the next meeting at [https://meet.modelcontextprotocol.io/](https://meet.modelcontextprotocol.io/)). No approval needed! +3. **Contribute** — Open issues to propose ideas or submit PRs for improvements. -_See [GOVERNANCE.md](./GOVERNANCE.md) for current members, roles, and how to become a maintainer._ +Please review our **[CONTRIBUTING.md](./CONTRIBUTING.md)** guide for detailed guidelines on how to participate. + +All participants must abide by the **[MCP Code of Conduct](https://github.com/modelcontextprotocol/.github/blob/main/CODE_OF_CONDUCT.md)** and adhere to the **[MCP Antitrust Policy](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/ANTITRUST.md)**. + +_See [GOVERNANCE.md](./GOVERNANCE.md) for current members and governance roles._ ## Current Focus Areas @@ -67,19 +70,6 @@ Our work focuses on: └── meetings/ # Agendas and notes from working group meetings ``` -## Contributing - -We welcome contributions of all kinds! Please review: - -- **[CONTRIBUTING.md](./CONTRIBUTING.md)** — Detailed contribution guidelines -- **[MCP Code of Conduct](https://github.com/modelcontextprotocol/.github/blob/main/CODE_OF_CONDUCT.md)** — Community standards -- **[MCP Antitrust Policy](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/ANTITRUST.md)** — Required compliance - -**Quick Start:** -- Open an issue to propose ideas or report problems -- Submit a PR for proposals, documentation, or improvements -- Join discussions in Discord or GitHub - ## Related Resources - [Model Context Protocol](https://modelcontextprotocol.io)