2 पॉइंट द्वारा GN⁺ 1 시간 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • DO_NOT_TRACK एक प्रस्ताव है, जिसका उद्देश्य अलग-अलग CLI tools, SDKs और frameworks में telemetry बंद करने के विभिन्न तरीकों को एक ही environment variable से एकीकृत करना है
  • .NET, AWS SAM CLI, Azure CLI, Gatsby, Go, Google Cloud SDK, Homebrew, Netlify CLI, Syncthing में telemetry बंद करने के लिए अलग-अलग settings या commands का उपयोग किया जाता है
  • DO_NOT_TRACK=1 का अर्थ है कि विज्ञापन tracking, usage reporting, telemetry, crash reporting, और ऐसी requests को अस्वीकार किया जाए जो feature के लिए अनिवार्य नहीं हैं और software maker या third party के लिए भेजी जाती हैं
  • उपयोगकर्ता export DO_NOT_TRACK=1 सेट कर सकते हैं और इसे Bash, Zsh, Fish, PowerShell, Windows CMD की shell settings में जोड़कर सभी terminal sessions पर लागू कर सकते हैं
  • software makers को DO_NOT_TRACK का मान 1 होने पर सभी tracking को disable करना चाहिए, और मौजूदा disable करने के तरीकों के साथ इस variable का भी सम्मान करना चाहिए

समस्या और प्रस्ताव

  • कई CLI tools, SDKs और frameworks डिफ़ॉल्ट रूप से telemetry data इकट्ठा करते हैं, और हर tool में इसे बंद करने का तरीका अलग है
  • उदाहरण के लिए .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 को एक single standard environment variable के रूप में प्रस्तावित किया गया है, जो यह स्पष्ट रूप से व्यक्त करता है कि उपयोगकर्ता निम्नलिखित चीज़ों को अस्वीकार करता है
    • विज्ञापन tracking
    • anonymous हो या न हो, usage reporting
    • telemetry
    • crash reporting
    • software maker या third party के लिए ऐसी requests जो feature के लिए अनिवार्य नहीं हैं
  • उपयोगकर्ता export DO_NOT_TRACK=1 सेट करके यह बता सकते हैं कि वे केवल local software चाहते हैं
  • shell settings file में जोड़ने पर यह सभी terminal sessions पर लागू किया जा सकता है
    • 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: system environment variable में setx DO_NOT_TRACK 1

software makers और संबंधित standards

  • telemetry, analytics, और feature के लिए अनिवार्य नहीं होने वाली network requests करने वाले tools को DO_NOT_TRACK variable की जाँच करनी चाहिए
  • यदि DO_NOT_TRACK का मान 1 है, तो सभी tracking disable कर देनी चाहिए
  • मौजूदा disable करने के तरीकों के साथ इस variable का भी सम्मान किया जाना चाहिए
  • telemetry को डिफ़ॉल्ट रूप से चालू रखकर बाद में opt-out देने के बजाय opt-in मॉडल पर भी विचार किया जा सकता है
  • no-color.orgNO_COLOR, color output disable करने के लिए एक standard
  • force-color.orgFORCE_COLOR, color output force करने के लिए एक standard

1 टिप्पणियां

 
GN⁺ 1 시간 전
Hacker News की राय
  • अब यह दिलचस्प लगने लगा है कि अगर डिफ़ॉल्ट रूप से tracking के लिए consent दिया हुआ मान लिया जाए तो भी शायद किसी को हैरानी नहीं होगी
    DO_NOT_TRACK जैसा फ़्लैग अच्छा लगता है, लेकिन साथ ही यह ऐसा महसूस कराता है मानो डिफ़ॉल्ट CONSENT_TO_TRACK=1 हो, जो काफ़ी डरावना है

    • आख़िर tracking न करने को कब कहा जा रहा है? यह फ़्लैग तब भेजा जाता है जब मेरा browser किसी और के server से कनेक्ट करता है
      इंटरनेट इसलिए बड़ा हुआ क्योंकि विज्ञापन और servers द्वारा users से derived information निकालने वाला business model मुख्यधारा बन गया
      यह न सुखद है, न निजी, न सुरक्षित, लेकिन ज़्यादातर jurisdictions और industries में यह ग़ैरक़ानूनी भी नहीं है
      यह फ़्लैग किसी परीकथा-जैसे आदर्शलोक के लिए नहीं, बल्कि व्यावहारिक और कानूनी रूप से जड़ जमा चुकी वास्तविकता के जवाब के रूप में है
    • मुझे लगता है कि ऐसा फ़्लैग होना ही समस्या है
      मैं कोई भी जानकारी बाहर नहीं भेजना चाहता और स्वाभाविक रूप से tracked भी नहीं होना चाहता, तो इसे सिर्फ़ एक environment variable से दिखाना ही बेतुका लगता है
      जो लोग कहते हैं कि वे track नहीं होना चाहते लेकिन फिर भी यह जानकारी देना पसंद करते हैं, उन्हें समझना मुश्किल है; और जैसे ही आप यह जानकारी देते हैं, आप पहले ही चिह्नित हो चुके होते हैं
  • मैं variable names हमेशा सकारात्मक रूप में रखना पसंद करता हूँ, तो इस मामले में ALLOW_TRACKING=0 होगा
    इससे consistency रहती है और double negative से बचा जा सकता है, इसलिए समझना आसान होता है
    हालाँकि “DO NOT TRACK” नाम कुछ हद तक स्थापित term हो सकता है

    • ALLOW_TRACKING को comma-separated list की तरह लागू किया जा सकता है, ताकि सिर्फ़ allowed applications को ही निर्दिष्ट किया जाए
      उदाहरण के लिए अगर आप go और brew के साथ telemetry साझा करना चाहते हैं, लेकिन aws और बाक़ियों के साथ नहीं, तो ALLOW_TRACKING=go,brew जैसा रख सकते हैं
  • इसकी किस्मत browser के DNT जैसी होने की संभावना काफ़ी है
    फिर भी सभी “do not track” environment variables को एक do_not_track.env फ़ाइल में इकट्ठा करना बुरा विचार नहीं लगता

    • https://toptout.me पहले से मौजूद है, और अगर नया कुछ बनाने का इरादा नहीं है, तो यह ऐसी काफ़ी समस्याएँ संभाल लेता है
      अगर आप इस पेज के specification का पालन करते हुए इसे एक simple environment variable से संभालना चाहते हैं, तो https://github.com/alloydwhitlock/do-not-track-cli भी है
    • advertising industry ने Microsoft द्वारा DNT को डिफ़ॉल्ट रूप से चालू करने को user choice छीनना बताया और उसे नज़रअंदाज़ कर दिया
      असल में शायद वे वैसे भी इसे मानने वाले नहीं थे
    • यह दिशा मुझे पसंद है
      सबको एक universal चीज़ इस्तेमाल करने के लिए मजबूर करने के बजाय, असली समाधान शायद ऐसा ही कुछ होगा
      मैं इसे शुरुआती बिंदु मानकर कुछ बनाने के बारे में सोच रहा हूँ
  • संदर्भ के लिए, Go telemetry डिफ़ॉल्ट रूप से सिर्फ़ local में store होती है, upload नहीं की जाती: https://go.dev/doc/telemetry

  • मुझे हैरानी हुई कि Python transformers library को Hugging Face से संपर्क करने से रोकना सोचे से ज़्यादा मुश्किल है
    मैंने HF_HUB_DISABLE_TELEMETRY=1 सेट किया और Wav2Vec2CTCTokenizer.from_pretrained कॉल करते समय local_files_only=True भी स्पष्ट रूप से दिया, लेकिन फिर भी valid HF_TOKEN न होने की warning आती रही
    HF_HUB_OFFLINE=1 मुझे संयोग से मिला, और उसके बाद ही मुझे कुछ हद तक भरोसा हुआ कि डिस्क से wav2vec2 model लोड करते समय हर बार HF से कनेक्शन नहीं किया जा रहा
    अगर वह परेशान करने वाली HF_TOKEN warning न होती, तो शायद मुझे पता भी न चलता कि यह हो रहा है

    • HF offline work को मुश्किल बनाने के लिए बदनाम है
      ज़रूरी सब कुछ local में होने पर भी connection की कोशिश में समय बर्बाद न हो, इसके लिए क्या करना है यह लगातार बदलता रहता है
      पहले TRANSFORMERS_OFFLINE, HF_DATASETS_OFFLINE जैसी चीज़ें भी थीं
    • क्या Little Snitch जैसे tools ऐसी चीज़ें पकड़ने और छिपे हुए connections करने वालों को ढूँढने में मदद कर सकते हैं?
  • यह एक उपयोगी honeypot जैसा लगता है
    अगर कोई tool सार्वजनिक रूप से इस specification के support का ऐलान करता है, तो इसका मतलब यह भी हो सकता है कि वह शुरुआत से ही स्पष्ट consent के बिना telemetry इकट्ठा करता है, इसलिए उसे बचकर चलने लायक tool माना जा सकता है

    • DO_NOT_TRACK support का मतलब यह नहीं है कि tracking स्पष्ट consent मॉडल पर नहीं है
      उदाहरण के लिए software crash हो सकता है, और crash handler पूछ सकता है कि dump भेजना है या नहीं
      अगर DO_NOT_TRACK मौजूद है, तो crash handler ख़ुद ही disable हो जाएगा, न कोई सवाल होगा, न dump
      अगर इसे कुछ हद तक अपनाया गया, तो शायद यह इसी तरह काम करेगा
      विज्ञापन की तरह tracking से आर्थिक लाभ कमाने वाले लोग शायद ऐसे option को support नहीं करेंगे
    • ज़्यादातर services पहले से ही telemetry इकट्ठा करती हैं, और support की घोषणा कर देने से यह तथ्य बदल नहीं जाता
    • ज़्यादा गहराई में न जाना ही बेहतर है
      वरना आप बहुत से modern tools इस्तेमाल ही नहीं कर पाएँगे
  • जब तक कंपनियाँ इस proposal को बहुत धीरे-धीरे implement करती रहें, क्या कहीं आम tools के opt-out methods एक जगह इकट्ठा मिलते हैं?
    ऐसा shell module भी संभव लगता है जो इन्हें सेट करे और list को नियमित रूप से update करे

  • अपना DNS चलाना और problematic domains को blocklist में डालना शायद ज़्यादा आसान होगा
    telemetry domains वाली बहुत अच्छी blocklists भी हैं जिनमें लाखों domains हैं। उदाहरण: https://github.com/hagezi/dns-blocklists

    • इससे भी बेहतर है कि ऐसा spyware कचरा अपने कंप्यूटर में आने ही न दिया जाए
    • यही सही तरीका है
      जो लोग “standard” की बात करते हैं, वे बस अनौपचारिक विकल्पों की लंबी सूची में एक और चीज़ जोड़ रहे हैं
  • browser में global tracking ban आम तौर पर इसलिए काम करता है क्योंकि उसका लक्ष्य हर वह website है जिस पर जाया जाए, और advertising के उद्देश्य से की जाने वाली tracking
    लेकिन telemetry पूरी तरह अलग समस्या है, इसलिए default blocking एक विकल्प हो सकती है, पर हर tool के लिए इरादा व्यक्त करने के लिए एक ही standard variable का इस्तेमाल व्यवहारिक रूप से कठिन है

  • कुछ साल पहले भी यही proposal आया था, लेकिन कहीं नहीं पहुँचा
    https://web.archive.org/web/20200613155957/https://consoledo...