Which MQTT broker fits your IoT scale and license constraints
Choose EMQX when you need a clustered broker with a SQL-based rule engine and built-in data integration, and you can accept the Business Source License 1.1 that governs it since 5.9.0. Choose Eclipse Mosquitto for lightweight single brokers and bridged edge topologies, where the EPL-2.0 or BSD-3-Clause dual license fits most embedded and internal uses. Choose HiveMQ Community Edition for single-node work that you want to extend in Java under Apache 2.0, and plan for the commercial HiveMQ Broker if clustering is a requirement, since the CE README does not list clustering among its features. For EMQX, the license file requirement starts at the first multi-node cluster, so confirm the terms with EMQX before you size a production cluster. Confirm your own device count, message rate and retention needs against each vendor's current documentation, because the right answer depends on them more than on the license alone.
A single EMQX node can run in production under the license's single-node grant, provided you do not offer it to third parties on a hosted or embedded basis. Multi-node EMQX clusters need a license file loaded into the deployment. Each EMQX release under the Business Source License converts to Apache 2.0 four years after publication, so ask your legal team how that conversion timing fits your product roadmap. Mosquitto's bridge feature in the mosquitto.conf manual connects multiple brokers and supports certificate and pre-shared-key TLS, which suits edge sites that forward data to a central broker. High availability and persistent queuing are features of Cedalo's commercial Pro Edition, so ask Cedalo to confirm what you would need to buy for your topology.
Which MQTT broker fits which deployment scenario
This table maps six common MQTT deployment scenarios to the broker that fits best, and names the condition under which each fit holds. Read it by finding your scenario, then checking the stated condition against your own licensing, clustering and integration requirements.
| Scenario | Best fit and condition | Where another broker is better |
|---|---|---|
| Single-site pilot on one server | Mosquitto suits a small pilot with core MQTT, TLS and file-based auth, since its EPL-2.0 or BSD-3-Clause license imposes no node limit. EMQX also fits if you expect to grow into its rule engine within the single-node grant. | If the pilot needs an integrated rule engine and 50-plus connectors from day one, EMQX is the stronger starting point. |
| Multi-node production cluster needing high availability | EMQX fits when you need masterless clustering and can obtain the license file that a cluster of more than one node requires under the Business Source License 1.1. Confirm the license terms with EMQX before you size the cluster. | Mosquitto's open-source edition does not offer clustering, so HA means Cedalo's commercial Pro Edition. HiveMQ clustering is in the commercial HiveMQ Broker, not in CE. |
| Edge gateway on a low-power device | Mosquitto fits best. Its project describes it as lightweight and suitable for devices from low-power single board computers to full servers, and its clients and bridges cover gateway-to-cloud links. | EMQX is heavier to run on constrained hardware. Choose it on an edge device only if you need its gateways or rule engine locally and have tested the footprint yourself. |
| Java team writing custom authentication or interceptors | HiveMQ CE fits when your team works in Java, because its extension SDK covers authentication, authorization, client initializers and packet interceptors under Apache 2.0. Confirm the SDK covers your exact hook needs. | EMQX suits teams that want authentication through its built-in options (password, JWT, PSK, X.509) and SQL rules rather than writing Java extensions. |
| Team that must avoid a non-OSI license | Mosquitto (EPL-2.0 or BSD-3-Clause) or HiveMQ CE (Apache 2.0) fits. Both use OSI-approved licenses, so no production-use grant needs review. | EMQX is under the Business Source License 1.1, which is not OSI-approved, and each release converts to Apache 2.0 four years after publication. Use EMQX only if its production terms are acceptable to your legal team. |
| Device fleet that must push data into Kafka or a database | EMQX fits best when you want built-in connectors. Its rule engine integrates with more than 50 systems, including Kafka, PostgreSQL, MySQL, MongoDB and Redis, without a separate bridge service. | Mosquitto fits if you accept a bridge or custom subscriber to Kafka. HiveMQ CE needs its extension or a separate pipeline, so confirm the connector path before committing. |
What each vendor licenses, sells and charges for
EMQX moved from its former Open Source and Enterprise split to a single offering under the Business Source License 1.1 starting with version 5.9.0, moving away from Apache 2.0. The license terms decide what you can run without paying, so read them against your deployment model before you commit.
- Single-node production use: The license allows production use of a single node, provided the node is not offered to third parties on a hosted or embedded basis.
- Hosted and embedded restriction: Offering EMQX as a service to customers or embedding it in a product you sell falls outside the grant and needs a commercial arrangement with the vendor.
- Clusters above one node: From 5.9.0, running a cluster of more than one node requires loading a license file, so high availability carries a licensing step.
- Four-year conversion: Each release under the Business Source License converts to Apache 2.0 four years after publication, so older releases become open on a fixed schedule.
- Non-profit and educational use: Educational and non-profit users may run it in production without restriction for non-commercial purposes.
Before approving EMQX, ask the vendor for the license file terms that apply to your cluster size, confirm how a hosted or embedded use case is classified, and get the cost of the cluster license in writing.
Eclipse Mosquitto is dual licensed under the Eclipse Public License 2.0 or the Eclipse Distribution License 1.0, which is BSD-3-Clause. You may choose either license. The project is part of the Eclipse Foundation, and its development is driven by Cedalo, which also sells a commercially licensed Pro Edition.
- Open core: Mosquitto itself provides core MQTT features, on-premises deployment and community forum support.
- Pro Edition features: According to mosquitto.org, Cedalo's Pro Edition adds high availability, integrations, REST APIs, persistent queuing, cloud deployment and professional support.
- Bridges in the open core: The mosquitto.conf manual documents bridges for connecting multiple Mosquitto brokers, with certificate and pre-shared-key TLS options, so basic broker-to-broker links are available without the Pro Edition.
- Support model: Open-core support runs through the community forum, so vendor-backed response commitments come only with the paid edition.
Before you rely on Mosquitto for high availability or integrations, confirm with Cedalo which features the Pro Edition includes, its license terms and its pricing, and decide who in your team will operate the open core if you do not buy support.
HiveMQ Community Edition is licensed under Apache 2.0 and is described as the foundation of the HiveMQ enterprise connectivity and messaging platform. The Community Edition is the open source line, and clustering and several operational features are sold in the commercial HiveMQ Broker.
- Apache 2.0 open source: The Community Edition can be used under Apache 2.0 terms, with releases and the master branch published as the hivemq/hivemq-ce image on Docker Hub.
- Commercial HiveMQ Broker features: HiveMQ's product page lists masterless dynamic clustering, zero-downtime upgrades and disk replication for the commercial HiveMQ Broker.
- Community scope: The Community Edition README does not list clustering among its features, so plan for a single-broker deployment unless you buy the commercial product.
- Commercial terms: Ask HiveMQ for the license, support and price terms of the commercial broker, since none are set out in the community material.
Before choosing HiveMQ CE for a clustered deployment, confirm in writing which of the listed commercial features your architecture needs and what the commercial license would cost in your environment.
What drives the running cost of each broker
Running cost for these three brokers is set less by the software price than by how many nodes you run, which license or edition unlocks clustering, and how much integration and upgrade work your team carries. The cards below separate what is paid once from what recurs, and what to request in a quote.
Node count and HA design
Clustering is where the three brokers diverge most. EMQX clusters are masterless, but from 5.9.0 a cluster of more than one node needs a license file, so the licensing cost scales with the design you choose. Mosquitto high availability sits in the commercial Pro Edition, and HiveMQ clustering sits in the commercial HiveMQ Broker. Before comparing quotes, sketch your node count, failover target and whether a single node is acceptable for production. Ask each vendor which features the quoted tier includes, not just the node count.
License file and commercial edition requirements
EMQX under the Business Source License needs a license file before it runs as a multi-node cluster, and the license terms restrict hosted or embedded offerings to third parties. Mosquitto's open-source core is EPL-2.0 or BSD-3-Clause, while Cedalo's Pro Edition is a separate commercial product. HiveMQ CE is Apache-2.0, but clustering comes only from the commercial broker. Recurring license fees, if any, are set by the vendor. Ask for the fee schedule, what renewal costs, and whether the license covers your hosting model.
Java runtime and memory footprint
HiveMQ CE runs on Java and needs at least Java 11, so the JVM version, heap sizing and garbage collection tuning become standing operational tasks for your platform team. Mosquitto is a lightweight C broker suited to low-power boards up to full servers, which usually means a smaller footprint and fewer moving parts. EMQX sits between these, as a clustered Erlang-based platform. Measure memory use under your expected connection count and message rate before choosing hardware, and ask each vendor for sizing guidance for your device profile.
Bridges and Mosquitto HA effort
Mosquitto connects multiple brokers with bridges configured in mosquitto.conf, including certificate and pre-shared-key TLS options for each bridge. Teams that need high availability without Pro Edition often build it from bridges, redundant hosts and external failover, and that work is engineering time that recurs with every topology change. Document each bridge, its certificate rotation process and its failure behavior. Ask Cedalo which Pro Edition features replace this custom work and what support covers them.
Integration build effort for EMQX rules
EMQX ships a SQL-based rule engine and data integration with more than 50 systems, including Kafka, PostgreSQL and Redis. This lowers the code you write, but each rule, connector and payload transformation still needs design, testing and ownership. The effort is one-time for the initial build and recurring when device payloads or downstream schemas change. For HiveMQ CE, equivalent logic usually lives in Java extensions built with the SDK, which shifts the cost toward developers. Ask for a written inventory of the connectors your scope needs and who maintains them.
Upgrade cadence per release line
Each broker moves on its own release line, and the cadence sets how often you test and redeploy. EMQX 6.3.2 was published on October 16, 2026, and the EMQX 6.x line is the one to track. HiveMQ CE 2026.5 followed 2025.5 on November 19, 2025, and Mosquitto 2.1.2 was tagged on February 9, 2026. Each upgrade carries regression testing, plugin or extension compatibility checks and, for clusters, rolling restarts. Ask each vendor for its support window per line and whether upgrades are included in the quoted license.
How clustering and high availability differ across the three brokers
EMQX is the only one of the three that ships masterless clustering as a core design, but from version 5.9.0 a cluster of more than one node requires loading a license file. That changes the production math: a single EMQX node can run in production under the Business Source License without a cluster license, so the first decision is whether one node with a tested restart and recovery process meets your availability target. If you need more than one node for failover or capacity, budget for the license file before the design review, and confirm with EMQX which license terms apply to your deployment model. Validate in a proof of concept by killing one node under sustained client load and measuring how many sessions reconnect, how long subscriptions take to recover, and whether QoS 1 and QoS 2 messages survive the failover.
Mosquitto has no clustering in the EMQX sense. The mosquitto.conf manual documents bridges as the way to connect multiple brokers, with certificate and pre-shared-key TLS options for bridge connections, so scaling out means running several independent brokers and designing how topics flow between them. High availability for Mosquitto is not part of the open-source core: Cedalo's commercially licensed Pro Edition adds high availability, along with persistent queuing and professional support. In a proof of concept, test what happens to queued messages when a bridge link drops and when one broker restarts, and confirm with Cedalo whether the Pro Edition's high availability meets the failover behavior your devices require.
HiveMQ CE's README does not list clustering among its features. The commercial HiveMQ Broker product page lists masterless dynamic clustering, zero-downtime upgrades and disk replication, so clustered HiveMQ means buying the commercial broker rather than extending the community edition. For a shortlist, ask HiveMQ to document how the commercial cluster handles node loss, rebalances client sessions and performs rolling upgrades, and compare those answers with EMQX's license-gated cluster. Run the same failover test against each candidate, record reconnection time and message loss under identical device load, and treat any result you cannot reproduce in your own environment as unproven.
What implementing each broker involves in practice
Implementation effort differs more by broker than by license, and the first difference is where the work lands. With Mosquitto, a team configures one mosquitto.conf file, sets listeners for port 1883 and a TLS listener, and manages users with mosquitto_passwd. Certificate work covers a private CA, server certificates, and client certificates if X.509 authentication is chosen. Pre-shared keys need a TLS-PSK setup and a key distribution process for each device. Multi-broker topologies rely on bridges, which are configured in the same file with their own certificate or pre-shared-key options. A team with Linux administration and basic TLS experience can run this without outside help, and mosquitto_pub, mosquitto_sub and mosquitto_rr cover most test and troubleshooting work. Confirm with the Mosquitto documentation which configuration keys apply to your version before writing the deployment standard.
EMQX shifts effort toward platform configuration. A team deploys the broker on Linux or in Docker, then designs authentication across username and password, JWT and X.509 certificates, and decides which listeners require which method over TLS/SSL or secure WebSocket. Rule and integration work means writing SQL-based rules in the rule engine and configuring connectors to systems such as Kafka, PostgreSQL or Redis, with credentials, retries and payload mapping tested before production. Clustering requires a license file for more than one node, so procurement and the license holder should be part of the plan from the start. Skills needed are MQTT design, SQL, and operating a stateful cluster. Teams without that experience should budget for outside help on rule design, load testing and upgrades, and should ask the vendor or DeployOpen for a written scope before work starts.
HiveMQ CE asks for the most software development. Teams run the broker on Linux (recommended), with at least Java 11, or use the hivemq/hivemq-ce image on Docker Hub. Any custom authentication, authorization, client initializer or packet interceptor logic has to be written with the Java extension SDK, built, tested and redeployed with each broker upgrade, which means a Java developer owns that code over time. TLS and certificate setup follow the standard MQTT pattern, and the broker listens on port 1883 by default. Because the Community Edition README does not list clustering, a team that needs cluster-level high availability should confirm with HiveMQ whether the commercial HiveMQ Broker is required. Internal staff can handle basic setup and client testing; extension work and production sign-off often justify outside review.
How much does it cost and how long does MQTT broker implementation take?
What drives the cost of running EMQX, Mosquitto or HiveMQ CE in production?
The software licence is only one line. For all three brokers the larger costs are the infrastructure, the people who operate it, and the integrations to your systems. Mosquitto and HiveMQ CE carry no licence fee under their open-source terms, so the recurring cost is compute, storage, monitoring and staff time. EMQX under the Business Source License needs a license file for any cluster of more than one node, so a clustered EMQX deployment adds a licence line that a single node does not. HiveMQ's clustering features sit in the commercial HiveMQ Broker, so a clustered HiveMQ design also means a commercial quote. Ask each vendor for written licence terms for your node count, your hosting model and your support level before you compare totals.
Can our own team run a single-node MQTT pilot without outside help?
In most cases yes, provided the team has someone comfortable with Linux, TLS certificates and MQTT client behavior. A single-node pilot of EMQX is permitted under its Business Source License for production use on one node when the service is not offered to third parties on a hosted or embedded basis, so a pilot on your own infrastructure fits that grant. Mosquitto and HiveMQ CE can be started quickly for evaluation, and HiveMQ CE is published as a Docker image. The work that usually takes longer than the install is device authentication, topic design, access control, TLS rollout and load testing with your real message patterns. If none of those are in your team's skill set yet, that is the point to scope outside help.
When does a multi-node EMQX cluster need a license file?
From EMQX 5.9.0 onward, deploying a cluster of more than one node requires loading a license file. A single node does not need one under the grant described in the EMQX license. Check the README and LICENSE text for the exact terms that apply to your version, and confirm with the vendor how a license file is issued, how it is renewed and what happens to a cluster if it lapses. Also confirm whether load balancers, standby nodes or disaster recovery sites count as additional nodes in your design. If you plan a cluster for high availability, put the licence step in the project plan as a dependency before the first production deployment.
How do EMQX 6.3.2 and HiveMQ CE 2026.5 upgrades fit into release planning?
Treat each broker as a dependency with its own release line and plan upgrades on a fixed cadence. EMQX 6.3.2 was published on October 16, 2026, and HiveMQ CE 2026.5 was published on May 27, 2026, following 2025.5 on November 19, 2025. Mosquitto 2.1.2 was tagged on February 9, 2026. Read the release notes for each version you adopt, test your rule engine or plugin configuration against the new version in a staging cluster, and record the rollback path. The effort of an upgrade depends on how much custom logic sits in the broker, such as rules, authentication plugins or interceptors, so the more extensions you run, the more regression testing each upgrade needs.
What does the work require from the client's own team?
The client team normally owns the decisions that only it can make. These include the device identity model, the topic namespace, the data retention rules, the target systems for integration (such as Kafka, PostgreSQL or a cloud IoT service), and who is on call for the broker. They also provide the test devices, network paths, certificate authority or PKI process, and access to staging and production environments. Ask an implementation partner to list these inputs in writing before work starts, along with the people who must review each one. Missing inputs are the most common reason an MQTT project slips.
When should we bring in an implementation partner for an MQTT broker?
Bring in a partner when the project has a hard deadline, regulated data, several device fleets, or integrations that must be hardened before go-live. DeployOpen plans, implements, customizes, integrates, hardens, backs up, upgrades, documents and supports self-hosted open-source platforms inside the client's own infrastructure, which covers brokers of the kind compared here. A partner is also useful when your team lacks capacity for security testing of the broker and its authentication path. DeployOpen runs security testing for applications, APIs and infrastructure, but it does not issue audit reports or certifications. Those come from independent auditors and certification bodies.
How should we scope a fixed-scope MQTT engagement with written deliverables?
Start with the broker choice, node count, device count range, protocols and integrations in scope, and the environments to build. Then list each deliverable in writing, such as the deployed cluster or single node, the authentication and TLS configuration, the rule or integration set, the backup and restore test, the runbook, and the handover session. Name what is out of scope, such as device firmware, the target data platform or licence purchases, so that no one assumes they are included. DeployOpen's engagements are usually fixed-scope, with scope, deliverables and timelines agreed in writing before work starts, and it does not publish a price list. Ask for a quote that follows from that written scope, and ask how changes after signing are priced.
What should we ask a vendor before comparing MQTT broker costs?
Ask each vendor for the same written inputs so that quotes are comparable. Specify the number of nodes, the expected connection count, the message rate, the retention needs, the high availability target, the hosting model and the support level. For EMQX, ask which licence terms apply to your topology and how the license file is supplied. For HiveMQ, ask which features you need from the commercial HiveMQ Broker, such as masterless clustering, zero-downtime upgrades and disk replication, and whether they are included in your quote. For Mosquitto, ask about the Cedalo Pro Edition scope if you need high availability, persistent queuing or professional support. Confirm all of these with the vendor, since the open-source projects do not set terms for your environment.
Choosing between the three brokers on your shortlist
Start with the scale and high availability requirement, because it decides whether the license question even arises. If a single broker node with a documented restore procedure covers your devices and recovery window, Mosquitto or HiveMQ CE are both reasonable, and the license cost of clustering never applies. If you need more than one node for availability or load, EMQX is the only one of the three whose open-source line includes clustering, but only under the Business Source License with a license file loaded for any cluster of more than one node, as set out in the EMQX README. HiveMQ CE does not list clustering among its features, so a clustered HiveMQ deployment means the commercial HiveMQ Broker, which the HiveMQ product page describes with masterless dynamic clustering. Confirm current terms with each vendor before you commit to a cluster design.
Next, test your license tolerance against the production topology you expect in three years, not the pilot. EMQX's grant allows production use of a single node, but not offering it to third parties on a hosted or embedded basis, so a product that resells device connectivity needs a separate conversation. Mosquitto's EPL-2.0 or BSD-3-Clause terms and HiveMQ CE's Apache 2.0 license carry fewer restrictions on that front. For the extension language, EMQX's SQL rule engine and its integrations with more than 50 systems, including Kafka, PostgreSQL and Redis, reduce custom code. HiveMQ CE's Java extension SDK suits teams already staffed in Java, and Mosquitto relies on its bridges and its C and C++ client libraries, so ask which language your team will maintain for authorization logic.
How DeployOpen helps choose and implement an MQTT broker
DeployOpen helps teams decide between EMQX, Mosquitto and HiveMQ Community Edition, then plans, implements and documents the chosen broker inside the client's own infrastructure. We start from the device fleet, the security requirements and the licensing position, so the decision rests on the environment rather than on a default choice.
How we scope
- Engagements are fixed-scope, with the broker choice, deliverables and timelines agreed in writing before work starts.
- The written scope records device counts, connection patterns, QoS needs, TLS and authentication requirements, and target hosting.
- Licensing is reviewed against the planned topology, including whether a clustered EMQX deployment needs a license file.
How we build
- We deploy the chosen broker in your cloud accounts, data centers or air-gapped network, with TLS and client certificate configuration.
- Authentication and authorization are configured for the selected broker, using its supported extension model where one is needed.
- Data integration paths to downstream systems such as Kafka or databases are built and tested against the agreed scope.
How we hand over
- Runbooks cover installation, configuration files, certificate rotation, backup steps and upgrade procedures for the chosen broker.
- Architecture and licensing decisions are documented, including the conditions under which a commercial edition would be needed.
- Your team receives test results for connectivity, failover behavior and access controls, with evidence kept for review.
How we support
- Ongoing support, upgrades and continuous testing are available as retainers, scoped separately from the original engagement.
- Upgrade planning tracks each broker's release line, so version changes are reviewed before they reach production devices.
- Before any move to a commercial edition or a different broker, we document the migration effort and what to confirm with each vendor.

