In the last couple of years machine-to-machine communication and monitoring needs of remote controlled devices has raised interest also for hobbists, has attracted more developers to the Internet-Of-Things world. Moquette MQTT is positioned in this scenario and propose to create a simple and small self contained Java implementation of an MQTT broker.
The current version is 0.5; it's gaining interest in the MQTT community.
Moquette is a Java-based fully compliant MQTT lightweight message broker that can be easily configured. The project maintains compliance with the evolution of the MQTT protocol specification.
Moquette is a Java implementation of an MQTT 3.1 broker. Its code base is small. At its core, Moquette is an events processor; this lets the code base be simple, avoiding thread sharing issues.
The Moquette broker is lightweight and easy to understand so it could be embedded in other projects. By default it lives standalone, but could be integrated into an OSGi container to create more significant integrations, for example running inside an embedded OSGi broker like Concierge.
The Eclipse Foundation focuses on building great community on great projects, and also is becoming the home to many IoT-related projects, for example Paho and Mosquitto to name the prominent examples. Having a freely-available pure MQTT broker written in the Java language with a commercial-friendly license could be a great win for the growing IoT community and for the Moquette broker in substaining its growth and adoption in IoT related projects.
The broker is implemented using third party libraries with OSS licenses, these are:
- LMAX disruptor (ASL 2.0)
- Netty (ASL 2.0)
Moquette is developed by only the project lead who is also the copyright owner.
At the moment it's licensed with Apache License 2.0. Once established as an Eclipse project, it will be dual-licensed, maintaining its Apache License 2.0 and adding the Eclipse Public License 1.0.