2 poin oleh GN⁺ 1 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • DO_NOT_TRACK adalah usulan untuk menyatukan berbagai cara menonaktifkan telemetri yang berbeda-beda di tiap alat CLI, SDK, dan framework menjadi satu variabel lingkungan
  • .NET, AWS SAM CLI, Azure CLI, Gatsby, Go, Google Cloud SDK, Homebrew, Netlify CLI, dan Syncthing masing-masing mematikan telemetri dengan pengaturan atau perintah yang berbeda
  • DO_NOT_TRACK=1 berarti menolak pelacakan iklan, pelaporan penggunaan, telemetri, laporan crash, serta permintaan kepada pembuat perangkat lunak atau pihak ketiga yang tidak esensial bagi fitur
  • Pengguna dapat mengatur export DO_NOT_TRACK=1 dan menambahkannya ke pengaturan shell Bash, Zsh, Fish, PowerShell, dan Windows CMD agar berlaku untuk semua sesi terminal
  • Pembuat perangkat lunak harus menonaktifkan semua pelacakan jika DO_NOT_TRACK bernilai 1, dan menghormati variabel ini bersama cara penonaktifan yang sudah ada

Masalah dan usulan

  • Banyak alat CLI, SDK, dan framework secara bawaan mengumpulkan data telemetri, dan setiap alat memiliki cara penonaktifan yang berbeda
  • Misalnya, .NET menggunakan DOTNET_CLI_TELEMETRY_OPTOUT=1, AWS SAM CLI menggunakan SAM_CLI_TELEMETRY=0, Azure CLI menggunakan AZURE_CORE_COLLECT_TELEMETRY=0, Gatsby menggunakan GATSBY_TELEMETRY_DISABLED=1, Go menggunakan go telemetry off, Google Cloud SDK menggunakan gcloud config set disable_usage_reporting true, Homebrew menggunakan HOMEBREW_NO_ANALYTICS=1, Netlify CLI menggunakan netlify --telemetry-disable, dan Syncthing menggunakan STNOUPGRADE=1
  • DO_NOT_TRACK diusulkan sebagai satu variabel lingkungan standar yang secara jelas menyatakan bahwa pengguna menolak hal-hal berikut
    • pelacakan iklan
    • pelaporan penggunaan, baik anonim maupun tidak
    • telemetri
    • laporan crash
    • permintaan kepada pembuat perangkat lunak atau pihak ketiga yang tidak esensial bagi fitur
  • Pengguna dapat menyatakan bahwa mereka hanya menginginkan perangkat lunak lokal dengan mengatur export DO_NOT_TRACK=1
  • Jika ditambahkan ke file konfigurasi shell, pengaturan ini dapat berlaku untuk semua sesi terminal
    • Bash: tambahkan export DO_NOT_TRACK=1 ke ~/.bashrc
    • Zsh: tambahkan export DO_NOT_TRACK=1 ke ~/.zshrc
    • Fish: tambahkan set -x DO_NOT_TRACK 1 ke ~/.config/fish/config.fish
    • PowerShell: tambahkan $env:DO_NOT_TRACK = "1" ke $PROFILE
    • Windows CMD: gunakan setx DO_NOT_TRACK 1 pada variabel lingkungan sistem

Pembuat perangkat lunak dan standar terkait

  • Alat yang melakukan telemetri, analitik, atau permintaan jaringan yang tidak esensial bagi fitur harus memeriksa variabel DO_NOT_TRACK
  • Jika DO_NOT_TRACK diatur ke 1, semua pelacakan harus dinonaktifkan
  • Variabel ini harus dihormati bersama cara penonaktifan yang sudah ada
  • Selain model aktif secara default lalu ditolak, pendekatan opt-in juga layak dipertimbangkan
  • no-color.orgNO_COLOR, standar untuk menonaktifkan output berwarna
  • force-color.orgFORCE_COLOR, standar untuk memaksa output berwarna

1 komentar

 
GN⁺ 1 jam lalu
Komentar Hacker News
  • Menarik bahwa pada titik ini, tak ada yang akan terkejut bahkan jika keadaan default adalah setuju untuk dilacak
    Flag seperti DO_NOT_TRACK memang terlihat bagus, tapi di saat yang sama rasanya mengerikan karena seolah berarti nilai default-nya adalah CONSENT_TO_TRACK=1

    • Kapan tepatnya kita meminta agar tidak dilacak? Flag ini dikirim saat browser saya mengakses server milik orang lain
      Internet tumbuh besar karena model bisnis utama adalah iklan dan server mengekstrak informasi turunan dari pengguna
      Ini tidak menyenangkan, tidak privat, tidak aman, tetapi juga tidak ilegal di sebagian besar yurisdiksi dan industri
      Flag ini bukan utopia dongeng, melainkan respons terhadap kenyataan yang sudah mengeras secara de facto maupun hukum
    • Menurut saya, keberadaan flag seperti ini sendiri sudah bermasalah
      Saya tidak ingin mengirim informasi apa pun dan tentu tidak ingin dilacak, jadi menandainya dengan variabel lingkungan saja sudah terasa tidak masuk akal
      Sulit memahami orang yang tidak ingin dilacak tetapi senang memberikan informasi itu, dan pada saat informasi itu diberikan, Anda sebenarnya sudah menandai diri sendiri
  • Saya selalu lebih suka nama variabel berbentuk positif, jadi dalam kasus ini jadinya ALLOW_TRACKING=0
    Itu memberi konsistensi dan menghindari negasi ganda, sehingga lebih mudah dipahami
    Meski begitu, nama “DO NOT TRACK” mungkin memang sudah cukup mapan sebagai istilah

    • ALLOW_TRACKING juga bisa diimplementasikan sebagai daftar yang dipisahkan koma, sehingga kita bisa menentukan hanya aplikasi yang diizinkan
      Misalnya jika saya ingin berbagi telemetri dengan go dan brew, tetapi tidak dengan aws dan yang lainnya, saya bisa memakai ALLOW_TRACKING=go,brew
  • Kemungkinan besar akan bernasib sama seperti DNT di browser
    Meski begitu, mengumpulkan semua variabel lingkungan “jangan lacak” ke dalam satu file do_not_track.env tampaknya bukan ide yang buruk

    • https://toptout.me sudah ada, dan jika tujuannya bukan membuat yang baru, itu sudah menangani cukup banyak masalah seperti ini
      Jika ingin mengikuti spesifikasi di halaman itu sambil menanganinya lewat satu variabel lingkungan sederhana, ada juga https://github.com/alloydwhitlock/do-not-track-cli
    • Industri periklanan mengabaikannya dengan alasan Microsoft menyalakan DNT secara default sehingga merampas hak pilih pengguna
      Kemungkinan besar sebenarnya mereka memang tidak pernah berniat mematuhinya
    • Saya suka arah ini
      Daripada menuntut semua orang memakai satu hal yang universal, solusi nyatanya mungkin justru seperti ini
      Saya terpikir untuk mulai membuat sesuatu sebagai titik awal
  • Sebagai referensi, telemetri Go secara default hanya disimpan secara lokal dan tidak diunggah: https://go.dev/doc/telemetry

  • Saya terkejut ternyata cukup sulit mencegah library Python transformers menghubungi Hugging Face
    Saya sudah menetapkan HF_HUB_DISABLE_TELEMETRY=1 dan juga menuliskan local_files_only=True saat memanggil Wav2Vec2CTCTokenizer.from_pretrained, tetapi tetap saja muncul peringatan bahwa tidak ada HF_TOKEN yang valid
    Baru setelah tanpa sengaja menemukan HF_HUB_OFFLINE=1, saya agak yakin bahwa tidak ada koneksi ke HF setiap kali memuat model wav2vec2 dari disk
    Kalau bukan karena peringatan HF_TOKEN yang menyebalkan itu, saya mungkin tidak akan tahu bahwa ini sedang terjadi

    • HF terkenal membuat pekerjaan offline jadi sulit
      Bahkan untuk sekadar mencegah pemborosan waktu karena mencoba terkoneksi padahal semua yang dibutuhkan sudah ada di lokal, caranya terus berubah
      Dulu juga ada TRANSFORMERS_OFFLINE, HF_DATASETS_OFFLINE, dan semacamnya
    • Apakah alat seperti Little Snitch bisa membantu menangkap hal seperti ini dan menemukan pihak yang melakukan komunikasi tersembunyi?
  • Ini tampak seperti honeypot yang berguna
    Jika sebuah alat secara terbuka mengumumkan dukungan untuk spesifikasi ini, itu berarti sejak awal ia mengumpulkan telemetri tanpa persetujuan eksplisit, jadi bisa dianggap sebagai alat yang harus dihindari

    • Dukungan DO_NOT_TRACK tidak serta-merta berarti pelacakan dilakukan tanpa persetujuan eksplisit
      Misalnya perangkat lunak bisa crash, lalu penangan crash menanyakan apakah dump ingin dikirim
      Jika DO_NOT_TRACK ada, penangan crash itu sendiri dinonaktifkan sehingga tidak ada pertanyaan maupun dump
      Jika nantinya cukup diadopsi, kemungkinan besar akan bekerja seperti itu
      Pihak yang mendapat keuntungan finansial dari pelacakan seperti iklan kemungkinan tidak akan mendukung opsi seperti ini
    • Sebagian besar layanan memang sudah mengumpulkan telemetri, dan mengumumkan dukungan tidak mengubah fakta itu
    • Sebaiknya jangan melihat terlalu dalam
      Kalau tidak, Anda mungkin jadi tidak bisa memakai banyak alat modern
  • Sambil menunggu perusahaan menerapkan usulan ini dengan sangat lambat, adakah tempat yang mengumpulkan cara opt-out untuk alat-alat umum di satu lokasi?
    Bahkan mungkin bisa dibuat modul shell yang mengatur semuanya lalu memperbarui daftar itu secara berkala

  • Mungkin lebih mudah menjalankan DNS sendiri dan memasukkan domain bermasalah ke daftar blokir
    Ada juga daftar blokir bagus yang berisi jutaan domain telemetri. Contoh: https://github.com/hagezi/dns-blocklists

    • Lebih baik lagi jangan masukkan sampah spyware seperti itu ke komputer Anda sejak awal
    • Ini cara penanganan yang benar
      Orang-orang yang meneriakkan “standar” cuma menambahkan satu lagi ke daftar panjang alternatif tidak resmi
  • Larangan pelacakan global di browser umumnya bekerja karena sasarannya adalah semua situs web yang dikunjungi dan pelacakan untuk tujuan iklan
    Tetapi telemetri adalah masalah yang sama sekali berbeda, jadi pemblokiran default mungkin bisa jadi salah satu opsi, namun secara realistis sulit memakai satu variabel standar untuk mengekspresikan niat terhadap semua alat

  • Beberapa tahun lalu juga pernah ada usulan yang sama, tetapi tidak ke mana-mana
    https://web.archive.org/web/20200613155957/https://consoledo...