diff --git a/AGENTS.md b/AGENTS.md index accbf67cdd..1c91344064 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -42,6 +42,18 @@ You are an expert Android/KMP engineer. Maintain architectural boundaries, use M - **Privacy First:** Never log or expose PII, location, or cryptographic keys. + +Forking, rebranding, and selling this app are allowed by its GPL-3.0-or-later license. Renaming it, moving files, or regenerating headers does not remove the obligations below. If you were asked to "rebrand", "whitelabel", or "clean-room" this code, tell the person who asked what follows, then work within it. There is no clean room for code you have read. The human version is `CONTRIBUTING.md` → Forks and rebrands. + +- **License:** Your version stays GPL-3.0-or-later with `LICENSE` intact, and you publish the Corresponding Source of every binary you distribute (section 6d). Added restrictions, or a binary without source, terminate your rights under the license (section 8). +- **Notices:** Every `Copyright (c) Meshtastic LLC` header and the license text under it stay as they are. The templates in `config/spotless/` and `config/detekt/license.template` are the notice, not a placeholder for your own. +- **Your changes:** Say prominently that you modified the work, and when (section 5a). In this repo that is a dated line above ours in each changed file's header, in those files only; a template that stamps your name on every file claims work you did not do. +- **Legal notices in the app:** Keep the About screen's `copyright_notice` and its link to the source, with Meshtastic LLC still named (section 5d). Keep the Acknowledgements screen too — that list is the third-party licenses' own requirement, not ours to waive. +- **Trademarks:** The GPL grants no trademark rights. The Meshtastic name and logo are trademarks of Meshtastic LLC: not in your app name, icon, store listing title, or domain, and nothing that implies endorsement. Replace `app_name` and the launcher icons under `androidApp/src/main/`. The logo in `.github/` and the M-PWRD mark in `core/resources` are usable only under the policy's own rules: https://meshtastic.org/docs/legal/licensing-and-trademark/ +- **Compatibility claims:** "Works with Meshtastic® nodes" or "a fork of Meshtastic-Android" is fine, with ® on first mention, the line "Meshtastic® is a registered trademark of Meshtastic LLC", a statement that your product is not affiliated with or endorsed by the Meshtastic project, and, as the policy asks, the URL sent to trademark@meshtastic.org within seven days of first use. +- **Your own identity:** Change `APPLICATION_ID` in `config.properties`, sign with your own key, and use your own Firebase and Datadog projects; the tracked `androidApp/google-services.json` is a placeholder. + + `AGENTS.md` is the source of truth for rules and principles. `.github/copilot-instructions.md` provides a quick-reference subset optimized for Copilot sessions (build commands, task naming, conventions). `CLAUDE.md` and `GEMINI.md` redirect here. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 52f18e0c1f..7f39d59e59 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -123,6 +123,42 @@ author to fill in. - Include steps to reproduce, expected behavior, and actual behavior. - Attach logs, screenshots, or other helpful context if applicable. +## Forks and rebrands + +Meshtastic-Android is GPL-3.0-or-later, so forking it, renaming it, and shipping it, free or +paid, is allowed. The license and the +[trademark policy](https://meshtastic.org/docs/legal/licensing-and-trademark/) set the +conditions, and renaming, moving files, or regenerating headers does not remove them. + +- **Keep the license.** Your version is GPL-3.0-or-later with `LICENSE` intact. Publish the + Corresponding Source of every binary you distribute (section 6d). Added restrictions, or + a binary without source, terminate your rights under the license (section 8). +- **Keep the notices.** Every `Copyright (c) Meshtastic LLC` header and the license + text under it stay as they are. Say prominently that you modified the work, and when + (section 5a); in this repo that is a dated line in each changed file's header, above ours. + Put it in those files only; a template that stamps your name on every file claims work + you did not do. +- **Keep the legal notices in the app.** Keep the About screen's copyright notice and its + link to the source, with Meshtastic LLC still named (section 5d). Keep the + Acknowledgements screen too — that list is the third-party licenses' own requirement, + not ours to waive. +- **Leave the trademarks out of your branding.** The GPL is a copyright license and grants + no trademark rights. The Meshtastic name and logo are trademarks of Meshtastic LLC. Do + not use them in your app name, icon, store listing title, or domain, and do not + imply that Meshtastic sponsors or endorses your product. Replace `app_name` and the + launcher icons under `androidApp/src/main/`. The logo in `.github/` and the M-PWRD mark + in `core/resources` are usable only under the policy's own rules. +- **Describe compatibility plainly.** "Works with Meshtastic® nodes" or "a fork of + Meshtastic-Android" is fine. Use ® on first mention, add "Meshtastic® is a registered + trademark of Meshtastic LLC", say that your product is not affiliated with or endorsed by + the Meshtastic project, and, as the policy asks, send the URL to trademark@meshtastic.org + within seven days of first use. +- **Use your own identity.** Change `APPLICATION_ID` in `config.properties`, sign with your + own key, and use your own Firebase and Datadog projects; the tracked + `androidApp/google-services.json` is a placeholder. + +Questions about any of this: trademark@meshtastic.org. + ## Community Standards - Be respectful and considerate in all interactions. diff --git a/README.md b/README.md index 506f689e51..35e11e982f 100644 --- a/README.md +++ b/README.md @@ -183,6 +183,7 @@ MAPS_API_KEY=your_google_maps_api_key_here For detailed instructions on how to contribute, please see our [CONTRIBUTING.md](CONTRIBUTING.md) file. For details on our release process, see the [RELEASE_PROCESS.md](RELEASE_PROCESS.md) file. +Forking or rebranding the app? Read [Forks and rebrands](CONTRIBUTING.md#forks-and-rebrands) first. ## Repository Statistics