One of the games that journalists, analysts and pundits in general like to play is predicting The Next Big Thing. I've been doing this so long – over 20 years – that I have the dubious distinction of failing to predict the Internet as a mass medium (but then Bill Gates did as well, so I don't feel too bad about it.)
Given that track record, I try to be a little more cautious these days, but one development that seems likely to be big is the Internet of things. In a sense, that's a certainty: it is based on the idea that billions of objects will be networked together, and so it is defined by a scale beyond the current Internet. And I think we can see in the rapid uptake of smartphones a foretaste of how quickly network effects will kick in once the technology is in place – and cheap enough.
One prediction that I feel confident about making is that if the Internet takes off, it will be based on open standards. Even more than the Internet, the Internet of things will have such a huge number of companies involved that it will be impossible for any one of them to impose a proprietary standard.
I suspect, too, that alongside open standards, open source will also be hugely important in this area for a couple of reasons.
One is that huge variety of devices I mentioned. It will be impossible for any one company or even group of companies to write the necessary code for the millions of different systems that will be joining the Internet of things. The only way for this to work is if the code is open source, so that manufacturers – and hackers – can simply adapt it for their own favourite device. That's precisely what has happened with some of the most successful code in the field of mobile phones.
The other reason open source will be at an advantage is that a silent revolution has been taking place over the last few years, whereby a vast swathe of the consumer electronics world has adopted embedded Linux for its devices, for all the obvious reasons – cost, reliability, customisability, tools etc. That means that open source code for the new Internet of things will integrate much more easily with these, since both parts are open (assuming they have compatible licences, of course.)
Anyway, that's the theory, but what about the practice? Well, a recent move by a group of companies, including IBM, gives us a glimpse of how we might actually start realising the Internet of things – and it's packed full of openness:
Sierra Wireless and the Eclipse Foundation today announced the formation of a new Industry Working Group to define and implement an open standard platform for the software development tools used in developing machine-to-machine (M2M) communications applications. IBM and Eurotech are also founding members of the M2M Industry Working Group, which is open to any organization with an interest in M2M solutions, including both vendors and potential clients.
The M2M Industry Working Group is the umbrella for M2M-related Eclipse projects for open source, the first of which is the Koneki project. The goal of Koneki is to provide M2M solution developers with tools that ease the development, simulation, testing/debugging and deployment of such solutions. The initial open source contributions provide a common set of tools and APIs that simplify development of solutions across multiple environments (such as Linux, Java, and proprietary environments such as Open AT from Sierra Wireless), as well as standard communications protocols. The benefit to M2M customers is more flexibility, with systems that are interoperable and don't lock them into a long-term relationship with a single solution vendor. Sierra Wireless has made the first significant contribution to the Koneki project, providing a full-featured embedded development environment for the Lua programming language.
Another important part of the puzzle was added the day after the unveiling of the new working group:
IBM and Eurotech today announced that they are contributing software to accelerate and support the development of a new generation of smarter wireless and mobile devices. The technology, which could become the basis for a new standard of mobile connectivity and interoperability, will be contributed to the Eclipse Foundation open source community.
Originally developed by IBM and Eurotech, the contributed Message Queuing Telemetry Transport (MQTT) protocol is in use today among some industrial, mobile, and consumer applications, providing reliable device connectivity in industries such as transportation, energy, military, financial, social media and medical. Uses of MQTT range across projects as diverse as real-time monitoring for a ConocoPhillips pipeline, to a new lightweight mobile messaging application for Facebook.
Billions of embedded devices – from RFID tag readers, smartphones and cardiac monitors to GPS-aware systems, thermostats and smart appliances – can be interconnected to one another. Fueled by rapid growth in wireless broadband connectivity, this number is rapidly expanding. There are more than nine billion connected devices in the world today and according to a recent study conducted by Ericsson AB, that number is expected to reach 50 billion by 2020.
Many of these devices tend to be industry focused and tied to proprietary technologies and platforms, making true connectivity a complex task. Further, there is an influx of instrumented products, such as power meters and washing machines some of which do not yet have access to the power of the internet. By connecting all of these devices with an open-source, cross-industry messaging technology, there is potential to create new systems of systems that can operate with one another like never before. This would help organizations more easily embrace growth opportunities across a wide range of industries, including retail, healthcare and automotive where the use of mobile and wireless devices are transforming the way they work.
A new open source Eclipse project called "Paho" is being proposed:
The initial code contribution to Paho will include Java and C client-side implementations the MQTT protocol, contributed by IBM. MQTT is a lightweight publish/subscribe protocol designed for mobile and remote devices, wireless connectivity, and dealing with lossy, constrained and/or intermittent network characteristics.
Eurotech will contribute the implementation of a framework and sample applications which device and client developers can use when integrating and testing Paho messaging components. This will require the setup of an appropriate M2M test server which will be worked out with the Eclipse Foundation. The architecture for this sandbox will be coordinated with the M2M Industry Working Group.
Naturally, my first reaction was to wonder about that "open standard platform" mentioned at the start of the first release, since the exact definition of open standards is crucially important. Would it be truly open – restriction-free (RF) - or just pseudo-open – FRAND? I asked Mike Milinkovich, Executive Director of the Eclipse Foundation, about this in a tweet, and this is his reply:
The code @ Eclipse is under the EPL [Eclipse Public Licence] which is RF. Re: the spec, they are deciding which org to go to but I expect RF for that also
So Eclipse generally requires stuff to be RF, which means that there's a good chance that when the new initiative standardises its approach, that too will be RF, which is good news. And assuming the Paho project moves forward, it will be under the EPL, and thus also RF.
Whether or not these projects turn into the real Internet of things, they will certainly be useful test beds for exploring of some of its ideas. Once projects are up and running we'll have a better idea of their uptake and whether they are likely to lead to bigger and better things. Happily, one thing we can say is that they seem to be going in the right direction as far as openness is concerned.