As you may have noticed, the Next Big Thing is the Internet of Things. It's certainly true that in addition to computational capabilities, connectivity is also being added to an ever-wider range of everyday objects. On the other hand, in the light of Snowden's leaks about pervasive surveillance of our online activities, you might have thought people would be a little more cautious about wiring up even more of their lives.
Leaving aside such thorny issues, a more technical question is: will one platform come to dominate the Internet of Things? The unanimous answer of companies, is of course "yes", because they all dream of offering it. But some players are better-placed than others to aspire to that position. One of them, arguably, is the UK company ARM, which has just made an interesting move in this sphere:
ARM has announced a new software platform and free operating system to simplify and speed up the creation and deployment of Internet of Things (IoT) products. The ARM mbed IoT Device Platform has been built around open standards and will bring Internet protocols, security and standards-based manageability into one integrated solution optimized for energy and cost-constrained devices. It is supported by the established and expanding mbed hardware and software ecosystem that will provide common building blocks for IoT devices and services. This new platform will accelerate the growth of the IoT by enabling innovators to focus on value-add features and differentiation.
As you can see, it is announcing a "free operating system". Although details are a little sketchy at the moment, the company says that it will be "free of charge and mainly open source. Some elements such as crypto are not open." Here are some more details:
mbed OS: a free operating system for ARM Cortex-M processor based devices that consolidates the fundamental building blocks of the IoT in one integrated set of software components. It contains security, communication and device management features to enable the development of production-grade, energy-efficient IoT devices. It is available to mbed partners in Q4 2014 for early development, with the first production devices due in 2015. Key benefits:
Enables companies to focus on innovation and differentiation, reducing development costs and time to market
Free for developers and for deployment, supported by an ecosystem of more than100 OEMs and major chip vendors
Increases developer productivity by enabling software component reuse for shorter development cycles
Support for key standards such as Bluetooth Smart, 2G, 3G, LTE and CDMA cellular technologies, Thread, Wi-Fi, and 802.15.4/6LoWPAN along with TLS/DTLS, CoAP, HTTP, MQTT and Lightweight M2M.
So from this we can see that ARM is hoping to create an ecosystem around devices using its Cortex-M processor. It rightly emphasises that the existence of this free foundation will allow companies to accelerate the development of products by drawing on software component re-use to innovate at higher levels.
If that sounds rather familiar, it should do. It's essentially how open source works, which creates a common pool of software resources that allow anyone to innovate by building on those elements. Indeed, it's clear that ARM has looked very closely at how and why free software is so good and so popular. The big question then becomes: is "almost open" good enough to take over the Internet of Things? There is a precedent here, which is Google's Android. This, too, is "almost open" in that its lower levels are indeed free software, while there are proprietary elements on top. But as well as similarities, there are also key differences.
For the smartphone sector, handset manufacturers and mobile network operators wield a great deal of power. Once Google managed to get enough of them on board, the success of the Android ecosystem was almost guaranteed. One of the reasons companies are salivating over the Internet of Things is that it is much bigger, and much more diffuse than the smartphone sector. There aren't the same major players that are able to make or break platforms. Instead there are probably millions of companies that potentially could join the ecosystem there. That also means that the requirements for the Internet of Things platform are much wider than for smartphones, which are all essentially the same.
This is where the real power of free software becomes apparent. It is only with complete openness that all such players can be accommodated. No matter how well thought-out, a "nearly free" system will not have the same flexibility and potential for unconstrained future development. That means that however successful ARM's mbed OS may be - and of course, it is very early days - there will always be room for a completely free system, probably based around Linux, which has shown itself capable of morphing time and again to meet new challenges. Moreover, ARM is keeping the server-side code closed:
mbed Device Server: a licensable software product that provides the required server-side technologies to connect and manage devices in a secure way. It also provides a bridge between the protocols designed for use on IoT devices and the APIs that are used by web developers. This simplifies the integration of IoT devices that provide "little data" into cloud frameworks that deploy "big data" analytics on the aggregated information. Built around open standards, the product scales to handle the connections and management of millions of devices.
That means that companies wishing to use ARM's approach will ultimately end up paying for code that they don't control and can't modify, unlike fully open source solutions, which are free and completely customisable.
It's certainly nice to see that ARM has learned so much from open source, but ultimately the reason that free software is unbeatable is that even "nearly free" can only ever be "nearly as good". And that will always encourage people to use the real thing.