MeshCore open source development
How the MeshCore community collaborates on open source development: licences, contributions, and development process
Why is MeshCore open source?
MeshCore is open source software: the complete source code is publicly available on GitHub. Everyone can view, use, modify, and improve the code. This is a deliberate choice for transparency, security, and community-driven development.
Open source means not only that the code is available, but also that an active community of developers, users, and enthusiasts collaborate on improvements. Everyone can contribute: from reporting bugs to implementing new features.
This page explains how the open source development process works, how you can contribute, and what the benefits are.
Licence and philosophy
MIT licence (permissive)
The MeshCore firmware uses the MIT licence, one of the most permissive open source licences. You may use the code for any purpose, including commercial.
Freedoms: Use, copy, modify, distribute, sublicence
GPL for certain components
Some components use GPL (copyleft). If you use these components in your own project, you must also make your code open source under GPL.
Copyleft: Derivative works must also be GPL
Open source philosophy
MeshCore embraces open source principles: transparency, collaboration, community ownership. The network belongs to everyone, not to one company or organisation.
Ways to contribute
You need not be an experienced developer to contribute. There are ways for every level:
Bug reports
Report bugs, crashes, or strange behaviour via GitHub Issues. Good bug reports help enormously.
Documentation
Improve documentation, write tutorials, make video guides. Documentation is as important as code.
Testing
Test new releases, try edge cases, verify that fixes work. Testers are crucial.
Code contributions
Fix bugs, implement features, optimise performance. Every pull request is welcome.
UI/UX design
Improve the app interface, create mockups for new features, test usability.
Translations
Translate the app, firmware, and documentation to other languages. Help make MeshCore available worldwide.
Development workflow
Fork the repository
Create a fork of the MeshCore repository on GitHub. This is your own copy where you can freely experiment.
Create a branch
Create a new branch for your feature or bugfix. Use descriptive names like "fix-routing-bug" or "add-telemetry-sensor".
Write code & test
Implement your change and test thoroughly. Ensure existing functionality still works. Add comments for complex code.
Submit pull request
Submit a pull request to the main repository. Describe what you changed and why. Link to relevant issues.
Code review & merge
The maintainers review your code, provide feedback, and merge upon approval. This process can be iterative with multiple review rounds.
Benefits of open source
Security
Everyone can audit the code. No hidden backdoors or privacy violations.
Rapid innovation
Hundreds of developers worldwide contribute. Innovation proceeds considerably faster than with closed source.
Community ownership
The project belongs to the community, not to one company. It will exist as long as users want it.
Learning platform
Learn from the code, experiment, improve your skills. Open source is an excellent way to learn.
Customisability
Adapt the software for your specific use case. No vendor lock-in.
Free
No licence costs, no subscriptions. Completely free to use, now and forever.
Frequently asked questions
Do I need to know c++ to contribute?
Not necessarily. You can contribute with bug reports, documentation, testing, and translations without programming knowledge. For code contributions you do need C/C++ knowledge.
Who decides which features are accepted?
The core maintainers review pull requests and decide on acceptance. They consider code quality, whether it fits the roadmap, and whether it breaks existing functionality.
Can I use the code in my commercial product?
Yes, the MIT licence allows commercial use. Note that some components are GPL, which requires you to also make your code open source.
How often are pull requests reviewed?
The maintainers endeavour to respond to pull requests within 1-2 weeks. During busy periods this may take longer. Patience is appreciated.
Is there a developer community chat?
Yes, there is an active Telegram group where developers and users ask questions, share ideas, and collaborate.
Can I fork and add my own features?
Absolutely. That is the whole point of open source. You can fork, add features that are not accepted in the main branch, and distribute your own version (according to the licence terms).
Become part of the community
MeshCore grows through community contributions. Every bit helps: from a simple bug report to a major feature implementation. Join the community!