According to Gartner, 21 billion devices will be connected by 2020 and these connected devices will include a significant portion of open source.
Curated by Vinay Prabhakar Minj
Open source software (OSS) is computer software whose source code is released under a license in which the copyright holder grants users the right to study, modify and redistribute it to anyone and for any purpose.
This software is left open in the public domain so that the user can add value to it and improve it. There is no “re-development” but only “improved development”.
The source code is shared within a community ( it can be GitLab or GitHub) and it is available for all the public who can access the website. This is one of the biggest principles of open source. It is a decentralised development, which means that the users can contribute from anywhere – India or abroad. These users make such contribution out of their will or hobby, with the aim to improve the source code with time.
How companies can introduce OSS into their system
Companies must follow three basic parameters to incorporate open source components into their system. They are:
- Frame guidelines
- Comply with license obligations
- Do regular security vulnerability checks
The golden circle
The above steps can be understood through The Golden Circle principle propounded by Simon Sinek. It says that every incorporation or every development that is going to happen in a product or in a company should be driven by the “why?” factor. The motive should not be “what?”.
Open source can reduce costs and development cycle, and thus it fulfils the why factor.
Once the “why?” part is clear, then we can figure out the “how?” part and then move to the “what?” part.
Open source licensing
Open source can be divided into three aspects:
- Public domain (no restrictions): The code is made available to everyone without a license (Unlicense, WTFPI, CC0). However, it is quite risky and advisable to avoid this software. In most regions, open-source software with no license is not accepted as a license defines the rights and obligations with respect to the code.
- Permissive license (few restrictions): This is the most favourable one. There are few restrictions and it ensures attribution to the author. Example: MIT, Apache, BSD.
- Restrictive license (multiple restrictions): Among other restrictions, it may require you to share your source code if you are dynamically or statically linking open source component with your proprietary code. Companies usually don’t prefer to share their proprietary codes as it is their proprietary IP and have invested a lot of manpower and resources to develop it (which they don’t want to share in the public domain). This is the reason why most of the companies stay away from this restrictive license and go for permissive license.
Absence of open source policy makes companies stay away from open source components
Open source in IoT
According to Gartner, 21 billion devices will be connected by 2020. These connected devices will include a significant portion of open source. Worldwide IoT is expected to surpass US$ 1 trillion mark in 2020 (as per IDC report).
Sectors according to usage
- Consumer (21%)
- Insurance (20.1%)
- Healthcare (17.7%)
- Cross-industry (17.1%)
- Others (24.1%)
Four pillars of IoT
- Reliability & scalability
- Data management
Data management is the loud pillar which has been mostly talked about.
Majority of databases and operating system used in IoT are open source. According to RedHat, 42% of IoT leaders use proprietary tools to develop IoT products. So far only 37% of IoT deployment has reached a majority. Which means there’s still 63% IoT development which is left and this can be made faster by incorporating open source into it.
In 90% of cases, open source has proven to be more secure than in-house developed codes.
Inhibitors of open source usage
- Most companies lack compliance procedures. They fear losing their own IP.
- Company systems need to be modified to incorporate open-source but they are not ready to do that. Hence, they develop their open-source codes and incorporate them later into their systems.
- Absence of open source policy. This makes companies stay away as much as possible from open source components.
Why open source is required in IoT?
- Reduces development cycle – Development cycle is a very key factor in a product launch. A customer expects a product developer to provide an advanced product in a short span of time. To reduce that time, the best way is to take an open-source component and incorporate it into your own product to get the desired functionality (instead of developing it from scratch).
- Reduces cost – Incorporating pre-developed open source components from open source domain like GitHub can help companies limit the project budget.
- Provide security – In 90% of cases, open source has proven to be more secure than in-house developed codes.
- Decentralized developed code – It allows anyone around the world to contribute. Linux has roughly 20,000 contributors. They have been consistently adding to Linux components to make it better. Linux is far better than all the proprietary operating systems.
Crafting an open source product strategy
- Every company, startup or individual developer should treat open source software as a project, rather as a product. Linux, Apache and any other popular open source software basically are projects.
- Open source is more about community engineering collaboration. So, when you put down your open source code, then everybody else will contribute to it in order to make it better (and also as an act of gratitude).
- One should never try to take full control of open source. Instead, one should leverage it and act more as a moderator than a dictator). An example is Satya Nadella’s acquisition of GitHub which he did so with an intention to bring improvements into it while leaving it open to the community as well.
How to monetise open source project
- Put your product into the public domain and ask for contributions from the users.
- Make use of web ads (Google AdSense). However, the revenue generated from this method will be very low.
- Support & maintenance. If your repository is free from all bugs, then you can provide that product to the enterprises and provide support & maintenance to them in exchange for a specific fee.
- Dual licensing. It includes putting your product under restrictive licensing General Public License (GPL), Affero General Public License (AGPL) or Lesser General Public License (LGPL). So your code will be available to everyone for downloading under these restrictive licenses. And if anybody wants to use without a restrictive a license, then they need to go for a dual license which is a proprietary license that is procured from a developer.
About the author
This article is an extract from a speech presented by Sachin Bhakar, Regional Counsel, Hewlett Packard Enterprise (HPE), at IOTSHOW.IN 2019. Prior to joining HPE, he worked as IP & Open Source Compliance Analyst with Honeywell from 2016 to 2018.