Major features and architectural changes go through an RFC (Request for Comments) process.
An RFC is required for:
- New Kafka API implementations
- Changes to the wire protocol or storage format
- New module additions (feature flags)
- Breaking changes to public APIs
- Cross-repo architectural decisions
An RFC is NOT required for:
- Bug fixes
- Documentation improvements
- Test additions
- Minor refactors within a module
- Draft: Open a PR in the core repository under
docs/rfcs/using the template below - Discussion: Minimum 1-week review period. Maintainers and community provide feedback
- Decision: Maintainers approve, request changes, or close the RFC
- Implementation: Approved RFCs are linked to tracking issues
# RFC-NNN: Title
## Summary
One paragraph explanation.
## Motivation
Why are we doing this? What problems does it solve?
## Design
Detailed technical design. Include code examples where helpful.
## Alternatives Considered
What other approaches were evaluated and why were they rejected?
## Migration
How do existing users migrate? Is this backwards-compatible?
## Unresolved Questions
What aspects are still open?
See Architecture Decision Records for past decisions.
Last updated: 2026-02-20