Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.
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 code is written mainly in Java with some Groovy scripted integration utilities/use cases, in the form of multimodule Maven project. The code has been mainly written by a single committer and project lead Andrea Selva with some suggested bugfixes in form of issues notifications. The source code is freely available as http://code.google.com/p/moquette-mqtt
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.