Open Source as a Driver of Internet of Things
Moore’s Law, named after Intel co-founder Gordon Moore, is the idea that processing power for computers will double every two years. This has proven to be valid in many areas, from components (the initial scope) to devices. In particular, the relentless rise of chip power and the striking fall in costs have finally made it possible for devices everywhere to have some form of “intelligence” embedded in them. We have advanced from mainframes to workstations, to client-server, to grid computing, to cloud computing and, today, the next natural step is the Internet of Things. Smart devices, active devices, all around the world are connected, generating huge amounts of data and reacting to measures or commands from central or distributed authorities
Gartner predicts that there will be 26 billion IoT devices installed in 2020, that they will generate $300 billion in revenue for hardware manufactures, and that the overall impact on the economy will be around $1.9 trillion.
This proliferation of data thanks to the IoT can be daunting, but its strength is that it enables all new fields of applications, in particular around big data. Organizations are very eager to tap into this new market and its opportunities, but are a bit nervous about taking this first step. When entering a new field of activities, very often there is an associated learning curve and barrier to entry. Fortunately, with the Internet of Things, it’s not as complex or expensive as it seems. This hardware evolution, which has quietly crept up on us, can be managed by leveraging another technology evolution of equally enormous proportions: open source software.
Open source software has been around for several decades, now, and is defined by the four freedoms it brings to the user:
- The freedom to run the program as you wish, for any purpose (freedom 0).
- The freedom to study how the program works and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help your neighbour (freedom 2).
- The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
These four freedoms are the reason open source is also referred to as free software. By enabling and encouraging sharing of source code, they allow the user to be as creative as wanted and to craft applications that would otherwise be impossible to build from scratch. And, as more people develop and execute these creative new applications, they inspire even more new ideas and projects – with open source software all of these new ideas and ways to improve existing applications can be brought to fruition much faster than ever before. And “fast” is central to the IoT.
IoT is the world of DevOps and other agile software (and hardware) development methodologies. The faster a team can come up with an idea for a product, develop it, sell it at a low price but with a good margin, and iteratively enhance it, the better it is. And now, with hundreds and even thousands of developers and teams creating new IoT products, every group or project involved is exponentially increasing the number of new devices, new sources of data, and, as a consequence, the number of applications to run all of this.
The zero entry barrier provided by the use of open source, with several toolkits, libraries, and open source hardware like Arduino and Raspberry Pi, is the foundation for it turning up in small devices sprinkled all over the globe, from home security to energy management systems, from automobile telematics to health monitors. Because open source helps lower the cost of the device itself, companies can now experiment and stitch together solutions that would otherwise have been ignored because they would have required upfront purchasing of expensive licenses for development tools and environments, specific libraries and software components. Open source is a very effective way to ride the IoT wave at high speed while keeping the risks and costs to do so under control.
Open source can bring together data from thousands of sensors and devices distributed around the planet, and this enables creativity and innovation in new ways. This data makes the IoT incredibly exciting and promising for organizations and individual developers alike. It can be used to develop internal tools, components of existing bigger systems (like measuring sensors for larger machines) or standalone products (think home automation sensors or environmental sensors). Actually, a survey that was conducted by ARM shows that close to 75% of organizations already use IoT in one way or another, or are currently exploring ways to do so.
Bill Joy, co-founder of Sun Microsystems once noted that “innovation happens elsewhere”. That sentence either implies getting ideas from other places (acquisitions, hiring external talent, or conducting open-innovation workshops) or by sharing ideas with a community of people with similar interests. Open source is by far the best way to develop in such a shared mode, by hosting your code in a publicly accessible repository where not just one entity writes code, but anybody can connect to the repository, check out parts of the code, and contribute modifications, or additions to the code commons. That way, there is no limit to where the innovation comes from, or how fast it is driven by very motivated contributors.
Open source is also a fantastic tool to bridge the digital divide. It is very easy to start developing applications with IoT systems such as Arduino or Raspberry Pi, which are built fully on open source. It’s easy to simply purchase the hardware, or alternatively, just download the schematics and build it directly. These systems come with free, open source operating systems like Contiki, or Raspian, development kits such as the Eclipse IoT Project, middleware like IoTSys and all kinds of interfaces to connect to hardware sensors and equipment. Anybody can start prototyping IoT devices, and then turn them into full-fledged products. People have been using these platforms to create monitoring devices for their aquariums, gardens or spas or to build weather stations and control modules for all kinds of systems like garage doors, thermostats or coffee pots that suddenly become fully automated and autonomous, also providing active feedback on their environment.
Open source and the Internet of Things, when combined, can help bring innovation and knowledge into any kind of society in both the developed and the developing world. For example, innovators in the Amazon rainforest, even though they only had access to obsolete hardware, were able to implement an open source infrastructure and capitalize on the Internet of Things to develop an application that allowed them to use old cellphones powered by discarded solar panels to listen to sounds in very remote parts of the rainforest. Then, they were able, through sound processing and pattern recognition to decipher which noises were made by chain saws. This application, built using freely available open source libraries, allowed these innovators to alert officials to the illegal deforestation taking place and protect the rainforest.
Normally, proprietary databases, due to expensive licensing costs, tend to raise entry barrier to being able to collecting, store, and process data required by such projects. But when using open source, there are a variety of easy and accessible open source databases such as MongoDB, MySQL/MariaDB, PostgreSQL and Cassandra (to name just a few) that help manage data at a lower cost and help developers accelerate project timelines. Tools to manage the data have also surfaced, including Redis, which helps enhance the usability of open source databases. This wouldn’t be possible without open source software – because open source is accessible for all, developers with great ideas don’t need to go and re-invent every spoke of the wheel. With open source they can just tap into pre-existing open source libraries, and with some customization, modifying and improving the code they can tailor (then, interestingly, contribute it back to the community).
Startups are already creating the IoT future, building wearable devices that can sense the environment – air composition, microbial content, suspended particulate matter, and matching it with a vast array of public databases in real time to tell the wearer, “Leave now – the air has traces of the Ebola virus.” To do this, they leverage existing open source libraries and tools, in addition to their own intellectual property. They create new devices that live in the IoT and provide very high value add. Venture capitalists (True Ventures, Kleiner Perkins…), and corporate venture funds (Intel, Qualcomm, Cisco…) know this and are investing heavily in these markets. Open source holds tremendous promise for enterprises acquiring IoT infrastructure.
Since there are no real constraints in terms of numbers of devices, volumes of data, consolidated bandwidth, the only limit, with IoT, is your imagination. So what are you waiting for? Go get a kit, and start developing IoT applications.
About the Author
Gilles Gravier is Director in the Open Source Consulting Practice at Wipro. Based in Switzerland, he provides open source strategy consulting and advisory services to Wipro's key customers worldwide. Gilles has always been involved in both security and open source. In particular, roles such as Chief Technology Strategist for Security and Open Source at Sun Microsystems, he has advised the largest accounts globally on their IT security strategy and their open source activities. He moved on to develop global market and business development strategies for open source and security in the public sector still at Sun, and then Oracle. Gilles has been active as a technology evangelist, in particular for these companies, around cryptography, DRM, open source and open standards.