การวิเคราะห์ของ Homebrew ย้ายออกจาก Google ไปยัง EU
(docs.brew.sh)- Homebrew เก็บข้อมูลวิเคราะห์แบบไม่ระบุตัวตนด้วย InfluxDB และจะเปิดใช้การวิเคราะห์หลังจากแสดงการแจ้งเตือนเมื่อรัน
brew updateครั้งแรกหรือตอนติดตั้งเท่านั้น - ด้วยลักษณะของโปรเจกต์ที่ให้ใช้ฟรีและขับเคลื่อนโดยอาสาสมัคร ข้อมูลอย่าง อัตราความล้มเหลวของ formula, เวอร์ชัน OS และความถี่การใช้คำสั่ง จึงเป็นพื้นฐานในการจัดลำดับความสำคัญของฟีเจอร์และการแก้ไข
- ข้อมูลวิเคราะห์แบบไม่ระบุตัวตนใน InfluxDB จะถูกเก็บไว้ 365 วัน และข้อมูลวิเคราะห์ทั้งหมดที่เคยส่งไปยัง Google Analytics ถูกลบแล้ว
- ขอบเขตการเก็บข้อมูลจำกัดอยู่ที่ข้อมูล เช่น เป็น CI หรือไม่, ใช้ prefix การติดตั้งเริ่มต้นหรือไม่, สถาปัตยกรรม CPU, เวอร์ชัน OS และ Homebrew, เหตุการณ์การติดตั้ง·ข้อผิดพลาดในการ build·การรันคำสั่ง
- ผู้ใช้สามารถปิดการวิเคราะห์ได้ด้วย
HOMEBREW_NO_ANALYTICS=1หรือbrew analytics offและระบบจะไม่เชื่อมโยงเหตุการณ์ใดเหตุการณ์หนึ่งกับผู้ใช้รายใดรายหนึ่ง หรือเก็บที่อยู่ IP
จุดที่เปิดใช้การวิเคราะห์และเหตุผลที่ใช้
- Homebrew ให้บริการฟรี และดำเนินงานโดยอาสาสมัครในเวลาว่าง จึงขาดทรัพยากรวิจัยผู้ใช้โดยเฉพาะสำหรับการออกแบบฟีเจอร์และจัดลำดับความสำคัญของงาน
- การวิเคราะห์แบบไม่ระบุตัวตนใช้เพื่อทำความเข้าใจว่า Homebrew ถูกใช้งานอย่างไร ที่ไหน และเมื่อใด เพื่อนำไปจัดลำดับความสำคัญของ การแก้ไขและฟีเจอร์
- formula ที่มีการใช้งานกว้างขวางแต่ล้มเหลวบ่อย อาจได้รับความสำคัญในการแก้ไขสูงกว่า formula อื่น
- ข้อมูลเวอร์ชัน OS ถูกใช้เพื่อจัดลำดับความสำคัญของเวอร์ชัน macOS ที่จะรองรับ และระบุ build failure ที่เกิดขึ้นเฉพาะในบางเวอร์ชัน
- คำสั่งที่มีความถี่การใช้งานต่ำอาจถูกยกเลิกได้
- การวิเคราะห์จะเปิดใช้งานหลังจากแสดงการแจ้งเตือนเมื่อรัน
brew updateครั้งแรกหรือติดตั้ง Homebrew เท่านั้น- ก่อนการแจ้งเตือนจะไม่มีการส่งข้อมูลวิเคราะห์ ทำให้ผู้ใช้สามารถ opt-out ก่อนที่จะส่งข้อมูลได้
- ระยะเวลาเก็บรักษาข้อมูลวิเคราะห์แบบไม่ระบุตัวตนที่บันทึกใน InfluxDB คือ 365 วัน
- ข้อมูลวิเคราะห์ทั้งหมดที่เคยส่งไปยัง Google Analytics ถูกลบแล้ว
เหตุการณ์ที่ส่งและขอบเขตการเก็บข้อมูล
- เหตุการณ์ของ formula หรือ cask ทุกเหตุการณ์จะบันทึกข้อมูลทั่วไปประกอบไปด้วย
- ส่งมาจาก CI หรือไม่
- ใช้ prefix การติดตั้งเริ่มต้นหรือไม่
- ตัวอย่าง prefix เริ่มต้นคือ
/opt/homebrew - ตัวอย่าง prefix ที่ผู้ใช้กำหนดเองคือ
/home/mike/.brew - prefix ที่ผู้ใช้กำหนดเองจะถูกส่งเป็น
custom-prefixเพื่อรักษาความไม่ระบุตัวตน
- ตัวอย่าง prefix เริ่มต้นคือ
- มีการตั้งค่าตัวแปรสภาพแวดล้อม
HOMEBREW_DEVELOPERหรือไม่ - ค่า
devcmdrunที่บ่งชี้ว่าเคยรันคำสั่งสำหรับนักพัฒนา Homebrew หรือไม่ - สถาปัตยกรรม CPU เช่น
x86_64 - OS และเวอร์ชัน เช่น
macOS 13 - เวอร์ชัน Homebrew เช่น
4.0.0
- การวิเคราะห์ของ Homebrew บันทึกเหตุการณ์หลายหมวดหมู่
install: formula ของ Homebrew ที่ติดตั้งจาก GitHub tap ที่ไม่เป็นส่วนตัว และตัวเลือกที่ใช้install_on_request: formula และตัวเลือกที่ผู้ใช้ร้องขอติดตั้งอย่างชัดเจนcask_install: cask ของ Homebrew ที่ติดตั้งจาก GitHub tap ที่ไม่เป็นส่วนตัวbuild_error: formula และตัวเลือกที่ติดตั้งไม่สำเร็จ- ไม่ส่งรายละเอียดหรือ log ของข้อผิดพลาดในการ build
command_run: คำสั่งและ flag ที่รันtest_bot_test: ใช้เฉพาะในสภาพแวดล้อม Homebrew CI เพื่อบันทึกผลการทดสอบ pull request
- เมื่อตั้งค่า
HOMEBREW_ANALYTICS_DEBUG=1ในสภาพแวดล้อม จะสามารถดูข้อมูลทั้งหมดที่การวิเคราะห์ของ Homebrew ส่งออกไปได้ และการตั้งค่านี้จะหยุดการส่งข้อมูลวิเคราะห์ด้วย - ข้อมูลวิเคราะห์ถูกส่งไปยัง InfluxDB ผ่าน HTTPS ระหว่างการรัน Homebrew
ข้อมูลสาธารณะ โค้ด และการ opt-out
- สามารถดูเหตุการณ์วิเคราะห์แบบสรุปรวมได้ที่ หน้าสาธารณะ และยังมี JSON API ให้ใช้งานด้วย
- maintainer หลักส่วนใหญ่ของ Homebrew จะไม่ได้รับสิทธิ์เข้าถึงข้อมูลวิเคราะห์ที่ละเอียดกว่าทรัพยากรสาธารณะนี้
- นักพัฒนา Homebrew ไม่สามารถเชื่อมโยงเหตุการณ์ใดเหตุการณ์หนึ่งกับผู้ใช้รายใดรายหนึ่งได้ และไม่ได้เก็บหรือรับที่อยู่ IP
- สามารถดูโค้ดการวิเคราะห์ได้ที่
analytics.rbและanalytics.sh- ทำงานใน process เบื้องหลังแยกต่างหาก
- ล้มเหลวอย่างรวดเร็วเพื่อไม่ให้การรัน Homebrew ล่าช้า
- หากไม่มีการเชื่อมต่อเครือข่าย จะล้มเหลวทันทีอย่างเงียบ ๆ
- หากต้องการปิดการวิเคราะห์ สามารถใช้ตัวแปรสภาพแวดล้อมหรือคำสั่งได้
export HOMEBREW_NO_ANALYTICS=1brew analytics off
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ฟีเจอร์ analytics ของ Homebrew ได้ย้ายไปยัง อินสแตนซ์ InfluxDB ในสหภาพยุโรป อย่างสมบูรณ์แล้ว เก็บข้อมูลน้อยกว่าเดิม และข้อมูล 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 ถูกปิดใช้งาน และ Google Analytics ถูกลบไปแล้วHOMEBREW_NO_GOOGLE_ANALYTICS 1HOMEBREW_NO_ANALYTICS 1หลังจากนั้นพอรัน
brew updateก็จะมีคำเตือนว่าHOMEBREW_NO_GOOGLE_ANALYTICSไม่มีผลอีกต่อไปแล้ว จึงสามารถเอาออกได้ พร้อมแจ้งว่า analytics ได้ย้ายไปยัง InfluxDB ในสหภาพยุโรป และให้เปิดใหม่ด้วยbrew analytics onถึงอย่างนั้น ถ้าต้องการไม่ให้ InfluxDB analytics ถูกเปิด ก็ยังต้องคง
HOMEBREW_NO_ANALYTICS 1ไว้ผมยังใช้ macOS อยู่เพราะ Homebrew และถ้าไม่มีมันก็คงใช้
aptบน Linux ไปแล้วสงสัยว่ามีเว็บสำหรับ ค้นหาแพ็กเกจ apt ที่ใช้งานดีแบบ
brew.shไหม หน้า apt ของ Ubuntu ชวนสับสนเกินไปapt-cache searchไม่เข้าใจว่าทำไมตัวจัดการแพ็กเกจถึงต้องเก็บ ข้อมูล analytics
ข้อมูลที่เก็บก็อาจใช้ระบุตัวตนผ่าน device fingerprinting ได้
ข้อมูล analytics เป็นทั้งระบบเตือนภัยและหลักฐานจริงสำหรับประเมินความสำคัญของแพ็กเกจ ความไม่เสถียร และเรื่องอื่น ๆ
อีกทั้ง Homebrew ทำงานอยู่บน macOS แต่ควบคุมไม่ได้ว่า Apple จะเปลี่ยน macOS อย่างไร ดังนั้น analytics จึงช่วยตรวจจับความเสียหายจากการเปลี่ยนแปลงฝ่ายเดียวของ Apple ได้อย่างรวดเร็ว
Homebrew เป็นบริการฟรีและดำเนินงานโดยอาสาสมัครทั้งหมดในเวลาว่าง จึงไม่มีทรัพยากรพอจะทำวิจัยผู้ใช้อย่างละเอียดเพื่อกำหนดฟีเจอร์ในอนาคตหรือจัดลำดับความสำคัญของงานปัจจุบัน
ผ่าน anonymous analytics จึงพอมองเห็นได้ว่า formula ไหนถูกใช้แพร่หลายแต่ล้มเหลวบ่อย ควรให้การรองรับ macOS เวอร์ชันใดก่อน และมีการบิลด์ล้มเหลวแบบใดที่เกิดเฉพาะในบางเวอร์ชัน
อัปเดต: มีข้อมูลด้วยว่า การใช้ Google Analytics เอง ไม่ใช่ปัญหา
https://arstechnica.com/tech-policy/2023/07/big-tech-can-tra...
brew analytics offน่าทึ่งที่บริการฟรีกลับทำ ตาม GDPR ได้ดีกว่าป๊อปอัปรบกวนไม่รู้จบของเว็บอื่น ๆ
ป๊อปอปน่ารำคาญพวกนั้นบางทีก็ดูเหมือนไม่ได้จำเป็น แต่ตั้งใจทำมาเพื่อกวนผู้ใช้มากกว่า
นอกจากเรื่อง “ยิ่งมีข้อมูลน้อย ปัญหาก็น้อย” แล้ว ฝั่งระบบราชการก็เป็นปัจจัยใหญ่ด้วย ตอนที่เคยรับผิดชอบเรื่องการทำตาม GDPR ทีมความปลอดภัยอยากเก็บข้อมูลทุกอย่างตลอดไป ส่วนทีมกฎหมายที่ดูขอบเขตของ GDPR กับทีมกฎหมายทั่วไปก็ขัดแย้งกันเอง
โดยเฉพาะทีมกฎหมายทั่วไปที่ทั้งไม่เข้าใจว่าระบบทำอะไรและไม่ฟังคำอธิบาย แต่ยังคงผลักดันการเปลี่ยนนโยบายการเก็บรักษาข้อมูลที่ไม่เกี่ยวข้องหรือขัดแย้งกันเองอยู่เรื่อย ๆ
ถ้าอยากเก็บข้อมูล ก็ถามผู้ใช้และอธิบายให้ชัดว่าจะเอาไปทำอะไร
มันจะเริ่มยากก็ตอนที่พยายามเก็บข้อมูลมากจนถ้าผู้ใช้รู้ขอบเขตจริง ๆ ก็คงไม่ยอม และยังส่งต่อให้บุคคลที่สามหลายราย จากนั้นก็จะเริ่มใช้วิธีสกปรกสารพัดเพื่อหลอกผู้ใช้ โดยทำเหมือนว่าทางกฎหมายยังปฏิบัติตามอยู่
แม้แต่เครื่องมือบรรทัดคำสั่งยังส่ง telemetry กลับบ้าน ช่างยอดเยี่ยมจริง ๆ เหมือนไม่มีที่ไหนไม่ใช่สปายแวร์
Homebrew เป็นระบบซับซ้อนที่พังได้หลายแบบ และก็ไม่ได้มีบริษัทอยู่เบื้องหลัง แต่พัฒนาแบบโอเพนซอร์สทั้งหมด
การมองเห็นได้บ้างว่าระบบที่กำลังรันอยู่ทำงานอย่างไรถือเป็นเรื่องพื้นฐาน เท่ากับว่ากำลังบอกให้นักพัฒนาที่สละเวลามาช่วยโครงการที่มีประโยชน์มากนี้ทำงานทั้ง ๆ ที่ถูกมัดมือไว้เพราะความหวาดระแวง
ถ้าข้อเรียกร้องแบบนี้ชนะ สุดท้ายซอฟต์แวร์โอเพนซอร์สอาจไม่ถูกสร้างขึ้นเลย หรือไม่ก็ถูกส่งต่อให้บริษัทเชิงพาณิชย์ที่มีเจตนาดีต่อเรื่องสปายแวร์น้อยกว่ามาก
กรณีนี้คือโครงการ Homebrew รับฟังเสียงจากชุมชนและย้ายไปใช้ analytics แบบโฮสต์เองที่คำนึงถึงความเป็นส่วนตัว ดังนั้นคนแบบนี้ก็คงไม่มีวันพอใจอยู่ดี และควรถูกเมินไป
ถ้าเป็นเครื่องมือง่าย ๆ ที่ไม่ต้องต่ออินเทอร์เน็ตก็คงอีกเรื่อง แต่ Homebrew ไม่ได้เป็นแค่เครื่องมือบรรทัดคำสั่ง มันยังเป็น คลังซอฟต์แวร์และระบบบิลด์ ที่เคลื่อนไหวตลอดเวลาอีกด้วย
ถ้าเป็นนักพัฒนา ก็ย่อมอยากรู้ว่าการเปลี่ยนแปลงบางอย่างส่งผลต่อประสบการณ์ผู้ใช้อย่างไร
การออกจาก Google Analytics ให้ความรู้สึกเหมือนเป็นทางเลือกที่ น่าอึดอัดใจ นิดหน่อย
Google น่าจะได้ข้อมูลที่ต้องการเกือบทั้งหมดผ่านผู้ใช้ Chrome อยู่แล้ว และ GA ก็แทบจะมีบทบาทแค่ช่วยให้ Google มองเห็นผู้ใช้ที่ไม่ใช่ Chrome เพิ่มขึ้น
ที่สำคัญกว่านั้นคือมันทำให้ผมเห็นได้ด้วยว่า Google เห็นอะไรบนเว็บไซต์ของผม
การปิด GA อาจขัดขวาง Google ได้เล็กน้อย แต่ก็น่าจะลดข้อมูลการใช้งานของผู้ใช้ลงได้แค่ราว 10% อย่างมาก ขณะเดียวกันผมกลับเสียความสามารถในการเห็นสิ่งที่ Google เห็นเกี่ยวกับผม
Google ยังเป็นแหล่งทราฟฟิกจากการค้นหามากกว่า 90% อยู่ดี ดังนั้นการออกจาก GA จึงให้ความรู้สึกเหมือนเอาหัวปักทราย
เข้าใจได้ที่ไม่อยากถูกติดตามหรือให้มีการแชร์ข้อมูล แต่ก็ไม่แน่ใจว่าการปิด GA จะแก้ปัญหานั้นได้จริงหรือไม่
https://usercentrics.com/knowledge-hub/google-analytics-and-...
มีบริษัทสวีเดนแห่งหนึ่งถูกปรับเป็นเงินจำนวนมากด้วย: https://techcrunch.com/2023/07/03/google-analytics-sweden-gd...