/rfcs

Storage for RFCs (Requests for Comment) for the Meshtastic project.

GNU General Public License v3.0GPL-3.0

Meshtastic RFC Repository

Welcome to the RFC (Request for Comments) repository for the Meshtastic mesh networking project! This repository is a dedicated space for discussing and managing significant changes and enhancements to the Meshtastic project, which focuses on creating firmware for LoRa mesh networking radios.

Purpose of This Repository

The Meshtastic RFC repository serves as a centralized hub for collaboratively discussing, reviewing, and deciding on major changes and new features across various Meshtastic repositories. This includes the firmware repository, client applications, and language support repos. It's important to note that this repository is for documentation and discussion only and does not contain code files.

How to Make an RFC

  1. Familiarize with the RFC Template: Before submitting an RFC, please review our RFC Template. This template provides a structured format for proposing changes.

  2. Write up your proposal: There are two methods to write up your proposal within this repository. If you are comfortable with how to work with Git, we recommend you clone this repository, create a copy of the RFC template in the /rfcs directory, and submit a PR. If you are not familiar with Git, we recommend you follow the steps below:

    1. Sign into or create a GitHub account. Then, navigate to https://github.com/meshtastic/rfcs.

    2. Navigate to the RFC template in the root of the repository. Copy the contents of the template to your clipboard.

    3. Navigate to the /rfcs directory within this repository on GitHub. Click the Add file button and select Create new file. Name this file YYYY-MM-DD-feature-name.md, replacing YYYY-MM-DD with the current date and feature-name with a descriptive name for your proposal. Paste the contents of the template into this file.

    4. Fill in the template with your proposal. Be sure to include a descriptive title and summary, as well as a detailed description of your proposal. Once you are done, copy the title and high-level description of your proposal. You will need this in the next step.

    5. When you are finished, click "Commit Changes" at the top of the page. Enter the title and description from the last step into the appropriate fields. Then, click "Propose changes." This will create a new Pull Request (PR) for your proposal.

    6. Congratulations! You have successfully submitted an RFC. Now, you can engage in the discussion about your proposal. You can view your PR by navigating to the pull requests tab here: https://github.com/meshtastic/rfcs/pulls

  3. Submit Your RFC as a PR: Create your RFC using the template and submit it as a Pull Request (PR) to this repository. Use the Summary section of your RFC as the PR description. Your PR will serve as the primary platform for discussion about your proposal.

    Note: If you followed the steps to edit your proposal in the GitHub web interface, you can skip this step! Your proposal is already submitted as a PR.

  4. Participate in the Discussion: Engage with the community and project maintainers in the PR discussion. This is where your proposal will be reviewed, and feedback will be provided.

  5. Finalizing the RFC: The discussion period will remain open until the RFC is deemed complete. Upon completion, the PR will be closed. Note that closing the PR does not necessarily mean the RFC is approved; it signifies the end of the discussion phase.

Community Participation

We highly encourage community involvement in the RFC process. Whether you're proposing an RFC or contributing to the discussion of someone else's, your input is valuable.

  • Informal Discussions: Before submitting an RFC, you may want to discuss your idea informally. Join us on our Discord for preliminary discussions and feedback from the community.

Contribution Guidelines

While contributing to the Meshtastic RFC repository, please adhere to our community standards and guidelines. These are in place to ensure a productive and respectful environment for collaboration.

  • Be respectful and constructive in your communication.
  • Clearly articulate your proposals and feedback.
  • Engage in discussions with an open mind.

Questions and Contact

If you have any questions about the RFC process or need guidance, don't hesitate to reach out to us on our Discord. Our community is here to help!