Going Open Source
Today we open-sourced the Socialmesh mobile client under GPL-3.0. The entire Flutter app — BLE transport, protocol layer, UI, automations, everything a user touches — is now public on GitHub.
What is public
- All Flutter/Dart source code
- Architecture documentation
- CI pipeline with GitHub Actions
- Issue templates, contributing guide, security policy
- Demo mode (
--dart-define=SOCIALMESH_DEMO=1) for running without any backend
Why GPL-3.0?
Three reasons:
- Copyleft protects users. If someone forks Socialmesh, their modifications must also be open source. Users always get the source.
- Protocol transparency. Mesh radio users deserve to know exactly what their app is sending over the air. No hidden telemetry, no opaque packets.
- Community contributions. An open codebase means mesh enthusiasts can contribute features, fix bugs, and audit the protocol implementation.
SPDX headers
Every source file gets the header:
// SPDX-License-Identifier: GPL-3.0-or-later
This is a machine-readable license identifier that makes it trivially easy for tools and humans to verify the license of any file in the project.
Demo mode
The most important addition for open source: demo mode. Running the app with SOCIALMESH_DEMO=1 creates mock data and disables all network calls. Contributors can build, run, and test without a Meshtastic radio, Firebase project, or any backend configuration.
This was table stakes for accepting contributions. “Clone and run” has to work in under five minutes or contributors walk away.