The last time I wrote about a World Made of Messages was back in 2010, when SpringSource announced it was to acquire RabbitMQ. A lot has happened in the the meantime- but things are really heating up.
Logmein recently acquired Pachube, and then made the end point to end point real time web message broker free to use this week. Making something free is a great way to lower barriers to participation.
As devices continue to find their way onto the Internet, we want them to be able to take advantage of everything the Web has to offer. We want Pachube users to control their own data, build applications that we would never envision, and share with others as they see fit.
Another way to lower barriers to participation is to open source code, which is what IBM just announced: it has released Java and c versions of its MQTT clients as an Eclipse proposal under the name Paho.
The MQTT specification for machine to machine, message-based comms was already publicly available, but making the code open source is a whole different ballgame; that’s the big news.
IBM contributes plenty of code to projects like the Apache Web Server and Linux. But in many respects I see this latest drop as IBM’s most significant since it open sourced Eclipse ten years ago. Why? Because the Eclipse Public License is designed to support derivative works and embedding, while the Eclipse Foundation can provide the stewardship of same. One of the main reasons Eclipse has been so successful is that rather than separate software from specification it brings them together – in freely available open source code – while still allowing for proprietary extensions which vendors can sell.
Rather than talking about machine to machine, we could just describe MQTT as a protocol for lightweight messaging. As I described it in the RabbitMQ post mentioned above:
“Web developers tend to scoff at transaction management, but messaging has a really broad applicability – particularly in the cloud world. How are we going to deliver cloud interoperability? If you think the answer is Web Standards think again- remember WS-*? Messaging however offers the opportunity to tie disparate systems together with point to point interactions or indeed other integration patterns.”
At this point I should probably explain that I didn’t think IBM was going to make this move. I have pushed them hard internally to do so, but it still caught me by surprise. As I commented in April 2010:
definitely need message oriented middleware [MOM] interop, and the simplicity of more RESTful methods. WMQ may have a role to play in the “other spaces” – but IBM isn’t set up to pursue these opportunities. The barriers to entry to WMQ are significant, and IBM’s engagement models isn’t set up to address them. The WebSphere business has little or no interest in pervasive adoption, whatever IBM rhetoric may have been over the years. Rabbit is just filling the vacuum that nature abhors. Same as virtualisation – if IBM won’t address the mass market with its invention, then someone else bloody will. Is Rabbit the VMware of messaging? Could be, right?
At this point, Andy Piper is surely entitled to say “In Your Face, Governor!”
At this point I should talk to IBM and how it got here, and the huge credit deserved by its Hursley Development Labs team, and the execs that let them pull the trigger. You see – the MQTT open source move is a bottom up phenomenon. Andy Stanford Clark has been on the lightweight messaging tip most of his career but its only in the last couple of years he has really nailed it, co-innovating with local software developers, rather than IBM’s usual multi-billion dollar partnerships. Andy got his house to tweet, building a better mousetrap. He was a huge supporter of HomeCamp, a home automation community event – about ten IBMers came to the first one. Suddenly local UK web hackers like my good friend Chris Dalby were targeting IBM platforms, sending data to an IBM message broker. This was weird and awesome.
Meanwhile IBM was beginning to invest in more local grassroots evangelism – with great people like Zoe Slattery (sadly now retired from IBM), Simon Maple and the aforementioned social bridgebuilder Andy Piper. Hursley managers that allowed all this innovation to flourish under their watch are John McLean and Gerry Reilly.
Given the open sourcing decision happened under the watch of WebSphere/AIM SVP Marie Wieck she deserves credit too. Are we going to see IBM WebSphereMQ open sourced any time soon? Probably not- but there again it just became more likely.
So that’s just a few of the people involved – the key point being that the decision making here seemed as much as Social process as a technical, marketing or sales decision. IBM open sourcing MQTT software is Social Business, with developers being the constituency in question. More messages, and more active endpoints, will also mean a lot more data – Big Data – which IBM can turn into money in plenty of ways.
Internet of Things innovation is not just going to happen at huge traditional IBM customers. Indeed Software is Eating the World.
Talking of eating the world, if you’re wondering if any web companies you’ve ever heard of are interested in lightweight messaging – how about Facebook, which is using the MQTT protocol for Facebook Messenger? As architect Luzy Zhang explains:
One of the problems we experienced was long latency when sending a message. The method we were using to send was reliable but slow, and there were limitations on how much we could improve it. With just a few weeks until launch, we ended up building a new mechanism that maintains a persistent connection to our servers. To do this without killing battery life, we used a protocol called MQTT that we had experimented with in Beluga. MQTT is specifically designed for applications like sending telemetry data to and from space probes, so it is designed to use bandwidth and batteries sparingly. By maintaining an MQTT connection and routing messages through our chat pipeline, we were able to often achieve phone-to-phone delivery in the hundreds of milliseconds, rather than multiple seconds.
So IBM is open sourcing technology which directly addresses current megatrends such as Big Data, Internet of Things, and even Social Media. This is a different kind of innovation by IBM, targeting the grassroots developer. Good job. Will MQTT and its Paho implementation prove to be as influential as Eclipse? Perhaps not- but Eclipse commoditised, while in this case IBM’s incentive is to innovate for growth.
File under Smarter Planet, Instrumentation.
disclosure: IBM and VMware are both clients. Some of the individuals I mention above are personal friends.