- 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
- 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
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
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
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 restoremungkin akan hadir jauh lebih cepat daripada perintah yang tidak intuitif sepertigit checkout -- foo.txtOrang-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
Bagi saya itu tidak jelas
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
ghlebih rumit daripada yang terlihatghjuga berjalan di pipeline CI/CD atau lingkungan server, dan di sana mereka mungkin tidak menginginkan koneksi keluar kegithub.comsama sekali, bukan karena privasi melainkan karena pembatasan jaringanDi 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
ghdiakui memang pembungkus untuk GitHub API sehingga secara fungsional perlu melakukan panggilanTetapi terlepas dari fakta itu, menurut saya perlu dipertanyakan secara terpisah apakah pola penggunaan perintah juga perlu dikumpulkan dan diunggah
ghpada dasarnya tidak berguna kalau tidak bisa terhubung keGitHub.comAtau 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
ghpada akhirnya hanyalah pembungkus API GitHub, dan menurut saya diskusi ini jadi makin membingungkan karena hal ituSaya 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
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
teadan Git, dan meski hampir seperti tiruan GitHub, sejauh ini malah terasa lebih baikCepat 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 mayorApakah orang-orang tidak menganggap bahwa GitHub sudah mengumpulkan dan mengagregasi semua request yang masuk ke servernya sendiri
Lagi pula alasan keberadaan CLI
ghjuga untuk berinteraksi dengan server ituKalau memang tidak ingin request dilacak, menurut saya ada jauh lebih banyak hal yang harus di-opt-out daripada sekadar pengaturan ini
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
Pada akhirnya saya ingin mengkritik absennya dialog
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
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
Sampai ingin bertanya mau bertaruh berapa lama, karena terasa seperti prospek yang tidak realistis
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
ghadalah perubahan yang terlalu besar sehingga terasa tidak realistisghhanyalah alat untuk mempermudah pemanggilan API, dan mayoritas pengguna GitHub bahkan nyaris tidak tahu alat itu adaJustru 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
Sudah ada repositori tertentu yang terasa merepotkan ditangani tanpa
gh, dan saya rasa sedikit demi sedikit mulai muncul alur yang dipaksakanSaya sendiri tidak tahu persis apa nilai tambah
ghkarena belum memakainya, tetapi bagi saya perintah Git standar saja sudah cukupSaya bingung apakah
pseudonymous telemetryyang dimaksud di sini berarti telemetri pseudonim atau justru telemetri yang sebenarnya tidak anonimKedua ungkapan itu hampir berlawanan arti, jadi dengan redaksi sekarang rasanya seperti mengatakan bahwa mereka mengumpulkan data yang dapat mengidentifikasi
pseudoanonymoustampaknya istilah buatan penulis postingan HNSetiap mesin tampaknya diberi UUID, dan mesin diidentifikasi berdasarkan itu