Extension and Protocol Binding Governance¶
The A2A organization uses a unified governance framework for both Extensions and Custom Protocol Bindings. This document defines the formal process for proposing, developing, promoting, and maintaining these artifacts within the A2A organization.
Anyone may develop and publish extensions or custom protocol bindings
independently. The tiers and lifecycle described here apply specifically to
those hosted under the a2aproject GitHub organization.
Tiers¶
Both extensions and custom protocol bindings use a two-tier system within the
a2aproject organization. Repository naming and URI prefixes differ by type:
| Extensions | Custom Protocol Bindings | |
|---|---|---|
| Official repo prefix | ext-{name} |
cpb-{name} |
| Experimental repo prefix | experimental-ext-{name} |
experimental-cpb-{name} |
| Official URI prefix | https://a2a-protocol.org/extensions/ |
https://a2a-protocol.org/bindings/ |
Official¶
Official artifacts are developed and maintained under the a2aproject GitHub
organization, officially recommended by the TSC. Each repository has designated
maintainers identified in MAINTAINERS.md.
Requirements:
- Specifications MUST use the same language as the core specification (RFC 2119)
- MUST be licensed under Apache 2.0
- MUST have at least one reference implementation
- SHOULD have associated documentation on the A2A website
Experimental¶
Experimental artifacts provide an incubation pathway for community contributors to prototype and collaborate on ideas before graduation to official status.
Creation Requirements:
- An experimental repository can ONLY be created with sponsorship from an A2A Maintainer
- The sponsoring Maintainer is responsible for initial oversight of the experimental artifact
- Experimental repositories MUST clearly indicate their experimental/non-official status in the README
- Any published packages MUST use naming that clearly indicates experimental status
- The TSC retains oversight, including the ability to archive or remove experimental repositories
Lifecycle¶
Extensions and custom protocol bindings progress through the following phases.
Proposal Phase¶
Any community member may propose an extension or custom protocol binding:
- Open an Issue: Create an issue in the main
a2aproject/A2Arepository describing:- An abstract describing the extension's purpose or the binding's transport and use case
- Motivation explaining why this cannot be achieved with the core protocol or existing standard bindings
- An initial technical approach or specification draft
- Community Discussion: The proposal is open for community feedback and refinement
Maintainer Sponsorship¶
For a proposal to proceed to experimental status:
- Secure a Sponsor: An A2A Maintainer must agree to sponsor the proposal
- Repository Creation: The sponsoring Maintainer creates the
experimental-ext-*orexperimental-cpb-*repository undera2aproject - Oversight: The sponsoring Maintainer provides initial oversight and ensures alignment with A2A design principles
Experimental Development¶
While in experimental status:
- Contributors iterate on the specification and reference implementations
- The experimental artifact MAY be used by early adopters with the understanding that breaking changes are expected
- Community feedback is gathered and incorporated
- The experimental repository MUST clearly indicate its non-official status
Graduation to Official Status¶
To graduate an experimental extension or binding to official status:
- Maturity Requirements:
- At least one production-quality reference implementation
- Documentation meeting A2A standards
- Evidence of community adoption or interest
- Clear maintainer commitment for ongoing maintenance
- Graduation Proposal: Open an issue in
a2aproject/A2Awith:- Reference to the experimental repository and its implementations
- Summary of community feedback and adoption
- Proposed maintainers for the official artifact
- TSC Vote:
- The proposal is added to the TSC meeting agenda
- Quorum Requirement: At least 50% of TSC voting members must be present
- Approval: Requires majority vote of those in attendance (per A2A governance)
- The TSC may request revisions before a final vote
- Acceptance:
- (Extensions) The repository is renamed from
experimental-ext-*toext-*; documentation is added to the A2A website's extensions page - (Custom Protocol Bindings) The repository is renamed from
experimental-cpb-*tocpb-*; documentation is added to the A2A website's custom protocol bindings page
- (Extensions) The repository is renamed from
Official Iteration¶
Once official, extensions and bindings may be iterated on:
- Repository maintainers are responsible for day-to-day governance
- Changes SHOULD be coordinated via the relevant working group if one exists
- Breaking changes require a new identifier
- Breaking changes require TSC review
- Maintainers SHOULD coordinate with SDK maintainers for implementation updates
Promotion to Core Protocol¶
Some extensions may eventually transition to core protocol features, and some custom protocol bindings may transition to core bindings. This is governed through the existing A2A specification enhancement process:
- A proposal is submitted following the standard specification change process
- The proposal references the official extension or binding and its adoption
- TSC vote with standard quorum and majority requirements applies
- Not all extensions or bindings are suitable for core inclusion; many will remain as extensions or custom bindings indefinitely
SDK Support¶
SDK support requirements differ between extensions and official custom protocol bindings, reflecting their different roles in the protocol ecosystem.
Extensions: A2A SDKs MAY implement extensions. Where implemented:
- Extensions MUST be disabled by default and require explicit opt-in
- SDK documentation SHOULD list supported extensions
- SDK maintainers have full autonomy over extension support decisions
- Extension support is not required for protocol conformance
Official Custom Protocol Bindings: A2A SDKs SHOULD implement official custom protocol bindings. Where implemented:
- Custom protocol bindings MUST be disabled by default and require explicit opt-in
- SDK documentation SHOULD list supported custom protocol bindings
- SDK maintainers have full autonomy over binding support decisions
- Custom protocol binding support is not required for protocol conformance
Legal Requirements¶
Licensing¶
Official extensions and custom protocol bindings MUST be available under the Apache 2.0 license, consistent with the core A2A project.
Contributor License Grant¶
By submitting a contribution to an official A2A extension or custom protocol binding repository, contributors represent that:
- They have the legal authority to grant the rights
- The contribution is original work or they have sufficient rights to submit it
- They grant to the Linux Foundation and recipients a perpetual, worldwide, non-exclusive, royalty-free license to use, reproduce, modify, and distribute the contribution
Antitrust¶
Extension and custom protocol binding developers acknowledge that:
- They may compete with other participants
- They have no obligation to implement any extension or binding
- They are free to develop competing extensions or bindings
- Status as an official extension or binding does not create an exclusive relationship