1 คะแนน โดย GN⁺ 2023-07-27 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • คอมมิต 6f47a22 ของ Chromium ปรับโครงสร้าง feature เพื่อให้เข้าถึง Web API ทั้งหมดได้เมื่อเปิด Web Environment Integrity ผ่าน Origin Trial
  • การเปลี่ยนแปลงหลักคือย้าย base::Feature จาก content_features.h ไปเป็น generated feature ที่อิงกับ runtime_enabled_features.json5 เพื่อแยก feature flag ออกจากการควบคุมการเปิดเผย Web API
  • Web API ยังคงถูกควบคุมโดย RuntimeFeature และอยู่ในสถานะ ปิดใช้งานตามค่าเริ่มต้น แต่เมื่อ Origin Trial เปิดใช้งาน ก็จะสามารถเข้าถึง API ได้
  • หากปิด base::Feature ผ่าน Finch จะทำหน้าที่เป็น kill-switch ของฟีเจอร์ทั้งหมด ทำให้ Origin Trial ไม่สามารถเปิดฟีเจอร์ได้เช่นกัน
  • การเปลี่ยนแปลงครอบคลุม 15 ไฟล์ โดย เพิ่ม 173 บรรทัด·ลบ 18 บรรทัด และมีการเพิ่มเทสต์สำหรับ WebView โดยใช้ประโยชน์จากการที่สามารถ spoof การตอบกลับจาก origin ที่รู้จักได้

การเปลี่ยนโครงสร้างเพื่อเปิดการเข้าถึง WEI API ผ่าน Origin Trial

  • ชื่อคอมมิตคือ [wei] Ensure Origin Trial enables full feature และเป้าหมายคือคอมมิต 6f47a22 ในรีโพซิทอรี Chromium
  • แกนหลักของการเปลี่ยนแปลงคือทำให้เข้าถึง API ทั้งหมดได้เมื่อเปิดใช้งาน Web Environment Integrity ผ่าน Origin Trial
  • ตำแหน่งของ base::Feature ถูกย้ายจาก content_features.h ไปเป็น feature ที่สร้างจาก runtime_enabled_features.json5
  • ในโครงสร้างนี้ base::Feature อาจถูกเปิดใช้งานตามค่าเริ่มต้นได้ แต่การเปิดเผย Web API จะรับผิดชอบโดย RuntimeFeature และในสถานะเริ่มต้นจะปิดอยู่

ความสัมพันธ์ระหว่าง Origin Trial, RuntimeFeature และ kill-switch

  • Origin Trial สามารถเปิดใช้งาน RuntimeFeature เพื่อเปิดการเข้าถึง API ได้
  • หากต้องการให้เข้าถึง API ทั้งหมดได้ ไม่เพียงแต่ RuntimeFeature เท่านั้น แต่ base::Feature ก็ต้องถูกเปิดใช้งานด้วย และเงื่อนไขที่เกี่ยวข้องถูกสะท้อนอยู่ในการเปลี่ยนแปลงของ origin_trial_context.cc
  • หาก base::Feature ถูกปิดใช้งานผ่าน Finch จะทำงานเป็น kill-switch ของฟีเจอร์ทั้งหมด
    • ในกรณีนี้ Origin Trial จะถูกบล็อกไม่ให้เปิดฟีเจอร์ด้วย

พฤติกรรมที่ยืนยันด้วยเทสต์ WebView

  • มีการเพิ่มเทสต์ WebView โดยใช้ประโยชน์จากจุดที่สามารถ spoof การตอบกลับจาก origin ที่รู้จักได้อย่างง่ายดาย
  • AwWebEnvironmentIntegrityTest.java มีเทสต์ที่ตรวจสอบพฤติกรรมต่อไปนี้
    • ในสถานะเริ่มต้น navigator ไม่มี getEnvironmentIntegrity
    • เมื่อเปิด BlinkFeatures.WEB_ENVIRONMENT_INTEGRITY จะสามารถใช้ API ได้
    • เมื่อปิดใช้งาน feature ดังกล่าว API จะกลับมาใช้ไม่ได้อีกครั้ง
    • ตรวจสอบการเรียก getEnvironmentIntegrity('contentBinding') และผลลัพธ์ของ encode() ด้วยเฮดเดอร์และโทเคน Origin Trial
  • ในเทสต์มีการใช้ origin https://example.com/, เฮดเดอร์ Origin-Trial, โทเคน Origin Trial และค่า TOKEN_BASE64 เป็น AQIDBA== เป็นต้น

เส้นทางโค้ดและการย้ายการอ้างอิง feature

ขนาดการเปลี่ยนแปลงและข้อมูลคอมมิต

  • คอมมิตนี้แก้ไข 15 ไฟล์ โดยมีปริมาณการเปลี่ยนแปลงเป็น เพิ่ม 173 บรรทัด และ ลบ 18 บรรทัด
  • รายการบั๊กที่เกี่ยวข้องคือ 1439945, b/278701736
  • ลิงก์สำหรับรีวิวคือ chromium-review.googlesource.com/c/chromium/src/+/4681552
  • ตำแหน่งคอมมิตแสดงเป็น refs/heads/main@{#1173344}

1 ความคิดเห็น

 
GN⁺ 2023-07-27
ความคิดเห็นบน Hacker News
  • ในฐานะเอกสารเริ่มต้นเพื่อทำความเข้าใจสถานการณ์ สรุปของ Vivaldi ถือว่าใช้ได้
    https://vivaldi.com/blog/googles-new-dangerous-web-environme...

    • พอดีสนใจเลยลองใช้ Vivaldi ดู แต่ภายใน 10 นาทีก็เริ่มเชื่อ คำกล่าวอ้างเรื่องความเป็นส่วนตัว ได้ยาก
      เบราว์เซอร์เริ่มต้นของระบบปฏิบัติการตั้งเป็น Firefox และแอปอื่นทั้งหมดก็ทำตามนั้น แต่ระหว่างติดตั้ง เมื่อเปิดลิงก์อย่างนโยบายความเป็นส่วนตัวกลับใช้ Microsoft Edge แถมไม่มีฟีเจอร์ containerization เลย หากต้องการกันไม่ให้คุกกี้ Google จากแท็บหนึ่งถูกอ่านในอีกแท็บ ก็ต้องเปิดหน้าต่างส่วนตัวใหม่ พอลบออกทันที หน้าเว็บที่ถามเหตุผลว่าทำไมถึงลบก็เปิดด้วย Edge อีก
  • Mozilla ควรเรียกร้องให้ขับ Google ออกจาก W3C ด้วยเหตุผลเรื่องการนำ Web Environment Integrity นี้ไปใช้งาน
    อาจมีคนพูดว่า “Chrome มีส่วนแบ่ง 65% แล้ว W3C ที่ไม่มี Google จะมีประโยชน์อะไร” แต่ถ้า Google สามารถเปลี่ยนหลักการพื้นฐานของเว็บได้ฝ่ายเดียว W3C ก็ไร้ประโยชน์ไปแล้ว ถ้า Google อยากคงภาพว่า W3C ยังสำคัญ ก็ควรถอนการใช้งานนี้
    ไม่น่าเชื่อว่าอนาคตที่เป็นไปได้ของเว็บจะอันตรายได้ขนาดนี้ในเวลาแค่ 3 วัน มีข้อเสนอที่มีปัญหาน้อยกว่าแต่ก็ยังแย่อยู่แล้วอย่าง Private Access Tokens กำลังเดินหน้าในคณะกรรมการมาตรฐาน แต่ Google กลับเพิกเฉยต่อสิ่งนั้น เสนอเรื่องนี้ผ่านบัญชี GitHub ส่วนตัวอย่างน่าสงสัยมาก ปิดการมีส่วนร่วมและความคิดเห็นจากภายนอกทันที และแม้จะมีเสียงคัดค้านก็ยังยัดการใช้งานแบบเต็มเข้าไปใน Chromium
    สิ่งที่ต้องการคือการลงมือทำจริง และ Mozilla ก็วางตัวมาตลอดว่าเป็นผู้พิทักษ์ที่เป็นกลาง “ตัวจริง” ซึ่งปกป้องอุดมคติของเว็บ ตอนนี้ถึงเวลาพิสูจน์แล้ว แค่ออกจุดยืนคัดค้านยังไม่พอ นี่คือการโจมตีรากฐานที่ทำให้เว็บแตกต่างจากระบบนิเวศแบบปิดทั้งหมด หากมีใครยื่นข้อเสนอใน W3C ว่า “ควรอนุญาตให้เฉพาะเบราว์เซอร์ที่มีอยู่แล้วเท่านั้นเรนเดอร์เว็บเพจได้” การตอบสนองที่ถูกต้องไม่ใช่ “เราคัดค้านข้อเสนอนั้น” แต่คือการตั้งคำถามอย่างจริงจังว่าผู้ยื่นยังมีคุณสมบัติพอจะเข้าร่วมองค์กรนั้นหรือไม่ สิ่งที่กำลังเกิดขึ้นตอนนี้ก็คือเรื่องนั้นเอง

    • เป็นที่ยอมรับกันโดยทั่วไปว่าแนวทางปกติของการทำมาตรฐานเว็บคือ ผู้สนับสนุนฟีเจอร์ใหม่นำไป implement และปล่อยใช้งานก่อน แล้วเมื่อพิสูจน์ได้ว่าใช้งานได้จริง จึงนำสเปกไปยังหน่วยงานมาตรฐาน
      โดยปกติมันใช้ได้ดี แต่ถ้า implementation ก่อนเป็นมาตรฐานประสบความสำเร็จมากเกินไป บางครั้งภายหลังก็ยากที่จะเปลี่ยนไปเป็น implementation ที่ทำตามมาตรฐานที่ได้รับอนุมัติ เพราะในกระบวนการทำมาตรฐานมักมีการเปลี่ยนแปลงใหญ่เกิดขึ้นบ่อย
      ตัวอย่างคือ CSS Grid Layout Microsoft เพิ่มไว้ใน IE 10 ด้วย vendor prefix -ms- และแทบทุกคนก็ชอบ จนกลายเป็นมาตรฐาน แต่ต่างจาก implementation ดั้งเดิมของ Microsoft มาก ดังนั้นแค่ลบ -ms- ออกจาก CSS ไม่ได้ทำให้ CSS Grid มาตรฐานทำงานได้ดี
      หลังจาก Microsoft ปล่อยใช้ครั้งแรกใน IE 10 ต้องใช้เวลา 4.5 ปีกว่าที่เบราว์เซอร์อื่นจะเปิดใช้เป็นค่าเริ่มต้น Chrome ใส่เป็นฟีเจอร์ทดลองภายใน 1 ปี และ Firefox ใส่หลังจากนั้นอีกราว 2 ปี แต่ผู้ใช้ต้องเปิดเอง ในช่วง 4.5 ปีนั้น เว็บไซต์ที่สนใจเฉพาะ IE ใช้รูปแบบ -ms- กันมากพอจน Microsoft ถูกผูกติดกับรูปแบบนั้นใน IE 10 และ 11 แทนที่จะใช้มาตรฐาน
    • มันสายเกินไปแล้ว W3C แทบไม่เกี่ยวข้องแล้ว และตั้งแต่แรกก็ไม่ได้สำคัญมากนัก
      อินเทอร์เน็ตไม่ได้ถูกสร้างโดยหน่วยงานมาตรฐาน แต่ถูกสร้างโดยบริษัทยักษ์ใหญ่ มาตรฐานที่ยังมีชีวิตจริงอยู่ที่ WHATWG และซอฟต์แวร์จริงถูกสร้างโดย Google, Apple, Cloudflare, Amazon ไม่มีใครสนใจ W3C และ Mozilla ก็สูญเสียอำนาจไปนานแล้ว
    • ตอน Apple ทำเรื่องคล้ายกันใน Safari ก็ไม่มีอะไรเกิดขึ้น ทุกคนเงียบ และบน HN ยังปกป้อง การผูกขาดของ Apple Safari ที่เปิดฟีเจอร์นั้นอย่างแข็งขัน แล้วทำไมครั้งนี้ถึงจะต่างออกไป
    • โอกาสที่ Mozilla จะทำอะไรที่มีความหมายจริง ๆ ในเรื่องนี้แทบไม่มีเลย คงออกแถลงการณ์สนับสนุนเว็บเปิดเพื่อ แสดงคุณธรรม ได้บ้าง แต่ก็คงไม่เกินกว่านั้น
    • พูดตรง ๆ W3C สูญเสียอำนาจในการออกเสียงไปแล้วตั้งแต่ WHATWG ผลักมาตรฐาน XHTML ออกไปและแทนที่ด้วยคณะกรรมการ HTML5
      ตอนนั้นยังมีน้ำหนักพอจะพูดว่า “เว็บคือ XHTML2 ถ้าอยากได้ก็ไปสร้างอินเทอร์เน็ตของพวกคุณเอง” แต่ตอนนี้อำนาจต่อรองอ่อนลงมาก
      การตัดสินใจในตอนนั้นที่ส่งความรับผิดชอบไปให้บริษัทอินเทอร์เน็ตขนาดใหญ่อาจสมเหตุสมผลอยู่บ้าง แต่สุดท้ายก็เป็นสาเหตุที่ทำให้สภาพกลับมาเป็นเหมือน Microsoft Network ยุคแรกโดยพฤตินัยในตอนนี้
      [1]http://www.codersnotes.com/notes/the-microsoft-network/
  • อย่าเอาแต่บ่นในคอมเมนต์ วันนี้ควรติดต่อ หน่วยงานต่อต้านการผูกขาด
    US: https://www.ftc.gov/enforcement/report-antitrust-violation / antitrust@ftc.gov
    EU: https://competition-policy.ec.europa.eu/antitrust/contact_en / comp-greffe-antitrust@ec.europa.eu
    UK: https://www.gov.uk/guidance/tell-the-cma-about-a-competition... / general.enquiries@cma.gov.uk
    India: https://www.cci.gov.in/antitrust/ / https://www.cci.gov.in/filing/atd

    • เพิ่งส่งอีเมลไปที่ antitrust@ftc.gov แล้ว สำหรับคนที่ติดขัดเรื่องการเขียนอีเมล Bing Chat ช่วยร่างฉบับแรกได้ค่อนข้างดี แค่ปรับแก้นิดหน่อยก็พอ
      1. เปิดหน้า https://vivaldi.com/blog/googles-new-dangerous-web-environme... ใน Edge
      2. เปิด แถบด้านข้าง Bing Chat มุมขวาบน แล้วมันจะสรุปบทความให้อัตโนมัติ
      3. ใช้พรอมป์ต์ว่า “ใช้สรุปหน้าเว็บนี้เขียนจดหมายแจ้งการละเมิดกฎหมายต่อต้านการผูกขาดของ Alphabet ให้หน่อย โดยรวมเนื้อหาต่อไปนี้” แล้วใส่ว่าบริษัทคือ Alphabet เหตุผลที่ทำลายการแข่งขันให้ใช้เนื้อหาในบทความ และบทบาทของฉันคือผู้ใช้เบราว์เซอร์ Firefox
    • เพิ่งส่งอีเมลไป FTC แล้ว รู้สึกโล่งมาก และคิดว่าวันนี้ทั้งวันคงไม่ต้องโกรธเรื่องนี้อีก แนะนำให้คนอื่นลองทำด้วย
    • Canada: https://www.competitionbureau.gc.ca/eic/site/cb-bc.nsf/frm-e...
    • สำหรับช่องทางติดต่อด้าน antitrust ของ EU ดูเหมือนหน้านี้จะเหมาะกว่า
      https://competition-policy.ec.europa.eu/antitrust/procedures...
      ที่นี่สามารถสร้าง คำร้องเรียนด้านการผูกขาด ฉบับใหม่ได้อย่างเฉพาะเจาะจง
    • เคารพในความมองโลกแง่ดีนะ แต่ถ้าหน่วยงานของ UK ขยับนิ้วทำอะไรสักอย่างนี่คงแปลกใจมาก ไม่รู้จะไร้ประโยชน์ไปถึงไหน
  • ข้อเสนอนี้ เป็นปฏิปักษ์ต่อผู้ใช้ อย่างถึงแก่นจนแทบวิจารณ์ด้วยเหตุผลทางเทคนิคได้ยาก
    มันไม่ใช่ข้อเสนอที่แย่ แต่เป็นข้อเสนอที่อันตราย ชั่วร้าย และมุ่งร้าย การวิจารณ์รายละเอียดจึงเสียแรงเปล่า ปัญหาอยู่ที่ทั้งก้อน และต้องถูกทิ้งไป
    การประท้วงแบบเงียบ ๆ ครั้งนี้ใช้ไม่ได้ เป้าหมายคือต้องทำให้เรื่องใหญ่พอจนรัฐบาลและหน่วยงานกำกับดูแลหันมาสนใจ และเริ่ม กระบวนการต่อต้านการผูกขาด
    Google จะเอาการเซ็นเซอร์กับคำเตือนให้ “รักษามารยาท” ไปไกล ๆ ก็ได้ ตอนนี้เผยธาตุแท้ออกมาแล้ว และ code of conduct ไม่ได้เป็นสิ่งที่ส่งเสริมแนวปฏิบัติที่ดีและสภาพแวดล้อมที่ต้อนรับผู้คน แต่กลายเป็นเครื่องมือปิดปากความเห็นต่าง
    ผมเปลี่ยนไปใช้ Firefox แล้ว และแนะนำให้คนอื่นทำแบบเดียวกัน

    • ถ้าอยากรู้ “จุดยืน” แรงจูงใจ หรือเหตุผลทางเทคนิคของฝั่ง Google เอกสารอธิบายอยู่ที่นี่
      https://github.com/RupertBenWiser/Web-Environment-Integrity/...
      เป็นปฏิปักษ์ต่อผู้ใช้อย่างโจ่งแจ้ง นี่คือความพยายามพลิกความสัมพันธ์ของ “user agent” ให้ agent ทำงานเพื่อผู้ลงโฆษณา บริษัท และรัฐบาลที่คอยเฝ้าดูคนหลังจอ วิธีที่บทนำพยายามปั้นเรื่องให้เหมือนว่านี่เป็นสิ่งที่ผู้ใช้ต้องการหรือต้องมีนั้นน่าขยะแขยง
      ถ้าเขียนใหม่อย่างซื่อตรงจะเป็นแบบนี้: บริษัทอย่าง Google ต้องการให้ผู้ลงโฆษณารู้เรื่องผู้ใช้ให้มากที่สุดเท่าที่ทำได้ รายได้สามารถพึ่งพาการทำ fingerprint สภาพแวดล้อมของไคลเอนต์ การติดตามพฤติกรรมและประวัติ และการพิสูจน์ว่ามีมนุษย์ที่มีกำลังซื้อเหลือพออยู่หลังคีย์บอร์ด การขุดข้อมูลส่วนบุคคลแบบนี้เป็นรากฐานของโมเดลธุรกิจของ Google และจำเป็นต่อการรักษาอำนาจครอบงำเว็บกับอัตรากำไรมหาศาล
    • เห็นด้วยทั้งหมดเลย ผมนั่งลงจะเขียนจดหมายส่ง FTC แต่พออ่านสเปกนี้แล้ว กลับเรียบเรียงเหตุผลคัดค้านให้เป็นประโยคดี ๆ ไม่ได้ ปฏิกิริยาสรุปได้แค่ว่า “นี่มันอะไรกันวะ”
      เคยทำงานกับสมาชิกทีม Chromium ในอดีต และโดยรวมมองว่าพวกเขามีความสามารถและเจตนาดี แต่ในข้อเสนอสเปกนี้ไม่เห็นทั้งเจตนาดีหรือความสามารถเลย รู้สึกเหมือน Google เปลี่ยนพฤติกรรมจากแนวเดิมที่ค่อย ๆ กลืนทุกอย่างอย่างช้า ๆ ไปสู่ทิศทางที่ตรงไปตรงมามากขึ้นและ เผด็จการมากขึ้น
    • ไม่ใช่แค่ข้อเสนอเท่านั้นที่เป็นปัญหา แต่ ตัว Google เอง ก็เป็นปัญหา Google ต้องถูกแยกส่วน
    • ในฐานะคนที่ไม่ค่อยรู้จัก WEI ช่วย สรุป ได้ไหมว่ามันทำอะไรและทำไมถึงแย่
    • ฟีเจอร์นี้เป็นปฏิปักษ์ต่อผู้ใช้ Google อย่างไร
      มันก็มีข้อดีจริง ๆ ที่ช่วยให้เว็บไซต์ทำงานบนเว็บได้มากขึ้นแทนที่จะต้องใช้แอป CAPTCHA อาจลดลง และบอตโซเชียลมีเดียก็อาจลดลงได้
      แพลตฟอร์มที่คนส่วนใหญ่ใช้จะได้ประโยชน์ และผู้ใช้ Apple ก็ดูเหมือนจะได้ประโยชน์แบบนั้นอยู่แล้ว
      เข้าใจข้อโต้แย้งว่าสภาพแวดล้อมโอเพนซอร์สจะแย่ลง แต่ google.com ก็ยังจะทำงานอยู่ สิ่งที่จะทำให้ประสบการณ์ผู้ใช้แย่ลงคือเว็บไซต์อื่น ๆ ต่างหาก
  • มีเหตุผลมากมายที่จะคัดค้านเรื่องนี้ แต่ผลกระทบต่อ เครื่องมือค้นหา ยังไม่ค่อยถูกพูดถึง
    ถ้าเว็บไซต์ต่าง ๆ นำสิ่งนี้ไปใช้ การที่ผู้เล่นหน้าใหม่จะสร้างเว็บเสิร์ชเอนจินก็แทบจะเป็นไปไม่ได้ ผู้เล่นเดิมสามารถใส่ไคลเอนต์ของตัวเองไว้ใน allowlist หรือรับรองไคลเอนต์นั้น แล้วจัดไคลเอนต์สำหรับ scraping อื่น ๆ ทั้งหมดเป็นบ็อตได้
    แม้จะไม่มีเหตุผลอื่น ผมก็ไม่เข้าใจว่าทำไมจึงยอมให้ Google ซึ่งเป็นบริษัทค้นหา ผลักดันสิ่งที่สามารถใช้สถานะครองตลาดในอีกด้านอย่างเบราว์เซอร์เพื่อฆ่าการแข่งขันได้

    • เพราะกฎหมายต่อต้านการผูกขาดตายไปพักใหญ่แล้ว Chrome ก็เป็นเพียงเครื่องมือที่ส่งคนไปหา Google และโฆษณาของ Google เท่านั้น
      เอนจินเบราว์เซอร์ของ Microsoft ในยุค IE และ Edge แม้ IE จะขึ้นชื่อว่าใช้งานเจ็บปวดแค่ไหน ก็ยังน่าขอบคุณตรงที่มันสร้างการแข่งขันในด้านนี้ แต่ตอนนี้เหลือแค่ Chrome(Blink), Firefox(Gecko), Safari(WebKit) และสิ่งที่ Chrome ทำหลังจากได้ส่วนแบ่งตลาดแบบครอบงำนั้นก็ค่อนข้างชัดเจน
      อาจมี Googler บางคนที่เชื่ออย่างจริงใจว่าพวกเขากำลังทำให้เว็บปลอดภัยขึ้น แต่ถอยออกมามองสักก้าว เหตุผลจริง ๆ ก็ดูค่อนข้างชัดเจน
    • ประเด็นนี้ผมยังนึกไม่ถึงเลย จะมีกระบวนการใดไหมที่ปฏิเสธเรื่องนี้ได้โดยอ้างว่ามันจำกัด fair use แม้จะเป็นทางอ้อมก็ตาม
    • เป็นไปได้ไหมที่จะ implement API นี้ให้ล้มเหลวสักประมาณ 5% เพื่อทำให้เว็บไซต์ไม่สามารถบล็อกบุคคลเพียงเพราะการรับรองล้มเหลว
      https://github.com/RupertBenWiser/Web-Environment-Integrity/...
    • การที่ผู้เล่นเดิมใส่ไคลเอนต์ของตัวเองไว้ใน allowlist แล้วจัด scraper อื่น ๆ เป็นบ็อต ก็ทำได้อยู่แล้วด้วย client certificate ธรรมดาไม่ใช่หรือ
      หรือจะแค่ส่ง request header ที่มี HMAC ของ URL โดยใช้ shared secret key ก็ได้
      ในเชิงพื้นฐานกว่านั้น ทำไมต้องไป scrape คอนเทนต์ที่ตัวเองเป็นเจ้าของด้วย สร้าง backchannel ตามอำเภอใจเพื่อเข้าถึงข้อมูล แบบที่ Google ใช้ตอนใส่ผลลัพธ์ YouTube ลงในหน้าผลการค้นหาก็พอ ไม่จำเป็นต้องให้เว็บไซต์ที่ scrape ได้อย่างเป็นประโยชน์เลย
    • แล้วสิ่งนี้จะทำงานอย่างไรกับ scraper ที่ขับเคลื่อนอินสแตนซ์ของเบราว์เซอร์ที่ได้รับอนุมัติ เช่น Selenium
  • เป็นอีกบทความหนึ่งจาก The Register ที่ใช้โทนค่อนข้างสุภาพ
    https://www.theregister.com/2023/07/25/google_web_environmen...
    แม้สเปกจะยังสุก ๆ ดิบ ๆ แต่กระแสต่อต้านเมื่อสัปดาห์ที่แล้วเกิดขึ้นอย่างรวดเร็ว มีคอมเมนต์ส่วนใหญ่ในเชิงวิจารณ์หลั่งไหลเข้าไปใน repository GitHub ของ WEI และยังมีคำด่าทอที่มุ่งไปยังผู้เขียนข้อเสนอด้วย นักพัฒนาของ Google จำกัดให้เฉพาะคนที่เคยมีส่วนร่วมกับ repository มาก่อนเท่านั้นที่คอมเมนต์ได้ และโพสต์เอกสาร code of conduct พร้อมข้อความเตือนให้รักษามารยาท
    เป็นวิธีตอบสนองต่อการคัดค้านที่พบได้บ่อยในยุคนี้

    • จุดสำคัญอีกอย่างคือปุ่ม reaction เช่น นิ้วโป้ง หัวใจ ฯลฯ ก็ถูกล็อกด้วย เพราะมันให้ plausible deniability ในภายหลังว่า “มีเพียงคนส่วนน้อยเท่านั้นที่แสดงความกังวลต่อประเด็น X” นักข่าวควรทำความเข้าใจจุดนี้ให้มากขึ้น
      แยกจากนั้น นักข่าวหรือคนที่ต้องการติดต่อผู้เขียนสเปกโดยตรงสามารถดูเว็บไซต์สาธารณะของเขาได้ อยู่ใน repository อื่นบนโปรไฟล์ GitHub เดียวกับที่มีสเปกนี้ และมีอีเมลส่วนตัวด้วย การที่เขาเขียนประโยคด้านล่างนี้ในปี 2022 นั้นช่างย้อนแย้งจนเจ็บปวด
      “ท้ายที่สุดผมตัดสินใจทำสิ่งนี้เป็นแอป แล้วค่าใช้จ่ายก็เริ่มเกิดขึ้นตรงนี้ ผมต้องซื้อ MacBook Pro มือสองเพื่อ build แอป iOS กลยุทธ์ของ Apple นั้นชัดเจนและได้ผลจริง แต่ผมก็ยังโกรธมากที่ไม่สามารถสร้างแอปได้ด้วยแล็ปท็อป Linux เพียงเครื่องเดียว ถ้าจะดูแลแอปต่อเกินหนึ่งเดือนและให้เพื่อน ๆ ติดตั้งได้ง่าย ๆ ผมต้องจ่าย 99 ดอลลาร์สำหรับบัญชีนักพัฒนา Apple, ผมเข้าใจนะว่าคุณอยากให้คนใช้ App Store แต่นี่มันโหดไปหน่อย ตอนนี้ผมต้องจ่าย 99 ดอลลาร์ทุกปีโดยพฤตินัย เพื่อใช้แอปเล็ก ๆ ของตัวเองต่อไป”
      [0] https://benwiser.com/blog/I-just-spent-%C2%A3700-to-have-my-...
    • “โปรดรักษา มารยาท ขณะที่เรากำลังทำลายเว็บอย่างที่เรารู้จัก และเผื่อไว้ก่อน เราก็ใส่ที่อุดหูอยู่ด้วย”
    • “ถ้าคุณอยากประท้วงมีดที่เรากำลังแทงเข้าไปในท้องคุณ ก็ทำได้ เพียงแต่ต้องมีคุณสมบัติรับรองและต้องสุภาพ”
    • การจำกัดการโพสต์และเรียกร้องมารยาทเป็นวิธีเดียวที่ปัจเจกบุคคลจะสื่อสารอย่างมีความหมายได้ แม้กับคนนับพัน
      จิตใจมนุษย์ไม่ได้ถูกปรับให้เข้ากับอินเทอร์เน็ตเชิงสังคมในระดับอินเทอร์เน็ต ที่มีเสียงของคนต่าง ๆ มากกว่าจำนวนครั้งการเต้นของหัวใจตลอดชีวิต
  • มีสิ่งเล็ก ๆ แต่ทำได้จริงอยู่ นั่นคือใส่ข้อความแนะนำอย่างนุ่มนวลบนเว็บไซต์ของตัวเองว่า ควรใช้ Firefox
    ไม่จำเป็นต้องเด่นสะดุดตาก็ได้ แค่ข้อความเล็ก ๆ ก็พอ จะแนะนำ Firefox หรือเบราว์เซอร์อื่นที่ไม่ได้อิง Chromium ก็ได้
    ผมก็เพิ่มไว้ในเว็บไซต์ของผมแล้ว: https://geeklaunch.io/
    ตั้งให้แสดงเฉพาะบนเบราว์เซอร์ที่อิง Chromium เท่านั้น เราสามารถค่อย ๆ เปลี่ยนกระแสได้

    • สำหรับคนที่อยากใส่แบบนี้ ตัวอย่างข้อความมีดังนี้
      เว็บไซต์นี้ออกแบบมาให้เหมาะกับ Firefox เว็บเบราว์เซอร์ที่เคารพความเป็นส่วนตัว
      คลาส .hidden จะซ่อนองค์ประกอบด้วยวิธีใดก็ได้ โดยในที่นี้จัดการแบบ .hidden { display: none; }
    • ชอบไอเดียนี้นะ แต่สงสัยว่า Mozilla มีจุดยืนอย่างไรในเรื่องนี้
      ถึงจะเป็นผู้ใช้ Firefox แต่ผมก็ไม่ได้รู้สึกดีกับ Mozilla อย่างเดียวมานานแล้ว ก่อนจะช่วยโปรโมตแบบนี้ ผมอยากรู้ว่า Mozilla อยู่ฝ่ายที่ถูกต้องในประเด็นนี้
    • คำแนะนำนี้ให้ความรู้สึกแบบ ปี 1998 มาก
    • คนส่วนใหญ่ไม่รู้ความแตกต่างระหว่าง Chrome กับ Firefox และถ้าหลังจากเปลี่ยนแล้วยังใช้เว็บไซต์เดิม ๆ ได้ต่อ ก็คงไม่สนใจ
      ต่อให้อธิบายความแตกต่างให้ฟัง 99% ก็จะลืมในวันถัดไป
      สุดท้ายก็ไร้ความหมาย สำหรับการใช้อำนาจเกินขอบเขตแบบนี้ มีเพียงการแทรกแซงและการกำกับดูแลจากรัฐบาลเท่านั้นที่จะช่วยได้ Google ไม่ใช่คู่ต่อสู้ที่เราจะใช้กระเป๋าเงินต่อกรได้ และใหญ่เกินไปมาก
    • บอกว่าแสดงเฉพาะบนเบราว์เซอร์ที่อิง Chromium แต่ไม่รู้ว่าตรวจจับด้วยวิธีไหน ผมเห็นประกาศนี้ใน Orion ด้วย Orion อิง WebKit และใน Safari ไม่เห็น
      ต่อให้เปลี่ยน user agent ให้เป็น Firefox หรือ Safari อย่างชัดเจน ก็ยังปรากฏอยู่
  • ผมรู้สึกว่าในเรื่องทั้งหมดนี้ยังมีด้านสว่างอยู่อย่างหนึ่ง ยิ่ง เวิลด์ไวด์เว็บ ถูกชำระล้างและทำให้ปลอดเชื้อมากขึ้นเรื่อย ๆ ด้วยจรรยาบรรณ การเซ็นเซอร์ขององค์กร โฆษณา การล่าแม่มด และข้อจำกัดสารพัด ก็หวังว่าส่วนที่มีคุณค่าและน่าสนใจจะไหลไปยังพื้นที่ทางเลือก
    อินเทอร์เน็ตยุคก่อนเคยเป็นที่รวมตัวของพวกเนิร์ด คนแปลก ๆ คนนอก และคนที่มีแนวโน้มต่อต้านสังคม ทุกอย่างได้รับอนุญาตและทุกอย่างเป็นไปได้ หลายคนรวมถึงผมหวังว่ามันจะเปลี่ยนโลก แต่ก็ไม่สำเร็จ อย่างที่ทุกคนเห็น โลกกำลังชนะอีกครั้ง ถึงอย่างนั้นก็หวังว่าการทำให้เว็บเป็นปกติแบบนี้จะสร้างมวลวิกฤตของผู้คนที่ต้องการอะไรมากกว่าพื้นที่ปลอดภัยสำหรับองค์กร
    ผมหวังอย่างจริงใจว่าจะมีอนาคตที่ โปรโตคอลอย่าง Gemini ซึ่งตัดเสียงรบกวนทางสายตาและฟีเจอร์ “ไดนามิก” ออกไป ได้ผู้ใช้มากพอ แม้จะไม่เป็นอย่างนั้น ในฐานะคนที่ไม่ใช้โซเชียลมีเดียกระแสหลัก บริการของ Google กับ Microsoft, LLM และสิ่งสมัยใหม่แนวดิสโทเปียอื่น ๆ ก็ไม่ได้มีอะไรให้เสียมากนัก มีหนังสือดี ๆ มากพอจะเติมเต็มชีวิตได้ร้อยชาติ มีเส้นทางภูเขาให้เดินและมีเพื่อนให้ดื่มด้วยมากพอ บางทีอาจดีกว่าด้วยซ้ำ

    • อินเทอร์เน็ตหลากสีสันในอดีตอยู่ร่วมกับยุคที่การทำธุรกรรมธนาคารยังทำกันที่สาขาธนาคาร
      ตอนนี้งานธนาคารส่วนใหญ่ย้ายไปออนไลน์แล้ว และธนาคารก็ปิดสาขาจริงไปมาก บริการภาครัฐในหลายประเทศก็เช่นกัน จุดที่น่ากังวลตรงนี้คือ ต่อให้อินเทอร์เน็ตเล็ก ๆ แบบงานอดิเรกสำหรับพวกเนิร์ดและคนนอกยังอยู่รอด แต่หากไม่มี เบราว์เซอร์ที่รองรับ ก็อาจทำงานสำคัญในชีวิตประจำวันไม่ได้
  • ควรดึง Wikimedia Foundation เข้ามา และให้ Wikipedia หรือโฮสต์ MediaWiki รายใหญ่ ๆ ไม่แสดงเนื้อหาใด ๆ หากตรวจพบฟีเจอร์นี้ในเบราว์เซอร์
    นอกจากนี้ ถ้าเป็นผู้ดูแลแพ็กเกจของดิสโทร ก็ควรตั้งค่าเริ่มต้นของ Apache และ nginx ให้เป็นแบบนั้น
    ยิ่งไปกว่านั้น ไม่ควรรีไดเรกต์ไปยังกำแพงข้อความยาว ๆ ที่อธิบายเหตุผลทางการเมืองและเทคนิค แต่ควรแสดงเพียง ข้อความ ERROR ขนาดใหญ่ที่บอกว่าเบราว์เซอร์ไม่รองรับเพราะโมดูลนี้ และถ้าเป็นไปได้ก็มีคำแนะนำสั้น ๆ สำหรับปิดใช้งานใน about:config

    • ถ้าไม่ใช่ว่าเซิร์ฟเวอร์ที่ไม่เข้าใจ WEI จะทำงานไม่ได้อย่างถูกต้อง ผมก็ไม่เห็นด้วยกับการเปลี่ยนค่าเริ่มต้นของ Apache และ nginx แบบนั้น อย่างน้อยเท่าที่เห็นก็ไม่ใช่กรณีนั้น
      ผู้ดูแลระบบอาจเปลี่ยนการตั้งค่าได้ แต่ที่พูดถึงตรงนี้คือค่าเริ่มต้น
      อย่างไรก็ตาม ข้อเสนอที่เหลือดูโอเค ผู้ดูแลแพ็กเกจของดิสโทรอาจปิด WEI ในการตั้งค่าเริ่มต้นของไคลเอนต์ หรือไม่รวมโปรแกรมไคลเอนต์ที่มี WEI เข้ามาก็ได้
  • เห็นการกลับตัว 180 องศาจาก “don’t be evil” แล้วน่าผิดหวัง
    ผมกำลังแนะนำ Mozilla Firefox ให้เพื่อนและครอบครัวทุกคน

    • ผมก็ทำแบบนั้นอยู่และต้องคุยเรื่องเดิม ๆ จนเหนื่อย แต่การสื่อสารสาระสำคัญให้คนที่ไม่ใช่ผู้เชี่ยวชาญเข้าใจนั้นยากจริง ๆ
      ในหมู่เพื่อนสายเทคนิคของผม ก็มีหลายคนที่ยังใช้ Chrome ต่อไปเพราะสะดวก ทั้งที่แค่กลับไปใช้ Chrome เฉพาะเวลามีอะไรที่ใช้ไม่ได้จริง ๆ บน Firefox ก็พอ แล้วเราจะโน้มน้าวคนที่ไม่ค่อยรู้เรื่องเทคโนโลยีได้อย่างไร
    • ในที่สุดผมก็ย้ายภรรยากลับมาใช้ Firefox ได้สำเร็จ บน Mac นั้น Chrome ค้างไปเฉย ๆ จนเปิดหน้าเว็บไม่ได้ ส่วนอย่างอื่นทำงานปกติ
      ตอนนี้เธอใช้ Firefox ได้ดีคู่กับ uBlock Origin ที่ไม่ถูกจำกัดฟีเจอร์
    • น่าเสียดายที่ท้ายที่สุดแล้ว Firefox ก็ยังพูดได้ยากว่า UI/UX ดี
      ครั้งล่าสุดที่ตรวจดู การรองรับหลายโปรไฟล์ ก็ยังเหมือนทำค้าง ๆ ไว้ครึ่งทางอยู่ที่ไหนสักแห่ง