Offer Case Studies Expertises About us Contact Blog
FR EN

Integrate Open Source into Your Commercial IoT Product

blog image Integrate Open Source into Your Commercial IoT Product

Unlock the enormous potential of open source libraries for your IoT project. Gain efficiency and save on commercial licenses.

05/01/2022

Nathanaël Landais

Often overlooked early in development, the question of licenses under which software components used in your product development are distributed is essential.

There are many libraries that can save time and money in development that are distributed under open source licenses. While some are under very permissive licenses such as MIT or Apache, others are under LGPLv3 or GPLv3. The latter are considered difficult to integrate with an embedded product and often deemed unusable for a non-open-source commercial product.

Yet, you can integrate LGPLv3 and even GPLv3 components into your Linux embedded system. While certain constraints come with using components under these licenses, the time they save may make them worth considering.

I'll explain what these obligations are and how to meet them.

I'm Nathanaël Landais, an architect in IoT embedded software development. I've designed and developed embedded systems relying on open source components now distributed in hundreds of thousands of units around the world. Their common thread: modern and fluid user interfaces.

LGPLv3 Obligations

The LGPLv3 license is quite permissive and allows you to distribute your system without opening its sources under certain conditions:

GPLv3: A Stricter Version

The case is more complex with the GPLv3 license; it shares the obligations listed for LGPLv3, but adds the requirement to place any software that integrates a GPLv3 component under that same license.

Concretely: you develop your commercial product, you integrate a component under GPLv3 license, and now your commercial product is itself under GPLv3 license—meaning open source and free to use and redistribute.

While this is certainly limiting, you're not condemned to place all your software under this license. A simple solution is to split your software into several parts. You can manage interactions with GPLv3 components from a component of your software dedicated to this purpose. This way you can keep the strategic part of your code under a private license while still benefiting from the advantages of external GPLv3 elements.

A First Step Toward Open Source

Want to develop your product with open source components? What's certain is that it doesn't just happen—you must do what's necessary to comply with the license you choose.

Don't do it alone, contact me directly and we'll analyze together the compatibility of your project and appropriate solutions. I've personally developed many successful embedded systems using open source libraries.

Previous article

Best IoT Solutions for Your Embedded GUIs

Next article

Qt Quick vs Qt Widgets