- DO_NOT_TRACK는 CLI 도구, SDK, 프레임워크마다 다른 텔레메트리 비활성화 방식을 하나의 환경 변수로 통일하자는 제안임
.NET,AWS SAM CLI,Azure CLI,Gatsby,Go,Google Cloud SDK,Homebrew,Netlify CLI,Syncthing은 각각 다른 설정이나 명령으로 텔레메트리를 끄고 있음DO_NOT_TRACK=1은 광고 추적, 사용 보고, 텔레메트리, 충돌 보고, 기능에 필수적이지 않은 제작자 또는 제3자 대상 요청을 거부한다는 뜻임- 사용자는
export DO_NOT_TRACK=1을 설정하고 Bash, Zsh, Fish, PowerShell, Windows CMD의 셸 설정에 추가해 모든 터미널 세션에 적용 가능함 - 소프트웨어 제작자는
DO_NOT_TRACK가1이면 모든 추적을 비활성화하고, 기존 비활성화 방식과 함께 이 변수를 존중해야 함
문제와 제안
- 많은 CLI 도구, SDK, 프레임워크가 기본적으로 텔레메트리 데이터를 수집하며, 각 도구마다 비활성화 방법이 다름
- 예를 들어
.NET은DOTNET_CLI_TELEMETRY_OPTOUT=1,AWS SAM CLI는SAM_CLI_TELEMETRY=0,Azure CLI는AZURE_CORE_COLLECT_TELEMETRY=0,Gatsby는GATSBY_TELEMETRY_DISABLED=1,Go는go telemetry off,Google Cloud SDK는gcloud config set disable_usage_reporting true,Homebrew는HOMEBREW_NO_ANALYTICS=1,Netlify CLI는netlify --telemetry-disable,Syncthing은STNOUPGRADE=1을 사용함 DO_NOT_TRACK는 사용자가 다음 항목을 거부한다는 뜻을 명확히 표현하는 단일 표준 환경 변수로 제안됨- 광고 추적
- 익명 여부와 무관한 사용 보고
- 텔레메트리
- 충돌 보고
- 기능에 필수적이지 않은 소프트웨어 제작자 또는 제3자 대상 요청
- 사용자는 로컬 소프트웨어만 원한다는 의사를
export DO_NOT_TRACK=1로 설정할 수 있음 - 셸 설정 파일에 추가하면 모든 터미널 세션에 적용 가능함
- Bash:
~/.bashrc에export DO_NOT_TRACK=1 - Zsh:
~/.zshrc에export DO_NOT_TRACK=1 - Fish:
~/.config/fish/config.fish에set -x DO_NOT_TRACK 1 - PowerShell:
$PROFILE에$env:DO_NOT_TRACK = "1" - Windows CMD: 시스템 환경 변수에
setx DO_NOT_TRACK 1
- Bash:
소프트웨어 제작자와 관련 표준
- 텔레메트리, 분석, 기능에 필수적이지 않은 네트워크 요청을 수행하는 도구는
DO_NOT_TRACK변수를 확인해야 함 DO_NOT_TRACK가1로 설정되어 있으면 모든 추적을 비활성화해야 함- 기존 비활성화 방식과 함께 이 변수를 존중해야 함
- 텔레메트리를 기본 활성화 후 거부하는 방식보다 옵트인 방식으로 만드는 것도 고려 대상임
- no-color.org —
NO_COLOR, 색상 출력 비활성화를 위한 표준 - force-color.org —
FORCE_COLOR, 색상 출력 강제를 위한 표준