HiveMQ is Now Open Source - With a Community Edition
Written by Dominik Obermaier
Published: April 16, 2019
At HiveMQ, we have always been huge proponents of the open source community. Open source software has fundamentally changed the software industry and is in fact changing how many industries view innovation and collaboration. It is clear that the open source development model has become the main driver in creating innovative new technology.
MQTT and HiveMQ has benefited tremendously from the open source and open standards community. The broad adoption of MQTT can be traced back to 2011 when MQTT was announced as an open standard and IBM started the Eclipse Paho project to provide open source MQTT clients. The success of MQTT as an industry standard was accelerated greatly after OASIS announced MQTT 3.1.1 as an official standard and many open source implementations for brokers and clients were created by individuals who wanted to contribute back to the community. At HiveMQ, we were thrilled to witness the traction of MQTT as the solution for multiple industries, including connected car, Industry 4.0 and for connected products in general. Without a doubt, open source software helped with the adoption and technology acceptance across industries.
It is now time to take an important next step for HiveMQ, so we can further accelerate the innovation and adoption of HiveMQ and MQTT. Today, we are excited to announce the creation of the HiveMQ open source MQTT community. The goal of this community is to make MQTT and HiveMQ part of the central nervous system for any IoT solution. We want to create an open platform that is extensible, secure, reliable and based on open standards. We want to create a community that enables developers, students, researchers and companies to build innovative technology that integrates MQTT everywhere.
The first two projects will focus on providing a high quality MQTT broker and client.
HiveMQ Community Edition (CE) is a Java-based implementation of the MQTT 3.x and 5 broker specification. The code is based on the HiveMQ commercial product that is being used in production by over 120 companies worldwide. HiveMQ CE includes an extension framework that makes it possible to integrate MQTT messages with other systems.
HiveMQ MQTT Client is a Java library that implements the MQTT 3.1.1 and MQTT 5 specification. We developed this library in collaboration with BMW Car IT. It is built for mission critical deployments that require a resilient and rock-stable MQTT implementation. A lot of work has been spent tuning the client for high-throughput and performance at low memory and CPU consumption, making it ideal for microservice communication as well as edge devices and mobile applications. The library includes a reactive, blocking and asynchronous API so developers have maximum flexibility in their programming style.
Both projects are licensed under the Apache 2 software license and both will continue to be developed by HiveMQ developers.
We will continue to sell commercial editions of HiveMQ. Our customers are deploying business critical applications using HiveMQ and MQTT so they require features that are beyond the MQTT specification. HiveMQ Professional and HiveMQ Enterprise, our commercial editions, will include features such as the HiveMQ Control Center for monitoring and logging, elastic clustering for scalability and high availability, enterprise extensions such as our new HiveMQ Enterprise Extension for Kafka, and features required for use in complex corporate environments. We will also continue offering 7 / 24 technical support for the HiveMQ commercial products. It is important to stress that the core of our commercial products will be the open source HiveMQ Community Edition so our customers will benefit from the new open source community.
The balance between open source projects and an open core company is something we take seriously. Our goal is to be as transparent as possible about our strategy and roadmap. Commercially, we hope to achieve three goals from our open source strategy:
We want more people using high quality MQTT implementations. Our expectation is the HiveMQ Community will be great for learning, PoC, research projects, and small scale deployments for individuals. For business critical deployments, most customers want a commercial, fully supported solution like HiveMQ Professional or HiveMQ Enterprise to meet the needs of deploying enterprise infrastructure software.
We want to make it easier for our partners, students, researchers or other open source projects to use HiveMQ and MQTT. We hope this will create more value for the entire ecosystem, including our company and our customers.
The additional functionality and improvements driven by open source development will be used by our commercial software offerings, so our customers can profit from any improvements contributed by a larger developer audience.
This the start of our open source HiveMQ community. We expect to learn a lot from the community. I am curious to see the collaboration and innovation we can encourage within the community. I really believe open source is about creating more value than just one company can capture. Please come and join us.