Open-Source MDM – what does it really mean?
Contrary to popular belief, open source makes sense not only for technicians and developers but also for general business customers.
Open source ensures the long-term sustainability of the project and reduces crucial dependence on the core team. Our users have the freedom to choose between a reliable and resource-saving cloud solution, and a robust and open-source self-hosted MDM server.
Headwind MDM Community
The Community version is mostly designed for students, technicians, and developers, who is interested in the MDM technology, or intends to develop new managed Android devices. However its functionality makes it suitable also for business users. Here are the key features of Headwind MDM Community:
- Installation on devices as a Device Policy Controller by QR code scanning.
- Integration with AOSP. Headwind MDM could be preinstalled in the device firmware.
- Application management: install, update, and delete applications without user interaction
- Group policies: manage profiles for different groups of devices and tag them
- Managed desktop implemented by a custom Android launcher
- Push notifications: sending messages and management commands to devices
- API for integration: REST API for the backend and mobile API for Android applications.
- Remote configuration of third party applications.
- Logging system simplifying the device diagnostics.
Best practices of code usage
The source code of the web console, MDM agent (launcher), and supplementary Android apps is available on GitHub. Here’s how you can use it.
- Education, code reviews and security audits.
- Building the software for development purposes and contributions (see the contribution workflow below).
- Building the mobile agent for preinstallation in the AOSP ROM with system permissions (signed with platform keys).
The following resources are available for community members.
- To report a bug or security issue, submit an issue in the relevant GitHub project.
- To report a configuration or installation issue, check out our Q&A forum.
Our support team and expert community members would be happy to assist!
Custom builds restriction
Since 2026, provisioning of Android devices by custom builds of Headwind MDM launcher is limited by Google for security reasons. Such attempts are currently blocked by Play Protect.
A few alternatives are still available for those who want to use custom builds:
- Devices distributed on a local Chinese market.
- Devices running custom ROMs, for example, Murena /e/OS devices.
Developers of Headwind-based custom MDM solutions for Google-certified devices could change the package name and sign the app with their own keys. Note that such packages will still be blocked by Play Protect at the enrollment step, so you may need to apply for their (opaque) approval.
Headwind MDM Enterprise
Enterprise license customers receive access to the source code of the Headwind MDM agent and all supplementary apps in a protected GitLab repository.
The web console is “open-core” – you can build and customize the web console, as well as develop and connect your own plugins. However, paid and licensing components are linked as binaries and won’t be available for customization.
We do not share the APK signature keys.
Most common customization inquiries no longer require changing the source code.
- Custom SSL certificates can be delivered in the enrollment QR code.
- Rebranding. Headwind MDM mobile agent is brand-neutral, and the rebranding could be done by configuring the web console.
If you need a missing feature to be implemented, you can send us a feature request or a contribution suggestion (see below).
Contribution workflow
Headwind MDM team acknowledges our contributors. To ensure your efforts to be processed as quickly as possible, we kindly ask you to follow these rules.
- Contact us and send us the contribution request (IMPORTANT – Pull requests without prior consent to contribution will be rejected!)
- Clone and build the project, test it by granting device owner permissions by the adb utility.
- Pull the changes to the repository as a contributor branch
- Submit a pull request.
- Once accepted, the new feature will become available in the next release (2-4 weeks).
Important: please provide the commit description:
– Which use case or feature is covered
– Testing instructions
Please do not merge multiple features into one commit unless agreed with our team. Each feature or bugfix is reviewed independently, so merging multiple features into one commit makes this process difficult to manage.