logo lenewt systèmes embarqués

Intégrez de l’open source dans votre produit IoT commercial

Débloquez l’énorme potentiel des bibliothèques open source pour votre projet IoT. Gagnez en efficacité et économisez sur les licences commerciales.

Souvent négligée en début de développement, la question des licences sous lesquels sont distribués les composants logiciels utilisés dans le développement de votre produit est essentielle.

Il y a beaucoup de librairies pouvant faire gagner du temps et de l’argent dans le développement qui sont distribuées sous des licences open source.
Si certaines le sont sous des licences très permissives telles que MIT ou Apache, d’autres le sont sous LGPLv3 ou GPLv3. Ces dernières sont réputées difficilement compatibles avec un produit embarqué et souvent considérées comme inutilisables dans le cadre d’un produit commercial non open source.

Pourtant, vous pouvez intégrer des composants LGPLv3 et même GPLv3 dans votre système embarqué Linux. Si certaines contraintes viennent avec l’utilisation de composants sous ces licences, le temps qu’ils font gagner peut valoir qu’ils soient considérés.

Je vais vous expliquer quelles sont ces obligations et comment y répondre.

Je suis Nathanaël Landais, architecte en développement de logiciels embarqués IoT. J’ai conçu et développé des systèmes embarqués s’appuyant sur des composants open source aujourd’hui distribués en centaines de milliers d’exemplaires à travers le monde. Leur point commun, une architecture robuste et des interfaces utilisateur modernes et fluides.

 


Les obligations de la LGPLv3

La licence LGPLv3 est assez libre et vous permet de distribuer votre système sans en ouvrir les sources à certaines conditions :

  • Dans le cadre d’un produit à destination des particuliers, le consommateur, doit avoir la possibilité de remplacer lui-même les composants LGPLv3 utilisés dans votre système. Concrètement, il doit pouvoir recompiler lui-même ces composants et les mettre sur votre système à la place de la version que vous avez fourni. Les informations sur comment procéder doivent être fournies par le vendeur.
  • Vous devez mettre à disposition de vos clients les sources de ces composants, même si vous les avez modifiés. Vous devez garantir la disponibilité de ces sources, le plus simple pour s’en assurer est de les héberger sur votre propre serveur, mais un serveur tier peut aussi être utilisé.
  • Les licences des composants LGPLv3 utilisés doivent être livrés avec l’application et ces composants doivent être nommés. Si votre application affiche des informations de copyright quelles quelles soient, le texte des licences et copyrights des composants externes doivent également être accessible.
  • Les composants open source doivent rester séparés de votre logiciel. Ce que ça signifie pour une bibliothèque est que celle-ci ne doit pas être intégrée directement à l’exécutable de votre application. Une solution pour répondre à cette exigence est de distribuer le composant open source sous forme de librairie partagée (fichier .so sur Linux)

GPLv3 une version plus stricte

Le cas est plus complexe avec la licence GPLv3, celle-ci partage les obligations listées pour la LGPLv3, mais y ajoute l’obligation de placer tout logiciel qui intègre un composant GPLv3 sous cette même licence.

Concrètement : vous développez votre produit commercial, vous intégrez un composant sous licence GPLv3, voilà que votre produit commercial est lui-même sous licence GPLv3, c’est-à-dire open source et libre d’utilisation et de redistribution.

Si c’est certainement limitant, vous n’êtes pas condamné à placer la totalité de votre logiciel sous cette licence. Une solution simple est de découper votre logiciel en plusieurs parties. Vous pouvez gérer les interactions avec les composants GPLv3 depuis un composant de votre logiciel dédié à cet usage. De cette manière vous pouvez garder la partie stratégique de votre code sous licence privée tout en bénéficiant des avantages d’éléments externes GPLv3.

Un premier pas vers l’open source

Vous souhaitez développer votre produit avec des composants open sources ? Ce qui est sûr, c’est que ça ne s’improvise pas, vous devez faire le nécessaire pour être en règle avec la licence que vous choisirez.

Ne vous lancez pas seul, contactez-moi directement nous analyserons ensemble la compatibilité de votre projet et les solutions adaptées. J’ai moi-même développé de nombreux systèmes embarqués à succès utilisant des bibliothèques open sources.