Thread : une technologie impossible à utiliser ou à enseigner ?
(overengineer.dev)- En améliorant un afficheur de grains de café sur batterie, la consommation électrique du WiFi s’est révélée être le principal goulot d’étranglement, et Thread est apparu comme une alternative basse consommation
- Thread superpose 6LoWPAN et IPv6 à un réseau maillé basé sur IEEE 802.15.4, permettant aux appareils de communiquer via des paquets IP et de se connecter au réseau domestique par un Border Router
- Des appareils existants comme l’Apple HomePod, le Nest Hub, un dongle Home Assistant ou l’Eve Energy peuvent déjà servir de Thread Border Router ou d’extension du maillage, ce qui rendait la technologie attrayante même pour des projets amateurs
- Mais la licence du Thread Group limite la consultation des spécifications à un usage interne, et les droits d’implémentation et de commercialisation sont réservés aux membres ; l’adhésion Implementer coûte 7 500 dollars par an
- Même si OpenThread est une implémentation open source sous licence BSD 3-Clause, sans adhésion au Thread Group il est possible de ne pas obtenir les droits de propriété intellectuelle nécessaires et de s’exposer à des poursuites
Ce qui a révélé la consommation du WiFi
- L’appareil de stockage et d’affichage du stock de grains de café créé en 2022 fonctionnait en moyenne 40 jours par charge, puis jusqu’à 55 jours après quelques ajustements logiciels
- Pour viser une autonomie plus longue, l’auteur a étudié les circuits électroniques basse consommation et profilé l’ensemble du système avec le Power Profiler Kit 2 de Nordic Semiconductors
- Après avoir réécrit une partie du firmware de l’afficheur et contourné un composant problématique du DevKit, il est apparu que l’un des principaux postes de consommation était le WiFi
- Le WiFi permet certes de réutiliser facilement l’infrastructure existante et les services LAN, mais son temps d’établissement de connexion peut être long et il peut exiger une forte puissance d’émission selon la position du point d’accès, ce qui le rendait inefficace pour cet usage
Pourquoi Thread paraissait séduisant
- Des alternatives comme LoRa ou Zigbee peuvent aussi être sobres en énergie, mais il aurait alors fallu fabriquer séparément l’équipement en face — récepteur, émetteur ou hub — avec lequel l’afficheur échangerait ses données
- Thread utilise la même couche physique que Zigbee, à savoir IEEE 802.15.4, et fonctionne comme un réseau maillé
- Basé sur 6LoWPAN, il attribue une ou plusieurs adresses IPv6 à chaque appareil, et l’adressage interne ainsi que la communication entre appareils passent eux aussi par des paquets IP
- Un réseau Thread se connecte à un réseau domestique classique via un pont appelé Border Router, ce qui permet aux appareils et aux applications de communiquer entre eux en IPv6
Infrastructure domestique existante et expérimentations
- Si l’on possède un Apple HomePod ou un Nest Hub, on dispose déjà d’un Thread Border Router ; les utilisateurs de Home Assistant peuvent aussi transformer un nœud Home Assistant en Border Router avec un dongle d’environ 40 euros
- Des prises connectées alimentées en permanence comme l’Eve Energy peuvent étendre la portée du réseau maillé Thread
- Les essais ont utilisé le nRF52840-DK, le nRF5340-DK et le nRF52840-Dongle pour le débogage
- En peu de temps, l’auteur a réussi à connecter son propre Border Router à un réseau Thread basé sur Apple, à sniffer le réseau Thread avec Wireshark et à intégrer au réseau deux appareils Thread maison basés sur des DevKit, avec le comportement attendu
- L’objectif initial était d’écrire une série d’articles pour aider les développeurs amateurs à migrer leurs projets du WiFi ou du Bluetooth vers Thread et à les améliorer
Ce que bloque la licence du Thread Group
- Thread repose sur des standards libres et ouverts comme IEEE 802.15.4, IPv6 ou CoAP, mais Thread lui-même n’est ni une technologie libre ni une technologie ouverte
- La Thread Specification peut être demandée gratuitement, mais le PDF est protégé par mot de passe, soumis à des DRM et fortement filigrané
- La licence n’accorde que le droit de consulter, stocker, copier et utiliser les spécifications à des fins purement internes, sans inclure le droit de les implémenter
- Pour implémenter, exécuter et commercialiser la technologie Thread et les spécifications du Thread Group, une adhésion au Thread Group est requise ; lancer un produit Thread sans adhésion active peut entraîner des poursuites, y compris des frais de licence
- L’adhésion Implementer, la moins chère permettant d’implémenter la propriété intellectuelle du Thread Group, coûte 7 500 dollars par an
- Une “innovative IoT start-up company” peut candidater à une adhésion gratuite de deux ans, mais il faut ensuite payer, et ce programme ne concerne pas les développeurs amateurs
OpenThread n’est pas non plus une porte de sortie
- OpenThread est une implémentation open source de Thread, et son dépôt utilise la licence BSD 3-Clause
- Le fichier NOTICE du dépôt indique que les membres du Thread Group peuvent détenir des brevets et d’autres droits de propriété intellectuelle
- Commercialiser un produit basé sur OpenThread sans adhérer au Thread Group peut donc signifier ne pas obtenir les droits de propriété intellectuelle nécessaires à l’exécution et à la commercialisation de la technologie Thread, avec un risque d’action en justice
- Comme il n’existe aucune exception pour un usage non commercial, l’auteur en conclut qu’un amateur incapable d’assumer un tel coût n’a aucun moyen légal d’utiliser Thread, ni même d’écrire facilement une série d’articles expliquant son fonctionnement
Le problème pour les amateurs et l’enseignement
- Dans le cas de produits commerciaux, exiger une adhésion ou une certification pour utiliser un logo comme “Works with Thread” peut encore se comprendre comme une étape de validation dans la vente de produits électroniques
- Le problème central est une structure de licence qui interdit largement l’implémentation elle-même, y compris pour des projets non commerciaux
- Si les amateurs ont du mal à expérimenter Thread, les futurs ingénieurs électriciens et décideurs auront eux aussi moins d’occasions de tester cette technologie avant d’entrer dans l’industrie
- La liste des membres du Thread Group inclut des entreprises comme Apple, Google, Amazon, Nordic, NXP et Qualcomm, qui peuvent favoriser son adoption en intégrant Thread dans des hubs domestiques populaires
- Le 2024-04-19, l’auteur a demandé par e-mail au support du Thread Group une clarification sur l’usage non commercial de Thread ; il a reçu un accusé de réception indiquant une transmission immédiate, mais aucune réponse complémentaire
- Le 2024-05-01, il a aussi demandé un commentaire au contact presse du Thread Group ; au moment de la publication, aucune réponse n’était parvenue, et le texte intégral du message envoyé est publié dans un document séparé
1 commentaires
Commentaires sur Hacker News
L’une des raisons pour lesquelles notre ville a choisi LoRaWAN, c’est que c’était juridiquement moins compliqué.
En revanche, c’est bien plus complexe à gérer en pratique, et à cause du droit danois des télécommunications, ce genre de technologie se retrouve avec une restriction absurde qui accorde de fait aux opérateurs une sorte de monopole sur l’« Internet » à haut débit.
Il semble que cette restriction s’appliquerait aussi à Thread.
Du point de vue d’une ville, l’avantage est qu’elle dispose de nombreux emplacements où installer des antennes. Des endroits comme les écoles publiques ou les bibliothèques sont de très bons sites auxquels les particuliers ont difficilement accès.
L’essentiel, c’est d’amener la ville à ouvrir au public l’infrastructure correspondant à LoRaWAN. C’est particulièrement important si l’on veut déployer quelque chose à l’échelle de toute la ville, et heureusement la mienne le permet.
Si le projet est aussi utile à la ville et qu’il est ouvert, il arrive souvent qu’on vous laisse aussi utiliser l’électricité gratuitement et qu’on s’intéresse à un soutien financier.
Malgré tout, dans l’ensemble, je pense qu’il vaut mieux ne pas utiliser Thread.
Est-ce vraiment vrai qu’« un développeur amateur qui n’a pas assez d’argent à jeter pour adhérer au Thread Group n’a aucun moyen légal d’utiliser Thread » ?
Le texte de la licence semble parler de brevets, et je pensais que, sans activité commerciale, les brevets ne s’appliquaient pas aux expérimentations personnelles.
Plus largement, cela met en lumière ici l’absurdité du monopole accordé par le système actuel des brevets. Les grandes entreprises qui disposent d’un portefeuille de brevets pour des contre-attaques judiciaires peuvent utiliser OpenThread librement, mais pas les PME ni les startups.
Bien sûr, c’est quand même mauvais, et l’effet dissuasif est important.
Il n’existe pas d’exception d’usage privé en matière de brevets.
https://law.stackexchange.com/questions/24148/can-i-build-so...
La question de la FAQ est : « Qu’est-ce qui empêche de lancer un produit basé sur OpenThread sans adhérer au Thread Group ? »
Je me demande si ce billet de plainte aurait existé si la page d’accueil du site de Thread affichait d’emblée « 7 500 dollars par an ».
Le problème n’est pas tant que quelqu’un veuille faire payer l’usage de son produit, mais qu’il vous oblige à faire des efforts pour découvrir ce fait.
À mon avis, l’État devrait imposer la transparence des prix pour tout. On peut rêver.
https://en.wikipedia.org/wiki/Thread_(network_protocol)
Thread est une technologie de mise en réseau maillée basse consommation basée sur IPv6 pour les produits de l’Internet des objets. La spécification du protocole Thread est fournie gratuitement, mais il faut accepter puis continuer à respecter un contrat de licence utilisateur final, lequel précise qu’« une adhésion au Thread Group est requise pour implémenter, exécuter et lancer la technologie Thread et les spécifications du Thread Group »
Par exemple, si on compare à ce que les développeurs peuvent construire sur les API iOS d’Apple, la licence annuelle Thread à 7 500 dollars représente 75 fois la licence développeur Apple à 100 dollars.
Donc l’un des deux est cher, ou l’un des deux est bon marché.
Je ne comprends pas pourquoi tout le monde part du principe qu’ils cherchent à exploiter les petits développeurs. C’est peut-être simplement une petite organisation avec peu de personnel qui n’a pas encore eu le temps de traiter les licences hobby, ou qui ignore encore que des gens en veulent.
Cela dit, c’est bien que l’auteur les ait réellement contactés. Je me demande seulement ce que signifie « demander une explication claire ». C’est le genre d’email qu’on redoute de recevoir : vague, ouvert, et donnant l’impression qu’il faudrait appeler un avocat.
A-t-il simplement demandé s’ils pouvaient renoncer aux frais ?
Oui. Il suffit d’utiliser Zigbee.
La version 3.x est ouverte, bien documentée, et les dongles passerelles pour Home Assistant sont bon marché.
La spécification Matter donne une impression similaire.
Le diable est dans les détails, et à cause d’un marketing habile, les gens ne comprennent pas vraiment ce qu’ils sont en train de louer.
Le vrai problème, ce sont les gens qui investissent de l’argent là-dedans.
Dès que j’ai vu ce point, j’ai abandonné l’idée même d’examiner la question en tant qu’amateur.
Si on utilise simplement OpenThread directement, sans jamais avoir accepté la licence de la spécification Thread, cette condition de licence s’applique-t-elle ?
Si je n’ai rien accepté d’autre que la licence BSD, je ne vois pas comment on pourrait me poursuivre.
Elle n’a aucun effet sur d’autres structures juridiques, comme les brevets ou les droits d’auteur hors du dépôt.
Je n’avais jamais entendu parler de Thread il y a encore un instant, et j’aurais préféré rester dans l’ignorance.
Je n’avais pas besoin d’une raison de plus d’être en colère contre le monde, surtout qu’aujourd’hui était une bonne journée.
Mais plus sérieusement, je suis d’accord avec l’idée qu’il faut l’éviter autant que possible et espérer que ça disparaisse.
Je n’aurais pas envie de recommander à qui que ce soit de l’accepter ou de l’adopter pour de vrai.
Dire qu’« un développeur hobbyiste qui n’a pas beaucoup d’argent à jeter pour adhérer au Thread Group n’a aucun moyen légal d’utiliser Thread » est impossible à savoir tant que personne n’a vérifié s’il existe une portée de brevets pertinente
Comme Compaq, il faudrait le répliquer via une approche de clean room, puis avoir quelqu’un prêt à en assumer les conséquences s’il existe réellement des brevets valides
Il faut soit revoir la conception pour ne pas faire ce qu’ils revendiquent, soit convaincre l’office des brevets que certaines revendications ou l’ensemble ont été accordées à tort, soit accumuler un portefeuille de brevets pour contre-attaquer, soit simplement partir en mode YOLO : https://paulgraham.com/softwarepatents.html
Si Thread devient le standard de fait pour les communications domestiques, faudra-t-il attendre qu’un régulateur intervienne pour forcer son ouverture ?
Je ne parierais pas sur l’organisme concerné, mais je pense que tout le monde voit de quel côté il s’agit
À moins qu’il y ait aux États-Unis beaucoup plus de juges et de fonctionnaires qui comprennent mieux la technologie et soient plus ouverts, il est peu probable que cela s’améliore
Surtout quand on regarde les candidats à la présidentielle
Par exemple, la 5G est fortement protégée par des brevets, et MPEG aussi
En général, les brevets « essentiels » à un standard sont concédés sous des conditions FRAND, c’est-à-dire justes, raisonnables et non discriminatoires
Il faut malgré tout payer des frais de licence, parfois à chacune des entreprises détentrices de brevets, parfois à un consortium représentant l’ensemble du pool de brevets du standard
Je ne suis pas habitué à ce niveau de licence, mais comment la licence de Thread se compare-t-elle à Bluetooth, pour lequel il faut payer pour l’intégrer dans un produit ? https://www.bluetooth.com/develop-with-bluetooth/join/member...
Justement, je bricolais aussi avec Thread cette semaine. J’ai été surpris de voir à quel point il était facile de flasher un projet d’exemple sur un ESP32 puis d’envoyer un ping depuis un portable
Ces appareils n’affichent parfois pas le nom complet Bluetooth et se contentent de revendiquer une compatibilité « BT version x »
Donc si Thread devient un peu populaire auprès des utilisateurs, je pense qu’on verra bientôt apparaître chez les vendeurs habituels des copies bon marché qui l’implémentent sous un nom voisin, mais sans licence