Homebrew एनालिटिक्स, Google से हटकर EU में स्थानांतरित
(docs.brew.sh)- Homebrew अनाम analytics को InfluxDB में एकत्र करता है और केवल पहली
brew updateरन या install के समय सूचना दिखाने के बाद ही analytics सक्षम करता है - मुफ्त और volunteer-आधारित project होने के कारण formula failure rate, OS version, और command usage frequency जैसे डेटा feature और fix की प्राथमिकता तय करने का आधार बनते हैं
- InfluxDB की अनाम analytics data को 365 दिन तक रखा जाता है, और पहले Google Analytics को भेजा गया सारा analytics data हटा दिया गया है
- संग्रह का दायरा CI है या नहीं, default install prefix के उपयोग है या नहीं, CPU architecture, OS और Homebrew version, install·build error·command execution event आदि तक सीमित है
- उपयोगकर्ता
HOMEBREW_NO_ANALYTICS=1याbrew analytics offसे analytics बंद कर सकते हैं, और किसी विशेष event को किसी विशेष user से जोड़ा नहीं जाता या IP address संग्रहीत नहीं किए जाते
analytics कब चालू होता है और इसका उपयोग क्यों किया जाता है
- Homebrew मुफ्त में उपलब्ध है और volunteers इसे अपने खाली समय में चलाते हैं, इसलिए feature design और काम की प्राथमिकता तय करने के लिए अलग user research resources की कमी है
- अनाम analytics का उपयोग यह समझने के लिए किया जाता है कि Homebrew का उपयोग कैसे, कहाँ और कब हो रहा है, ताकि fixes और features की प्राथमिकता तय की जा सके
- जो formula व्यापक रूप से उपयोग किए जाते हैं लेकिन अक्सर fail होते हैं, उन्हें दूसरे formula की तुलना में fix करने में अधिक प्राथमिकता मिल सकती है
- OS version की जानकारी समर्थित macOS versions की प्राथमिकता तय करने और केवल किसी खास version में होने वाली build failures की पहचान करने में काम आती है
- कम इस्तेमाल होने वाले commands को हटाया जा सकता है
- analytics केवल पहली बार
brew updateचलाने या Homebrew install करने पर सूचना दिखाने के बाद ही सक्षम होता है- सूचना से पहले analytics data नहीं भेजा जाता, ताकि user data भेजे जाने से पहले opt-out कर सके
- InfluxDB में संग्रहीत अनाम analytics data की retention अवधि 365 दिन है
- पहले Google Analytics को भेजा गया सारा analytics data हटा दिया गया है
कौन से event भेजे जाते हैं और संग्रह का दायरा क्या है
- सभी formula या cask events के साथ कुछ सामान्य जानकारी भी दर्ज की जाती है
- क्या यह CI से भेजा जा रहा है
- क्या default install prefix इस्तेमाल हो रहा है
- default prefix का उदाहरण
/opt/homebrew - custom prefix का उदाहरण
/home/mike/.brew - anonymity बनाए रखने के लिए custom prefix को
custom-prefixके रूप में भेजा जाता है
- default prefix का उदाहरण
- क्या
HOMEBREW_DEVELOPERenvironment variable सेट है - क्या
devcmdrunसक्रिय है, जो बताता है कि Homebrew developer command कभी चलाया गया है या नहीं - CPU architecture, जैसे
x86_64 - OS और version, जैसे
macOS 13 - Homebrew version, जैसे
4.0.0
- Homebrew analytics कई event categories रिकॉर्ड करता है
install: non-private GitHub tap से install किए गए Homebrew formula और उपयोग किए गए optionsinstall_on_request: वे formula और options जिन्हें user ने स्पष्ट रूप से install करने के लिए कहाcask_install: non-private GitHub tap से install किए गए Homebrew caskbuild_error: वे formula और options जिनकी install विफल हुई- build error का विस्तृत विवरण या logs नहीं भेजे जाते
command_run: चलाए गए commands और flagstest_bot_test: केवल Homebrew CI environment में pull request test results रिकॉर्ड करने के लिए उपयोग होता है
- अगर environment में
HOMEBREW_ANALYTICS_DEBUG=1सेट किया जाए, तो Homebrew analytics द्वारा भेजी जाने वाली सारी जानकारी देखी जा सकती है, और यह setting analytics transmission को भी रोक देती है - analytics data Homebrew execution के दौरान HTTPS के माध्यम से InfluxDB को भेजा जाता है
सार्वजनिक data, code और opt-out
- aggregated analytics events को public page पर देखा जा सकता है, और एक JSON API भी उपलब्ध है
- अधिकांश Homebrew maintainers को इस public resource से अधिक विस्तृत analytics data का access नहीं दिया जाता
- Homebrew developers किसी विशेष event को किसी विशेष user से जोड़ नहीं सकते, और IP addresses को न तो store किया जाता है और न ही प्राप्त किया जाता है
- analytics code को
analytics.rbऔरanalytics.shमें देखा जा सकता है- यह अलग background process में चलता है
- Homebrew execution में देरी न हो, इसके लिए यह जल्दी fail हो जाता है
- network connection न होने पर यह तुरंत और चुपचाप fail हो जाता है
- analytics बंद करने के लिए environment variable या command का उपयोग किया जा सकता है
export HOMEBREW_NO_ANALYTICS=1brew analytics off
1 टिप्पणियां
Hacker News की टिप्पणियाँ
Homebrew की analytics सुविधा अब पूरी तरह EU के InfluxDB instance पर शिफ्ट हो गई है, पहले से कम डेटा इकट्ठा करती है, और Google Analytics का सारा डेटा हटा दिया गया है
https://docs.brew.sh/Analytics
आज सुबह अपडेट के दौरान
brew analyticsचलाया तोInfluxDB analytics are disabled.औरGoogle Analytics were destroyed.दिखाHOMEBREW_NO_ANALYTICS 1सेट है, और यह सेटिंग हटाने पर InfluxDB analytics चालू हो जाएगीHomebrew टीम ने Google Analytics से बाहर निकलने का वादा निभाया, यह बधाई की बात है
अगर मौजूदा सेटिंग नीचे जैसी है तो
brew analytics stateमें InfluxDB analytics disabled और Google Analytics deleted दिखेगाHOMEBREW_NO_GOOGLE_ANALYTICS 1HOMEBREW_NO_ANALYTICS 1इसके बाद
brew updateकरने पर चेतावनी आती है किHOMEBREW_NO_GOOGLE_ANALYTICSका अब कोई असर नहीं है, इसलिए इसे हटा सकते हैं; साथ ही यह भी बताया जाता है कि analytics अब EU के InfluxDB पर शिफ्ट हो गई है औरbrew analytics onसे इसे फिर चालू किया जा सकता हैफिर भी अगर InfluxDB analytics को चालू नहीं होने देना है, तो
HOMEBREW_NO_ANALYTICS 1बनाए रखना होगाHomebrew की वजह से ही मैं अब तक macOS इस्तेमाल कर रहा हूँ; वरना शायद Linux पर
aptइस्तेमाल करतासोच रहा हूँ कि
brew.shजैसी apt package search के लिए कोई अच्छी साइट है क्या। Ubuntu का apt पेज बहुत उलझाऊ हैapt-cache searchइस्तेमाल किया जाता हैसमझ नहीं आता कि किसी package manager को analytics data क्यों इकट्ठा करना चाहिए
इकट्ठा किया गया डेटा device fingerprinting के ज़रिए पहचानने योग्य भी हो सकता है
analytics data एक warning system की तरह काम करता है और इससे package की अहमियत, अस्थिरता वगैरह का वास्तविक आधार मिलता है
Homebrew macOS पर चलता है, लेकिन Apple macOS को कैसे बदलेगा इस पर उसका कोई नियंत्रण नहीं, इसलिए Apple के एकतरफा बदलावों से होने वाली टूट-फूट को जल्दी पकड़ने में analytics मदद करती है
Homebrew मुफ़्त है और पूरी तरह volunteers अपने खाली समय में चलाते हैं, इसलिए भविष्य की feature design या मौजूदा कामों की priority तय करने के लिए विस्तृत user research करने के संसाधन नहीं हैं
anonymous analytics से यह समझा जा सकता है कि कौन-से formula व्यापक रूप से उपयोग होते हुए भी अक्सर fail होते हैं, किन macOS versions को प्राथमिकता देनी चाहिए, और कौन-सी build failures सिर्फ़ किसी खास version पर होती हैं
अपडेट: यह भी कहा गया है कि Google Analytics का उपयोग अपने आप में कोई समस्या नहीं है
https://arstechnica.com/tech-policy/2023/07/big-tech-can-tra...
brew analytics offहैरानी होती है कि एक मुफ़्त सेवा दूसरी साइटों के अंतहीन परेशान करने वाले pop-ups की तुलना में GDPR compliance बेहतर तरीके से कर सकती है
वे झुंझलाने वाले pop-ups कभी-कभी ज़रूरत से ज़्यादा जानबूझकर परेशान करने के लिए बने लगते हैं
“कम डेटा, कम समस्या” वाली बात तो है ही, लेकिन bureaucracy भी बड़ी वजह है। जब मैंने पहले GDPR compliance संभाली थी, security team हर डेटा हमेशा के लिए रखना चाहती थी, और GDPR scope तय करने वाली legal team तथा general legal team आपस में टकरा रही थीं
खासकर general legal team सिस्टम क्या करता है यह न समझते हुए भी, और समझाने के बावजूद अनदेखा करते हुए, लगातार ऐसे retention policy changes आगे बढ़ा रही थी जो या तो अप्रासंगिक थे या आपस में टकराते थे
अगर डेटा इकट्ठा करना है, तो user से पूछिए और साफ़-साफ़ बताइए कि उसका क्या किया जाएगा
मुश्किल तब शुरू होती है जब आप इतना ज़्यादा डेटा इकट्ठा करना चाहते हैं कि user पूरी बात जानकर सहमत न हो, और उसे कई third parties को भेजना चाहते हों। तब लोग कानूनी रूप से compliant दिखने के लिए user को गुमराह करने वाली सबसे अंधेरी तरकीबें इस्तेमाल करने लगते हैं
यह भी कमाल है कि command-line tools तक घर बैठे telemetry भेज रहे हैं। spyware से कोई जगह खाली नहीं बची
Homebrew एक जटिल system है जो कई तरीकों से टूट सकता है, और इसके पीछे कोई कंपनी भी नहीं है; यह पूरी तरह open source के रूप में विकसित होता है
चल रहे system का कुछ हद तक अवलोकन कर पाना बुनियादी ज़रूरत है। एक बेहद उपयोगी project पर अपना समय दान करने वाले developers से यह कहना कि वे paranoia की वजह से एक हाथ बाँधकर काम करें, अनुचित है
अगर इस तरह की माँगें मान ली जाएँ, तो open source software या तो बनना बंद हो जाएगा, या फिर ऐसे commercial कंपनियों के हाथ में चला जाएगा जिनकी spyware के मामले में नीयत कहीं कम अच्छी होगी
यहाँ तो बात यह है कि Homebrew project ने community की राय सुनकर privacy-preserving self-hosted analytics अपनाई है, इसलिए ऐसे लोग कभी संतुष्ट नहीं होंगे और इन्हें नज़रअंदाज़ करना ही ठीक है
अगर यह इंटरनेट कनेक्शन के बिना चलने वाला साधारण tool होता तो बात और थी, लेकिन Homebrew सिर्फ़ command-line tool नहीं बल्कि लगातार चलने वाला repository और build system भी है
एक developer के तौर पर यह जानना स्वाभाविक है कि किसी खास बदलाव का user experience पर क्या असर पड़ता है
Google Analytics से बाहर निकलना थोड़ा अटपटा फैसला लगता है
Google को Chrome users के ज़रिए मनचाहा लगभग सारा डेटा मिल ही जाता है, और GA असल में non-Chrome users तक को Google की पकड़ में लाने जैसा काम करता है
उससे भी ज़्यादा अहम बात यह है कि इससे मैं यह भी देख पाता हूँ कि Google मेरी साइट पर क्या देख रहा है
GA बंद करने से Google को थोड़ा रोका जा सकता है, लेकिन शायद इससे user usage data का ज़्यादा से ज़्यादा 10% ही कम होगा; बदले में मैं यह देखने की अपनी क्षमता खो दूँगा कि Google मेरे बारे में क्या देख रहा है
Google अब भी search traffic का 90% से ज़्यादा है, इसलिए GA छोड़ना सिर रेत में गाड़ लेने जैसा लगता है
यह समझ आता है कि लोग track नहीं होना चाहते या data sharing नहीं चाहते, लेकिन सिर्फ़ GA बंद कर देना क्या सच में उस समस्या का समाधान है, इस पर संदेह है
https://usercentrics.com/knowledge-hub/google-analytics-and-...
एक Swedish company पर भारी जुर्माना भी लगाया गया था: https://techcrunch.com/2023/07/03/google-analytics-sweden-gd...