Eclipse Mosquitto™ 1.6 Release Review

Type
Release
Graduation
State
Successful
End Date of the Review Period

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.

Release

1.6

Description

All aspects of the Mosquitto project are widely used and considered to be mature and suitable for production use.

The main focus of this release has been adding support for the MQTT v5 specification, which a major update to the MQTT protocol.

The project is being proposed for graduation with this release because the project is in a mature state.

API Certification

The project leadership certifies that the APIs in this release are "Eclipse Quality".

Security Issues

There are no security vulnerabilities addressed in this release. Security vulnerabilities are handled in service releases. Information on past security issues can be found at https://mosquitto.org/security/

Conforms To UI/UX Guidelines
Not verified
End of Life

libmosquitto API change

The next release after 1.6 will be a major release with API breakage - version 2.0. The Mosquitto project has maintained API and ABI compatibility in libmosquitto since version 1.0, and has dealt with the introduction of new specification features by adding new functions which duplicate the behaviour of existing functions, but with additional arguments to support the new features. Particularly with regards to adding support for MQTT version 5, this has lead to a proliferation of functions which offer small variations on a theme.

The libmosquitto functions listed below (which includes some new functions included in 1.6) are definitely going to be updated for version 2.0. Any function not listed here should be considered at risk of being updated.

  • mosquitto_will_set
  • mosquitto_connect*
  • mosquitto_reconnect*
  • mosquitto_disconnect
  • mosquitto_publish*
  • mosquitto_subscribe*
  • mosquitto_unsubscribe*
  • mosquitto_loop*
  • mosquitto_*_callback_set
  • All callbacks
  • mosquitto_*_topic_check*

libmosquittopp deprecated

The C++ wrapper around libmosquitto is now deprecated and will be removed in the next major release (2.0). The wrapper came about by an external request and at the time it was created there were no other C++ solutions for MQTT. This has changed in the past years and this wrapper provides no benefit over true C++ libraries or using the pure C libmosquitto. The Paho project provides a C++ library which uses modern C++ features.

Standards

This release supports the OASIS MQTT 5.0 standard https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html

Communities

Developer

At the time of writing, there are 212 open issues and 712 closed issues, and 6 open and 269 closed pull requests for the Mosquitto project. There are a healthy number of community contributors to the project who help to triage and provide feedback on issues and pull requests. In total, the project has accepted code contributions from 67 people.

The majority of pull requests are minor fixes and changes, but some substantial code has been accepted in this release, including TLS engine support, Automotive DLT logging, OCSP stapling support, and improved bridge reconnect functionality.

The issues board is treated as a general support board by some users when it is not clear to them where their problem lies, this is the reason for a good section of the currently open issues. In many cases these issues end up being closed without any changes needed in Mosquitto. This use of the issues board is not viewed as a problem, but there needs to be a focus to keep the number of open issues low.

Adopter

Mosquitto is used by other Open Source projects, by industry and by end users. A common category of project using Mosquitto is smart home projects, such as openHAB and Home Assistant. At the Smart Factory Expo 2018 lots of vendors mentioned they were using Mosquitto in their products. Cedalo AG, who sponsor the Mosquitto project, have their product based on Mosquitto for MQTT support.

The Eclipse-Mosquitto Docker image has been pulled over 51 million times and currently ranks as the 43rd most downloaded official image on Docker Hub.

User

The wider community is active and goes beyond the direct reach of the project. Mosquitto is mentioned in around 1000 presentations on slideshare.net.

There are community created guides on setting up and using Mosquitto, such as https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-the-mosquitto-mqtt-messaging-broker-on-ubuntu-18-04 , https://learn.sparkfun.com/tutorials/introduction-to-mqtt/all and http://www.steves-internet-guide.com/install-mosquitto-broker/

Third party support websites such as stackoverflow.com have a good set of Mosquitto questions - as of this writing, the main stackoverflow site has 2251 questions that mention Mosquitto. In contrast, the project forum and mailing list are relatively low traffic, but as noted the issues board is used for support by some users by preference.