Telemetri i programmeringsspråk
Den senaste tiden har det blossat upp diskussioner kring användandet av telemetri i programmeringsspråk. Specifikt har frågan uppstått efter att utvecklarna bakom Googles programmeringsspråk Go (även känt som Golang) lyft en diskussion om att börja samla telemetri om utvecklare som använder språket. Även om teamet bakom Go inte kommit till något beslut så har diskussionerna varit livliga. Vi, Oskar och Johanna, benar ut vad som händer och vad som gäller i detta blogginlägg.
Inledningsvis vill vi svara på frågan: vad är telemetri? Telemetri innebär insamling av data om hur en applikation eller ett system används. Ett vanligt exempel är att hemsidor använder telemetri för att veta vilka sidor som användare besöker. Telemetri är dock mycket bredare och innefattar all insamling av data som används för att förstå användningen av systemet. Detta kan vara metadata som vilket operativsystem som används eller mer konkret information som hur lång tid det tar att starta systemet. I detta sammanhang innebär det att information om utvecklare samlas in för att genom statistik förstå hur Go används och hur kodspråket ska utvecklas för att bli ännu bättre.
I diskussionen lyfts både för och nackdelar med telemetri. Utvecklare av Go vill å ena sidan jobba effektivt och datadrivet, å andra sidan ifrågasätts telemetriinsamlingen i ljuset av individers rätt till privatliv och skydd av personuppgifter. Det som gör förslaget extra kontroversiellt är att man föreslagit att telemetriinsamlingen skall vara påslagen som standard, något som i så fall kan vara väldigt lätt att missa vid en uppdatering av Go. Överlag ger den dokumentation som tillhandahålls en känsla av att man funderat ganska väl på implementationen. Exempelvis kommer man inte att logga IP-adresser eller annan identifierande information, utan enbart fokusera på hur man använder språket. Dock är frågan hur mycket data som samlas in, vilket i dagsläget inte är bestämt, utan kommer beslutas och förändras efter behov och över tid. Som alltid med telemetri finns det alltid en risk att individer kan identifieras baserat enbart på deras unika användningsmönster.
Det är dock värt att notera att i dagsläget verkar man inte intresserad av att samla information om hur själva programmeringsspråket används. Istället fokuserar man på hur de kommandon som installeras med språket körs, exempelvis kompilator och pakethanterare. I de inledande bloggposterna lyfts cacheträffar vid paketnedladdning eller vilket operativsystem (majorversion som exempelvis Windows 11) som används vid utveckling i programmeringsspråket Go.
Go är visserligen inte det första programmeringsspråket att införa denna typ av telemetri, utan även Microsoft samlar in data om hur .NET används. Även i detta fall är telemetrin för användning av kommandot (dotnet) påslagen som standard, men har funktionalitet för opt-out.
Om telemetriinsamlingen innehåller personuppgifter blir GDPR tillämpligt. Microsofts användning av telemetri uppmärksammades av den nederländska dataskyddsmyndigheten som 2018 ansåg att Microsofts hantering i det fallet stred mot reglerna i GDPR.
Något som tillsynsmyndigheterna oss veterligen ännu inte prövat är hur telemetriinsamlingen förhåller sig till cookiereglerna. Cookiereglerna gäller inte bara placering av cookies, utan all hämtning av information från användares enheter. Det innebär att telemetriinsamling som sker av Microsoft, Google och övriga IT-jättar regleras av cookiereglerna när de hämtar information från utvecklares enheter som t.ex. vilket operativsystem som används eller skärmstorlek. I många fall krävs samtycke innan telemetri samlas in. Om du vill veta vilka krav som cookiereglerna ställer på dessa aktörers telemetriinsamling kan du läsa Johannas tidigare blogginlägg om kraven i cookiereglerna.