2 poin oleh GN⁺ 4 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • GitHub CLI mengirimkan telemetri berbasis pseudonim, dengan tujuan mendapatkan visibilitas penggunaan fitur dan mendukung peningkatan produk
  • Berdasarkan adopsi subcommand dan pola penggunaan flag, data ini digunakan untuk menentukan prioritas pekerjaan, mengevaluasi apakah kebutuhan pengguna terpenuhi, serta meninjau kembali discoverability dan design
  • Karena merupakan implementasi open source, kode telemetri dapat ditinjau langsung di repositori cli/cli, dan melalui logging mode pengguna dapat memeriksa JSON payload sebelum benar-benar dikirim
  • Opt-out dapat dilakukan dengan variabel lingkungan GH_TELEMETRY=false, DO_NOT_TRACK=true, atau gh config set telemetry disabled, dan variabel lingkungan berlaku lebih tinggi daripada config
  • Event telemetri dikirim ke infrastruktur analitik internal GitHub, dan halaman ini hanya membahas pengumpulan data sisi klien pada gh; extensions dan Copilot CLI dibahas secara terpisah

Telemetri

  • GitHub CLI mengirimkan telemetri berbasis pseudonim, dengan tujuan mendukung peningkatan produk
  • Informasi disediakan agar pengguna dapat memahami data apa yang dikirim dan alasannya

Alasan pengumpulan telemetri

  • Disebutkan perlunya mendapatkan visibilitas penggunaan fitur GitHub CLI, khususnya seiring meningkatnya adopsi agentic, untuk memahami bagaimana alat ini benar-benar digunakan
    • Tim menggunakan data ini untuk menentukan prioritas pekerjaan
    • Menilai apakah fitur benar-benar memenuhi kebutuhan pengguna
  • Tujuan lain yang dinyatakan adalah memeriksa adopsi setelah subcommand baru dirilis
    • Jika hampir tidak ada pengguna, discoverability atau design fitur tersebut mungkin perlu ditinjau ulang
    • Jika terlihat penggunaan tinggi bersama flag tertentu, hal itu dapat menunjukkan area yang layak diinvestasikan untuk pengalaman yang lebih baik

Meninjau telemetri

  • GitHub CLI bersifat open source, dan implementasi telemetrinya dapat ditinjau langsung di repositori cli/cli
  • Untuk melihat data yang akan dikirim tanpa benar-benar mengirimkannya, pengguna dapat memakai logging mode
    • Mendukung cara melalui variabel lingkungan
      • export GH_TELEMETRY=log
    • Mendukung cara melalui konfigurasi CLI
      • gh config set telemetry log
  • Dalam logging mode, JSON payload yang semula akan dikirim dicetak ke stderr
    • Setiap field dapat diperiksa sebelum memutuskan apakah telemetri akan tetap diaktifkan
    • Contoh perintah yang diberikan adalah GH_TELEMETRY=log gh repo list --archived
  • Informasi event yang termasuk dalam contoh payload dijelaskan
    • Tipe event command_invocation
    • Item dimensions mencakup agent, architecture, command, device_id, flags, invocation_id, is_tty, os, timestamp, version
    • Nilai contoh yang ditampilkan meliputi architecture: arm64, command: gh repo list, flags: archived, os: darwin, version: 2.91.0
  • Perintah tersebut hanya dapat mencatat telemetri untuk perintah dan konteks yang benar-benar dijalankan
    • Jika variabel lingkungan berubah, events dan event dimensions yang termasuk dalam payload juga dapat berubah
    • Item yang disertakan juga dapat berbeda jika akun yang diautentikasi berubah

Cara opt-out

  • Terhadap telemetri yang diperiksa dalam logging mode, pengguna dapat melakukan opt-out
  • Mendukung cara melalui variabel lingkungan
    • export GH_TELEMETRY=false
    • Dapat menggunakan nilai falsy seperti 0, false, disabled, string kosong
    • Konvensi DO_NOT_TRACK juga didukung, dengan contoh export DO_NOT_TRACK=true
  • Mendukung cara melalui konfigurasi CLI
    • gh config set telemetry disabled
  • Prioritas variabel lingkungan lebih tinggi daripada nilai config

Ke mana data dikirim

  • Event telemetri dikirim ke infrastruktur analitik internal GitHub
  • Untuk informasi tambahan tentang cara data diproses, diarahkan ke GitHub General Privacy Statement

Informasi tambahan

  • GitHub CLI mendukung penambahan fitur melalui pemasangan extensions GitHub maupun pihak ketiga, termasuk agents
  • Extensions ini dapat mengumpulkan data penggunaan mereka sendiri
    • Tidak dikendalikan oleh pengaturan opt-out ini
    • Perlu memeriksa dokumentasi masing-masing extension untuk mengetahui cara telemetri dilaporkan dan apakah dapat dinonaktifkan
  • Halaman ini hanya membahas pengumpulan data sisi klien untuk GitHub CLI gh
    • Tidak berlaku untuk GitHub Copilot dan Copilot CLI
    • Copilot CLI menangani pengumpulan data secara terpisah
    • Informasi terkait diarahkan ke Using GitHub Copilot CLI, Responsible Use of the GitHub Copilot CLI

1 komentar

 
GN⁺ 4 jam lalu
Pendapat Hacker News
  • Bertanya-tanya kenapa tim pengembang perusahaan selalu ingin mengintip pengguna lewat telemetri
    Ingin bertanya apakah rekayasa dan desain yang bagus saja tidak cukup
    Git sudah berjalan baik selama lebih dari 20 tahun tanpa analisis rinci tentang siapa memakai fitur dan perintah apa, jadi diragukan apakah dengan adanya telemetri Git benar-benar akan jadi lebih baik atau malah hanya menambah data yang mengganggu

    • Dulu saya juga menganggapnya tidak perlu, tetapi setelah membangun startup sendiri pikiran saya berubah
      Tanpa analytics, rasanya seperti mengemudi dengan mata tertutup
      Kita tidak tahu apa yang benar-benar dianggap penting oleh pengguna, alur mana yang harus dioptimalkan, dan perbedaan antara apa yang orang katakan dengan cara mereka benar-benar memakai software ternyata sangat besar
    • Karena kebutuhan dan cara pikir pengembang dan pengguna berbeda, saya rasa desain yang bagus saja tidak cukup
      Dalam banyak kasus juga sulit mendapatkan umpan balik yang baik dari orang-orang, dan walaupun semua orang bilang ide fitur X bagus, bisa saja pada praktiknya sama sekali tidak dipakai
      Bahkan jika tampak ada kelompok penggemar yang vokal, itu belum tentu berujung pada pendapatan atau penggunaan nyata
      Saya rasa sangat mungkin Git akan menjadi lebih baik kalau punya telemetri
      Git terkenal karena UI-nya buruk
      Sejak awal data akan langsung menunjukkan betapa banyak orang kebingungan, dan misalnya perbaikan seperti git restore mungkin akan hadir jauh lebih cepat daripada perintah yang tidak intuitif seperti git checkout -- foo.txt
    • Sayangnya saya rasa gejala seperti ini terjadi karena terlalu banyak pengambil keputusan nonteknis
      Orang-orang yang tidak memakai alatnya sendiri tidak memahami bagaimana alat itu benar-benar digunakan, jadi PM yang menangani developer tools meminta data seperti ini agar bisa menjalankan pekerjaannya
      Strukturnya terlihat mirip dengan PM e-commerce yang menumpuk skrip pelacakan di frontend
      Dulu para engineer saja sudah cukup untuk merancang interaksi dengan pengguna, tetapi setelah era VC, paradigma bahwa produk teknologi dipimpin oleh orang nonteknis yang tidak mendalaminya justru mengeras, dan itu terasa sebagai masalah
      Pada akhirnya data jatuh ke tangan mereka, dan seseorang jadi bisa membenarkan gaji PM
    • Saya rasa kita tidak bisa dengan begitu saja mengatakan bahwa kalau Git punya telemetri itu tidak akan membantu
      Bagi saya itu tidak jelas
    • Menurut saya Git sangat buruk dalam desain dan kegunaan
      Ini terlihat seperti contoh khas ketika engineer membuat antarmuka untuk engineer, tanpa loop umpan balik yang baik
      Ironisnya, contoh ini sendiri menunjukkan bahwa pengembang perlu lebih memahami bagaimana produk mereka benar-benar digunakan
      Skenario penggunaan yang dibayangkan pengembang di kepala mereka biasanya cukup berbeda dari kenyataan
  • Menurut saya masalah opt-out pada CLI gh lebih rumit daripada yang terlihat
    gh juga berjalan di pipeline CI/CD atau lingkungan server, dan di sana mereka mungkin tidak menginginkan koneksi keluar ke github.com sama sekali, bukan karena privasi melainkan karena pembatasan jaringan
    Di tempat seperti itu, jika telemetri aktif secara default, CI bisa gagal atau Bastion host bisa sama sekali tidak dapat menjangkau GitHub
    Sebaliknya, Git sendiri sepenuhnya berjalan secara lokal sampai pengguna secara eksplisit melakukan push
    Model kepercayaannya berbeda
    Git tidak pernah phone home kecuali dikonfigurasi, sedangkan gh diakui memang pembungkus untuk GitHub API sehingga secara fungsional perlu melakukan panggilan
    Tetapi terlepas dari fakta itu, menurut saya perlu dipertanyakan secara terpisah apakah pola penggunaan perintah juga perlu dikumpulkan dan diunggah

    • Saya tidak mengira program akan mati dengan hard error hanya karena pengiriman telemetri gagal
    • Saya penasaran apakah gh pada dasarnya tidak berguna kalau tidak bisa terhubung ke GitHub.com
      Atau apakah koneksi ke enterprise GitHub justru merupakan kasus utama
  • Jika tiga pengembang menghabiskan 80 persen waktunya pada area tertentu di codebase tetapi ternyata tidak ada penggunaan, dan secara realistis tidak terlihat akan bertambah ke depan, mungkin lebih baik memindahkan tenaga itu ke tempat lain atau memikirkan ulang fitur tersebut
    Tetapi masalah dengan analytics seperti ini adalah adanya pemahaman bahwa data bisa dipakai secara tidak berbahaya, namun pengidentifikasi unik dan pola perilaku dapat digabung lalu identitas direkonstruksi dengan machine learning
    Jika sampai mencakup timestamp, itu jadi lebih serius
    Karena itu saya pikir akan bagus kalau dijelaskan secara persis telemetri apa yang dikirim dan kapan
    Misalnya sediakan opsi untuk menampilkan apa yang akan dikirim dalam mode verbose tanpa benar-benar mengirimnya, lalu biarkan pengguna meninjau dan memutuskan apakah ingin menyalakannya
    Pendekatan seperti Steam Hardware Survey yang memperlihatkan apa yang dikirim terasa tepat

  • Semua perintah gh pada akhirnya hanyalah pembungkus API GitHub, dan menurut saya diskusi ini jadi makin membingungkan karena hal itu

  • Saya suka PR yang sesingkat ini
    https://github.com/cli/cli/pull/13254
    Isinya juga sederhana, sehingga saya membacanya sebagai penghapusan env var yang sebelumnya memblokir telemetri, sehingga sekarang berubah menjadi aktif secara default

    • Rasanya bukan cuma aktif secara default, tetapi malah tampak tidak bisa dinonaktifkan
      Selain enterprise, kelihatannya praktis dipaksa aktif
  • Saya sangat puas karena bulan lalu memasang gitea di homelab
    Ada fitur impor dari GitHub juga, dan sejujurnya terasa lebih cepat daripada GitHub serta uptime-nya juga lebih baik
    Claude juga terhubung dengan baik ke CLI tea dan Git, dan meski hampir seperti tiruan GitHub, sejauh ini malah terasa lebih baik

    • Saya memakai Forgejo, dan mungkin karena berbagi core code yang sama, hasilnya memang luar biasa
      Cepat dan uptime-nya bagus
      Bahkan berjalan di Pi 4 di kabinet sebelah meja, jadi tetap berfungsi walaupun internet putus
      Backup juga saya kirim offsite dengan borg dan syncthing
      Konfigurasinya memang butuh sedikit usaha, tetapi setelah itu waktu perawatannya nyaris nol
      Sekitar dua minggu sekali saya hanya SSH masuk untuk mengecek ruang SSD, penggunaan RAM, apt update, upgrade, dan upgrade versi mayor
  • Apakah orang-orang tidak menganggap bahwa GitHub sudah mengumpulkan dan mengagregasi semua request yang masuk ke servernya sendiri
    Lagi pula alasan keberadaan CLI gh juga untuk berinteraksi dengan server itu
    Kalau memang tidak ingin request dilacak, menurut saya ada jauh lebih banyak hal yang harus di-opt-out daripada sekadar pengaturan ini

    • Karena datanya ada di server, saya tentu menganggap mereka memang sudah melihatnya
      Hanya saja kali ini tampaknya mereka ingin menambahkan metrik sisi klien, agar bisa melacak lebih baik bukan hanya alur menuju GitHub tetapi juga alur ke tempat lain seperti GitLab, Codeberg
  • Dari sudut pandang GitHub, ini mungkin hal yang baik
    Semua perusahaan membutuhkan data seperti ini; ada yang memakainya untuk perbaikan produk dan ada juga yang memakainya untuk tujuan yang kurang baik
    Saya tahu pengguna HN membenci telemetri, tetapi kalau pernah membangun SaaS sendiri, rasanya akan paham bahwa telemetry itu pada dasarnya penting

    • GitHub CLI bukan SaaS, melainkan utilitas command line
    • Saya justru merasa seharusnya pengguna ditanya langsung terlebih dahulu
      Pada akhirnya saya ingin mengkritik absennya dialog
    • Saya penasaran apa praktik terbaik untuk memverifikasi isi telemetri sebuah alat
      Intinya ada pada detail, dan saya sedang memikirkan apakah ada semacam layanan perantara tepercaya yang bisa menciptakan titik tengah yang bisa diterima baik oleh pengguna maupun pembuat produk
      Disebutkan juga bahwa hasil riset dengan bantuan Claude sedang dirangkum dalam sebuah Gist
    • Cara bicara para pendukung AI terasa mirip semua
  • Ini mengingatkan pada Embrace, extend, extinguish milik Microsoft
    Dua tahap pertama sudah berjalan, dan diperkirakan dalam 5 tahun GH CLI akan menjadi satu-satunya cara untuk berinteraksi dengan repositori GitHub
    Kalau begitu tahap ketiga selesai dan siklusnya berakhir

    • Saya bersedia bertaruh melawan prediksi itu
      Sampai ingin bertanya mau bertaruh berapa lama, karena terasa seperti prospek yang tidak realistis
    • Klaim seperti ini benar-benar melelahkan
      Orang-orang juga terus memasang kerangka EEE pada WSL, dukungan GPU, WSLg, dan PowerShell, tetapi itu tidak terjadi
      Sekarang pun begitu, dan sejak awal pun nyaris tidak terlihat tanda bahwa itu memang direncanakan
      Ini bukan sesuatu yang bisa ditafsirkan hanya dari firasat; posisinya adalah minta ditunjukkan bukti tentang di mana pola berulang yang benar-benar dipakai Microsoft pada tahun 90-an itu sedang direproduksi sekarang
      Tidak ada Microsoft Git yang mengunci lebih banyak fitur dibanding open source, dan hal yang sama juga berlaku untuk Microsoft Linux
      GitHub adalah pembungkus di atas Git, dengan desain inti sebagai server Git yang berjalan di atas HTTP dan SSH
      Merusak fondasi itu lalu mengunci akses repositori hanya lewat gh adalah perubahan yang terlalu besar sehingga terasa tidak realistis
      gh hanyalah alat untuk mempermudah pemanggilan API, dan mayoritas pengguna GitHub bahkan nyaris tidak tahu alat itu ada
      Justru yang lebih mungkin merusak GitHub bukan EEE yang jahat, melainkan manajemen yang tidak kompeten
      Rasanya kemungkinan jatuh karena eksekutif yang tidak memahami pengguna dan produknya jauh lebih besar
    • Saya tidak sepenuhnya meragukan prediksi itu
      Sudah ada repositori tertentu yang terasa merepotkan ditangani tanpa gh, dan saya rasa sedikit demi sedikit mulai muncul alur yang dipaksakan
      Saya sendiri tidak tahu persis apa nilai tambah gh karena belum memakainya, tetapi bagi saya perintah Git standar saja sudah cukup
  • Saya bingung apakah pseudonymous telemetry yang dimaksud di sini berarti telemetri pseudonim atau justru telemetri yang sebenarnya tidak anonim
    Kedua ungkapan itu hampir berlawanan arti, jadi dengan redaksi sekarang rasanya seperti mengatakan bahwa mereka mengumpulkan data yang dapat mengidentifikasi

    • Halaman terkait hanya memakai istilah pseudonymous, sedangkan pseudoanonymous tampaknya istilah buatan penulis postingan HN
    • Saya memahaminya sebagai data yang tidak terhubung ke identitas orang atau akun GitHub, tetapi semua telemetri yang berasal dari satu mesin tetap bisa dilihat sebagai satu kesatuan
      Setiap mesin tampaknya diberi UUID, dan mesin diidentifikasi berdasarkan itu