Why software provisioning goes open source
In September, we proposed the hawkBit project – an Internet of Things software update service – to the Eclipse IoT community. By starting an open source project, we are contributing to the heart of one of our future IoT cloud services, i.e. Bosch IoT Suite’s software provisioning. With it, we take one more step in our commitment towards an open IoT platform. We are also following in the footsteps of our colleagues in Eclipse who are already committed, such as Vorto, Leshan, Wakaama, and Californium. More are sure to follow.
At a glance, hawkBit aims to create a domain-independent back-end solution for rolling out software updates to constrained edge devices as well as more powerful controllers and gateways connected to IP-based networking infrastructure. Devices can be connected to the hawkBit server either directly through an optimized interface or indirectly through federated device management servers.
Why open source?
Our reasoning for proposing the open source project to the Eclipse IoT working group is based on a common need in the industry for a solution that is open but focused on IoT and that can be easily customized for the protocols and 3rd party systems used in the various IoT projects. We believe this approach is currently unique in the industry and will benefit the Eclipse IoT community because other software update or device management systems are either not flexible enough or simply not open to the OSS community.
Of course Bosch Software Innovations will also profit from this open source approach. Let me explain some of the more important reasons from the perspective of the software provisioning team:
Opening up new collaboration channels
Being in the open source community means that our partners and customers gain deeper insight into our product. Feature requests and bug reports can be stated more precisely.
In the past, we have spent much time in workshops, meetings, and presentations explaining to technicians how products work. If the code had been open and presented with a high level of user experience, this is something technicians could have quickly figured out for themselves – without any barriers.
Being open source does more than just open up the code. It also allows us to use the tools of the open source community to improve collaboration and product transparency (e.g. GitHub, Travis CI, or Gitter).
Also, every business can take hawkBit and adapt it to its own needs. We deliver a first class cloud service – but it won’t always be a perfect fit: Not the right cloud location? Not the right cloud? Is it required on premises? Feature set is not sufficient? Price model not working? Well, users can take the code, create something new, be creative and make business! This will open up new opportunities for all of us.
After opening it up, the Internet will do what it does best: creating a huge knowledge base of questions and answers, forum posts, wikis, and more. If you need to know how to fix a problem that you have with our product – just ask your friendly search engine. Now, something that we do every day is also possible for our product.
Developing the IoT market
I’m a big believer in the Internet of Things myself. I think it will make our lives better. PCs improved once they were connected. So did mobile phones. I’d even say nearly everything is better with internet. So leveraging the driving force of the software industry of the past two decades (i.e. Open Source Software) for IoT seems to be a reasonable step to speed things up.
Opening up new distribution channels and improve lead generation
Getting the word out about our product is much easier if we can use all the channels that the open source community provides to us. People talk about us and what we do. This will help us sell the product and makes recruiting IT professionals much easier.
Raising our product development efficiency
Opening up to the community will drive us accelerate our product’s time to market. There is simply no other way but to adapt and change. Next to cloud, open source is the game changer I trust to have enough power to drive the Internet of Things.
We are proud Bosch engineers and “working in the dark” where customers see only the surface of our work (APIs and GUIs) can be depressing. Being open means that everyone will see what we have accomplished. Such valuable motivation should not be underestimated.
Last but not least, opening up our code will make development more efficient. The community will use the open source core and contribute to it through precise bug reports, real code contributions, ideas, and concepts.
What do you think about this approach? Feedback welcome – and, welcome to hawkBit ☺ Join now!