1 poin oleh GN⁺ 2023-07-09 | 1 komentar | Bagikan ke WhatsApp
  • Homebrew mengumpulkan analitik anonim ke InfluxDB dan hanya mengaktifkannya setelah menampilkan pemberitahuan saat pertama kali menjalankan brew update atau saat instalasi
  • Karena merupakan proyek gratis berbasis relawan, data seperti tingkat kegagalan formula, versi OS, dan frekuensi penggunaan perintah menjadi dasar untuk menentukan prioritas fitur dan perbaikan
  • Data analitik anonim di InfluxDB disimpan selama 365 hari, dan semua data analitik yang sebelumnya dikirim ke Google Analytics telah dihapus
  • Cakupan pengumpulan dibatasi pada apakah dijalankan di CI, apakah menggunakan prefix instalasi default, arsitektur CPU, OS dan versi Homebrew, serta event seperti instalasi, galat build, dan eksekusi perintah
  • Pengguna dapat menonaktifkan analitik dengan HOMEBREW_NO_ANALYTICS=1 atau brew analytics off, dan event tertentu tidak dikaitkan dengan pengguna tertentu maupun menyimpan alamat IP

Kapan analitik diaktifkan dan mengapa digunakan

  • Homebrew disediakan secara gratis dan dikelola oleh para relawan di waktu luang mereka, sehingga tidak memiliki sumber daya riset pengguna tersendiri yang memadai untuk merancang fitur dan menentukan prioritas pekerjaan
  • Analitik anonim digunakan untuk memahami bagaimana, di mana, dan kapan Homebrew dipakai guna menentukan prioritas perbaikan dan fitur
    • Formula yang banyak dipakai tetapi sering gagal dapat diprioritaskan untuk diperbaiki dibanding formula lain
    • Informasi versi OS digunakan untuk memprioritaskan versi macOS yang akan didukung dan mengidentifikasi kegagalan build yang hanya terjadi pada versi tertentu
    • Perintah yang jarang digunakan dapat dihentikan
  • Analitik hanya diaktifkan setelah menampilkan pemberitahuan saat pertama kali menjalankan brew update atau saat menginstal Homebrew
    • Sebelum pemberitahuan itu, data analitik tidak dikirim, sehingga pengguna dapat memilih opt-out sebelum data dikirim
  • Masa penyimpanan data analitik anonim yang disimpan di InfluxDB adalah 365 hari
  • Semua data analitik yang sebelumnya dikirim ke Google Analytics telah dihapus

Event yang dikirim dan cakupan pengumpulan

  • Semua event formula atau cask dicatat bersama informasi umum berikut
    • Apakah dikirim dari CI
    • Apakah menggunakan prefix instalasi default
      • Contoh prefix default adalah /opt/homebrew
      • Contoh prefix kustom adalah /home/mike/.brew
      • Prefix kustom dikirim sebagai custom-prefix untuk menjaga anonimitas
    • Apakah variabel lingkungan HOMEBREW_DEVELOPER disetel
    • Status devcmdrun yang menunjukkan apakah pernah menjalankan perintah pengembang Homebrew
    • Arsitektur CPU, misalnya x86_64
    • OS dan versinya, misalnya macOS 13
    • Versi Homebrew, misalnya 4.0.0
  • Analitik Homebrew mencatat beberapa kategori event
    • install: formula Homebrew yang diinstal dari GitHub tap yang tidak privat beserta opsi yang digunakan
    • install_on_request: formula dan opsi yang secara eksplisit diminta pengguna untuk diinstal
    • cask_install: cask Homebrew yang diinstal dari GitHub tap yang tidak privat
    • build_error: formula dan opsi yang gagal diinstal
      • Rincian atau log galat build tidak dikirim
    • command_run: perintah dan flag yang dijalankan
    • test_bot_test: hanya digunakan di lingkungan CI Homebrew untuk mencatat hasil pengujian pull request
  • Jika HOMEBREW_ANALYTICS_DEBUG=1 disetel di lingkungan, Anda dapat melihat semua informasi yang dikirim oleh analitik Homebrew, dan pengaturan ini juga menghentikan pengiriman analitik
  • Data analitik dikirim ke InfluxDB melalui HTTPS selama eksekusi Homebrew

Data publik, kode, dan opt-out

  • Event analitik yang telah diagregasi dapat dilihat di halaman publik dan juga tersedia melalui JSON API
    • Sebagian besar maintainer utama Homebrew tidak diberi akses ke data analitik yang lebih rinci di luar sumber daya publik ini
  • Pengembang Homebrew tidak dapat mengaitkan event tertentu dengan pengguna tertentu, dan juga tidak menyimpan atau menerima alamat IP
  • Kode analitik dapat dilihat di analytics.rb dan analytics.sh
    • Dijalankan dalam proses latar belakang terpisah
    • Gagal dengan cepat agar tidak memperlambat eksekusi Homebrew
    • Jika tidak ada koneksi jaringan, akan langsung gagal secara senyap
  • Untuk menonaktifkan analitik, Anda dapat menggunakan variabel lingkungan atau perintah
    • export HOMEBREW_NO_ANALYTICS=1
    • brew analytics off

1 komentar

 
GN⁺ 2023-07-09
Komentar Hacker News
  • Fitur analitik Homebrew kini sudah sepenuhnya dipindahkan ke instance InfluxDB di UE, mengumpulkan lebih sedikit data daripada sebelumnya, dan semua data Google Analytics telah dihapus
    https://docs.brew.sh/Analytics
    Saat mencoba menjalankan brew analytics setelah pembaruan pagi ini, muncul InfluxDB analytics are disabled. dan Google Analytics were destroyed.

    • Itu karena HOMEBREW_NO_ANALYTICS 1 sedang disetel; jika pengaturan ini dihapus, analitik InfluxDB akan aktif
    • Agak aneh sampai menyebutkan teknologi basis data yang dipakai. Dalam konteks keseluruhan, itu tampaknya tidak terlalu relevan
  • Patut diapresiasi bahwa tim Homebrew menepati janji untuk keluar dari Google Analytics

  • Jika saat ini konfigurasinya seperti di bawah, maka brew analytics state akan menampilkan bahwa analitik InfluxDB dinonaktifkan dan Google Analytics telah dihapus
    HOMEBREW_NO_GOOGLE_ANALYTICS 1
    HOMEBREW_NO_ANALYTICS 1
    Setelah itu, saat menjalankan brew update, akan muncul peringatan bahwa HOMEBREW_NO_GOOGLE_ANALYTICS sekarang tidak lagi berpengaruh sehingga boleh dihapus, bersama pemberitahuan bahwa analitik telah dipindahkan ke InfluxDB di UE dan bisa diaktifkan kembali dengan brew analytics on
    Namun, jika ingin analitik InfluxDB tetap tidak aktif, HOMEBREW_NO_ANALYTICS 1 harus tetap dipertahankan

  • Saya masih memakai macOS karena Homebrew; kalau tidak ada, saya mungkin akan memakai apt di Linux
    Saya penasaran apakah ada situs yang bagus untuk mencari paket apt seperti brew.sh. Halaman apt Ubuntu terlalu membingungkan

  • Saya tidak paham mengapa pengelola paket perlu mengumpulkan data analitik
    Bahkan data yang dikumpulkan pun bisa jadi dapat digunakan untuk mengidentifikasi melalui sidik jari perangkat

    • Homebrew sepenuhnya dipelihara oleh kontributor open source, dan menjaga ribuan paket tetap mutakhir saja sudah merupakan pekerjaan besar
      Data analitik menjadi sistem peringatan sekaligus dasar nyata untuk menilai pentingnya paket, tingkat ketidakstabilan, dan sebagainya
      Selain itu, meskipun Homebrew berjalan di atas macOS, mereka tidak bisa mengendalikan bagaimana Apple mengubah macOS, jadi analitik membantu mendeteksi dengan cepat kerusakan yang timbul akibat perubahan sepihak dari Apple
    • Alasannya dijelaskan di bagian “Why?” pada awal tulisan
      Homebrew gratis dan sepenuhnya dijalankan sukarelawan di waktu luang mereka, jadi tidak ada sumber daya untuk melakukan riset pengguna mendalam guna menentukan desain fitur mendatang atau prioritas pekerjaan saat ini
      Melalui analitik anonim, mereka bisa mengetahui formula mana yang banyak dipakai tetapi sering gagal, versi macOS mana yang harus diprioritaskan dukungannya, dan kegagalan build apa yang hanya terjadi pada versi tertentu
    • Sulit memperbaiki produk kalau tidak tahu bagaimana produk itu dipakai
    • Saya benar-benar penasaran, bagaimana tepatnya sidik jari perangkat bekerja dalam konteks ini
  • Pembaruan: ada juga penjelasan bahwa penggunaan Google Analytics itu sendiri bukan masalah
    https://arstechnica.com/tech-policy/2023/07/big-tech-can-tra...

  • brew analytics off

  • Menarik bahwa layanan gratis bisa lebih baik dalam mematuhi GDPR dibanding pop-up mengganggu tanpa akhir dari situs lain
    Pop-up menyebalkan itu kadang terlihat bukan karena perlu, melainkan sengaja dibuat untuk menyusahkan

    • Sistem yang hampir tidak menyimpan data pribadi tentu jauh lebih mudah mematuhi GDPR
      Selain soal “semakin sedikit data, semakin sedikit masalah”, birokrasi juga besar pengaruhnya. Saat dulu menangani kepatuhan GDPR, tim keamanan ingin menyimpan semua data selamanya, sementara tim hukum yang menilai cakupan GDPR dan tim hukum umum saling bertentangan
      Terutama tim hukum umum, yang bahkan tidak memahami apa yang dilakukan sistem dan mengabaikan penjelasan, terus mendorong perubahan kebijakan retensi yang tidak relevan atau saling bertentangan
    • Wajar berharap layanan nirlaba akan lebih baik dalam kepatuhan privasi dibanding layanan yang berusaha memaksimalkan data pengguna demi menghasilkan uang
    • Mematuhi GDPR sebenarnya sangat mudah. Jangan kumpulkan informasi yang dapat mengidentifikasi secara pribadi sejak awal
      Jika ingin mengumpulkan data, tanyakan kepada pengguna dan jelaskan dengan tepat apa yang akan dilakukan
      Semuanya mulai rumit ketika Anda ingin mengumpulkan begitu banyak data sehingga pengguna tidak akan setuju jika benar-benar paham cakupannya, lalu mengirimkannya ke banyak pihak ketiga. Sejak titik itu, yang dilakukan biasanya adalah memakai teknik paling gelap untuk menipu pengguna sambil berpura-pura patuh secara hukum
  • Keren sekali, bahkan alat baris perintah pun mengirim telemetri ke rumah. Tidak ada lagi tempat yang bebas dari spyware

    • Mencampuradukkan “spyware” dalam arti pelacakan untuk monetisasi dengan telemetri untuk membantu pengembang memantau kondisi sistem yang mereka operasikan adalah hal yang bodoh dan merugikan
      Homebrew adalah sistem kompleks yang bisa rusak dalam banyak cara, dan tidak didukung perusahaan; pengembangannya sepenuhnya open source
      Bisa melihat sampai tingkat tertentu bagaimana sistem yang berjalan berperilaku adalah hal mendasar. Menuntut para pengembang yang menyumbangkan waktu ke proyek yang sangat berguna ini untuk bekerja dengan satu tangan terikat karena paranoia rasanya keterlaluan
      Jika tuntutan seperti ini diterapkan, perangkat lunak open source bisa jadi tidak akan dibuat, atau justru jatuh ke tangan perusahaan komersial yang niatnya jauh kurang baik terhadap spyware
      Dalam kasus ini, proyek Homebrew mendengarkan masukan komunitas dan berpindah ke analitik self-hosted yang berfokus pada privasi, jadi orang seperti ini mungkin memang tidak akan pernah puas dan sebaiknya diabaikan
    • Saya tidak paham kenapa fakta bahwa ini alat baris perintah dianggap sebagai pembeda
      Kalau ini alat sederhana yang tidak butuh koneksi internet, mungkin masuk akal, tetapi Homebrew bukan sekadar alat baris perintah; ia juga merupakan repositori dan sistem build yang terus bergerak
      Sebagai pengembang, wajar ingin memahami dampak perubahan tertentu terhadap pengalaman pengguna
  • Keluar dari Google Analytics terasa seperti pilihan yang agak canggung
    Google bisa mendapatkan hampir semua data yang diinginkannya lewat pengguna Chrome, dan GA pada dasarnya lebih berfungsi untuk membuat pengguna non-Chrome juga terlihat oleh Google
    Yang lebih penting, GA membuat saya juga bisa melihat apa yang dilihat Google di situs saya
    Mematikan GA mungkin sedikit menghambat Google, tetapi sepertinya paling hanya mengurangi sekitar 10% data penggunaan pengguna, sementara sebagai gantinya saya kehilangan kemampuan untuk melihat apa yang Google lihat tentang saya
    Google tetap menjadi sumber lebih dari 90% lalu lintas pencarian, jadi keluar dari GA terasa seperti mengubur kepala di pasir
    Saya paham kalau orang tidak ingin dilacak atau datanya dibagikan, tetapi saya tidak yakin mematikan GA benar-benar menyelesaikan masalah itu