A verdade desconfortavel sobre ferramentas para desenvolvedores e coleta de dados
Abra a politica de privacidade de quase qualquer ferramenta para desenvolvedores que voce usa, e encontrara uma secao sobre coleta de dados. Analises de uso, relatorios de falhas, rastreamento de funcionalidades, duracao de sessao, perfis de hardware -- a lista continua. A maioria das empresas apresenta isso como uma necessidade: elas precisam de dados para melhorar seu produto, priorizar funcionalidades e corrigir bugs. E para ser justo, esse raciocinio nao e inteiramente errado. Decisoes de produto baseadas em dados sao uma abordagem legitima para construir software melhor.
Mas ha uma pergunta que raramente e feita: a que custo?
Por que a maioria das ferramentas para desenvolvedores coleta dados analiticos
A justificativa padrao para telemetry em ferramentas para desenvolvedores se divide em algumas categorias:
- Decisoes de produto. Quais funcionalidades sao mais usadas? Quais sao ignoradas? As analises ajudam as equipes de produto a priorizar o que construir em seguida e o que descontinuar.
- Relatorios de falhas. Quando algo quebra, a notificacao automatica de falhas ajuda os desenvolvedores a identificar e corrigir problemas mais rapido, as vezes antes mesmo dos usuarios reportarem.
- Monitoramento de desempenho. Quanto tempo uma operacao leva em diferentes hardwares? Onde estao os gargalos? A telemetry fornece dados de desempenho do mundo real que benchmarks sinteticos nao conseguem replicar.
- Metricas de negocio. Taxas de retencao, funis de ativacao, previsao de churn -- essas metricas impulsionam decisoes de negocio, especialmente para empresas financiadas por capital de risco sob pressao para mostrar crescimento.
Nada disso e inerentemente malicioso. Mas o efeito cumulativo e que seu ambiente de desenvolvimento se torna uma fonte de dados comportamentais. Cada commit, cada troca de branch, cada conflito de merge, cada arquivo que voce abre -- tudo isso e potencialmente observavel. Para uma ferramenta que fica no centro do seu fluxo de trabalho, isso e uma quantidade significativa de informacoes sobre como voce trabalha, no que trabalha e quando.
Por que o GitSquid escolheu um caminho diferente
Quando comecamos a desenvolver o GitSquid, tomamos uma decisao deliberada: zero telemetry. Nao "telemetry minima." Nao "telemetry anonimizada." Zero. Isso nao foi uma reflexao tardia ou um argumento de marketing. Foi um principio fundamental de design, e eis o por que.
Privacidade e uma funcionalidade
Acreditamos que privacidade nao e apenas uma caixa de conformidade a ser marcada. E uma funcionalidade com a qual os usuarios devem poder contar. Quando voce usa o GitSquid, a aplicacao roda inteiramente na sua maquina. Os dados do seu repositorio, seu historico de commits, suas estruturas de branches, seus padroes de fluxo de trabalho -- nada disso sai do seu computador. Isso e uma garantia, nao uma configuracao que voce precisa lembrar de ativar.
Ferramentas para desenvolvedores veem tudo
Um cliente Git nao e uma ferramenta casual. Ele tem acesso a toda a sua base de codigo, suas mensagens de commit (que frequentemente contem nomes de projetos, numeros de tickets e contexto sobre o que voce esta trabalhando), seus nomes de branches e seus padroes de colaboracao. Ele sabe em quais repositorios voce trabalha, com que frequencia faz commit e quando esta ativo. Coletar telemetry de um cliente Git significa coletar dados que estao profundamente entrelaçados com seu trabalho profissional e as vezes pessoal. Nao queriamos essa responsabilidade, e nao achamos que voce deveria ter que concede-la.
A confianca deveria ser simples
Com muitas ferramentas, a confianca exige ler politicas de privacidade, verificar configuracoes de exclusao, esperar que dados "anonimizados" sejam verdadeiramente anonimos e confiar que as praticas de tratamento de dados nao mudarao com a proxima aquisicao ou rodada de financiamento. Queriamos que a confianca fosse simples: o GitSquid nao coleta seus dados. Ponto final. Nao ha politica de privacidade para analisar, nenhuma configuracao para auditar, nenhum acordo de processamento de dados para revisar.
O que "zero telemetry" significa concretamente
Para ser preciso sobre o que queremos dizer, aqui esta o que o GitSquid faz e nao faz:
Nao coletamos:
- Analises de uso de nenhum tipo
- Relatorios de falhas ou logs de erros
- Rastreamento de uso de funcionalidades
- Dados de sessao ou padroes de atividade
- Perfil de hardware ou sistema operacional
- Metadados ou conteudo de repositorios
As unicas solicitacoes de rede feitas pelo GitSquid sao:
- Validacao de licenca. Quando voce ativa sua licenca, o GitSquid verifica sua validade com nosso servidor de licencas. Trata-se de uma verificacao de ativacao direta, nao um relatorio de uso.
- Verificacao de atualizacoes. O GitSquid verifica periodicamente se uma versao mais recente esta disponivel para que voce possa se manter atualizado. Nenhum dado sobre seu uso e transmitido durante essa verificacao.
Essa e a lista completa. Sem endpoints analiticos, sem uploads de dados em segundo plano, sem relatorios de uso "anonimos". Se voce monitorar seu trafego de rede enquanto usa o GitSquid, vera exatamente esses dois tipos de solicitacoes e nada mais.
O compromisso que aceitamos
Nao vamos fingir que nao ha desvantagens. Sem telemetry, nao temos visibilidade automatica sobre quais funcionalidades sao populares, onde os usuarios enfrentam dificuldades ou o que causa falhas em configuracoes de hardware especificas. Em vez disso, confiamos no feedback direto dos usuarios, conversas de suporte e nossos proprios testes extensivos. E mais lento. E menos sistematico. Significa que as vezes descobrimos problemas mais tarde do que fariamos com relatorios automaticos de falhas.
Consideramos isso um compromisso aceitavel. Nossos usuarios obtem uma ferramenta que respeita completamente sua privacidade, e nos obtemos um produto construido sobre relacionamentos genuinos com os usuarios em vez de extracao de dados. Preferimos ter cem usuarios que confiam profundamente em nos do que um milhao de pontos de dados de usuarios que nao sabiam que estavam sendo rastreados.
Uma mudanca na industria
Nao estamos sozinhos nesse pensamento. Em toda a industria de software, ha um reconhecimento crescente de que a abordagem "coletar tudo, entender o que significa depois" tem custos reais -- regulatorios, reputacionais e eticos. A ascensao de alternativas focadas em privacidade em navegadores, e-mail, mensagens e busca mostra que os usuarios valorizam cada vez mais ferramentas que respeitam seus limites.
No espaco de ferramentas para desenvolvedores especificamente, essa mudanca importa ainda mais. Os desenvolvedores entendem tecnologia. Eles sabem o que telemetry significa, quais dados podem ser derivados dos padroes de uso e o que dados "anonimizados" podem revelar quando combinados com outras fontes. Construir ferramentas para esse publico sem respeitar sua privacidade nao e apenas uma questao etica. E uma questao de credibilidade.
Uma promessa simples
Nossa posicao sobre telemetry nao vai mudar com uma nova versao do produto, uma mudanca de lideranca ou uma rodada de financiamento. Zero telemetry faz parte do que o GitSquid e. Seu codigo fica na sua maquina. Seu fluxo de trabalho permanece privado. Sua confianca permanece simples.
Essa nao e uma funcionalidade que estamos dispostos a comprometer.