MeshCore open source development
How the MeshCore community collaborates on open source development: licenses, 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 conscious 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 work together 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.
License and philosophy
MIT license (permissive)
The MeshCore firmware uses the MIT license โ one of the most permissive open source licenses. You may use the code for any purpose, including commercial.
Freedoms: Use, copy, modify, distribute, sublicense
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 organization.
Ways to contribute
You don't have to be an experienced developer to contribute. There are ways for every level:
Bug reports
Report bugs, crashes or strange behavior 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, optimize performance. Every pull request is welcome.
UI/UX design
Improve the app interface, make 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. Make sure 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, give 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.
Fast innovation
Hundreds of developers worldwide contribute. Innovation goes much 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 a great way to learn.
Customizability
Adapt the software for your specific use case. No vendor lock-in.
Free
No license 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 look at 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 license allows commercial use. Note that some components are GPL โ those require you to also make your code open source.
How often are pull requests reviewed?
The maintainers try to respond to pull requests within 1-2 weeks. During busy periods this may take longer. Patience is important.
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's the whole point of open source. You can fork, add features that aren't accepted in the main branch, and distribute your own version (according to the license 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!