2 คะแนน โดย GN⁺ 2026-03-29 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • รีโพซิทอรีที่จัดการ กฎหมายมากกว่า 8,600 ฉบับ ตั้งแต่ปี 1960 เป็นต้นมาเป็นไฟล์ Markdown โดยรวบรวมผ่าน BOE public API ของรัฐบาลสเปน
  • กฎหมายแต่ละฉบับถูกจัดเก็บพร้อม YAML metadata และติดตามประวัติการแก้ไขทั้งหมดด้วย Git commits
  • ครอบคลุม กฎหมายฉบับรวมระดับประเทศทั้งหมด เช่น รัฐธรรมนูญ กฎหมายอินทรีย์ กฎหมายทั่วไป และพระราชกฤษฎีกาที่มีฐานะเป็นกฎหมาย พร้อมบันทึก ลิงก์แหล่งที่มาทางการ ไว้ในแต่ละคอมมิต
  • ข้อความกฎหมายเผยแพร่ในรูปแบบ public domain และรีโพซิทอรีเพิ่มความสามารถด้าน โครงสร้าง การจัดการเวอร์ชัน และการเปรียบเทียบ
  • โครงการนี้มีแผนเชื่อมต่อกับ Legalize.dev API เพื่อรองรับฟีเจอร์เพิ่มเติม เช่น การค้นหากฎหมาย การเปรียบเทียบเวอร์ชัน และการแจ้งเตือนการเปลี่ยนแปลง

ภาพรวม

  • โปรเจกต์ที่ จัดการกฎหมายสเปนทั้งหมดในรูปแบบ Git repository โดยกฎหมายแต่ละฉบับอยู่ในรูปไฟล์ Markdown และบันทึกประวัติการแก้ไขทั้งหมดเป็นคอมมิต
  • ครอบคลุม กฎหมายมากกว่า 8,600 ฉบับ ตั้งแต่ปี 1960 เป็นต้นมา โดยดึงข้อมูลจาก BOE (Boletín Oficial del Estado) public API ของรัฐบาลสเปน
  • รีโพซิทอรีนี้เป็นส่วนหนึ่งของ โปรเจกต์ Legalize ที่ทำให้สามารถจัดการเวอร์ชัน เปรียบเทียบ และติดตามกฎหมายได้
  • ข้อความกฎหมายเผยแพร่เป็น public domain และรีโพซิทอรีนี้ให้ความสามารถด้าน โครงสร้าง เมทาดาทา และการจัดการเวอร์ชัน

โครงสร้างไฟล์

  • กฎหมายทั้งหมดถูกจัดเก็บเป็นไฟล์ Markdown ภายใต้ไดเรกทอรี spain/
    • ตัวอย่าง: BOE-A-1978-31229.md คือ รัฐธรรมนูญสเปน, BOE-A-1995-25444.md คือ ประมวลกฎหมายอาญา, BOE-A-2015-11430.md คือ ข้อบังคับแรงงาน, BOE-A-2000-323.md คือ กฎหมายวิธีพิจารณาความแพ่ง
  • แต่ละไฟล์เริ่มต้นด้วย frontmatter metadata ในรูปแบบ YAML
    • มีรายการเช่น titulo, identificador, pais, rango, fecha_publicacion, ultima_actualizacion, estado, fuente
    • ในตัวอย่างมีการระบุวันประกาศใช้ของรัฐธรรมนูญ (Constitución Española), วันที่อัปเดตล่าสุด, สถานะ (vigente) และ URL แหล่งที่มาทางการ

ขอบเขตของกฎหมายที่รวมไว้

  • รวม กฎหมายฉบับรวมทั้งหมดที่ BOE จัดหมวดหมู่ในระดับประเทศ
    • เช่น รัฐธรรมนูญ กฎหมายอินทรีย์ (Leyes Orgánicas) กฎหมายทั่วไป (Leyes ordinarias) พระราชกฤษฎีกาที่มีฐานะเป็นกฎหมาย (Decretos-ley) และพระราชกฤษฎีกานิติบัญญัติ (Reales Decretos Legislativos)
  • การแก้ไขแต่ละครั้งถูกบันทึกเป็น คอมมิตอิสระ โดยวันที่ของคอมมิตสะท้อน วันประกาศอย่างเป็นทางการ
  • ข้อความคอมมิตมี ตัวระบุการแก้ไขและลิงก์แหล่งที่มาทางการ รวมอยู่ด้วย

ตัวอย่างการใช้งาน

  • หลังจาก clone รีโพซิทอรีแล้ว สามารถค้นหาบทบัญญัติกฎหมายเฉพาะหรือดูประวัติการเปลี่ยนแปลงได้
    • ตัวอย่าง: ใช้คำสั่ง grep เพื่อค้นหามาตรา 135 ของรัฐธรรมนูญ
    • ใช้ git log เพื่อตรวจสอบประวัติการเปลี่ยนแปลงของมาตราดังกล่าว
    • ใช้ git diff เพื่อเปรียบเทียบรายละเอียดการเปลี่ยนแปลงของ การปฏิรูปเสถียรภาพทางการคลัง ปี 2011

แหล่งข้อมูลและไลเซนส์

  • ข้อมูลทั้งหมดดึงมาจาก BOE integrated legislation API
  • ข้อความกฎหมายเป็น public domain และรีโพซิทอรีนี้ เพิ่มเฉพาะความสามารถด้านโครงสร้างและการจัดการเวอร์ชัน
  • โครงสร้างรีโพซิทอรี เมทาดาทา และเครื่องมือ เผยแพร่ภายใต้ MIT license

API และแผนการขยาย

  • Legalize API จะเปิดให้ใช้งานเร็ว ๆ นี้ที่ legalize.dev
    • วางแผนรองรับการค้นหากฎหมาย การกรอง การเปรียบเทียบเวอร์ชัน และการแจ้งเตือนการเปลี่ยนแปลง

วิธีมีส่วนร่วม

  • หากพบข้อผิดพลาดในข้อความฉบับรวม หรือมีการแก้ไขที่ตกหล่น สามารถเปิด issue พร้อมชื่อกฎหมาย มาตรา และแหล่งที่มาทางการเพื่อเสนอการแก้ไขได้

ผู้สร้าง

  • โปรเจกต์นี้สร้างโดย Enrique Lopez
  • เป็นส่วนหนึ่งของ โปรเจกต์ Legalize และเชื่อมโยงกับ legalize.dev

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

 
GN⁺ 2026-03-29
ความเห็นจาก Hacker News
  • ในฝรั่งเศส กฎหมายไม่ได้แค่ถูกจัดการแบบ version control เท่านั้น แต่ยังมีการ พิสูจน์เชิงรูปแบบ (formally proved) ด้วย
    ใช้ภาษา Catalaเพื่อจัดการกฎหมายเหมือนโค้ด
    แก้ไข: ดูเหมือนทีมฝรั่งเศสจะอยู่ที่นี่เยอะเหมือนกัน อย่างน้อยห้าคนกำลังอ้างถึง Légifrance และพูดถึงการทำ version control

    • Catala ไม่ใช่เครื่องมือสำหรับ ‘พิสูจน์’ กฎหมาย แต่เป็นภาษาที่ถ่ายทอด โครงสร้างตรรกะ (default logic) ของกฎหมายออกมาตรงๆ แล้วแปลงให้อยู่ในรูปแบบที่คำนวณได้
      เวลานำไปใช้สร้างตรรกะการคำนวณภาษีหรือสวัสดิการ มันช่วยให้ตรวจสอบได้แม่นยำกว่าภาษาทั่วไปเดิมมากว่าเนื้อหาตรงกับกฎหมายจริงหรือไม่
    • พอเห็นชื่อ “Catala” โผล่มาในบทสนทนาเรื่องกฎหมายสเปนแล้วรู้สึกว่า ช่างประชดประชัน ดี
    • ก่อนหน้านี้เคยมีวงสนทนาก่อนหน้าเกี่ยวกับหัวข้อนี้
    • “Borbaqui est la volonté du peuple!” — น่าจะเป็นมุกตลกแบบฝรั่งเศส
  • ผมได้สร้าง pipeline ที่แปลงกฎหมายระดับประเทศทั้งหมดของสเปนให้เป็น คลัง Markdown ที่มี version control
    กฎหมายแต่ละฉบับคือหนึ่งไฟล์ และการแก้ไขแต่ละครั้งถูกบันทึกเป็น git commit พร้อมวันที่จริง ปัจจุบันมีทั้งหมด 8,642 ฉบับ และ 27,866 commits
    ท้ายที่สุดแล้วกฎหมายก็คือ ‘ชุดของแพตช์ที่ต่อเนื่องกัน’ ดังนั้นผมคิดว่า git คือคำตอบที่มีอยู่แล้ว แทนที่จะอ่านประโยคอย่าง “ลบวรรค 3 และ...” เราสามารถดูความเปลี่ยนแปลงจริงผ่าน diff ได้เลย
    แหล่งข้อมูลใช้ API กฎหมายฉบับรวมของราชกิจจานุเบกษาสเปน (BOE) และสร้างเสร็จภายในราว 4 ชั่วโมงด้วย Claude Code
    ตอนนี้กำลังสำรวจว่าจะต่อยอดข้อมูลชุดนี้เป็น API กฎหมายหรือแพลตฟอร์มข้อมูลเปิด ได้หรือไม่

    • เจตนารมณ์ (intent) ของกฎหมายมักชัดขึ้นผ่านคำพิพากษา ถ้านำคำตัดสินมาซ้อนทับตามลำดับเวลาไว้บนแต่ละมาตราก็น่าจะมีคุณค่ามาก
      เราอาจวิเคราะห์ได้ว่ากฎหมายใดถูกอ้างอิงบ่อยที่สุด หรือถ้อยคำใดต้องถูกตีความซ้ำๆ
    • อยากรู้ว่าราชกิจจานุเบกษาเผยแพร่กฎหมายในรูปแบบไหน ในเยอรมนียังมีแค่ PDF เลยดูน่าอิจฉา
      ถ้ามี API ทางการ แบบสเปนก็น่าจะมีประสิทธิภาพกว่ามาก แต่ที่เยอรมนียังมีหน่วยงานเอกชนที่ถึงขั้นอ้างลิขสิทธิ์ด้วย
    • ในระบบกฎหมายแบบโรมัน-นโปเลียน การเปลี่ยนแปลงของแต่ละมาตราติดตามได้ก็จริง แต่ ปฏิสัมพันธ์ระหว่างกฎหมายหลายฉบับ ยังต้องพึ่งการตีความของผู้พิพากษาและทนายอยู่ดี
      ส่วนในอังกฤษ เว็บไซต์อย่าง legislation.gov.uk สามารถติดตามประวัติการแก้ไขทั้งหมดได้
    • ในสเปน กฎหมายฉบับรวมไม่ได้ครอบคลุมทั้งหมด และปัญหาจริงคือ การขาดข้อมูลคำพิพากษา
      สำนักงานกฎหมายขนาดใหญ่มีฐานข้อมูลของตัวเองอยู่แล้ว จึงทำให้บริการแบบเสียเงินอาจขายได้ไม่ดีนัก
    • ถ้ากฎหมายภาษีของสหรัฐถูก dump เป็น Markdown แบบนี้ ทุกคนก็คงสร้าง TurboTax ของตัวเองได้
      ดูลิงก์กฎหมายภาษี IRS
  • โครงการแบบนี้เป็นทิศทางที่ยอดเยี่ยมในการเพิ่ม ความโปร่งใสของข้อมูลกฎหมาย
    มันอาจเป็นรากฐานสำหรับเชื่อมให้ AI เข้าใจกฎหมายและอธิบายกฎหมายได้
    หวังว่าจะมีความพยายามคล้ายกันในประเทศอื่นด้วย

  • ถ้าผู้เขียน commit เป็น นักการเมือง ที่รับผิดชอบการแก้ไขจริงก็น่าจะน่าสนใจกว่านี้
    เท่ากับว่าใช้ git blame แล้วรู้ได้ทันทีว่าใครเป็นคนทำกฎหมายนั้นขึ้นมา

    • น่าจะดีถ้าเพิ่มแนวคิดเรื่อง unit test เข้าไปด้วย
      ตั้งช่องโหว่เป็น test case แล้วทุกครั้งที่กฎหมายเปลี่ยนก็รัน regression test เพื่อตรวจว่าไม่มีปัญหา
  • คิดว่าเป็น ไอเดียที่ยอดเยี่ยมมาก อยากให้ระบบแบบนี้ถูกใช้กับกฎหมายของทุกประเทศ

    • วงการกฎหมายรู้ดีว่าการเพิ่มประสิทธิภาพแบบนี้คุกคาม โครงสร้างรายได้ ของพวกเขา
      คล้ายกับกรณีที่มีการล็อบบี้ให้การยื่นภาษียุ่งยากต่อไป วงการทนายก็อาจขัดขวางความโปร่งใสและประสิทธิภาพเช่นกัน
      ดูบทความที่เกี่ยวข้อง
    • องค์กรไม่แสวงหากำไรของเรา Open Law Library กำลังสร้างระบบแบบนี้ร่วมกับรัฐบาลโดยตรง
      รัฐแมริแลนด์ได้นำไปใช้แล้วที่ regs.maryland.gov และ
      ก็เปิดเผยคลัง GitHubไว้ด้วย
      เรากำลังช่วยให้ชุมชนแต่ละพื้นที่เผยแพร่กฎหมายทางการของตนบน GitHub
    • เอกสารกฎหมายแบบอังกฤษเองก็เขียนกันบนพื้นฐานของ diff อยู่แล้ว จึงไม่ใช่เทคนิคลับเฉพาะของวงการเทค
    • เห็นด้วยเต็มที่ เป็นงานที่ยอดเยี่ยมจริงๆ
  • ผมเองก็กำลังทำสิ่งคล้ายกันกับร่างกฎหมายของรัฐแคลิฟอร์เนีย
    คิดว่าวิธีนี้ควรกลายเป็น มาตรฐาน ผมสงสัยมาตลอดว่าทำไมต้นฉบับแท้ของเอกสารพวกนี้ถึงไม่อยู่ในคลัง git

    • ถ้ามองแบบประชด รัฐบาลอาจไม่อยากให้ประชาชนเข้าใจกฎหมายอย่างถ่องแท้ก็ได้
      แต่ถ้ามองในแง่ดีหน่อย ก็อาจเป็นเพราะในวงการกฎหมายแทบไม่มีคนที่เข้าใจหรือทำเทคโนโลยีแบบนี้ได้
  • เป็นโครงการที่ยอดเยี่ยม กฎหมายส่วนใหญ่จากยุคฟรังโกถูกยกเลิกไปในปี 1978 แต่ก็ยังมี กฎหมายก่อนศตวรรษที่ 19 รวมอยู่ด้วย
    อย่างไรก็ตาม แหล่งข้อมูลเริ่มต้นจากปี 1960 เป็น commit เดียว จึงไม่มีประวัติการแก้ไขก่อนหน้านั้น
    BOE ถึงขั้นสแกนเอกสารย้อนหลังไปถึงคริสต์ศตวรรษ 1600 ไว้แล้ว ถือว่า การเก็บรักษาเอกสารน่าทึ่งมาก

  • ข้อจำกัดของ Git คือ git blame ใช้ไม่ได้จริง
    ถ้ารู้ได้ว่าใครโหวตเห็นด้วยหรือคัดค้านก็คงดี แต่ git ไม่ได้ออกแบบมาเป็นโครงสร้าง commit แบบทำงานร่วมกัน

    • ถ้าใส่ ผลโหวตหรือ metadata ลงใน commit log ก็น่าจะทำได้
      ไม่ว่าอย่างไร แค่เอากฎหมายทั้งประเทศมาไว้ใน git ได้ก็เป็นความสำเร็จที่ยิ่งใหญ่มากแล้ว
    • Git ไม่ได้เหมาะที่สุดสำหรับ commit แบบร่วมเขียน แต่ก็เสริมได้ด้วย ธรรมเนียมชุมชน อย่าง “Co-Authored-By”
      วิธีนี้มีต้นกำเนิดจากการพัฒนา Linux kernel
    • อาจใช้ทั้งสภาเป็นผู้เขียนหลัก แล้วใส่แต่ละพรรคกับผลโหวตเป็นผู้เขียนร่วมก็ได้
    • จริงๆ ข้อมูลพวกนี้เปิดเผยอยู่แล้ว ดังนั้น LLM ก็ตอบได้ อาจไม่จำเป็นต้องให้พวก nerd ใช้ git ก็ได้ เป็นมุกขำๆ
    • ถ้า squash PR ที่มีหลายคนร่วมกัน ก็จะแสดงเป็น commit ร่วมและ ทิ้งร่องรอยการทำงานร่วมกัน ได้
  • ผมคือ เจ้าของโพสต์ (OP) เอง ไม่คิดเลยว่าจะมีคนตอบรับมากขนาดนี้
    เพราะมีคนขอเยอะ ผมเลยเปิดโค้ดแล้ว → GitHub: legalize-dev
    pipeline นี้ออกแบบมาให้ รองรับหลายประเทศ โดยโครงสร้างสำหรับฝรั่งเศส (ข้อมูล Légifrance) ใช้งานได้แล้ว
    ถ้าจะเพิ่มประเทศใหม่ แค่ต้อง implement Python interface 4 ตัวเท่านั้น
    ผมยังเขียนคู่มือการมีส่วนร่วมไว้ด้วย
    ตอนนี้มีคนจากเยอรมนี โปรตุเกส สวีเดน ฟินแลนด์ เนเธอร์แลนด์ บราซิล และอีกหลายที่แสดงความสนใจจะร่วมด้วย
    ถ้าคุณรู้จัก แหล่งข้อมูลกฎหมายเปิดเผยสาธารณะ ของประเทศตัวเอง ก็ช่วยส่ง PR มาได้เลย
    พอขนาดเริ่มใหญ่ขึ้นก็ต้องมีโครงสร้างพื้นฐานเพิ่ม เลยกำลังเตรียมระดมทุนผ่าน Open Collective
    ยังมีเว็บไซต์สำหรับดูตัวบทกฎหมายและ diff แบบเรียลไทม์ด้วย
    ตอนนี้ยังไม่เสถียรนัก แต่ กำลังวางภาพใหญ่ไว้แล้ว

  • ยินดีด้วย! เป็นโครงการที่ยอดเยี่ยมจริงๆ
    ก่อนหน้านี้ก็เคยมีความพยายามคล้ายกันชื่อ gitlaw และในบราซิลมี มาตรฐาน LexML ที่ใช้แทนการเปลี่ยนแปลงทางกฎหมายในเชิงเทคนิค
    มันค่อนข้างซับซ้อน แต่เป็นแนวทางที่น่าสนใจ

    • มีคนแซวว่า “XML อีกแล้วเหรอ” และบอกว่าสเปนเองก็เคยเข้าร่วม LexML อยู่ช่วงหนึ่ง แต่ตอนนี้ดูเหมือนจะเปลี่ยนไปใช้รูปแบบอื่นแล้ว