Contributing to MeshCore development
Shape the future of MeshCore through code submissions, feature proposals, and community collaboration
Joining the development effort
MeshCore firmware exists as a completely open project shaped by contributors spanning the globe. Whether squashing bugs, implementing enhancements, improving documentation, or reviewing submissions, your participation makes a tangible difference.
The maintainers welcome contributions at every skill level. Minor documentation tweaks carry as much value as major protocol enhancements. By contributing, you simultaneously advance the project whilst deepening your embedded systems expertise.
This walkthrough covers the practical mechanics of contributing: configuring your environment, crafting quality submissions, and navigating the review process.
Reasons to get involved
Tangible influence
Your code ships to mesh network operators worldwide, running on thousands of deployed nodes
Skill development
Gain hands-on experience with embedded platforms, radio protocols, C++, and real-time constraints
Community belonging
Connect with like-minded developers who share your enthusiasm for decentralised communication
Scratch your own itch
Missing a feature? Build it yourself and benefit the entire user base simultaneously
Professional development
Open source contributions demonstrate initiative and capability to potential EMPloyers
Expert guidance
Receive constructive feedback from experienced contributors through the review process
Contribution mechanics
Standard GitHub collaboration practices apply to MeshCore development
Step 1: create your working copy
Fork the repository to your account and clone locally:
Step 2: branch for your changes
Create a descriptive branch name reflecting your planned work:
Step 3: develop and test
Write clean, tested code following project conventions. Commit frequently with meaningful messages. Add automated tests where feasible.
Step 4: submit for review
Push your branch and open a pull request with clear description:
Step 5: iterate based on feedback
Maintainers review submissions and provide constructive suggestions. Address comments, push updates, and collaborate until approval and merge.
Ways to contribute
Multiple paths exist for meaningful participation
๐ Defect corrections
Address issues discovered during your own usage:
- โข Establish reliable reproduction steps
- โข Fix the underlying cause, not just symptoms
โจ New capabilities
Propose and implement new functionality:
- โข Discuss scope with maintainers via issues first
- โข Draft design documents for substantial changes
๐ Documentation improvements
Enhance guides, examples, and code comments:
- โข Correct errors and outdated information
- โข Create tutorials addressing common questions
๐งช Quality assurance
Strengthen the testing infrastructure:
- โข Exercise new releases on varied hardware
- โข Expand automated test coverage
Contribution standards
-
โ
Adhere to style conventions - Reference CONTRIBUTING.md for project coding standards
-
โ
Write informative commit messages - Explain rationale, not just mechanics
-
โ
Keep submissions focused - One logical change per pull request
-
โ
Include tests - New functionality requires accompanying verification
-
โ
Maintain documentation - API changes necessitate corresponding docs updates
-
โ
Communicate respectfully - Engage constructively with reviewers and community
Developer questions
Must I be highly experienced to contribute?
Absolutely not! Newcomers are genuinely valued. Documentation improvements and minor fixes provide ideal entry points. Community members actively support new contributors through the learning curve.
What review turnaround should I expect?
Typically one to two weeks, varying with submission complexity and maintainer availability. Larger features naturally require more consideration. A polite follow-up in community channels is acceptable if delays extend significantly.
What if my submission is declined?
Occasionally this happens due to scope, timing, or technical direction concerns. Maintainers explain their reasoning. Treat feedback as learning opportunity and consider alternative approaches.
Does MeshCore require a contributor agreement?
No formal CLA exists. Submissions automatically inherit the project's open source licence. Check the LICENSE file for specific terms.
Are paid contribution opportunities available?
MeshCore relies primarily on volunteer effort. Occasionally, organisations sponsor specific feature development. Enquire in community channels about any current bounty programmes.
Start contributing today
Every contribution level advances the project meaningfully - from typo corrections to architectural changes
Fork the repository, make your first change, and submit that pull request!