← Retour au blog

Zéro télémétrie : pourquoi nous ne traçons pas nos utilisateurs

privacy philosophy

La verite inconfortable sur les outils developpeur et la collecte de donnees

Ouvrez la politique de confidentialite de presque n'importe quel outil developpeur que vous utilisez, et vous trouverez une section sur la collecte de donnees. Analyses d'utilisation, rapports de crash, suivi des fonctionnalites, duree de session, profils materiels -- la liste est longue. La plupart des entreprises presentent cela comme une necessite : elles ont besoin de donnees pour ameliorer leur produit, prioriser les fonctionnalites et corriger les bugs. Et pour etre honnete, ce raisonnement n'est pas entierement faux. Les decisions produit basees sur les donnees sont une approche legitime pour construire de meilleurs logiciels.

Mais il y a une question qui est rarement posee : a quel prix ?

Pourquoi la plupart des outils developpeur collectent des donnees analytiques

La justification standard de la telemetry dans les outils developpeur se divise en quelques categories :

  • Decisions produit. Quelles fonctionnalites sont les plus utilisees ? Lesquelles sont ignorees ? Les analyses aident les equipes produit a prioriser ce qu'il faut developper ensuite et ce qu'il faut abandonner.
  • Rapports de crash. Quand quelque chose casse, le signalement automatique des crashes aide les developpeurs a identifier et corriger les problemes plus rapidement, parfois avant meme que les utilisateurs ne les signalent.
  • Surveillance des performances. Combien de temps prend une operation donnee sur differents materiels ? Ou sont les goulots d'etranglement ? La telemetry fournit des donnees de performance reelles que les benchmarks synthetiques ne peuvent pas reproduire.
  • Metriques commerciales. Taux de retention, entonnoirs d'activation, prediction du desabonnement -- ces metriques guident les decisions commerciales, en particulier pour les entreprises financees par du capital-risque sous pression pour montrer de la croissance.

Rien de tout cela n'est fondamentalement malveillant. Mais l'effet cumulatif est que votre environnement de developpement devient une source de donnees comportementales. Chaque commit, chaque changement de branche, chaque conflit de merge, chaque fichier que vous ouvrez -- tout cela est potentiellement observable. Pour un outil qui se trouve au centre de votre flux de travail, c'est une quantite significative d'informations sur la facon dont vous travaillez, sur quoi vous travaillez et quand.

Pourquoi GitSquid a choisi une voie differente

Quand nous avons commence a developper GitSquid, nous avons pris une decision deliberee : zero telemetry. Pas de "telemetry minimale." Pas de "telemetry anonymisee." Zero. Ce n'etait pas une reflexion apres coup ni un argument marketing. C'etait un principe de conception fondamental, et voici pourquoi.

La vie privee est une fonctionnalite

Nous croyons que la vie privee n'est pas simplement une case de conformite a cocher. C'est une fonctionnalite sur laquelle les utilisateurs devraient pouvoir compter. Quand vous utilisez GitSquid, l'application fonctionne entierement sur votre machine. Les donnees de votre depot, votre historique de commits, vos structures de branches, vos habitudes de travail -- rien ne quitte votre ordinateur. C'est une garantie, pas un parametre que vous devez penser a activer.

Les outils developpeur voient tout

Un client Git n'est pas un outil anodin. Il a acces a l'integralite de votre code source, a vos messages de commit (qui contiennent souvent des noms de projets, des numeros de tickets et du contexte sur ce que vous etes en train de faire), a vos noms de branches et a vos habitudes de collaboration. Il sait sur quels depots vous travaillez, a quelle frequence vous committez et quand vous etes actif. Collecter de la telemetry depuis un client Git signifie collecter des donnees profondement liees a votre travail professionnel et parfois personnel. Nous ne voulions pas de cette responsabilite, et nous ne pensons pas que vous devriez avoir a l'accorder.

La confiance devrait etre simple

Avec beaucoup d'outils, la confiance exige de lire des politiques de confidentialite, de verifier les parametres de desactivation, d'esperer que les donnees "anonymisees" sont vraiment anonymes, et de faire confiance que les pratiques de traitement des donnees ne changeront pas avec la prochaine acquisition ou la prochaine levee de fonds. Nous voulions que la confiance soit simple : GitSquid ne collecte pas vos donnees. Point final. Il n'y a pas de politique de confidentialite a analyser, pas de parametres a verifier, pas d'accords de traitement de donnees a examiner.

Ce que "zero telemetry" signifie concretement

Pour etre precis sur ce que nous voulons dire, voici ce que GitSquid fait et ne fait pas :

Nous ne collectons pas :

  • D'analyses d'utilisation d'aucune sorte
  • De rapports de crash ou journaux d'erreurs
  • De suivi d'utilisation des fonctionnalites
  • De donnees de session ou de patterns d'activite
  • De profilage materiel ou de systeme d'exploitation
  • De metadonnees ou de contenu de depot

Les seules requetes reseau effectuees par GitSquid sont :

  • Validation de licence. Lorsque vous activez votre licence, GitSquid verifie sa validite aupres de notre serveur de licences. C'est une simple verification d'activation, pas un rapport d'utilisation.
  • Verification des mises a jour. GitSquid verifie periodiquement si une version plus recente est disponible afin que vous puissiez rester a jour. Aucune donnee sur votre utilisation n'est transmise lors de cette verification.

C'est la liste complete. Pas de points de terminaison analytiques, pas de transferts de donnees en arriere-plan, pas de rapports d'utilisation "anonymes". Si vous surveillez votre trafic reseau pendant que vous utilisez GitSquid, vous verrez exactement ces deux types de requetes et rien d'autre.

Le compromis que nous acceptons

Nous n'allons pas pretendre qu'il n'y a aucun inconvenient. Sans telemetry, nous n'avons pas de visibilite automatique sur les fonctionnalites populaires, les difficultes rencontrees par les utilisateurs ou ce qui provoque des crashes sur des configurations materielles specifiques. Nous nous appuyons plutot sur les retours directs des utilisateurs, les conversations de support et nos propres tests approfondis. C'est plus lent. C'est moins systematique. Cela signifie que nous decouvrons parfois les problemes plus tard que nous ne le ferions avec un signalement automatique des crashes.

Nous considerons que c'est un compromis acceptable. Nos utilisateurs obtiennent un outil qui respecte entierement leur vie privee, et nous obtenons un produit construit sur de veritables relations avec les utilisateurs plutot que sur l'extraction de donnees. Nous preferons avoir cent utilisateurs qui nous font profondement confiance plutot qu'un million de points de donnees d'utilisateurs qui ne savaient pas qu'ils etaient suivis.

Un changement dans l'industrie

Nous ne sommes pas les seuls a penser ainsi. Dans toute l'industrie du logiciel, il y a une reconnaissance croissante que l'approche "tout collecter, comprendre plus tard" a des couts reels -- reglementaires, reputationnels et ethiques. L'essor des alternatives axees sur la vie privee dans les navigateurs, l'email, la messagerie et la recherche montre que les utilisateurs accordent de plus en plus de valeur aux outils qui respectent leurs limites.

Dans le domaine des outils developpeur en particulier, ce changement est encore plus important. Les developpeurs comprennent la technologie. Ils savent ce que signifie la telemetry, quelles donnees peuvent etre deduites des habitudes d'utilisation, et ce que des donnees "anonymisees" peuvent reveler lorsqu'elles sont combinees avec d'autres sources. Developper des outils pour ce public sans respecter leur vie privee n'est pas seulement une question ethique. C'est une question de credibilite.

Une promesse simple

Notre position sur la telemetry ne changera pas avec une nouvelle version du produit, un changement de direction ou une levee de fonds. Zero telemetry fait partie de ce qu'est GitSquid. Votre code reste sur votre machine. Votre flux de travail reste prive. Votre confiance reste simple.

Ce n'est pas une fonctionnalite sur laquelle nous sommes prets a faire des compromis.