Open source community

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.

Beginner friendly
๐Ÿ“

Documentation

Improve documentation, write tutorials, make video guides. Documentation is as important as code.

Beginner friendly
๐Ÿงช

Testing

Test new releases, try edge cases, verify that fixes work. Testers are crucial.

Intermediate
๐Ÿ’ป

Code contributions

Fix bugs, implement features, optimize performance. Every pull request is welcome.

Advanced
๐ŸŽจ

UI/UX design

Improve the app interface, make mockups for new features, test usability.

Design skills
๐ŸŒ

Translations

Translate the app, firmware and documentation to other languages. Help make MeshCore available worldwide.

Beginner friendly

Development workflow

1

Fork the repository

Create a fork of the MeshCore repository on GitHub. This is your own copy where you can freely experiment.

2

Create a branch

Create a new branch for your feature or bugfix. Use descriptive names like "fix-routing-bug" or "add-telemetry-sensor".

3

Write code & test

Implement your change and test thoroughly. Make sure existing functionality still works. Add comments for complex code.

4

Submit pull request

Submit a pull request to the main repository. Describe what you changed and why. Link to relevant issues.

5

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!