This repository is for Request for Comments (RFCs) for the fleximq protocol. It serves as the primary platform for proposing, discussing, and finalizing new features, enhancements, or any significant changes to the fleximq protocol.
The RFC (Request for Comments) process is designed to:
- Provide a transparent and consistent pathway for new ideas and protocol modifications.
- Encourage community participation and consensus-building.
- Maintain a comprehensive record of design decisions and their rationales.
-
Idea & Discussion (Optional but Recommended):
- Before writing a full RFC, you might want to discuss your idea in the issues section of this repository or other community channels to gather initial feedback.
-
Fork & Create:
- Fork this
fleximq/rfcs
repository. - Copy the
0000-template.md
file to a new file in thetext/
directory, naming it0000-my-descriptive-name.md
. (The0000
prefix is temporary; an RFC number will be assigned by a maintainer upon merging).
- Fork this
-
Write the RFC:
- Fill out your RFC document, clearly outlining the proposal. Key sections typically include:
- Summary: A brief overview of the proposal.
- Motivation: Why is this change needed? What problem does it solve?
- Detailed Design: Describe the new feature or change in detail.
- Drawbacks: What are the potential downsides or trade-offs?
- Alternatives: What other approaches were considered?
- Unresolved Questions: What aspects still need to be figured out?
- Fill out your RFC document, clearly outlining the proposal. Key sections typically include:
-
Submit a Pull Request (PR):
- Create a Pull Request from your fork to the
main
(ormaster
) branch of thefleximq/rfcs
repository. - The PR title should be descriptive, e.g., "RFC: Proposal for Resilient Message Delivery".
- The PR description should link to your RFC document.
- Create a Pull Request from your fork to the
-
Review & Iteration:
- Community members and maintainers will review your RFC via the PR.
- Be prepared to discuss, clarify, and iterate on your proposal based on feedback.
-
Acceptance or Rejection:
- After discussion and consensus (or a decision by project maintainers), the RFC will be either:
- Accepted: The PR is merged. The RFC document is assigned an official number, and its status is updated. Accepted RFCs form the basis for changes in the fleximq/spec repository.
- Rejected: The PR is closed with an explanation.
- Deferred: The PR may be closed if the idea is good but not suitable for implementation at the current time.
- After discussion and consensus (or a decision by project maintainers), the RFC will be either:
An RFC can be in one of the following states (you can indicate this in your RFC document):
- Draft/Proposed: Initial version submitted for review.
- In Review: Actively being discussed and reviewed.
- Accepted: Approved and merged.
- Implemented: The changes described in the RFC have been incorporated into the
fleximq/spec
repository (either as a draft or an official specification). - Rejected: The RFC has been declined.
- Deferred: The RFC is postponed for future consideration.
- Withdrawn: The author has withdrawn the RFC.
- RFC Template:
0000-template.md
- RFC Text:
text/
We look forward to your contributions!