1 pontos por GN⁺ 2023-07-09 | 1 comentários | Compartilhar no WhatsApp
  • O Homebrew coleta análises anônimas com InfluxDB e só ativa a análise depois de exibir um aviso na primeira execução de brew update ou durante a instalação
  • Por ser um projeto gratuito e mantido por voluntários, dados como taxa de falha de formulae, versão do sistema operacional e frequência de uso de comandos servem de base para definir prioridades de recursos e correções
  • Os dados anônimos de análise no InfluxDB são mantidos por 365 dias, e todos os dados de análise que antes eram enviados ao Google Analytics foram excluídos
  • O escopo de coleta é limitado a informações como uso em CI, uso do prefixo padrão de instalação, arquitetura de CPU, versões do sistema operacional e do Homebrew, além de eventos de instalação, erro de build e execução de comandos
  • Os usuários podem desativar a análise com HOMEBREW_NO_ANALYTICS=1 ou brew analytics off, e nenhum evento é vinculado a um usuário específico nem há armazenamento de endereços IP

Quando a análise é ativada e por que ela é usada

  • Como o Homebrew é fornecido gratuitamente e operado por voluntários em seu tempo livre, faltam recursos dedicados de pesquisa com usuários para orientar o design de recursos e a definição de prioridades de trabalho
  • A análise anônima é usada para entender como, onde e quando o Homebrew é utilizado, ajudando a definir prioridades de correções e recursos
    • Formulae amplamente usadas, mas com falhas frequentes, podem receber prioridade maior de correção do que outras formulae
    • Informações sobre a versão do sistema operacional são usadas para priorizar versões do macOS com suporte e identificar falhas de build que ocorrem apenas em versões específicas
    • Comandos pouco usados podem ser descontinuados
  • A análise só é ativada depois que um aviso é exibido na primeira execução de brew update ou durante a instalação do Homebrew
    • Antes do aviso, nenhum dado de análise é enviado, permitindo que o usuário faça opt-out antes de transmitir qualquer dado
  • O período de retenção dos dados anônimos de análise armazenados no InfluxDB é de 365 dias
  • Todos os dados de análise que antes eram enviados ao Google Analytics foram excluídos

Eventos enviados e escopo da coleta

  • Todos os eventos de formula ou cask registram também informações em comum
    • Se foram enviados a partir de CI
    • Se o prefixo padrão de instalação está sendo usado
      • Um exemplo de prefixo padrão é /opt/homebrew
      • Um exemplo de prefixo personalizado é /home/mike/.brew
      • Prefixos personalizados são enviados como custom-prefix para preservar o anonimato
    • Se a variável de ambiente HOMEBREW_DEVELOPER está definida
    • Se devcmdrun indica que um comando de desenvolvedor do Homebrew já foi executado
    • Arquitetura de CPU, por exemplo: x86_64
    • Sistema operacional e versão, por exemplo: macOS 13
    • Versão do Homebrew, por exemplo: 4.0.0
  • A análise do Homebrew registra várias categorias de eventos
    • install: formulae do Homebrew instaladas a partir de taps públicos no GitHub e as opções usadas
    • install_on_request: formulae e opções cuja instalação foi solicitada explicitamente pelo usuário
    • cask_install: casks do Homebrew instalados a partir de taps públicos no GitHub
    • build_error: formulae e opções cuja instalação falhou
      • Detalhes do erro de build ou logs não são enviados
    • command_run: comandos e flags executados
    • test_bot_test: usado apenas no ambiente de CI do Homebrew para registrar resultados de testes de pull requests
  • Ao definir HOMEBREW_ANALYTICS_DEBUG=1 no ambiente, é possível ver todas as informações enviadas pela análise do Homebrew; essa configuração também interrompe o envio da análise
  • Os dados de análise são enviados ao InfluxDB via HTTPS durante a execução do Homebrew

Dados públicos, código e opt-out

  • Eventos de análise agregados podem ser vistos em uma página pública, e também há uma API JSON disponível
    • A maioria dos mantenedores principais do Homebrew não recebe acesso a dados de análise mais detalhados além desse recurso público
  • Desenvolvedores do Homebrew não conseguem vincular um evento específico a um usuário específico, nem armazenam ou recebem endereços IP
  • O código de análise pode ser consultado em analytics.rb e analytics.sh
    • Ele é executado em um processo separado em segundo plano
    • Falha rapidamente para não atrasar a execução do Homebrew
    • Se não houver conexão de rede, falha imediatamente e de forma silenciosa
  • Para desativar a análise, é possível usar uma variável de ambiente ou um comando
    • export HOMEBREW_NO_ANALYTICS=1
    • brew analytics off

1 comentários

 
GN⁺ 2023-07-09
Comentários do Hacker News
  • A funcionalidade de analytics do Homebrew agora foi totalmente migrada para uma instância do InfluxDB na UE, coleta menos dados do que antes, e todos os dados do Google Analytics foram apagados
    https://docs.brew.sh/Analytics
    Ao executar brew analytics durante uma atualização hoje de manhã, apareceu InfluxDB analytics are disabled. e Google Analytics were destroyed.

    • Isso acontece porque HOMEBREW_NO_ANALYTICS 1 está definido; se remover essa configuração, o analytics do InfluxDB será ativado
    • É meio estranho especificar até a tecnologia de banco de dados em uso. No contexto geral, isso não parece muito relevante
  • É algo a se comemorar que a equipe do Homebrew tenha cumprido a promessa de sair do Google Analytics

  • Se a configuração atual estiver assim, brew analytics state mostrará que o analytics do InfluxDB está desativado e que o Google Analytics foi removido
    HOMEBREW_NO_GOOGLE_ANALYTICS 1
    HOMEBREW_NO_ANALYTICS 1
    Depois, ao rodar brew update, aparece um aviso dizendo que HOMEBREW_NO_GOOGLE_ANALYTICS não tem mais efeito e pode ser removido, junto com a informação de que o analytics foi migrado para o InfluxDB na UE e de que ele pode ser reativado com brew analytics on
    Ainda assim, para garantir que o analytics do InfluxDB não seja ativado, é preciso manter HOMEBREW_NO_ANALYTICS 1

  • Continuo usando macOS por causa do Homebrew; sem ele, provavelmente estaria usando apt no Linux
    Fico me perguntando se existe algum site bom para buscar pacotes apt como o brew.sh. A página do apt do Ubuntu é confusa demais

  • Não entendo por que um gerenciador de pacotes precisa coletar dados de analytics
    Até os dados coletados podem ser identificáveis por fingerprint do dispositivo

    • O Homebrew é mantido inteiramente por colaboradores de código aberto, e só manter milhares de pacotes atualizados já é um trabalho enorme
      Os dados de analytics servem como sistema de alerta e como base concreta para avaliar importância, instabilidade dos pacotes etc.
      Além disso, o Homebrew roda sobre o macOS, mas não pode controlar como a Apple vai mudar o sistema, então o analytics ajuda a detectar rapidamente quebras causadas por mudanças unilaterais da Apple
    • O motivo está explicado no “Why?” do começo do texto
      O Homebrew é gratuito e operado totalmente por voluntários em seu tempo livre, então não há recursos para pesquisas detalhadas com usuários a fim de planejar funcionalidades futuras ou priorizar o trabalho atual
      Com analytics anônimo, dá para entender quais formulas são amplamente usadas e falham com frequência, quais versões do macOS devem ter prioridade de suporte e quais falhas de build acontecem apenas em versões específicas
    • É difícil melhorar um produto sem saber como ele está sendo usado
    • Pergunta sincera: não entendo como exatamente esse fingerprint de dispositivo funcionaria aqui
  • Atualização: também há quem diga que usar o Google Analytics em si não é um problema
    https://arstechnica.com/tech-policy/2023/07/big-tech-can-tra...

  • brew analytics off

  • É impressionante que um serviço gratuito consiga cumprir melhor o GDPR do que os pop-ups infinitamente irritantes de outros sites
    Às vezes parece que esses pop-ups irritantes não existem por necessidade, mas para atormentar de propósito

    • Um sistema que quase não armazena dados pessoais naturalmente tem mais facilidade para cumprir o GDPR
      Além do ponto de que “menos dados, menos problemas”, também há muita burocracia. Quando cuidei de conformidade com o GDPR no passado, a equipe de segurança queria guardar todos os dados para sempre, e o jurídico responsável por determinar o escopo do GDPR entrava em conflito com o jurídico geral
      Em especial, o jurídico geral nem entendia o que o sistema fazia e ignorava as explicações, ao mesmo tempo em que insistia repetidamente em mudanças de política de retenção irrelevantes ou contraditórias entre si
    • Dá para esperar que um serviço sem fins lucrativos lide melhor com conformidade de privacidade do que um serviço que tenta ganhar dinheiro explorando ao máximo os dados dos usuários
    • Cumprir o GDPR é muito fácil. Basta não coletar informações de identificação pessoal para começo de conversa
      Se quiser coletar dados, pergunte ao usuário e explique exatamente o que será feito
      A coisa só fica difícil quando se tenta coletar tantos dados que o usuário não concordaria se entendesse o escopo, e ainda enviá-los para vários terceiros. A partir daí, passam a ser usadas as táticas mais obscuras para enganar o usuário enquanto se finge cumprir a lei
  • Que beleza: até ferramenta de linha de comando mandando telemetria para casa. Não existe mais lugar sem spyware

    • É tolo e prejudicial misturar “spyware” no sentido de rastreamento para monetização com telemetria usada para que desenvolvedores entendam o estado do sistema que operam
      O Homebrew é um sistema complexo que pode quebrar de várias formas, não tem uma empresa por trás e é desenvolvido de forma totalmente open source
      É básico poder ter algum nível de visibilidade sobre como o sistema em execução está se comportando. Exigir que desenvolvedores que doam tempo a um projeto extremamente útil trabalhem com uma mão amarrada por causa de paranoia é pedir demais
      Se esse tipo de exigência prevalecer, a tendência é que software open source deixe de ser produzido ou acabe nas mãos de empresas com fins lucrativos muito menos bem-intencionadas quanto a spyware
      Aqui, a história é justamente que o projeto Homebrew ouviu a comunidade e migrou para um analytics auto-hospedado e voltado à privacidade, então o melhor é ignorar esse tipo de gente, porque nunca ficará satisfeita
    • Não entendo por que o fato de ser linha de comando seria um critério de distinção
      Se fosse uma ferramenta simples sem necessidade de conexão com a internet, tudo bem, mas o Homebrew não é só uma ferramenta de linha de comando: ele também é um repositório e sistema de build em movimento constante
      Faz sentido que os desenvolvedores queiram entender como certas mudanças afetam a experiência dos usuários
  • Sair do Google Analytics parece uma decisão meio constrangedora
    O Google já consegue obter quase todos os dados que quiser via usuários do Chrome, e o GA na prática serve mais para fazer até usuários que não usam Chrome aparecerem para o Google
    Mais importante ainda, ele me permite ver o que o Google vê no meu site
    Desligar o GA talvez atrapalhe um pouco o Google, mas provavelmente reduzirá em no máximo uns 10% os dados de uso que ele recebe, enquanto eu perco a capacidade de ver o que o Google vê sobre mim
    O Google continua sendo mais de 90% do tráfego de busca, então sair do GA parece enfiar a cabeça na areia
    Entendo não querer ser rastreado ou ter dados compartilhados, mas não sei se desligar o GA resolve esse problema

    • Isso é analytics de uma ferramenta de linha de comando, então, a menos que você envie dados ao Google de propósito, a quantidade de dados que o Google vê é 0%
    • Os mantenedores do Homebrew provavelmente já esperavam várias reclamações ao sair do GA, mas talvez não que alguém chamasse isso de “constrangedor”
    • Foi considerado que o Google Analytics não está em conformidade com o GDPR, então, se você não quer correr o risco de ser banido na UE, precisa sair do GA
      https://usercentrics.com/knowledge-hub/google-analytics-and-...
      Uma empresa sueca chegou a receber uma multa pesada: https://techcrunch.com/2023/07/03/google-analytics-sweden-gd...