- รีโพซิทอรีที่จัดการ กฎหมายมากกว่า 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 ความคิดเห็น
ความเห็นจาก Hacker News
ในฝรั่งเศส กฎหมายไม่ได้แค่ถูกจัดการแบบ version control เท่านั้น แต่ยังมีการ พิสูจน์เชิงรูปแบบ (formally proved) ด้วย
ใช้ภาษา Catalaเพื่อจัดการกฎหมายเหมือนโค้ด
แก้ไข: ดูเหมือนทีมฝรั่งเศสจะอยู่ที่นี่เยอะเหมือนกัน อย่างน้อยห้าคนกำลังอ้างถึง Légifrance และพูดถึงการทำ version control
เวลานำไปใช้สร้างตรรกะการคำนวณภาษีหรือสวัสดิการ มันช่วยให้ตรวจสอบได้แม่นยำกว่าภาษาทั่วไปเดิมมากว่าเนื้อหาตรงกับกฎหมายจริงหรือไม่
ผมได้สร้าง pipeline ที่แปลงกฎหมายระดับประเทศทั้งหมดของสเปนให้เป็น คลัง Markdown ที่มี version control
กฎหมายแต่ละฉบับคือหนึ่งไฟล์ และการแก้ไขแต่ละครั้งถูกบันทึกเป็น git commit พร้อมวันที่จริง ปัจจุบันมีทั้งหมด 8,642 ฉบับ และ 27,866 commits
ท้ายที่สุดแล้วกฎหมายก็คือ ‘ชุดของแพตช์ที่ต่อเนื่องกัน’ ดังนั้นผมคิดว่า git คือคำตอบที่มีอยู่แล้ว แทนที่จะอ่านประโยคอย่าง “ลบวรรค 3 และ...” เราสามารถดูความเปลี่ยนแปลงจริงผ่าน diff ได้เลย
แหล่งข้อมูลใช้ API กฎหมายฉบับรวมของราชกิจจานุเบกษาสเปน (BOE) และสร้างเสร็จภายในราว 4 ชั่วโมงด้วย Claude Code
ตอนนี้กำลังสำรวจว่าจะต่อยอดข้อมูลชุดนี้เป็น API กฎหมายหรือแพลตฟอร์มข้อมูลเปิด ได้หรือไม่
เราอาจวิเคราะห์ได้ว่ากฎหมายใดถูกอ้างอิงบ่อยที่สุด หรือถ้อยคำใดต้องถูกตีความซ้ำๆ
ถ้ามี API ทางการ แบบสเปนก็น่าจะมีประสิทธิภาพกว่ามาก แต่ที่เยอรมนียังมีหน่วยงานเอกชนที่ถึงขั้นอ้างลิขสิทธิ์ด้วย
ส่วนในอังกฤษ เว็บไซต์อย่าง legislation.gov.uk สามารถติดตามประวัติการแก้ไขทั้งหมดได้
สำนักงานกฎหมายขนาดใหญ่มีฐานข้อมูลของตัวเองอยู่แล้ว จึงทำให้บริการแบบเสียเงินอาจขายได้ไม่ดีนัก
ดูลิงก์กฎหมายภาษี IRS
โครงการแบบนี้เป็นทิศทางที่ยอดเยี่ยมในการเพิ่ม ความโปร่งใสของข้อมูลกฎหมาย
มันอาจเป็นรากฐานสำหรับเชื่อมให้ AI เข้าใจกฎหมายและอธิบายกฎหมายได้
หวังว่าจะมีความพยายามคล้ายกันในประเทศอื่นด้วย
ถ้าผู้เขียน commit เป็น นักการเมือง ที่รับผิดชอบการแก้ไขจริงก็น่าจะน่าสนใจกว่านี้
เท่ากับว่าใช้
git blameแล้วรู้ได้ทันทีว่าใครเป็นคนทำกฎหมายนั้นขึ้นมาตั้งช่องโหว่เป็น test case แล้วทุกครั้งที่กฎหมายเปลี่ยนก็รัน regression test เพื่อตรวจว่าไม่มีปัญหา
คิดว่าเป็น ไอเดียที่ยอดเยี่ยมมาก อยากให้ระบบแบบนี้ถูกใช้กับกฎหมายของทุกประเทศ
คล้ายกับกรณีที่มีการล็อบบี้ให้การยื่นภาษียุ่งยากต่อไป วงการทนายก็อาจขัดขวางความโปร่งใสและประสิทธิภาพเช่นกัน
ดูบทความที่เกี่ยวข้อง
รัฐแมริแลนด์ได้นำไปใช้แล้วที่ regs.maryland.gov และ
ก็เปิดเผยคลัง GitHubไว้ด้วย
เรากำลังช่วยให้ชุมชนแต่ละพื้นที่เผยแพร่กฎหมายทางการของตนบน GitHub
ผมเองก็กำลังทำสิ่งคล้ายกันกับร่างกฎหมายของรัฐแคลิฟอร์เนีย
คิดว่าวิธีนี้ควรกลายเป็น มาตรฐาน ผมสงสัยมาตลอดว่าทำไมต้นฉบับแท้ของเอกสารพวกนี้ถึงไม่อยู่ในคลัง git
แต่ถ้ามองในแง่ดีหน่อย ก็อาจเป็นเพราะในวงการกฎหมายแทบไม่มีคนที่เข้าใจหรือทำเทคโนโลยีแบบนี้ได้
เป็นโครงการที่ยอดเยี่ยม กฎหมายส่วนใหญ่จากยุคฟรังโกถูกยกเลิกไปในปี 1978 แต่ก็ยังมี กฎหมายก่อนศตวรรษที่ 19 รวมอยู่ด้วย
อย่างไรก็ตาม แหล่งข้อมูลเริ่มต้นจากปี 1960 เป็น commit เดียว จึงไม่มีประวัติการแก้ไขก่อนหน้านั้น
BOE ถึงขั้นสแกนเอกสารย้อนหลังไปถึงคริสต์ศตวรรษ 1600 ไว้แล้ว ถือว่า การเก็บรักษาเอกสารน่าทึ่งมาก
ข้อจำกัดของ Git คือ
git blameใช้ไม่ได้จริงถ้ารู้ได้ว่าใครโหวตเห็นด้วยหรือคัดค้านก็คงดี แต่ git ไม่ได้ออกแบบมาเป็นโครงสร้าง commit แบบทำงานร่วมกัน
ไม่ว่าอย่างไร แค่เอากฎหมายทั้งประเทศมาไว้ใน git ได้ก็เป็นความสำเร็จที่ยิ่งใหญ่มากแล้ว
วิธีนี้มีต้นกำเนิดจากการพัฒนา Linux kernel
ผมคือ เจ้าของโพสต์ (OP) เอง ไม่คิดเลยว่าจะมีคนตอบรับมากขนาดนี้
เพราะมีคนขอเยอะ ผมเลยเปิดโค้ดแล้ว → GitHub: legalize-dev
pipeline นี้ออกแบบมาให้ รองรับหลายประเทศ โดยโครงสร้างสำหรับฝรั่งเศส (ข้อมูล Légifrance) ใช้งานได้แล้ว
ถ้าจะเพิ่มประเทศใหม่ แค่ต้อง implement Python interface 4 ตัวเท่านั้น
ผมยังเขียนคู่มือการมีส่วนร่วมไว้ด้วย
ตอนนี้มีคนจากเยอรมนี โปรตุเกส สวีเดน ฟินแลนด์ เนเธอร์แลนด์ บราซิล และอีกหลายที่แสดงความสนใจจะร่วมด้วย
ถ้าคุณรู้จัก แหล่งข้อมูลกฎหมายเปิดเผยสาธารณะ ของประเทศตัวเอง ก็ช่วยส่ง PR มาได้เลย
พอขนาดเริ่มใหญ่ขึ้นก็ต้องมีโครงสร้างพื้นฐานเพิ่ม เลยกำลังเตรียมระดมทุนผ่าน Open Collective
ยังมีเว็บไซต์สำหรับดูตัวบทกฎหมายและ diff แบบเรียลไทม์ด้วย
ตอนนี้ยังไม่เสถียรนัก แต่ กำลังวางภาพใหญ่ไว้แล้ว
ยินดีด้วย! เป็นโครงการที่ยอดเยี่ยมจริงๆ
ก่อนหน้านี้ก็เคยมีความพยายามคล้ายกันชื่อ gitlaw และในบราซิลมี มาตรฐาน LexML ที่ใช้แทนการเปลี่ยนแปลงทางกฎหมายในเชิงเทคนิค
มันค่อนข้างซับซ้อน แต่เป็นแนวทางที่น่าสนใจ