2 คะแนน โดย GN⁺ 2025-09-03 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • FreeDroidWarn คือไลบรารี Android แบบโอเพนซอร์สที่สร้างขึ้นเพื่อตอบสนองต่อนโยบาย การยืนยันตัวตนนักพัฒนา ใหม่ของ Google
  • Google มีแผนจะกำหนดให้แอปที่อยู่นอก Play Store ต้อง ส่งข้อมูลยืนยันตัวตนนักพัฒนา ด้วยเช่นกัน ตั้งแต่ปี 2026/2027
  • ไลบรารีนี้มีฟังก์ชันแจ้งเตือนเพื่อ เตือนว่าแอปนั้นอาจไม่สามารถทำงานบนอุปกรณ์ Android ที่ได้รับการรับรองได้อีกต่อไป หากนักพัฒนาไม่ส่งข้อมูลยืนยันตัวตนให้ Google โดยตรง
  • เป็นโซลูชันที่มีประโยชน์สำหรับ นักพัฒนาแอปที่ไม่เห็นด้วยกับนโยบายนี้ ด้วยเหตุผลด้านความปลอดภัยและความเป็นส่วนตัว
  • สามารถนำไปใช้และปรับแต่งได้อย่างอิสระภายใต้ สัญญาอนุญาต Apache-2.0

ภาพรวมของ FreeDroidWarn

  • FreeDroidWarn เป็นไลบรารีที่สร้างขึ้นเพื่อตอบสนองต่อนโยบายของ Google ที่จะบังคับใช้ การยืนยันตัวตนนักพัฒนา กับ แอป Android ที่แจกจายนอก Play Store ตั้งแต่ปี 2026/2027
  • ไลบรารีนี้มีฟังก์ชันผ่าน หน้าต่างแจ้งเตือน เพื่อแจ้งผู้ใช้ว่าในอนาคตแอปดังกล่าวอาจไม่สามารถทำงานบนอุปกรณ์ Android ที่ได้รับการรับรองได้อีกต่อไป

ฟีเจอร์หลักและวัตถุประสงค์

  • ตามนโยบายของ Google ตั้งแต่ปี 2026/2027 เป็นต้นไป นักพัฒนาแอปบน อุปกรณ์ Android ที่ได้รับการรับรองทั้งหมด จะมีหน้าที่ต้อง ส่งข้อมูลยืนยันตัวตนส่วนบุคคลให้ Google โดยตรง
  • นักพัฒนาที่ไม่ยอมรับข้อกำหนดนี้จำเป็นต้องจัดเตรียม การแจ้งยุติการรองรับแอปและการเปลี่ยนแปลงนโยบายให้ผู้ใช้ ด้วยตนเอง
  • FreeDroidWarn ช่วยให้นักพัฒนาสามารถอธิบาย การเปลี่ยนแปลงนโยบายและความเป็นไปได้ที่จะไม่สามารถใช้งานได้ในอนาคต แก่ผู้ใช้ได้อย่างชัดเจนในสถานการณ์เช่นนี้

วิธีใช้งาน

  • แสดง การแจ้งเตือน โดยเรียกเมธอด FreeDroidWarn.showWarningOnUpgrade(this, BuildConfig.VERSION_CODE); ภายใน onCreate ของแอป
  • ไลบรารีนี้สามารถเพิ่มเข้าไปได้อย่างง่ายดาย โดยไม่ต้องกรอกข้อมูลส่วนตัวเพิ่มเติม และใช้ข้อความเตือนเพื่อแจ้งผู้ใช้เกี่ยวกับนโยบายการยืนยันตัวตนนักพัฒนาใหม่ของ Google

สัญญาอนุญาตและข้อมูลอื่น ๆ

  • เผยแพร่ภายใต้ สัญญาอนุญาต Apache V2.0 จึงสามารถนำไปใช้ได้อย่างอิสระทั้งในโปรเจกต์เชิงพาณิชย์และโอเพนซอร์ส
  • โค้ดทั้งหมดเปิดเผยบน GitHub และทุกคนสามารถปรับปรุงหรือปรับแต่งได้

ความสำคัญและข้อดีของ FreeDroidWarn

  • เป็น ทางเลือกสำคัญ สำหรับนักพัฒนาที่ไม่เห็นด้วยกับ นโยบายการยืนยันตัวตนนักพัฒนา ของ Google หรือไม่ต้องการให้ข้อมูลยืนยันตัวตนเพิ่มเติมด้วยเหตุผลด้านความเป็นส่วนตัวและความปลอดภัย
  • เมื่อเทียบกับไลบรารีอื่น จุดเด่นคือมี API ที่เรียบง่าย โครงสร้างแบบโอเพนซอร์ส และการแนะนำผู้ใช้ที่เฉพาะเจาะจงและชัดเจน ทำให้เป็นตัวเลือกที่ชาญฉลาด
  • มีประโยชน์อย่างมากโดยเฉพาะสำหรับนักพัฒนาที่ต้องการนำ การแจ้งเตือนเชิงป้องกัน มาใช้เพื่อลดความสับสนของผู้ใช้แอประหว่างช่วงเปลี่ยนผ่านของนโยบาย

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

 
GN⁺ 2025-09-03
ความคิดเห็นจาก Hacker News
  • ประเด็นข้อจำกัดผู้ใช้นี้คล้ายกับกรณี Manifest V3 ของ Chromium

    • ฉันเบื่อโครงสร้างผูกขาดแบบนี้เลยย้ายไปใช้สมาร์ตโฟน Linux และเปลี่ยนธนาคารด้วย ตอนนี้ใช้บัตรธนาคารเป็นอุปกรณ์ 2FA แบบคล้าย CAP แนะนำ Chip Authentication Program
    • ลองคิดดูว่าถ้าเราทุกคนหันไปทำธุรกรรมธนาคารผ่านเว็บจะเป็นอย่างไร แม้จะสะดวกน้อยลง แต่ก็เหมาะกับเดสก์ท็อปมากกว่า และไม่มีใครมาคอยตรวจว่าใครเป็นคนเซ็นเคอร์เนลของฉัน จึงมีอิสระกว่า
    • ธนาคารจำนวนมากพอสมควร โดยเฉพาะธนาคารใหญ่ ๆ ยอมรับ GrapheneOS แน่นอนว่า DNB และ BankID ของนอร์เวย์รองรับ ประเด็นสำคัญคือหาธนาคารที่มีโปรแกรมเมอร์เก่ง ๆ ฉันเลือก DNB จากการวิเคราะห์ด้วย uMatrix เพราะไม่มี 3rd party tracker เลย ขณะที่ SpareBank มีอยู่หลายตัว
    • ถ้าธนาคารไม่ใช่อุปกรณ์หลักของคุณ ก็ใช้โทรศัพท์สำรองหรือ Android มือสองราคาถูกหน่อยก็ได้ และถ้ามีโอกาสก็ยังใช้เว็บไซต์ตรง ๆ ได้อยู่เหมือนกัน ฉันเองก็กำลังจะย้ายไป Linux ในไม่ช้า
    • ฉันอาศัยอยู่ในไทย ที่นี่เป็นสังคม mobile-first และวิธีจ่ายเงินหลักคือแอปธนาคาร แค่สแกน QR แอปก็เปิดขึ้นมาแล้วโอนเงินได้ทันที สะดวกมาก แต่ตอนนี้มันกำลังกลายเป็นวิธีจ่ายเงินเพียงวิธีเดียว นี่เป็นแค่จุดเริ่มต้น และฉันคิดว่าในอีก 20~30 ปีข้างหน้า โลกตะวันตกก็น่าจะเป็นแบบเดียวกันนี้ด้วยซ้ำ (ประเทศกำลังพัฒนาอาจเร็วกว่า) ถ้าไม่มี 'แอปที่ผ่านการรับรอง' ก็จะถูกกันออกจากระบบการเงิน และแอปจะรันได้เฉพาะบนระบบปฏิบัติการที่ได้รับอนุญาตเท่านั้น ทั้งหมดนี้คือปลายทางของอำนาจนิยมและทุนนิยมสอดส่องอย่างแท้จริง การปรับปรุงด้านความปลอดภัยและความสะดวกหลายอย่าง แท้จริงแล้วคือชิ้นส่วนจิ๊กซอว์ที่จำเป็นต่อการสอดส่อง ในมุมมองของฉันนี่ไม่ใช่แผนสมคบคิดที่วางไว้ล่วงหน้า แต่เป็นผลลัพธ์ตามธรรมชาติของระบบทุนนิยม ฉันไม่ได้นับถือศาสนา แต่คำว่า ‘เครื่องหมายของสัตว์ร้าย’ ฟังดูสมจริงเกินไป
  • การรับมือทางเทคนิคต่อการละเมิดความเป็นเจ้าของมีขีดจำกัด และสุดท้ายก็เป็นภาพที่บริษัทยักษ์ใหญ่ต้องการ จึงจำเป็นต้องมีการออกกฎหมายในท้ายที่สุด

    • นี่แหละคือแนวทางแก้ปัญหาในระดับสังคม สิ่งสำคัญคือทำให้ผู้ใช้รู้ปัญหา กดดันไม่ให้อัปเกรด และในระยะยาวต้องเรียกร้องให้มีกฎหมาย
    • ต้องมี call-to-action ที่บอกผู้ใช้ตรง ๆ ว่าจะต่อสู้อย่างไร
    • สิ่งที่ควรผลักดันอย่างเป็นรูปธรรม: ยกเลิก WIPO Copyright Treaty, ถอน DMCA (โดยเฉพาะมาตรา 1201), ออกและเสริมความแข็งแรงให้กฎหมายสิทธิความเป็นเจ้าของและสิทธิในการซ่อม, แยกบริษัทยักษ์ผูกขาดและบังคับใช้กฎหมายต่อต้านการผูกขาด
    • เพราะมันเป็นโอเพนซอร์สจึงไม่จำเป็นต้องพึ่งกฎหมาย โอเพนซอร์สให้เสรีภาพนั้นอยู่แล้ว แนวทางควรเป็นสิ่งที่เป็นประโยชน์ต่อทุกคน ไม่ใช่เฉพาะในแบบที่คุณต้องการ ฝ่ายที่ต้องการป้องกันการนำไปใช้ผิดทางมีถึง 99% ดังนั้นการต่อสู้นี้แทบเป็นไปไม่ได้
  • ถ้าไลบรารีนี้ใช้สัญญาอนุญาต GPLv3 ก็อาจยิ่งจำกัดการแพร่หลาย ดูเหมือนจะไม่มีคุณค่าที่โดดเด่นมากนักนอกจากเรื่องการแปล นักพัฒนาแอปส่วนใหญ่ก็มี pipeline การแปลของตัวเองอยู่แล้ว และโค้ดก็เรียบง่ายมากจนยังน่าสงสัยว่าจะถึงเกณฑ์การคุ้มครองลิขสิทธิ์หรือไม่

    • ดูเหมือนผู้คนจะประเมินคุณค่าของการคัดลอกแล้ววางต่ำเกินไป (code vendoring) ฉันคิดว่าการดึงโค้ดมาใช้ตรง ๆ ต่อให้เป็นหมื่นบรรทัดก็ยังดีกว่าเพิ่ม dependency ฉันเคย vendor implementation ของ CPIO จาก u-root ทั้งก้อนในโปรเจกต์ Go ซึ่งช่วยลด dependency ได้มาก เกี่ยวกับ u-root CPIO
    • เดี๋ยวนี้มันให้ความรู้สึกไม่ต่างจากการเขียน one-liner is-even ลงใน npm เท่าไรนัก
    • ฉันแนะนำให้ OP เปลี่ยนเป็น LGPLv3 แบบนี้จะช่วยรักษาเสรีภาพของผู้ใช้ไว้ได้และลดแรงต้านลงด้วย
    • เปลี่ยนสัญญาอนุญาตเป็น Apache V2.0 แล้ว
    • เปลี่ยนกลับมาใช้สัญญาอนุญาต Apache V2.0 อีกครั้ง
  • Google ประกาศว่าเริ่มตั้งแต่ปี 2026/2027 เป็นต้นไป แอปทั้งหมดบนอุปกรณ์ Android ที่ผ่านการรับรองจะต้องให้ผู้พัฒนาส่งข้อมูลส่วนตัว ผู้พัฒนาแอปรายนี้ไม่ยอมรับเงื่อนไขดังกล่าว ดังนั้นหลังจากนั้นแอปนี้จะไม่ทำงานบน Android ที่ผ่านการรับรอง อย่างน้อยก็ถือว่าเป็นการเตือนผู้ใช้

  • GPLv3 ดูเข้มงวดเกินไปสำหรับโปรเจกต์แบบนี้ การกระจายข้อความสำคัญน่าจะสำคัญกว่าเสรีภาพของโค้ด

    • เปลี่ยนเป็นสัญญาอนุญาต Apache V2.0 ไปแล้ว
  • จังหวะมาพอดี ฉันคงแก้ด้วย dialog ง่าย ๆ โดยไม่เพิ่ม dependency ใหม่ แต่ตัวข้อความสำคัญมาก ฉันสงสัยว่าเมื่อมีการเพิ่มการตรวจสอบใหม่ในอนาคต ทางหนีอย่าง ADB+Unknown sources จะยังเปิดให้ผู้ใช้ที่ไม่รูตใช้อยู่เหมือนเดิมหรือไม่

    • อันที่จริงไลบรารีนี้ก็เป็นแค่ wrapper ของ AlertDialog เช็กค่าใน SharedPreferences เท่านั้น และงานก็ยังดูไม่เนี้ยบ
  • ถ้าไลบรารีนี้เป็นสัญญาอนุญาต GPL ก็ทำให้ทั้งโปรเจกต์ต้องเป็น GPL ไปด้วย จึงเป็นภาระหนักสำหรับการใช้งานจริง

    • เปลี่ยนสัญญาอนุญาตเป็น Apache V2.0 แล้ว
  • Google พูดไว้ว่าจะมีทางออกให้กับนักเรียนหรือนักพัฒนาแบบงานอดิเรก ฉันเลยหวังว่าท้ายที่สุดอาจเป็นแค่แตะ label 5 ครั้งเพื่อเปิด sideloading

    • สิ่งที่ผู้ใช้ทั่วไปกับวิศวกรมองว่าเป็น 'ทางออก' นั้นต่างกัน ผู้ใช้ทั่วไปต้องเข้าถึงได้ง่ายที่สุด ในกรณีของ Apple ติดตั้งได้เฉพาะแอปจำนวนน้อยที่ต้อง build เอง และแม้แต่เรื่องนั้นก็ยังยุ่งยากมากเพราะต้องคอยจัดการวันหมดอายุของ certificate Google เองก็กำลังเดินไปในทางคล้ายกัน
    • สามารถติดตั้งแอปได้จำนวนหนึ่งฟรี นโยบายการยืนยันตัวตนนักพัฒนา Android
  • ฟังดูเหมือนคำตอบคือ “หลีกเลี่ยง Google โดยเฉพาะอย่าซื้อผลิตภัณฑ์หรือโทรศัพท์ของ Google” เงินคือภาษาของบริษัท และบิ๊กเทคมักจะนำหน้ากฎหมายไปหลายก้าวเสมอ

    • แต่ทางเลือกอื่นคือ iOS (ที่มีข้อจำกัดแบบเดียวกันมานานกว่า 10 ปีแล้ว) หรือไม่ก็ OS ทางเลือกเฉพาะกลุ่มมาก ๆ ซึ่งสุดท้ายก็ทำตลาดวงกว้างไม่คุ้ม
    • น่าขันตรงที่จริง ๆ แล้วโทรศัพท์ของ Google กลับเป็นตัวเลือกที่ดีที่สุดในการหลีกเลี่ยงข้อจำกัดเหล่านี้ เช่น การติดตั้ง de-googled Android
  • แค่จะขึ้น dialog หนึ่งอันก็ไม่จำเป็นต้องเพิ่ม dependency ถึงขั้นนั้น เห็นด้วยว่า Google กำลังทำให้ Android มีอิสระน้อยลงเรื่อย ๆ แต่แค่แสดง dialog ก็น่าจะพอแล้ว

    • คุณภาพโค้ดเองก็ยังน่าผิดหวัง ใน if สองแขนงมีโค้ดที่เกือบเหมือนกันซ้ำอยู่ ตัวอย่างโค้ด
    • แต่ repo แบบนี้ก็น่าจะมีผลเชิงสัญลักษณ์บางส่วนจากการสะสมดาวและการแพร่กระจาย
    • ตัว repo เองมีความสำคัญในเชิงสารทางสังคมมากกว่าความใช้ได้จริง
    • จุดแข็งของไลบรารีคือมีข้อความเตือนที่ localize แล้วให้ใช้งาน