Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Paho/Project Plan"

(0.1 Build (4Q12): added milestone marker)
 
(26 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= Open Task list =
+
= [https://projects.eclipse.org/projects/iot.paho/documentation Current Plan] =
 +
 
 +
The release plans are in the project documentation - see "releases" at https://projects.eclipse.org/projects/iot.paho/documentation.
  
 
* [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&classification=Technology&component=MQTT&component=Samples&component=Sandbox&list_id=3090526&product=Paho&query_format=advanced&order=bug_status%2Cpriority%2Cbug_severity list of open Paho bugs]
 
* [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&classification=Technology&component=MQTT&component=Samples&component=Sandbox&list_id=3090526&product=Paho&query_format=advanced&order=bug_status%2Cpriority%2Cbug_severity list of open Paho bugs]
* Binary releases of C and Java clients for download
 
* LuaRock release of Lua client for download
 
* Tutorials for C and Java clients
 
* How to build and use C client on iOS
 
* Test suite
 
* Protocol compliance suite for reference implementations
 
* Raise MQTT Lua client to the same functional level as the C and Java client
 
* Update MQTT specification with mqtt.org / mailing list clarifications
 
* Some idea of [[Paho/Repository#Future_needs|potential code additions]] are on the page discussing the Repository structure.
 
  
= Milestones =
+
== Current and Near Future Major Items ==
 +
 
 +
* contributing to M2Mqtt: regression tests, disk persistence, maybe some other items
 +
* offline buffering (ability to send while not connected) and automatic reconnect for C, Java and JavaScript clients
 +
* ongoing embedded client improvements: proper FreeRTOS support, asynchronous clients, build improvements, documentation: porting guides, tutorials, formal MQTTClient-C release
 +
* Android service stability, Android app
 +
* WebSockets support for C, Python clients (any others?)
 +
* MQTT-SN to MQTT embedded gateway
 +
* MQTT conformance test material
 +
* MQTT client statistics
 +
* possibly an MQTT forwarder for DMZ (it's been mooted, but I'm not exactly sure what it means)
 +
 
 +
=== Actively Soliciting Contributions for ===
 +
 
 +
It would be nice for Paho to have these, even if they do already exist elsewhere.  Eclipse legal processes mean that the software is clean, safe to use commercially.
 +
 
 +
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=442878 PHP client]
 +
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=442877 Ruby client]
 +
* Node.js client
 +
 
 +
== Directions ==
  
The Paho project will target the Eclipse Kepler release (June 26th, 2013) with a 0.9 release under Incubator status, and two intermediate releases in 4Q12 and 1Q13.
+
* Expand client library coverage to all major programming languages (http://spectrum.ieee.org/computing/software/top-10-programming-languages)
  
== 0.1 Build (4Q12) "M1" ==
+
* I am assuming the MQTT specification will evolve over the next couple of years. Would it make sense to start an incubator to try out some new ideas for the spec? Developers could contribute code that implements these ideas and this would help the MQTT TC in the evolution of the spec. (Ian Skerrett)
This will be a “snapshot” build of the  
+
*Lua, C, and Java MQTT clients,
+
*Eclipse client view,
+
*Any additional example code.  
+
  
The 0.1 release will be as an “update site” with the primary goal to learn and exercise the Eclipse Build/Release process and tools including Tycho
+
Paho incubator has now been created - https://projects.eclipse.org/projects/iot.paho.incubator
  
== 0.x Release (1Q13)==
+
* I'd like to see a focus on creating tools to test/debug/deploy MQTT apps. Tools like MQTTLens I think will be critical to the adoption of MQTT. Could Paho be the home to these types of tools? (Ian Skerrett)
*Line items (common to all clients)
+
Add suggestions here  [https://bugs.eclipse.org/bugs/show_bug.cgi?id=442874 Ideas for tools that could be created or adopted to test/debug/deploy MQTT]
**Consistent samples/examples for all language clients
+
**Consistent documentation
+
**…
+
*C client line items
+
**…
+
*Eclipse client view line items
+
**…
+
* Java client line items
+
**…
+
*Lua client line items
+
** Implement QoS, clean session bit, username/password, make sure message header fully implemented (send and receive), support message identifier, SUBACK messages should check QoS level, deal with outstanding SUBACK messages, review "last activity in / out" timers, check for PINGRESP, better "wait for CONACK" handling, handle failed subscriptions, better error / retry handling, review Lua best practices for socket I/O and error handling
+
*MQTT Protocol conformance tests
+
**Reference implementation test bed (wire capture?)
+
**Tracing tools/integration
+
*Mobile platform support
+
*Sample and Example Code (integrated in IDE where possible)
+
**MqGnatt
+
**REST APIs with end to end examples
+
**Basic MQTT exerciser (Eurotech)
+
**Wizards?
+
**New examples tbs
+
**websockets
+
  
== 0.9 Release (2Q13)==
+
* I think the MQTT embedded security story could be greatly improved (Julien Vermillard) I think today using MQTT or any M2M protocol with security on any embedded platform is difficult and cumbersome. I use wakaama with tinydtls a DTLS implementation MIT licensed and at some point I would like to provide ready to install client on some platform but with security (with a business friendly license) as a mandatory feature. Maybe it worth looking at http://axtls.sourceforge.net/ (BSD licensed) or extending tinydtls for providing good old TLS which is in fact simpler than DTLS.
*M2M Package
+
**align with Koneki and Mihini
+

Latest revision as of 06:09, 11 November 2015

Current Plan

The release plans are in the project documentation - see "releases" at https://projects.eclipse.org/projects/iot.paho/documentation.

Current and Near Future Major Items

  • contributing to M2Mqtt: regression tests, disk persistence, maybe some other items
  • offline buffering (ability to send while not connected) and automatic reconnect for C, Java and JavaScript clients
  • ongoing embedded client improvements: proper FreeRTOS support, asynchronous clients, build improvements, documentation: porting guides, tutorials, formal MQTTClient-C release
  • Android service stability, Android app
  • WebSockets support for C, Python clients (any others?)
  • MQTT-SN to MQTT embedded gateway
  • MQTT conformance test material
  • MQTT client statistics
  • possibly an MQTT forwarder for DMZ (it's been mooted, but I'm not exactly sure what it means)

Actively Soliciting Contributions for

It would be nice for Paho to have these, even if they do already exist elsewhere. Eclipse legal processes mean that the software is clean, safe to use commercially.

Directions

  • I am assuming the MQTT specification will evolve over the next couple of years. Would it make sense to start an incubator to try out some new ideas for the spec? Developers could contribute code that implements these ideas and this would help the MQTT TC in the evolution of the spec. (Ian Skerrett)

Paho incubator has now been created - https://projects.eclipse.org/projects/iot.paho.incubator

  • I'd like to see a focus on creating tools to test/debug/deploy MQTT apps. Tools like MQTTLens I think will be critical to the adoption of MQTT. Could Paho be the home to these types of tools? (Ian Skerrett)

Add suggestions here Ideas for tools that could be created or adopted to test/debug/deploy MQTT

  • I think the MQTT embedded security story could be greatly improved (Julien Vermillard) I think today using MQTT or any M2M protocol with security on any embedded platform is difficult and cumbersome. I use wakaama with tinydtls a DTLS implementation MIT licensed and at some point I would like to provide ready to install client on some platform but with security (with a business friendly license) as a mandatory feature. Maybe it worth looking at http://axtls.sourceforge.net/ (BSD licensed) or extending tinydtls for providing good old TLS which is in fact simpler than DTLS.

Back to the top