The mosquitto project is a proposed open source project under the Eclipse Technology Project.

This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the Eclipse community. Please send all feedback to the Eclipse Proposals Forum.

Background

Scope

The main aim of the Mosquitto project is to provide a server/broker implementation of the MQTT (mqtt.org) protocol.

The following points are also considered to be within the scope of the project:

The Eclipse Paho project already contains an MQTT C client implementation, which in many ways makes the Mosquitto client library redundant. Keeping this library available is regarded as important to not cause problems for the existing users. There is also a significant overlap with the server code, meaning that there is minimal overhead in maintaining the client library. The command line client utilities are invaluable for testing the server.

Description

Mosquitto provides a light weight server implementation of the MQTT protocol, written in C. Light weight means an executable on the order of 120kB that consumes around 3MB RAM with 1000 clients connected. There have been reports of successful tests with 100,000 connected clients at modest message rates.

Why Eclipse?

Over the past few years, Eclipse has become an obvious destination for projects involved in M2M through the creation of the M2M Industry Working Group and the number of related projects being created.

It is hoped that bringing Mosquitto to Eclipse will increase its exposure for both users and possible contributors to the project.

The mosquitto project is complementary with existing Eclipse projects that make use of MQTT, such as Paho, Koneki and the recently proposed Ponte. Mosquitto is already linked with Eclipse as it provides the MQTT sandbox server available at m2m.eclipse.org.

Initial Contribution

The initial code contribution is the mosquitto code base, currently held at bitbucket in a mercurial repository (bitbucket.org/oojah/mosquitto). This includes the broker/server itself, as well as MQTT client libraries in C, C++, Python and Javascript. The Javascript client is considered deprecated because of the Paho Javascript client and the Python client has already been submitted to Paho.

There is a reasonable community starting to exist around mosquitto. The bug tracker lists 133 bugs submitted, the mosquitto-users mailing list has 79 members and stackoverflow has 44 questions that mention mosquitto.

The code is majority owned by the contributor, but there have been a few contributions from other parties.

The project dependencies are:

Legal Issues

As noted above, there have been a few code contributions from other parties.

Committers

The following individuals are proposed as initial committers to the project:

Roger Light, University of Nottingham

We welcome additional committers and contributions.

Mentors

The following Architecture Council members will mentor this project:

Interested Parties

The following individuals, organisations, companies and projects have expressed interest in this project:

Project Scheduling

Changes to this Document

Date Change
DD-Month-YYYY Document created