'Do Not Track' for console interfaces

Man

Professional
Messages
3,223
Reaction score
1,157
Points
113
mz33-0gakeua-etbh1wxp0vtslo.png


Various software increasingly comes with telemetry modules, such as Google Analytics. Previously, this problem was mostly limited to proprietary software for the mass market. But now even professional developer tools and open source programs are adopting the monetization model.

Homebrew, Gatsby, Syncthing, Netlify, Netdata and other applications collect telemetry. Of course, here it can be disabled and the situation is not so ominous. But surveillance through open source has become so widespread that there are already calls for a single standard, like the HTTP 'Do Not Track' header, only in the form of a standard environment variable for console interfaces.

Apparently, the owners of these services are trying to make money on user data. Or third-party businessmen buy an open source project/application/extension for the purpose of monetization. This recently happened with the popular audio editor Audacity. This excellent tool has been released for free for Linux, Windows, and Mac users for over 20 years.

ehjinvcv4vcnbdcynxvj-mjokne.png


In April 2021, Muse Group (owner of MuseScore and Ultimate Guitar) announced the purchase of the Audacity trademark and the development of an audio editor under its roof. On July 2, 2021, changes were made to the Audacity user agreement, according to which users of the desktop application now agree to the collection and sending of personal data to servers in the European Union, from where it will be transferred to the United States and Russia: see desktop privacy notice.

By default, the following will be sent:
  • IP address: for example, 123.45.67.89).
  • User-Agent string: for example,Audacity/3.0.3 (Windows 10_0_19042; x64)


In addition, the company reserves the right to sell information to third parties.

Changes to the Audacity user agreement caused a storm of indignation. The company hastened to assure that the changes will not affect the current version of the application (3.0.2) and previous versions. They will be implemented only in a future release. Telemetry accompanies error reports, and each user will have the right to refuse to send.

Of course, other programs also offer various settings for disabling telemetry. For example, in Gatsby, the option GATSBY_TELEMETRY_DISABLED.

In Homebrew, telemetry is disabled by the following command:
Code:
brew analytics off

Or environment variable:
Code:
export HOMEBREW_NO_ANALYTICS=1

In Syncthing, a configuration file setting STNOUPGRADEdisables crash reporting.

Here's how other tools implement this feature:

Google Cloud SDKgcloud config set disable_usage_reporting true
.NET CoreDOTNET_CLI_TELEMETRY_OPTOUT
Netlifynetlify --telemetry-disable
AWS Serverless Application Model CLISAM_CLI_TELEMETRY=0
Microsoft AzureAZURE_CORE_COLLECT_TELEMETRY=0

The essence of the new proposal is to standardize interfaces. That is, to disable tracking in all applications through one standard environment variable:
export DO_NOT_TRACK=1

Environment variables are set for the application in all standard OS — Linux, macOS and Windows — and for the cloud environment (AWS Lambda, Dockerfile, etc.).

What does the very fact that there was a proposal to prohibit tracking through an environment variable mean?

Firstly, this is an acknowledgement of the widespread use of telemetry in various tools, including professional ones.

Secondly, this is an indirect acknowledgement of legality. The European GDPR legislation puts forward strict requirements for the procedure for collecting personal data and explains in detail what data can be considered as such. Apparently, minimal telemetry does not fall under these formulations. But everyone knows that this data can become personal in the "right" hands, after combining with numerous other arrays of supposedly "anonymous" data.

Thirdly, as in the case of the 'Do Not Track' HTTP header, here we use the opt-out principle instead of opt-in. That is, the user is not required to give consent to be tracked. But there is at least a guarantee that tracking will be stopped if the user explicitly indicates such a desire.

For ethical reasons, all companies that use analytics/telemetry tools are offered to implement support for a standard variable DO_NOT_TRACK=1
with a ban on tracking in any form, including collecting anonymous statistics on the use of the program, sending crash reports, sending telemetry when receiving automatic updates, and so on. In general, sending any data that is not related to the functionality of the program.

Netdata System Monitor (#7846) and Tilt (#2878) have already agreed to support the standard environment variable. Pull requests have been registered in other projects:

This idea was probably inspired by another standard environment variable for console tools, NO_COLOR. It means that the default text coloring is disabled, which is common in console programs. Some developers like colored text, others don't. In any case, dozens of open source programs have implemented support for this directive over the past few years.

Source
 
Top