2 คะแนน โดย GN⁺ 2025-06-05 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • IRS เปิดซอร์สโค้ดของ Direct File จำนวนมาก บน GitHub ในรูปแบบโอเพนซอร์ส
  • ในฐานะผลงานของรัฐบาลสหรัฐฯ โค้ดดังกล่าวอยู่ใน public domain และทุกคนสามารถตรวจสอบโค้ดได้
  • การเปิดเผยครั้งนี้เป็นส่วนหนึ่งของการดำเนินการตาม SHARE IT Act และประกาศก่อนกำหนดตามกฎหมาย 3 สัปดาห์
  • การเผยแพร่แบบ โอเพนซอร์ส มีเป้าหมายเพื่อเพิ่มความโปร่งใสและสร้าง ความเชื่อมั่นของผู้เสียภาษี
  • ทีม Direct File ให้ความสำคัญกับ ความปลอดภัยของข้อมูล, การใช้สิทธิประโยชน์ทางภาษีอย่างเป็นธรรม และการเพิ่มการเข้าถึงสำหรับสาธารณะด้วย

เปิดเผยซอร์สโค้ด Direct File บน GitHub

เมื่อวันที่ 30 พฤษภาคม 2025 IRS ได้เปิดเผย ซอร์สโค้ดส่วนใหญ่ของบริการ Direct File บน GitHub ในรูปแบบซอฟต์แวร์โอเพนซอร์ส ในฐานะผลงานของรัฐบาลสหรัฐฯ โค้ดดังกล่าวอยู่ใน public domain และทุกคนสามารถเข้าไปตรวจสอบเนื้อหาได้อย่างอิสระ

จุดประสงค์และเบื้องหลังของการเปิดเผย

การเปิดเผยซอร์สโค้ดครั้งนี้เป็นมาตรการเพื่อปฏิบัติตาม SHARE IT Act (ร่างกฎหมายหมายเลข 9566 ของสภาคองเกรสสหรัฐฯ ชุดที่ 118) โดยดำเนินการเร็วกว่ากำหนดอย่างเป็นทางการ 3 สัปดาห์ นอกจากนี้ยังคาดว่าจะมีซอฟต์แวร์อื่น ๆ ที่ IRS ดูแลเปิดให้ทุกคนเข้าถึงได้มากขึ้นในอนาคต

ความสำคัญของโอเพนซอร์ส

การทำให้โค้ดของบริการ Direct File เป็นโอเพนซอร์สไม่ใช่แผนที่เพิ่งเกิดขึ้นไม่นาน แต่เป็นสิ่งที่ผลักดันกันมาเป็นเวลานาน ตามที่ทีม Direct File เคยระบุไว้เมื่อปีที่แล้ว โอเพนซอร์สมีความสำคัญดังนี้

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

ความเชื่อมั่นของผู้เสียภาษีและหลักการของ Direct File

การสร้าง ความเชื่อมั่นของผู้เสียภาษี เป็นยุทธศาสตร์หลักในการออกแบบ Direct File โดยเน้นองค์ประกอบต่อไปนี้

  • มอบ ทางเลือกการยื่นภาษีที่แม่นยำที่สุด
  • ทำให้ประชาชนทุกคนสามารถเข้าถึงและใช้งานระบบยื่นภาษีได้
  • ปฏิบัติตามหลักการด้านความปลอดภัยของข้อมูลผู้เสียภาษีอย่างเคร่งครัด
  • ปฏิบัติความโปร่งใสด้วยการเปิดเผยโค้ดโดยตรง

ข้อชี้แจงส่วนตัว

ผู้เขียนได้สิ้นสุดการทำงานกับ IRS อย่างเป็นทางการเมื่อ 2 สัปดาห์ก่อน ข้อความนี้เป็นความเห็นส่วนตัวล้วน ๆ

ที่อยู่ GitHub repository

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

 
GN⁺ 2025-06-05
ความคิดเห็นบน Hacker News
  • Direct File มีโครงสร้างข้อมูล knowledge graph แบบประกาศและอิง XML ที่ชื่อว่า Fact Graph ซึ่งออกแบบมาให้อนุมานจากข้อมูลที่ไม่สมบูรณ์ เช่น แบบยื่นภาษีที่กรอกมาเพียงบางส่วน Fact Graph เขียนด้วย Scala รันบน JVM ที่ฝั่งแบ็กเอนด์ และทรานส์ไพล์ผ่าน Scala.js เพื่อรันที่ฝั่งไคลเอนต์ Fact Graph ของ Direct File ไม่ได้จำกัดอยู่แค่โดเมนเฉพาะ จึงอาจใช้เป็นข้อมูลอ้างอิงที่มีประโยชน์สำหรับหน่วยงานภาษีหรือการสร้าง business rules engine อื่นๆ ได้ด้วย

  • เพิ่งทำงานที่ IRS จนถึงเมื่อ 2 สัปดาห์ก่อน แต่พูดในนามส่วนตัว รู้สึกเสียดายที่รัฐบาลชุดปัจจุบันยกเลิก DirectFile และปลดคนที่เกี่ยวข้องออกหมด

  • น่าเศร้าที่โครงการนี้กำลังถูกระงับโดยรัฐบาลปัจจุบัน ตัวคลังโค้ดดีมากจริงๆ และโครงสร้าง Scala fact graph ก็ยอดเยี่ยมมาก เห็นได้ชัดว่าทุ่มเทอย่างมากแม้แต่ในส่วน tutorial

    • คิดว่าคนที่ร่วมโครงการนี้คงรู้ตั้งแต่ก่อนเขียนโค้ดแม้แต่บรรทัดเดียวแล้วว่าโชคชะตาถูกกำหนดไว้ ถ้าครั้งหน้ามีคนจากพรรครีพับลิกันขึ้นมา โครงการนี้ก็จะถูกฆ่าทันที พวกเขาคงรู้ว่าแม้จะทำซอฟต์แวร์นี้ออกมาจนเผยแพร่ได้จริงก็เป็นความสำเร็จที่น่าทึ่ง แต่คงอยู่ได้ไม่นาน อิทธิพลล็อบบี้ภาษีแบบ pay-to-file นั้นแข็งแรงและคอร์รัปชันเกินไป

    • ร่างกฎหมายนี้เสนอโดย Nick Langworthy จากพรรครีพับลิกัน และมี William Timmons ร่วมเสนอด้วย กรุณาอย่าเผยแพร่ข้อมูลผิดหรือข้อมูลปลอม

  • มีคนถามว่าวิธีแบบนี้พบได้ทั่วไปใน Java หรือไม่ พร้อมแชร์ลิงก์โค้ดตัวอย่าง

    • นี่คือตัวอย่างของ reactive programming ใน Java โดยคืน callback ที่จะถูกรันเมื่อทำงานเสร็จ ชนิด Mono<T> เป็นลักษณะเด่นที่เห็นชัด

    • ใช้ Java มานานมากแล้ว แต่ไม่ค่อยได้เห็นโค้ดแบบนี้นัก หลายส่วนมาจากสไตล์ reactive programming (reactor.core.publisher.Mono) อาจเป็นไปได้ว่าเขาพยายามยัดโค้ดทั้งหมดให้พอดีในหน้าจอเดียว ถ้าฉันเป็นหัวหน้าทีมก็คงอยากให้ทำให้ง่ายกว่านี้

    • สไตล์การเขียนโค้ดแบบนี้มักเห็นได้ในโปรเจ็กต์ภาครัฐ เวลามีคนอยากได้งานมั่นคงตลอดชีวิต หรือคิดว่าถ้าคนอื่นอ่านยากจะเป็นผลดีกับตัวเอง หรือไม่ก็มีเป้าหมายเพื่อช่วยขายจอ ultra-wide

    • atomics ดูแปลกๆ แต่ถ้าใช้ reactor แล้วจำเป็นต้องมีพฤติกรรมแบบ sequential blocking โครงสร้างโค้ดโดยรวมก็มักจะเละเทะได้

    • เห็นของคล้ายๆ กันบ้างทั้งใน Java และภาษาอื่นๆ แต่ก็น่าจะไม่ใช่วิธีที่คนส่วนใหญ่ชอบ

  • คิดว่าสิ่งที่ยากกว่าการเปิดซอร์สของ IRS ไม่ใช่ตัวซอร์สโค้ดเอง แต่เป็นการเชื่อมต่อกับระบบจัดเก็บรายได้ภาษีและการรับประกันว่าทำตามกฎหมายภาษีปัจจุบัน ต่อให้เปิดซอร์สโค้ดออกมา เรื่องนี้ก็ยังเป็นส่วนที่รัฐบาลจะสั่งหยุดเมื่อไรก็ได้

    • เห็นด้วยอย่างยิ่ง จากคำอธิบายในคลังโค้ด Direct File แปลกฎหมายภาษีสหรัฐฯ (26 USC) ให้อยู่ในรูปคำถามภาษาง่ายๆ เพื่อให้ผู้เสียภาษีตอบเองได้โดยไม่ต้องมีคำอธิบายเพิ่ม จากนั้นนำคำตอบไปแปลงเป็นแบบฟอร์มภาษีมาตรฐานแล้วส่งผ่าน API ทางการอย่าง Modernized e-File (MeF) ตามทฤษฎีอาจนำไปใช้ได้ทันที แต่ก็จริงอย่างที่ว่า ถ้านโยบายเปลี่ยนก็เสี่ยงจะไร้ความหมาย

    • อีกด้านหนึ่ง ความยากยังรวมถึงการที่อุตสาหกรรมจัดเตรียมภาษีใช้เวลาหลายสิบปีในการล็อบบี้เพื่อปกป้องผลประโยชน์ของตัวเอง จำนวนรัฐที่อนุญาตให้ยื่นแบบโดยตรงฟรีเพิ่มขึ้นจากปีก่อน ตอนนี้มี 25 รัฐรวม DC แล้ว แต่ก็ยังไม่ชัดเจนว่าทำไมอีก 25 รัฐที่เหลือถึงยังทำไม่ได้ (ฉันอาศัยอยู่ใน DC)

    • ถูกต้อง นักการเมืองหรือข้าราชการที่ทำงานให้กับล็อบบี้การยื่นภาษีสามารถแก้กฎหมายภาษีให้ซอฟต์แวร์นี้ไร้ประโยชน์เมื่อไรก็ได้

    • ไม่แน่ใจว่าตอนนี้มีฟังก์ชันนั้นหรือยัง แต่ถ้า eFile มีความสามารถครบพอ ในทางทฤษฎีก็น่าจะสร้างแบบยื่นกระดาษได้ด้วย

    • กลับกัน มันก็ดูเป็นโอกาสทางธุรกิจได้เหมือนกัน

  • ในส่วน Exempted Code มีระบุว่า ซอร์สโค้ด เอกสาร และเมทาดาทาทั้งหมดที่ใช้พัฒนา Direct File ไม่ได้ถูกรวมไว้ในคลังสาธารณะทั้งหมด โดยโค้ดสำหรับ PII, ข้อมูลภาษีของรัฐบาลกลาง (FTI), ข้อมูลอ่อนไหวแต่ไม่จัดชั้นความลับ (SBU) และระบบความมั่นคงแห่งชาติ (NSS) ถูกยกเว้นตามกฎหมาย จึงมีการแจ้งว่าฟังก์ชันบางส่วนถูกลบออกหรือเขียนใหม่ ทำให้อยากรู้มากว่าส่วนไหนถูกตัดออกไปบ้าง

  • ใครๆ ก็คงเคยพลาดสักครั้งด้วยการเพิ่มแค่ submodule pointer แทนที่จะอัปโหลดไฟล์จริงเข้าไปในคลัง ดูได้จากลิงก์คอมมิตตัวอย่าง อีกจุดที่น่าสนใจคือ เพราะเป็นโค้ดที่มาจากสหรัฐฯ จึงใช้แค่ CC0 ตรงๆ ไม่ได้ และต้องระบุให้ชัดเจนแยกต่างหากว่าเป็น “สาธารณสมบัติ”

    • ถ้าจะพูดให้สั้นก็คือ Creative Commons (มีสำนักงานใหญ่ในแคลิฟอร์เนีย) ไม่ได้เผยแพร่ไลเซนส์ที่เหมาะกับซอฟต์แวร์ขององค์กรสาธารณะที่ใหญ่ที่สุดในสหรัฐฯ และเรื่องความแตกต่างแบบนี้ก็ชวนให้สงสัยเหมือนกัน
  • เผื่อใครสงสัย นี่คือลิงก์คลังโค้ด

    • อาจควรรีบ fork ไว้ก่อนที่ใครสักคนจะลบคลังนี้ทิ้ง ไม่แน่ว่าภายหลังอาจไปไกลถึงขั้นแค่เปิดดูก็โดนลงโทษได้
  • ไม่ใช่แค่โค้ดเท่านั้น ในโฟลเดอร์ /docs/design ยังมีเอกสารออกแบบและโน้ตชั้นเยี่ยม อยู่มากมาย รวมถึงไดอะแกรมขั้นตอนแบบละเอียดตาม user flow ด้วย (ดูแบบสดไม่ได้ ต้องดาวน์โหลดเป็นไฟล์ zip เช่น flow1.zip และ flow2.zip)

  • สัปดาห์ที่แล้ว (อ้างอิงเดือนพฤษภาคม 2025) ก็มีการพูดคุยเรื่องนี้เช่นกัน: IRS Direct File - Hacker News(62 ความคิดเห็น)