Make sense of Open Source Device platforms, a comparison
When there’s more than one open source IoT device platform out there, how do you evaluate the one that best fits your needs? What are some common pitfalls to avoid? This article provides a brief overview of the top 5 contenders, with their strengths and weaknesses.
But first, what’s open source and why it’s relevant?
Open source means you are free to use, modify, combine or compile software code in any way you want, without any obligation, as long as you don’t redistribute it by means of hardware or web services. If you want to embed open source code in your OEM product or service, different options are available based on the type of open source license.
Open Source is relevant because you are not tied to the supplier of the code, thus preventing any unwanted vendor lock-in. Having full access to the source code, you have the flexibility to adjust to changing market conditions and extend, change or pivot when needed. Moreover, you have the ability to add or optimize functionality for your product.
If the code is free, how do open source IoT device platform developers make money? The way most companies make money with open source software is with add-ons and support services. This ranges from paid-for advanced features, organizing a hosted service (SaaS), to project management, or support and maintenance for commercial users.
Selecting the best open source IoT Device platform
To identify the right open source IoT Device platform for your needs, consider the following additional criteria, based on organizational needs, quality, and legal concerns:
- Must have functionalities: IoT Device platforms require a coherent set of functionalities which include the ability to integrate through multiple protocols, use automation, provide data visualizations, use edge gateways, multi-tenancy, as well as provide a front-end strategy and account management and identity services.
- Professional implementations: the extent the platform has been adopted by larger organizations is a good signal pointing to the quality of the Data platform solution.
- Community backing: is there an active community of users? Watchers and star-gazers are nice, but active contributors are what moves the needle. How recent are code commits to the projects and is their activity in your region?
- User friendliness: The flexibility to tailor the code to specific applications is paramount. Great user friendliness also entails comprehensive documentation and community support.
- Level of open source: Which parts of the device platform are open source? Watch out for “bait and switch” offerings where the company’s open source offering is in reality a stripped down version of their higher-functionality for-pay product. Closely review possible code-use restrictions, such as features which are only available with a for-pay license.
- Professional backing and licensing: Does the open source entity provide clear copyright and the ability to get a commercial license? Is the copyright owner well-structured and legally sound? This is relevant for professional entities who want to integrate the software as part of their commercial offering, and seek long-term professional support.
The top 5 of Open Source IoT Device Platforms in 2021
FIWARE is especially popular in Europe and South America. It is professionally backed by Atos, Engineering, NEC and Telefonica. On the non-profit side, it has the support of the Open Agile and Smart Cities communities. As a whole, it’s especially strong as a networked organization. However, potential users need to be aware that Fiware is not a single product, but a larger series of projects. This makes it hard to use in open source as it is extremely complex and CPU-intensive to deploy into a unified, complete product.
OpenBalena is not a complete IoT Device platform, merely a device firmware orchestration tool that allows you to manage large numbers of devices in the field. It’s a complimentary function to all of the other IoT Platforms. Its commercial version ‘BalenaCloud’ is used by many; while the open source version is somewhat limited, as it uses a simple command line editor and misses some relevant features and documentation, such as querying your installed base.
OpenRemote targets professional IoT Data applications in e.g. energy, city, and general device management applications for which it has several active implementations with multinational corporations, municipalities and governments. It is completely open source, so you don’t have to pay for enterprise functionality to get all the desired features. It has an active and growing community of contributors and users and is backed by US and European commercial service entities.
Thinger was developed as a complete and friendly solution for small project users, with a few platform integrations. However, with their move to a more extensive pricing plan where features such as MQTT support or dashboard branding are not available for ‘makers’ means, it is no longer completely open source.
Thingsboard has gained significant traction and is backed by investors. It managed to develop an extensive library of visualization widgets, and has recently introduced a horizontally scaling solution. Like Thinger it’s pushing towards moving advanced features from open source into a paying commercial model. This IoT Data platform is mostly popular with smaller companies.
When comparing OpenRemote with OpenBalena, Fiware, Thinger and ThingsBoard, we found that OpenRemote is the only 100% open source IoT Device platform solution to build your own complete coherent device platform. Other offerings are either overly complex or only cover a (small) part of required functionality as truly open source. However, they can be a viable option for companies that are willing to pay a monthly fee for the required functionality. When choosing an open source IoT device platform, it’s important to identify which criteria are the most important for you.
If you are a small enterprise with
- the ambition to grow,
- need transparency on future costs or freedom to take control of the full codebase,
- prefer a truly free system which you can set up yourself,
- are happy to pay a one time fee for professional support to get started,
- but don’t want to be tied down by fixed monthly costs;
OpenRemote might be the best option.
If you are a small or medium-sized enterprise and don’t mind signing up for the obligatory subscription model to get quickly started, and you are aware of the potential nickel and dime approach, should you need a larger scale offering, with more features
You may want to consider ThingsBoard.
If you are a medium-sized or large enterprise and care about future independence while building your own IoT team, need a commercially proven and fully open source device platform, that guarantees your future free access to the codebase, along with a seasoned support team, with experience working with large enterprises, OpenRemote is your best choice.
But don’t take our word for it. Try it for yourself.