2 pontos por GN⁺ 2024-05-12 | 1 comentários | Compartilhar no WhatsApp
  • Ao melhorar um dispositivo indicador de grãos de café alimentado por bateria, o consumo de energia do WiFi apareceu como gargalo, e o Thread surgiu como alternativa de baixo consumo
  • O Thread combina 6LoWPAN e IPv6 sobre uma rede mesh baseada em IEEE 802.15.4, permitindo que os dispositivos se comuniquem por pacotes IP e se conectem à rede doméstica por meio de um Border Router
  • Dispositivos já existentes como Apple HomePod, Nest Hub, dongles do Home Assistant e Eve Energy podem atuar como Thread Border Router ou extensores da malha, o que o tornava atraente também para projetos de hobby
  • Porém, a licença do Thread Group limita a leitura da especificação ao uso interno, e os direitos de implementação e lançamento são concedidos apenas a membros; a associação Implementer custa US$ 7.500 por ano
  • Mesmo com o OpenThread sendo uma implementação open source sob BSD 3-Clause, quem não é membro do Thread Group pode não receber os direitos de PI necessários e ainda ficar sujeito a medidas legais

O que revelou o consumo de energia do WiFi

  • Um dispositivo de armazenamento e indicação de estoque de grãos de café criado em 2022 funcionava em média 40 dias por carga, e após ajustes de software chegou a 55 dias
  • Com o objetivo de obter mais autonomia de bateria, houve estudo de circuitos eletrônicos de baixo consumo e perfilamento do sistema completo com o Power Profiler Kit 2, da Nordic Semiconductors
  • Após reescrever parte do firmware do display e contornar um componente problemático do DevKit, confirmou-se que um dos grandes fatores de consumo era o WiFi
  • O WiFi é conveniente por aproveitar a infraestrutura existente e os serviços da LAN, mas pode levar mais tempo para estabelecer conexão e exigir alta potência de transmissão dependendo da posição do ponto de acesso, o que o tornava ineficiente para esse caso de uso

Por que o Thread parecia atraente

  • Alternativas como LoRa e Zigbee também podem ser eficientes em energia, mas exigiriam construir separadamente o outro lado da comunicação, como receptor, transmissor e hub, para que o display pudesse trocar dados
  • O Thread usa IEEE 802.15.4, a mesma camada física do Zigbee, e opera como rede mesh
  • Por ser baseado em 6LoWPAN, cada dispositivo recebe um ou mais endereços IPv6, e tanto o endereçamento interno quanto a comunicação entre dispositivos são feitos com pacotes IP
  • A rede Thread se conecta à rede doméstica comum por uma ponte chamada Border Router, permitindo que dispositivos e aplicações se comuniquem entre si via IPv6

Infraestrutura doméstica já existente e experimentos de desenvolvimento

  • Quem tem um Apple HomePod ou Nest Hub já possui, na prática, um Thread Border Router; usuários do Home Assistant podem transformar um nó do Home Assistant em Border Router com um dongle de cerca de 40 euros
  • Smart plugs como o Eve Energy, ligados permanentemente à energia, ampliam o alcance da rede mesh Thread
  • Nos experimentos foram usados nRF52840-DK, nRF5340-DK e o nRF52840-Dongle para depuração
  • Em pouco tempo, foi possível conectar um Border Router próprio a uma rede Thread baseada em Apple, farejar a rede Thread com o Wireshark e colocar dois dispositivos Thread próprios baseados em DevKit na rede, confirmando o comportamento esperado
  • O objetivo original era escrever uma série de posts de blog para que desenvolvedores hobby pudessem migrar seus projetos de WiFi ou Bluetooth para Thread e melhorá-los

O que a licença do Thread Group bloqueia

  • O Thread se baseia em padrões livres e abertos como IEEE 802.15.4, IPv6 e CoAP, mas o próprio Thread não é uma tecnologia livre nem aberta
  • A Thread Specification pode ser solicitada gratuitamente, mas o PDF é protegido por senha, tem DRM e recebe uma marca-d'água bem agressiva
  • A licença concede apenas o direito de visualizar, armazenar, copiar e usar a especificação para fins internos próprios, sem incluir o direito de implementá-la
  • Para implementar, executar e lançar a tecnologia Thread e as especificações do Thread Group, é preciso ter associação ao Thread Group; lançar tecnologia Thread sem associação ativa pode resultar em medidas legais, incluindo cobrança de licença
  • A associação Implementer mais barata que permite implementar a PI do Thread Group custa US$ 7.500 por ano
  • Uma “innovative IoT start-up company” pode se candidatar a uma associação gratuita por 2 anos, mas depois disso precisa pagar, e esse programa não se aplica a desenvolvedores hobby

Nem o OpenThread vira rota de fuga

  • O OpenThread é a implementação open source do Thread, e seu repositório usa a licença BSD 3-Clause
  • O NOTICE do repositório informa que membros do Thread Group podem deter patentes e outros direitos de propriedade intelectual
  • Se alguém lançar um produto baseado em OpenThread sem entrar no Thread Group, pode não receber os direitos de PI necessários para executar e lançar a tecnologia Thread e ainda ficar sujeito a medidas legais
  • Como não há exceção para uso não comercial, concluiu-se que desenvolvedores hobby sem condições de arcar com o alto custo não têm uma forma legal de usar Thread, e que também fica difícil escrever uma série de posts explicando como o Thread funciona

Problema para hobbyistas e para a educação

  • Em produtos comerciais, exigir associação ou certificações para uso de logos como “Works with Thread” é algo que pode ser entendido como parte normal do processo de certificação na venda de eletrônicos
  • O problema central é a estrutura de licença que proíbe amplamente a própria implementação, inclusive em projetos não comerciais
  • Se desenvolvedores hobby têm dificuldade para entrar em contato com o Thread, a próxima geração de engenheiros eletricistas e tomadores de decisão também perde oportunidades de experimentar a tecnologia antes de entrar na indústria
  • A lista de membros do Thread Group inclui empresas como Apple, Google, Amazon, Nordic, NXP e Qualcomm, e essas empresas podem impulsionar a adoção ao embarcar Thread em hubs domésticos populares
  • Em 2024-04-19, foi solicitado por e-mail ao suporte do Thread Group um esclarecimento sobre uso não comercial de Thread; houve resposta automática dizendo que a mensagem seria encaminhada imediatamente, mas não houve retorno adicional
  • Em 2024-05-01, também foi pedido um comentário ao contato de imprensa do Thread Group; até a data de publicação não houve resposta, e a íntegra da mensagem enviada foi publicada em texto separado

1 comentários

 
GN⁺ 2024-05-12
Opiniões no Hacker News
  • Um dos motivos pelos quais nossa cidade escolheu LoRaWAN foi que ele era juridicamente menos complicado.
    Só que, na prática, é muito mais complexo de lidar, e, por causa da legislação de telecomunicações da Dinamarca, esse tipo de tecnologia fica sujeito a uma restrição absurda que, na prática, dá às operadoras um monopólio sobre “internet” de alta velocidade.
    Acho que essa restrição também se aplicaria ao Thread.
    Para uma cidade, a vantagem é que há muitos lugares para instalar antenas. Locais como escolas públicas ou bibliotecas ficam em boas posições, de difícil acesso para cidadãos individuais.
    O ponto central é fazer a cidade abrir ao público a infraestrutura correspondente ao LoRaWAN. Isso vale especialmente se você quiser distribuir algo pela cidade inteira e, felizmente, minha cidade fez isso.
    Se o projeto também ajuda a cidade e é aberto, muitas vezes eles deixam usar a energia de graça e demonstram interesse em dar apoio financeiro.
    Mesmo assim, no geral, acho que é melhor não usar Thread.

  • Será que é mesmo verdade que “se você é um desenvolvedor hobbyista sem uma grande grana sobrando para entrar no Thread Group, não há como usar Thread legalmente”?
    O texto da licença parece se referir a patentes, e eu achava que, na ausência de atividade comercial, patentes não se aplicavam a experimentos pessoais.
    De forma mais ampla, isso expõe o absurdo do monopólio concedido pelo sistema atual de patentes. Grandes empresas com portfólios de patentes para usar em contraprocessos podem usar OpenThread livremente, mas pequenas e médias empresas e startups não.
    Claro que, ainda assim, é ruim, e o efeito inibidor é grande.

    • Se for algo feito no porão e sem impacto comercial ou cultural mais amplo, a chance de ser processado é baixa, mas não é impossível.
      Não existe exceção para uso privado em patentes.
      https://law.stackexchange.com/questions/24148/can-i-build-so...
    • A citação acima também inclui a questão de lançar um produto, então não entendo por que usá-la como exemplo de “não poder brincar com isso ou escrever um post no blog”.
      A pergunta do FAQ é: “O que impede alguém de lançar um produto baseado em OpenThread sem entrar no Thread Group?”
  • Fico me perguntando se esse post de reclamação existiria se a página inicial do site do Thread dissesse “taxa de uso: US$ 7.500 por ano”.
    O problema não é tanto alguém querer cobrar pelo uso do seu produto, mas sim fazer você se esforçar para descobrir esse fato.
    Acho que o governo deveria exigir transparência de preços para tudo. Um sonho, eu sei.

    • Pelo menos existe a Wikipedia.
      https://en.wikipedia.org/wiki/Thread_(network_protocol)
      Thread é uma tecnologia de rede mesh de baixo consumo, baseada em IPv6, para produtos de Internet das Coisas. A especificação do protocolo Thread é disponibilizada gratuitamente, mas é preciso concordar com um contrato de licença de usuário final e continuar cumprindo-o; esse contrato diz que “é necessária a associação ao Thread Group para implementar, executar e lançar a tecnologia Thread e as especificações do Thread Group”.
    • Considerando os custos de P&D investidos pelas empresas membros do Thread Group ao longo de anos desenvolvendo propriedade intelectual, e o valor comercial que desenvolvedores obtêm em cima disso, a comparação fica interessante.
      Por exemplo, em comparação com o que desenvolvedores podem construir sobre as APIs do iOS da Apple, a licença anual do Thread, de US$ 7.500, é 75 vezes maior que a licença de desenvolvedor da Apple, de US$ 100.
      Uma das duas é cara, ou uma é barata.
    • Deixando a transparência de preços de lado, você sabe se é realmente tão difícil pedir isenção da anuidade ou uma licença gratuita para hobbyistas?
      Não sei por que todo mundo presume que eles estão tentando explorar pequenos desenvolvedores. Pode ser apenas uma organização pequena, com pouca gente, que ainda não chegou a tratar de licenças para hobbyistas, ou talvez nem saiba que as pessoas querem isso.
      Ainda assim, é bom que o autor tenha de fato entrado em contato. Mas fico curioso sobre o que significa “pediu uma explicação clara”. Esse é o tipo de e-mail que dá medo de receber. Vago, aberto, com cara de que será preciso ligar para um advogado.
      Será que ele simplesmente perguntou se poderiam isentar a taxa?
    • Dá só US$ 20 por mês. Só não pergunte por quanto tempo é preciso pagar.
  • Sim. Basta usar Zigbee.
    A versão 3.x é aberta, tem especificação bem documentada, e dongles bridge para Home Assistant são baratos.

  • A especificação do Matter passa uma sensação parecida.
    O diabo mora nos detalhes, e, por causa de um marketing esperto, as pessoas não entendem direito o que estão elogiando.
    O verdadeiro problema são as pessoas que investem dinheiro nisso.

    • Indo além, eles não exigiam um certificado de atestação de dispositivo assinado por um provedor de PKI licenciado?
      Assim que vi essa parte, como desenvolvedor hobbyista, desisti até de considerar.
  • Se eu usar diretamente apenas OpenThread, sem nunca ter concordado com a licença da especificação Thread, esses termos de licença se aplicam?
    Se eu não concordei com nada além da licença BSD, não vejo como poderiam me processar.

    • A licença BSD apenas concede permissões opcionais sobre os direitos autorais do código do OpenThread.
      Ela não afeta outras estruturas legais, como patentes ou direitos autorais fora do repositório.
    • É parecido com casos em que o código tem uma licença aberta, mas ainda é preciso aderir a um determinado pool de patentes.
    • Provavelmente eles têm patentes, e patentes também restringem o uso por pessoas que não concordaram com a licença.
  • Até agora há pouco eu nunca tinha ouvido falar de Thread, e gostaria de continuar sem saber.
    Eu não precisava de mais motivos para ficar bravo com o mundo; e, pior, hoje estava sendo um dia bom.
    Mas, falando sério, concordo com a ideia de evitar isso sempre que possível e torcer para que desapareça.
    Eu não recomendaria a ninguém aceitar ou adotar isso de verdade.

  • “Se você é um desenvolvedor hobbyista sem uma grande quantia de dinheiro sobrando para entrar no Thread Group, não há como usar Thread legalmente” é algo que não dá para saber até alguém verificar se existe um escopo de patentes relacionado
    Seria preciso alguém disposto a fazer uma reprodução em clean room, como a Compaq, e depois absorver o impacto caso haja patentes realmente válidas

    • Um procedimento de clean room serve como prova de que você reimplementou sem copiar, mas não é suficiente para evitar violação de patente
      É preciso redesenhar para não fazer o que eles reivindicaram, convencer o escritório de patentes de que concedeu incorretamente algumas ou todas as reivindicações, acumular um acervo de patentes para contra-atacar, ou simplesmente ir no YOLO: https://paulgraham.com/softwarepatents.html
  • Se Thread se tornar o padrão de fato para comunicação doméstica, devemos esperar que algum órgão regulador venha e o abra à força?
    Eu não apostaria em qual órgão seria, mas acho que todos sabemos de que lado ele ficaria

    • Até o Google perdeu para a Oracle, então vivemos em um mundo em que até uma simples especificação de API pode ser fechada arbitrariamente
      Não parece que isso vá melhorar, a menos que os EUA passem a ter muito mais juízes e funcionários públicos que entendam melhor de tecnologia e sejam mais favoráveis à abertura
      Ainda mais olhando para os candidatos presidenciais
    • O governo não vê muito problema em permitir que especificações de padrões de fato continuem fechadas
      Por exemplo, o 5G é fortemente protegido por patentes, e o MPEG também
      Normalmente, patentes “essenciais” para um padrão são licenciadas em termos justos, razoáveis e não discriminatórios, ou seja, termos FRAND
      Mesmo assim, ainda é preciso pagar taxas de licenciamento e, às vezes, pagar a cada empresa individual que detém patentes; outras vezes, a um consórcio que representa todo o pool de patentes do padrão
  • Não estou acostumado com licenças nesse nível; como a licença do Thread se compara ao Bluetooth, que exige pagamento para ser integrado a um produto? https://www.bluetooth.com/develop-with-bluetooth/join/member...
    Por coincidência, eu também estava mexendo com Thread esta semana. Fiquei surpreso com o quão fácil foi flashear um projeto de exemplo em um ESP32 e enviar um ping a partir do notebook

    • Não sou familiarizado com o juridiquês, mas, no caso do Bluetooth, muitos dispositivos, principalmente importados do Extremo Oriente, o implementaram “ilegalmente”
      Esses dispositivos às vezes não exibem o nome completo Bluetooth e afirmam ser compatíveis com “BT version x”
      Então, se Thread ganhar certa popularidade entre os usuários, imagino que em breve aparecerão, nos canais de venda habituais, clones baratos que o implementam com um nome parecido, mas sem licença